From e64483a66a669532e3bc1e732e6b1b498344255e Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 26 Feb 2026 16:16:07 +0100 Subject: [PATCH 01/17] feat(wan): Add Wan2.1/2.2 T2V with quantization support --- .github/copilot-instructions.md | 158 ++ .github/skills/fast-mlx/SKILL.md | 26 + .../fast-mlx/references/fast-mlx-guide.md | 350 ++++ README.md | 250 ++- mlx_video/__init__.py | 3 + mlx_video/convert_wan.py | 556 +++++++ mlx_video/generate_wan.py | 512 ++++++ mlx_video/models/__init__.py | 1 + mlx_video/models/wan/__init__.py | 2 + mlx_video/models/wan/attention.py | 201 +++ mlx_video/models/wan/config.py | 86 + mlx_video/models/wan/model.py | 307 ++++ mlx_video/models/wan/rope.py | 100 ++ mlx_video/models/wan/scheduler.py | 76 + mlx_video/models/wan/text_encoder.py | 234 +++ mlx_video/models/wan/transformer.py | 89 + mlx_video/models/wan/vae.py | 315 ++++ mlx_video/models/wan/vae22.py | 584 +++++++ pyproject.toml | 7 +- tests/test_wan.py | 1453 +++++++++++++++++ uv.lock | 34 +- 21 files changed, 5309 insertions(+), 35 deletions(-) create mode 100644 .github/copilot-instructions.md create mode 100644 .github/skills/fast-mlx/SKILL.md create mode 100644 .github/skills/fast-mlx/references/fast-mlx-guide.md create mode 100644 mlx_video/convert_wan.py create mode 100644 mlx_video/generate_wan.py create mode 100644 mlx_video/models/wan/__init__.py create mode 100644 mlx_video/models/wan/attention.py create mode 100644 mlx_video/models/wan/config.py create mode 100644 mlx_video/models/wan/model.py create mode 100644 mlx_video/models/wan/rope.py create mode 100644 mlx_video/models/wan/scheduler.py create mode 100644 mlx_video/models/wan/text_encoder.py create mode 100644 mlx_video/models/wan/transformer.py create mode 100644 mlx_video/models/wan/vae.py create mode 100644 mlx_video/models/wan/vae22.py create mode 100644 tests/test_wan.py diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..c42b087 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,158 @@ +# MLX-Video Copilot Instructions + +## Overview + +MLX-Video is a video/audio generation package using Apple MLX framework. It implements the LTX-2 model (19B parameter DiT) for text-to-video, image-to-video, and audio-video generation, optimized for Apple Silicon. + +## Build, Test, and Lint + +### Testing +```bash +# Install test dependencies first (pytest not in main deps) +pip install pytest + +# Run all tests +python -m pytest tests/ + +# Run specific test file +python -m pytest tests/test_generate_dev.py + +# Run specific test +python -m pytest tests/test_generate_dev.py::TestLTX2Scheduler::test_scheduler_output_shape +``` + +### Linting +Pre-commit hooks configured with: +- **black**: Code formatting +- **isort**: Import sorting (profile: black) +- **autoflake**: Remove unused imports + +```bash +# Run pre-commit manually +pre-commit run --all-files +``` + +### Running Generation +```bash +# Quick test - distilled model (two-stage pipeline) +python -m mlx_video.generate --prompt "test video" --num-frames 33 + +# Dev model with CFG (single-stage, higher quality) +python -m mlx_video.generate_dev --prompt "test video" --steps 40 --cfg-scale 4.0 + +# Audio-video generation +python -m mlx_video.generate_av --prompt "test video" --output-path out.mp4 --output-audio out.wav +``` + +## Architecture + +### Two-Stage Pipeline (Distilled Model) +The distilled model (`generate.py`) uses a two-stage approach for efficiency: +1. **Stage 1**: Generate at half resolution with 8 denoising steps using STAGE_1_SIGMAS +2. **Upsampler**: 2x spatial upsampling via LatentUpsampler +3. **Stage 2**: Refine at full resolution with 3 steps using STAGE_2_SIGMAS +4. **VAE Decoder**: Convert latents to RGB video (tiled decoding for memory efficiency) + +### Single-Stage Pipeline (Dev Model) +The dev model (`generate_dev.py`) uses classifier-free guidance (CFG): +- Full resolution generation with configurable steps (typically 40) +- CFG guidance scale controls prompt adherence vs. diversity +- More flexible but slower than distilled model + +### Core Components + +**DiT Transformer** (`models/ltx/ltx.py`): +- 48 layers, 32 attention heads, 128 dim per head +- Dual modality support: video (3840-dim) and audio (2048-dim) embeddings +- Uses RoPE (Rotary Position Embeddings) in SPLIT mode with double precision +- AdaLN-Zero conditioning blocks inject timestep/text embeddings + +**VAE Architecture**: +- **Video VAE**: 128 latent channels, 8x temporal + 32x spatial compression + - Encoder: `models/ltx/video_vae/encoder.py` + - Decoder: `models/ltx/video_vae/decoder.py` (supports tiled decoding) +- **Audio VAE**: 8 latent channels, mel-spectrogram intermediate + - Decoder: `models/ltx/audio_vae/decoder.py` + - HiFi-GAN vocoder: `models/ltx/audio_vae/vocoder.py` + +**Text Encoder** (`models/ltx/text_encoder.py`): +- Based on Gemma 3 model +- Returns separate embeddings for video (3840-dim) and audio (2048-dim) +- Supports prompt enhancement via `enhance_t2v()` method + +**Tiling System** (`models/ltx/video_vae/tiling.py`): +- Memory-efficient decoding for large videos +- Modes: auto, default (512px/64f), aggressive (256px/32f), conservative (768px/96f) +- Supports streaming via `on_frames_ready` callback + +### Key Patterns + +**Position Grids**: +- Created in pixel space, then converted to latent space internally +- Video: (B, 3, num_patches, 2) with [start, end) bounds for temporal/spatial dims +- Audio: (B, 1, num_patches, 2) for temporal dimension only +- See `create_position_grid()` in generate modules + +**Latent Conditioning** (`conditioning/latent.py`): +- `LatentState` tracks clean latents, noise, and sigma values +- `VideoConditionByLatentIndex` enables I2V by conditioning specific frames +- `apply_denoise_mask()` protects conditioned regions during denoising + +**Weight Loading**: +- `convert.py`: Downloads from HuggingFace, converts PyTorch → MLX format +- Sanitization functions (`sanitize_transformer_weights`, `sanitize_vae_encoder_weights`) adapt keys +- Uses safetensors for efficient loading + +## Key Conventions + +### Model Configuration +- Always use `LTXModelConfig` to instantiate models +- `model_type` determines modality: `VideoOnly`, `AudioOnly`, or `AudioVideo` +- `rope_type=LTXRopeType.SPLIT` and `double_precision_rope=True` are standard + +### Frame Count Requirements +- **Distilled model**: `num_frames = 1 + 8*k` format (e.g., 33, 65, 97) +- **Dev model**: No strict requirement, but odd numbers work better +- Audio frames auto-computed from video duration via `AUDIO_LATENTS_PER_SECOND` + +### Dimension Constraints +- Video height/width must be divisible by 64 (VAE spatial compression) +- Latent dimensions are pixel dimensions divided by 32 + +### Audio Constants +```python +AUDIO_SAMPLE_RATE = 24000 # Output sample rate +AUDIO_LATENT_SAMPLE_RATE = 16000 # VAE internal rate +AUDIO_HOP_LENGTH = 160 # Mel hop length +AUDIO_LATENT_CHANNELS = 8 # Audio latent channels +AUDIO_MEL_BINS = 16 # Mel frequency bins +``` + +### Sigma Schedules +Distilled model uses predefined schedules (no scheduler class): +```python +STAGE_1_SIGMAS = [1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0] +STAGE_2_SIGMAS = [0.909375, 0.725, 0.421875, 0.0] +``` + +Dev model computes schedules via `ltx2_scheduler(steps)` function. + +### Code Style +- Follow black formatting (configured in pre-commit) +- Import sorting: isort with black profile +- Remove unused imports (autoflake) +- Type hints encouraged but not enforced + +### Modality Enum +Use `Modality.VIDEO` and `Modality.AUDIO` from `models/ltx/transformer.py` for multi-modal operations. + +### Video Post-Processing +- `postprocess.py`: Contains utilities for frame normalization and video saving +- Always denormalize latents from [-1, 1] to [0, 255] before saving +- Use opencv-python for video I/O + +## Python Requirements +- Python >= 3.11 +- MLX >= 0.22.0 +- Primary dependencies: numpy, safetensors, transformers, opencv-python, Pillow, mlx-vlm, scipy, librosa +- Package manager: uv recommended for faster installs, pip also supported diff --git a/.github/skills/fast-mlx/SKILL.md b/.github/skills/fast-mlx/SKILL.md new file mode 100644 index 0000000..333b8f7 --- /dev/null +++ b/.github/skills/fast-mlx/SKILL.md @@ -0,0 +1,26 @@ +--- +name: fast-mlx +description: Optimize MLX code for performance and memory. Use when asked to implement or speed up MLX models or algorithms, reduce latency/throughput bottlenecks, tune lazy evaluation, type promotion, fast ops, compilation, memory use, or profiling. +--- + +# Fast MLX + +## Workflow + +- Looks for opportunities to compile functions of mostly elementwise operations. +- For models with fixed shape inputs or where the shapes don't change much, compile the entire graph +- Replace slow implementations with MLX fast ops +- Identify evaluation boundaries and unintended sync points (`mx.eval`, `item()`, NumPy conversions). +- Check dtype promotion and scalar usage; keep precision consistent with intent. +- Review compilation strategy; avoid unnecessary recompiles and closure captures. +- Reduce peak memory via lazy loading order and releasing temporaries before `mx.eval`. +- Suggest profiling steps if the bottleneck is unclear. + +## References + +- Read `references/fast-mlx-guide.md` for detailed tips and examples. Use it as the source of truth. + +## Output expectations + +- Provide concrete code changes with brief rationale +- Call out changes that need user confirmation (e.g., enabling async eval or shapeless compile). diff --git a/.github/skills/fast-mlx/references/fast-mlx-guide.md b/.github/skills/fast-mlx/references/fast-mlx-guide.md new file mode 100644 index 0000000..bc061a1 --- /dev/null +++ b/.github/skills/fast-mlx/references/fast-mlx-guide.md @@ -0,0 +1,350 @@ +# Making MLX Go Fast + +## Table of Contents + +- [Graph Evaluation](#graph-evaluation) +- [Type Promotion](#type-promotion) +- [Operations](#operations) +- [Compile](#compile) +- [Memory Use](#memory-use) +- [Profiling](#profiling) + +This guide assumes you have some familiarity with MLX and want to make your MLX +model or algorithm as efficient as possible. + +### Graph Evaluation + +Recall, MLX is lazy. When you call an MLX op, no computation actually happens. +You are simply building a graph. The computation happens when you explicitly or +implicitly evaluate an array. Read more about how this works in the +documentation: +https://ml-explore.github.io/mlx/build/html/usage/lazy_evaluation.html + +Evaluating the graph incurs some overhead, so don't do it too frequently. +Conversely you don't want the graph to get too big before evaluating it as this +can also be expensive. Most numerical and machine learning algorithms are +iterative. A good place to evaluate the graph is at the end of each iteration. +Some examples: + +- After an iteration of gradient descent +- After producing one token with a language model +- After taking one denoising step in a diffusion model + +Overly frequent evaluations sometimes happen by accident. For example: + +```python +# output is an mx.array +for x in output: + do_something(x.item()) +``` + +The same thing can be written more explicitly with operations and `mx.eval` as: + +```python +for i in range(len(output)): + x = output[i] + mx.eval(x) + do_something(x.item()) +``` + +Two better options are: + +1. When possible avoid calling `item()` and do everything in MLX. +2. Move the entire output to Python or NumPy first. + +An example of the second approach: + +```python +for x in output.tolist(): + do_something(x) +``` + +#### Asynchronous Evaluation + +For a latency sensitive computation which is run many times, `mx.async_eval` +can be useful. Normally `mx.eval` is synchronous. It returns only when the +computation is complete. Instead `mx.async_eval` asynchronously evaluates the +graph and returns to the main thread immediately. You can use this to pipeline +graph construction with computation like so: + +```python +def generator(): + out = mx.async_eval(my_function()) + + while True: + out_next = mx.async_eval(my_function()) + mx.eval(out) + yield out + out = out_next +``` + +For this to work `my_function()` cannot do any synchronous evaluations (e.g. +calling `mx.eval`, converting to NumPy, etc.). Furthermore, any work done on +`out` that is synchronous and on the same stream can stall the pipeline: + +```python +for out in generator(): + out = out * 2 + # Stalls the pipeline! + mx.eval(out) +``` + +An easy fix for this is to put the pipeline in a separate stream: + +```python +def generator(): + with mx.stream(mx.new_stream(mx.gpu)): + out = mx.async_eval(my_function()) + + while True: + out_next = mx.async_eval(my_function()) + mx.eval(out) + yield out + out = out_next +``` + +### Type Promotion + +One of the most common performance issues comes from accidental up-casting. +Make sure you understand how type promotion works in MLX. The inputs to an MLX +operation are typically promoted to a common type which doesn't lose precision. +For example: + +```python +x = mx.array(1.0, mx.float32) * mx.array(2.0, mx.float16) +``` + +will result in `x` with type `mx.float32`. Similarly: + +```python +x = mx.array(1.0, mx.bfloat16) * mx.array(2.0, mx.float16) +``` + +will result in `x` with type `mx.float32`. A common mistake is to multiply a +half-precision array by a default-typed scalar array which up-casts everything +to `mx.float32`: + +```python +# Warning: x has type mx.float32 +x = my_fp16_array * mx.array(2.0) +``` + +To multiply by a scalar while preserving the input type, use Python scalars. +Python scalars are weakly typed and have more relaxed promotion rules when +used with MLX arrays. + +```python +# Ok, x has type mx.float16 +x = my_fp16_array * 2.0 +``` + +### Operations + +#### Use Fast Ops + +Use `mx.fast` ops when possible: + +- `mx.fast.rms_norm` +- `mx.fast.layer_norm` +- `mx.fast.rope` +- `mx.fast.scaled_dot_product_attention` + +A lot of these operations take a variety of parameters so they can be used for +different variations of the function. For example, the weight and bias +parameters are optional in `mx.fast.layer_norm` so it can be used with +different permutations of inputs. + +#### Precision + +For operations which typically use higher precision there is usually no +need to explicitly upcast. For example, `mx.fast.rms_norm` and +`mx.fast.layer_norm` accumulate in higher precision so it's +wasteful to upcast and downcast into and out of these operations: + +```python +# No need for this! +mx.fast.rms_norm(x.astype(mx.float32), w, b, eps).astype(x.dtype) + +# This is just as good: +mx.fast.rms_norm(x, w, b, eps) +``` + +Similarly, for `mx.softmax` use `precise=True` if you want to do the softmax in +higher precision rather than explicitly casting the input and output. + +#### Misc + +- For vector-matrix multiplication `x @ W.T` is faster than `x @ W`, for + matrix-vector multiplication `W @ x` is faster than `W.T @ x` +- Use `mx.addmm` for `a @ b + c` (e.g. a linear layer with a bias). +- Where it makes sense, use `mx.take_along_axis` and `mx.put_along_axis` + instead of fancy indexing +- Use broadcasting instead of concatenation. For example, prefer `mx.repeat(a, + n)` over `mx.concatenate([a] * n)` + +### Compile + +Compiling graphs with `mx.compile` can make them run a lot faster. But there +are some sharp-edges that are good to be aware of. + +First, be aware of when a function will be recompiled. Recompilation is +relatively expensive and should only be done if there is sufficient work over +which to amortize the cost. + +The default behavior of `mx.compile` is to do a shape-dependent compilation. +This means the function will be recompiled if the shape of any input changes. + +MLX supports a shapeless compilation by passing `shapeless=True` to +`mx.compile`. It's easy to make hard-to-detect mistakes with shapeless +compilation. Make sure to read and understand the documentation and use it +with care: +https://ml-explore.github.io/mlx/build/html/usage/compile.html#shapeless-compilation + +A function will also be recompiled if any constant inputs change: + +```python +@mx.compile +def fun(x, scale): + return scale * x + +fun(x, 3) + +# Recompiles! +fun(x, 4) +``` + +In this case a simple fix is to make `scale` an `mx.array`. + +#### Compiling Closures + +Be careful when compiling a closure where the function encloses any +`mx.array`. + +```python +y = some_function() + +@mx.compile +def fun(x): + return x + y +``` + +Since `y` is not an input to `fun`, the compiled graph will include the entire +computation which produces `y`. Usually you only want to compute `y` one time +and re-use it in the compiled function. Either explicitly pass it as an input +to `fun` or pass it as an implicit input to `mx.compile` like so: + +```python +y = some_function() + +@partial(mx.compile, inputs=[y]) +def fun(x): + return x + y +``` + +### Memory Use + +#### Lazy Loading + +Loading arrays from a file is lazy in MLX: + +```python +weights = mx.load("model.safetensors") +``` + +The above function returns instantly, regardless of the file size. To actually +load the weights into memory, you can do `mx.eval(weights)`. + +Assume the weights are stored on disk in 32-bit precision (i.e. `mx.float32`). +But for your model you only need 16-bit precision: + +```python +weights = mx.load("model.safetensors") +mx.eval(weights) +weights = {k: v.astype(mx.float16) for k, v in weights.items()} +``` + +In the above, the weights will be loaded into memory in full precision and then +cast to 16-bit. This requires memory for all the weights in 32-bit plus memory +for the weights in 16-bit. + +This is much better: + +```python +weights = mx.load("model.safetensors") +weights = {k: v.astype(mx.float16) for k, v in weights.items()} +mx.eval(weights) +``` + +Evaluating after the cast to `mx.float16` reduces peak memory by nearly a +third. That's because all the weights are never fully materialized in 32-bit. +Right after each weight is loaded in 32-bit precision it is cast to 16-bit. +The memory for the 32-bit weight can be reused when loading the next weight. + +Note, MLX is only able to lazy load from a file when it is given to `mx.load` +as a string path. Due to lifetime management issues, lazy loading from file +handles is not supported. So avoid this: + +```python +weights = mx.load(open("model.safetensors", 'rb')) +``` + +#### Release Temporaries + +One way to reduce memory consumption is to avoid holding +temporaries you don't need. This is a typical training loop: + +```python +for x, y in dataset: + loss, grads = nn.value_and_grad(model, loss_fn)(model, x, y) + optimizer.update(model, grads) + mx.eval(model, optimizer.state) +``` + +It's suboptimal since a reference to `grads` is held during the call to +`mx.eval` which keeps the respective memory from being used for any other part +of the computation. + +This is better: + +```python +def step(x, y): + loss, grads = nn.value_and_grad(model, loss_fn)(model, x, y) + optimizer.update(model, grads) + return loss + +for x, y in dataset: + loss = step(x, y) + mx.eval(model, optimizer.state) +``` + +In this case the reference to `grads` is released before `mx.eval` and the +memory can be reused. You can achieve the same goal using `del` as long as it's +before the call to `mx.eval`: + +```python +for x, y in dataset: + loss, grads = nn.value_and_grad(model, loss_fn)(model, x, y) + optimizer.update(model, grads) + del grads + mx.eval(model, optimizer.state) +``` + +#### Misc + +- MLX will cache memory buffers of recently released arrays rather than + returning them to the system. In some cases, especially for variable shape + computations, the cache can get large. To help with this, MLX has some + functions for logging and customizing the behavior of memory allocation: + https://ml-explore.github.io/mlx/build/html/python/metal.html + +### Profiling + +A good first step is to check GPU utilization using, for example, +mactop: https://github.com/context-labs/mactop. If it's not pegged at close +to 100% then there is likely a non-MLX bottleneck somewhere in the program. A +common culprit is data loading or preprocessing. + +If GPU utilization is good, a good next step is to figure out which operations +are taking up so much time. One way to do this is with the Metal debugger. For +that, see the documentation on profiling MLX with the Metal debugger: +https://ml-explore.github.io/mlx/build/html/dev/metal_debugger.html diff --git a/README.md b/README.md index 190bdf7..2955ffc 100644 --- a/README.md +++ b/README.md @@ -18,18 +18,20 @@ uv pip install git+https://github.com/Blaizzy/mlx-video.git Supported models: -### LTX-2 -[LTX-2](https://huggingface.co/Lightricks/LTX-Video) is 19B parameter video generation model from Lightricks +- [**LTX-2**](https://huggingface.co/Lightricks/LTX-Video) — 19B parameter video generation model from Lightricks +- [**Wan2.1**](https://github.com/Wan-Video/Wan2.1) — 1.3B / 14B parameter T2V models (single-model pipeline) +- [**Wan2.2**](https://github.com/Wan-Video/Wan2.2) — 14B parameter T2V model (dual-model pipeline) ## Features -- Text-to-video generation with the LTX-2 19B DiT model -- Two-stage generation pipeline for high-quality output -- 2x spatial upscaling for images and videos +- Text-to-video generation with multiple model families +- LTX-2: Two-stage pipeline with 2x spatial upscaling +- Wan2.1/2.2: Flow-matching diffusion with classifier-free guidance - Optimized for Apple Silicon using MLX +--- -## Usage +## LTX-2 > **ℹ️ Info:** Currently, only the distilled variant is supported. Full LTX-2 feature support is coming soon. @@ -53,7 +55,7 @@ python -m mlx_video.generate \ --output my_video.mp4 ``` -### CLI Options +### LTX-2 CLI Options | Option | Default | Description | |--------|---------|-------------| @@ -67,45 +69,229 @@ python -m mlx_video.generate \ | `--save-frames` | false | Save individual frames as images | | `--model-repo` | Lightricks/LTX-2 | HuggingFace model repository | -## How It Works +### How It Works (LTX-2) -The pipeline uses a two-stage generation process: - -1. **Stage 1**: Generate at half resolution (e.g., 384x384) with 8 denoising steps -2. **Upsample**: 2x spatial upsampling via LatentUpsampler -3. **Stage 2**: Refine at full resolution (e.g., 768x768) with 3 denoising steps +1. **Stage 1**: Generate at half resolution (e.g., 384×384) with 8 denoising steps +2. **Upsample**: 2× spatial upsampling via LatentUpsampler +3. **Stage 2**: Refine at full resolution (e.g., 768×768) with 3 denoising steps 4. **Decode**: VAE decoder converts latents to RGB video +--- + +## Wan2.1 / Wan2.2 + +Both [Wan2.1](https://github.com/Wan-Video/Wan2.1) and [Wan2.2](https://github.com/Wan-Video/Wan2.2) are text-to-video diffusion models built on a DiT (Diffusion Transformer) backbone with a T5 text encoder and 3D VAE. They share the same model architecture — the difference is in the inference pipeline: + +| | Wan2.1 | Wan2.2 | +|---|--------|--------| +| **Pipeline** | Single model | Dual model (high-noise + low-noise) | +| **Sizes** | 1.3B, 14B | 14B | +| **Steps** | 50 | 40 | +| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 (low/high noise) | +| **Shift** | 5.0 | 12.0 | + +### Step 1: Download Weights + +Download the original PyTorch checkpoints: + +**Wan2.1 (14B)** +```bash +# From https://github.com/Wan-Video/Wan2.1 or HuggingFace +# Expected directory structure: +# wan21_checkpoint/ +# ├── models_t5_umt5-xxl-enc-bf16.pth +# ├── Wan2.1_VAE.pth +# └── diffusion_pytorch_model*.safetensors # single model +``` + +**Wan2.1 (1.3B)** — same structure, smaller transformer weights. + +**Wan2.2 (14B)** +```bash +# From https://github.com/Wan-Video/Wan2.2 or HuggingFace +# Expected directory structure: +# wan22_checkpoint/ +# ├── models_t5_umt5-xxl-enc-bf16.pth +# ├── Wan2.1_VAE.pth +# ├── low_noise_model/ # safetensors +# └── high_noise_model/ # safetensors +``` + +### Step 2: Convert to MLX Format + +The conversion script auto-detects whether the checkpoint is Wan2.1 or Wan2.2 based on the directory structure (presence of `low_noise_model/` subdirectory). + +```bash +# Auto-detect version +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/wan_checkpoint \ + --output-dir wan_mlx + +# Explicit version +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/wan21_checkpoint \ + --output-dir wan21_mlx \ + --model-version 2.1 + +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/wan22_checkpoint \ + --output-dir wan22_mlx \ + --model-version 2.2 +``` + +#### Conversion Options + +| Option | Default | Description | +|--------|---------|-------------| +| `--checkpoint-dir` | (required) | Path to original PyTorch checkpoint directory | +| `--output-dir` | `wan_mlx_model` | Output path for MLX model | +| `--dtype` | `bfloat16` | Target dtype (`float16`, `float32`, `bfloat16`) | +| `--model-version` | `auto` | Model version: `2.1`, `2.2`, or `auto` | +| `--quantize` | off | Quantize transformer weights for reduced memory | +| `--bits` | `4` | Quantization bits: `4` or `8` | +| `--group-size` | `64` | Quantization group size: `32`, `64`, or `128` | + +The converter produces: +``` +wan_mlx/ +├── config.json # Model configuration +├── t5_encoder.safetensors # T5 UMT5-XXL text encoder +├── vae.safetensors # 3D VAE decoder +├── model.safetensors # (Wan2.1) Single transformer +├── low_noise_model.safetensors # (Wan2.2) Low-noise transformer +└── high_noise_model.safetensors # (Wan2.2) High-noise transformer +``` + +### Step 3: Generate Video + +```bash +# Wan2.1 — uses defaults from config (50 steps, shift=5.0, guide=5.0) +python -m mlx_video.generate_wan \ + --model-dir wan21_mlx \ + --prompt "A cat playing piano in a cozy room" + +# Wan2.2 — uses defaults from config (40 steps, shift=12.0, guide=3.0,4.0) +python -m mlx_video.generate_wan \ + --model-dir wan22_mlx \ + --prompt "A cat playing piano in a cozy room" +``` + +With custom settings: + +```bash +python -m mlx_video.generate_wan \ + --model-dir wan21_mlx \ + --prompt "Ocean waves at sunset, cinematic, 4K" \ + --negative-prompt "blurry, low quality" \ + --width 1280 \ + --height 720 \ + --num-frames 81 \ + --steps 50 \ + --guide-scale 5.0 \ + --shift 5.0 \ + --seed 42 \ + --output-path my_video.mp4 +``` + +The pipeline auto-detects the model version from `config.json` and selects the right pipeline mode (single or dual model). You can also override any parameter via CLI flags. + +#### Generation CLI Options + +| Option | Default | Description | +|--------|---------|-------------| +| `--model-dir` | (required) | Path to converted MLX model directory | +| `--prompt` | (required) | Text description of the video | +| `--negative-prompt` | `""` | Negative prompt for guidance | +| `--width` | 1280 | Video width | +| `--height` | 720 | Video height | +| `--num-frames` | 81 | Number of frames (must be 4n+1) | +| `--steps` | from config | Number of diffusion steps | +| `--guide-scale` | from config | Guidance scale: float or `low,high` pair | +| `--shift` | from config | Noise schedule shift | +| `--seed` | -1 (random) | Random seed for reproducibility | +| `--output-path` | `output.mp4` | Output video path | + +### Quantization (Reduced Memory) + +Quantize the transformer weights to reduce memory usage by ~3.4x. This is especially useful for the 14B model or memory-constrained devices: + +```bash +# Convert with 4-bit quantization +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/Wan2.1-T2V-1.3B \ + --output-dir wan21_mlx_q4 \ + --quantize --bits 4 --group-size 64 + +# Generate with quantized model (auto-detected from config.json) +python -m mlx_video.generate_wan \ + --model-dir wan21_mlx_q4 \ + --prompt "A cat playing piano" +``` + +**What gets quantized**: Self-attention (Q/K/V/O), cross-attention (Q/K/V/O), and FFN (fc1/fc2) — 10 layers × N blocks = ~95% of model weights. Embeddings, norms, and the output head remain in bfloat16 for precision. + +| Model | BF16 Size | 4-bit Size | Notes | +|-------|-----------|------------|-------| +| 1.3B | 2.7 GB | 799 MB | ~3.4x smaller | +| 14B | ~28 GB | ~8 GB | Enables running on 16GB devices | + +> **Note**: On Apple Silicon, the 1.3B model fits comfortably in unified memory at bf16. Quantization reduces memory but may not speed up inference for small models. For the 14B model, quantization is essential to fit in memory and will also improve speed. + +### Wan Model Specifications + +**Transformer (14B)** +- 40 layers, 40 attention heads, dim 5120, head dim 128 +- 3-way factorized RoPE (temporal + spatial) +- 14.29B parameters + +**Transformer (1.3B, Wan2.1 only)** +- 30 layers, 12 attention heads, dim 1536, head dim 128 +- Same architecture, smaller scale + +**Text Encoder** — UMT5-XXL (5.68B parameters) +- 24 layers, 64 heads, dim 4096, vocab 256K + +**VAE** — 3D causal convolution decoder (72.6M parameters) +- Latent channels: 16 +- Compression: 4× temporal, 8× spatial + +--- + ## Requirements - macOS with Apple Silicon - Python >= 3.11 - MLX >= 0.22.0 - -## Model Specifications - -- **Transformer**: 48 layers, 32 attention heads, 128 dim per head -- **Latent channels**: 128 -- **Text encoder**: Gemma 3 with 3840-dim output -- **RoPE**: Split mode with double precision +- For weight conversion: PyTorch (`pip install torch`) ## Project Structure ``` mlx_video/ -├── generate.py # Video generation pipeline -├── convert.py # Weight conversion (PyTorch -> MLX) -├── postprocess.py # Video post-processing utilities -├── utils.py # Helper functions +├── generate.py # LTX-2 generation pipeline +├── generate_wan.py # Wan2.1/2.2 generation pipeline +├── convert.py # LTX-2 weight conversion +├── convert_wan.py # Wan weight conversion (PyTorch → MLX) +├── postprocess.py # Video post-processing utilities +├── utils.py # Helper functions └── models/ - └── ltx/ - ├── ltx.py # Main LTXModel (DiT transformer) - ├── config.py # Model configuration - ├── transformer.py # Transformer blocks - ├── attention.py # Multi-head attention with RoPE - ├── text_encoder.py # Text encoder - ├── upsampler.py # 2x spatial upsampler - └── video_vae/ # VAE encoder/decoder + ├── ltx/ # LTX-2 model + │ ├── ltx.py # DiT transformer + │ ├── config.py # Configuration + │ ├── transformer.py # Transformer blocks + │ ├── attention.py # Multi-head attention with RoPE + │ ├── text_encoder.py # Gemma 3 text encoder + │ ├── upsampler.py # 2x spatial upsampler + │ └── video_vae/ # VAE encoder/decoder + └── wan/ # Wan2.1/2.2 model + ├── config.py # Configuration (2.1 & 2.2 presets) + ├── model.py # WanModel (DiT transformer) + ├── transformer.py # Attention blocks with 6-element modulation + ├── attention.py # Self/cross attention with QK-norm + ├── rope.py # 3-way factorized RoPE + ├── text_encoder.py # T5 UMT5-XXL encoder + ├── vae.py # 3D causal VAE decoder + └── scheduler.py # Flow-matching Euler scheduler ``` ## License diff --git a/mlx_video/__init__.py b/mlx_video/__init__.py index f6a1720..9dfbdca 100644 --- a/mlx_video/__init__.py +++ b/mlx_video/__init__.py @@ -1,9 +1,12 @@ from mlx_video.models.ltx import LTXModel, LTXModelConfig +from mlx_video.models.wan import WanModel, WanModelConfig from mlx_video.convert import load_transformer_weights, load_vae_weights import os __all__ = [ "LTXModel", "LTXModelConfig", + "WanModel", + "WanModelConfig", "load_transformer_weights", "load_vae_weights", ] diff --git a/mlx_video/convert_wan.py b/mlx_video/convert_wan.py new file mode 100644 index 0000000..7d89d55 --- /dev/null +++ b/mlx_video/convert_wan.py @@ -0,0 +1,556 @@ +"""Weight conversion for Wan2.2 models (PyTorch -> MLX).""" + +import logging +from pathlib import Path +from typing import Dict + +import mlx.core as mx +import mlx.utils +import numpy as np + + +def load_torch_weights(path: str) -> Dict[str, mx.array]: + """Load PyTorch .pth weights and convert to MLX arrays. + + Args: + path: Path to .pth file + + Returns: + Dictionary of MLX arrays + """ + try: + import torch + except ImportError: + raise ImportError("PyTorch is required to load .pth weights: pip install torch") + + logging.info(f"Loading weights from {path}") + state_dict = torch.load(path, map_location="cpu", weights_only=True) + + weights = {} + for key, value in state_dict.items(): + if isinstance(value, torch.Tensor): + np_val = value.detach().float().numpy() + weights[key] = mx.array(np_val) + + return weights + + +def load_safetensors_weights(path: str) -> Dict[str, mx.array]: + """Load safetensors weights as MLX arrays. + + Args: + path: Path to directory with safetensors files or single file + + Returns: + Dictionary of MLX arrays + """ + path = Path(path) + weights = {} + if path.is_file(): + weights = mx.load(str(path)) + elif path.is_dir(): + for sf in sorted(path.glob("*.safetensors")): + weights.update(mx.load(str(sf))) + return weights + + +def sanitize_wan_transformer_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array]: + """Convert Wan2.2 transformer weight keys to MLX model structure. + + Wan2.2 keys follow the pattern: + patch_embedding.weight/bias + text_embedding.{0,2}.weight/bias + time_embedding.{0,2}.weight/bias + time_projection.1.weight/bias + blocks.{i}.norm1.weight + blocks.{i}.self_attn.{q,k,v,o}.weight/bias + blocks.{i}.self_attn.norm_q.weight + blocks.{i}.self_attn.norm_k.weight + blocks.{i}.norm3.weight/bias (if cross_attn_norm) + blocks.{i}.cross_attn.{q,k,v,o}.weight/bias + blocks.{i}.cross_attn.norm_q.weight + blocks.{i}.cross_attn.norm_k.weight + blocks.{i}.norm2.weight + blocks.{i}.ffn.{0,2}.weight/bias + blocks.{i}.modulation + head.norm.weight + head.head.weight/bias + head.modulation + freqs (buffer) + + MLX model uses: + patch_embedding_proj.weight/bias (after patchify reshape) + text_embedding_0.weight/bias, text_embedding_1.weight/bias + time_embedding_0.weight/bias, time_embedding_1.weight/bias + time_projection.weight/bias + blocks.{i}.norm1.weight + blocks.{i}.self_attn.{q,k,v,o}.weight/bias + etc. + """ + sanitized = {} + + for key, value in weights.items(): + new_key = key + + # Patch embedding: Conv3d(16, 5120, (1,2,2)) weight is [O, I, D, H, W] + # MLX Linear expects [O, I*D*H*W] after we flatten in patchify + if key == "patch_embedding.weight": + # Original: [dim, in_dim, 1, 2, 2] -> reshape to [dim, in_dim*1*2*2] + value = value.reshape(value.shape[0], -1) + new_key = "patch_embedding_proj.weight" + sanitized[new_key] = value + continue + if key == "patch_embedding.bias": + new_key = "patch_embedding_proj.bias" + sanitized[new_key] = value + continue + + # Text embedding Sequential: 0=Linear, 1=GELU(no params), 2=Linear + if key.startswith("text_embedding.0."): + new_key = key.replace("text_embedding.0.", "text_embedding_0.") + sanitized[new_key] = value + continue + if key.startswith("text_embedding.2."): + new_key = key.replace("text_embedding.2.", "text_embedding_1.") + sanitized[new_key] = value + continue + + # Time embedding Sequential: 0=Linear, 1=SiLU(no params), 2=Linear + if key.startswith("time_embedding.0."): + new_key = key.replace("time_embedding.0.", "time_embedding_0.") + sanitized[new_key] = value + continue + if key.startswith("time_embedding.2."): + new_key = key.replace("time_embedding.2.", "time_embedding_1.") + sanitized[new_key] = value + continue + + # Time projection Sequential: 0=SiLU(no params), 1=Linear + if key.startswith("time_projection.1."): + new_key = key.replace("time_projection.1.", "time_projection.") + sanitized[new_key] = value + continue + + # FFN: Sequential(Linear, GELU, Linear) -> ffn.{0,2} -> ffn.fc1, ffn.fc2 + new_key = new_key.replace(".ffn.0.", ".ffn.fc1.") + new_key = new_key.replace(".ffn.2.", ".ffn.fc2.") + + # Skip the freqs buffer (we compute it in the model) + if key == "freqs": + continue + + sanitized[new_key] = value + + return sanitized + + +def sanitize_wan_t5_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array]: + """Convert Wan2.2 T5 encoder weight keys to MLX T5Encoder structure. + + Wan2.2 T5 keys: + token_embedding.weight + pos_embedding.embedding.weight (if shared_pos) + blocks.{i}.norm1.weight + blocks.{i}.attn.{q,k,v,o}.weight + blocks.{i}.norm2.weight + blocks.{i}.ffn.gate.0.weight (gate linear) + blocks.{i}.ffn.fc1.weight + blocks.{i}.ffn.fc2.weight + blocks.{i}.pos_embedding.embedding.weight (if not shared_pos) + norm.weight + + MLX T5Encoder structure: + token_embedding.weight + blocks.{i}.norm1.weight + blocks.{i}.attn.{q,k,v,o}.weight + blocks.{i}.norm2.weight + blocks.{i}.ffn.gate_proj.weight (mapped from gate.0) + blocks.{i}.ffn.fc1.weight + blocks.{i}.ffn.fc2.weight + blocks.{i}.pos_embedding.embedding.weight + norm.weight + """ + sanitized = {} + + for key, value in weights.items(): + new_key = key + + # Map gate.0 -> gate_proj (the GELU is a separate module, not a parameter) + new_key = new_key.replace(".ffn.gate.0.", ".ffn.gate_proj.") + + sanitized[new_key] = value + + return sanitized + + +def sanitize_wan_vae_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array]: + """Convert Wan2.2 VAE weight keys to MLX WanVAE structure. + + Handles Conv3d and Conv2d weight transpositions for MLX format. + """ + sanitized = {} + + for key, value in weights.items(): + new_key = key + + # Handle Conv3d: PyTorch [O, I, D, H, W] -> MLX CausalConv3d weight [O, D, H, W, I] + if "weight" in key and value.ndim == 5: + value = mx.transpose(value, (0, 2, 3, 4, 1)) + + # Handle Conv2d: PyTorch [O, I, H, W] -> MLX [O, H, W, I] + if "weight" in key and value.ndim == 4: + value = mx.transpose(value, (0, 2, 3, 1)) + + # Map decoder keys to MLX decoder structure + # Wan2.2 uses encoder/decoder with downsamples/upsamples + # Need to adapt naming for our simplified structure + + sanitized[new_key] = value + + return sanitized + + +def convert_wan_checkpoint( + checkpoint_dir: str, + output_dir: str, + dtype: str = "bfloat16", + model_version: str = "auto", + quantize: bool = False, + bits: int = 4, + group_size: int = 64, +): + """Convert a Wan2.1 or Wan2.2 checkpoint directory to MLX format. + + Wan2.2 expected structure: + checkpoint_dir/ + models_t5_umt5-xxl-enc-bf16.pth + Wan2.1_VAE.pth + low_noise_model/ (safetensors) + high_noise_model/ (safetensors) + + Wan2.1 expected structure: + checkpoint_dir/ + models_t5_umt5-xxl-enc-bf16.pth + Wan2.1_VAE.pth + diffusion_pytorch_model*.safetensors (single model) + + Args: + checkpoint_dir: Path to Wan checkpoint directory + output_dir: Path to output MLX model directory + dtype: Target dtype + model_version: "2.1", "2.2", or "auto" (detect from directory) + quantize: Whether to quantize the transformer weights + bits: Quantization bits (4 or 8) + group_size: Quantization group size (32, 64, or 128) + """ + import json + + checkpoint_dir = Path(checkpoint_dir) + output_dir = Path(output_dir) + output_dir.mkdir(parents=True, exist_ok=True) + + dtype_map = { + "float16": mx.float16, + "float32": mx.float32, + "bfloat16": mx.bfloat16, + } + target_dtype = dtype_map.get(dtype, mx.bfloat16) + + # Auto-detect version + if model_version == "auto": + if (checkpoint_dir / "low_noise_model").exists(): + model_version = "2.2" + elif (checkpoint_dir / "Wan2.2_VAE.pth").exists(): + model_version = "2.2" + else: + model_version = "2.1" + print(f"Auto-detected Wan{model_version} checkpoint") + + is_dual = (checkpoint_dir / "low_noise_model").exists() + + if is_dual: + # Wan2.2: Convert dual transformer models + low_noise_path = checkpoint_dir / "low_noise_model" + if low_noise_path.exists(): + print("Converting low-noise transformer...") + weights = load_safetensors_weights(str(low_noise_path)) + weights = sanitize_wan_transformer_weights(weights) + weights = {k: v.astype(target_dtype) for k, v in weights.items()} + out_path = output_dir / "low_noise_model.safetensors" + mx.save_safetensors(str(out_path), weights) + print(f" Saved {len(weights)} weight tensors to {out_path}") + + high_noise_path = checkpoint_dir / "high_noise_model" + if high_noise_path.exists(): + print("Converting high-noise transformer...") + weights = load_safetensors_weights(str(high_noise_path)) + weights = sanitize_wan_transformer_weights(weights) + weights = {k: v.astype(target_dtype) for k, v in weights.items()} + out_path = output_dir / "high_noise_model.safetensors" + mx.save_safetensors(str(out_path), weights) + print(f" Saved {len(weights)} weight tensors to {out_path}") + else: + # Wan2.1: Convert single transformer model + # Try safetensors in the checkpoint dir itself + print("Converting transformer (single model)...") + weights = load_safetensors_weights(str(checkpoint_dir)) + if not weights: + # Fallback: look for .pth files + for pth in sorted(checkpoint_dir.glob("*.pth")): + if "t5" not in pth.name.lower() and "vae" not in pth.name.lower(): + print(f" Loading from {pth.name}...") + weights = load_torch_weights(str(pth)) + break + if weights: + weights = sanitize_wan_transformer_weights(weights) + weights = {k: v.astype(target_dtype) for k, v in weights.items()} + out_path = output_dir / "model.safetensors" + mx.save_safetensors(str(out_path), weights) + print(f" Saved {len(weights)} weight tensors to {out_path}") + else: + print(" Warning: No transformer weights found!") + + # Save config — detect model size from source config.json or transformer weights + from mlx_video.models.wan.config import WanModelConfig + + def _detect_config(): + """Detect config from source config.json or transformer weight shapes.""" + if is_dual: + return WanModelConfig.wan22_t2v_14b() + + # Try reading source config.json first (most reliable) + src_cfg_path = checkpoint_dir / "config.json" + src_config = None + if src_cfg_path.exists(): + with open(src_cfg_path) as f: + src_config = json.load(f) + + if src_config and "dim" in src_config: + src_dim = src_config.get("dim", 5120) + src_in_dim = src_config.get("in_dim", 16) + src_out_dim = src_config.get("out_dim", 16) + src_ffn_dim = src_config.get("ffn_dim", 13824) + src_num_heads = src_config.get("num_heads", 40) + src_num_layers = src_config.get("num_layers", 40) + src_model_type = src_config.get("model_type", "t2v") + src_text_len = src_config.get("text_len", 512) + + print(f" Source config: dim={src_dim}, layers={src_num_layers}, " + f"heads={src_num_heads}, type={src_model_type}") + + is_22 = model_version == "2.2" + + # Wan2.2 uses different VAE with z_dim=48 and stride (4,16,16) + vae_z = 48 if is_22 else 16 + vae_s = (4, 16, 16) if is_22 else (4, 8, 8) + fps = 24 if is_22 else 16 + + return WanModelConfig( + model_type=src_model_type, + model_version=model_version, + dim=src_dim, + ffn_dim=src_ffn_dim, + in_dim=src_in_dim, + out_dim=src_out_dim, + num_heads=src_num_heads, + num_layers=src_num_layers, + text_len=src_text_len, + vae_z_dim=vae_z, + vae_stride=vae_s, + dual_model=False, + boundary=0.0, + sample_shift=5.0, + sample_steps=50, + sample_guide_scale=5.0, + sample_fps=fps, + ) + + # Fallback: detect from saved transformer weight shapes + saved_model = output_dir / "model.safetensors" + if saved_model.exists(): + det_weights = mx.load(str(saved_model)) + dim = None + for k, v in det_weights.items(): + if "patch_embedding_proj.weight" in k: + dim = v.shape[0] + break + del det_weights + if dim is not None and dim <= 2048: + print(f" Auto-detected 1.3B model (dim={dim})") + return WanModelConfig.wan21_t2v_1_3b() + + return WanModelConfig.wan21_t2v_14b() + + config = _detect_config() + config_path = output_dir / "config.json" + with open(config_path, "w") as f: + json.dump(config.to_dict(), f, indent=2) + print(f" Saved config to {config_path}") + + # Convert T5 encoder + t5_path = checkpoint_dir / "models_t5_umt5-xxl-enc-bf16.pth" + if t5_path.exists(): + print("Converting T5 encoder...") + weights = load_torch_weights(str(t5_path)) + weights = sanitize_wan_t5_weights(weights) + weights = {k: v.astype(target_dtype) for k, v in weights.items()} + out_path = output_dir / "t5_encoder.safetensors" + mx.save_safetensors(str(out_path), weights) + print(f" Saved {len(weights)} weight tensors to {out_path}") + + # Convert VAE (check both naming conventions) + vae_path = checkpoint_dir / "Wan2.1_VAE.pth" + is_wan22_vae = False + if not vae_path.exists(): + vae_path = checkpoint_dir / "Wan2.2_VAE.pth" + is_wan22_vae = True + if vae_path.exists(): + print(f"Converting VAE ({'Wan2.2' if is_wan22_vae else 'Wan2.1'})...") + weights = load_torch_weights(str(vae_path)) + if is_wan22_vae: + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = sanitize_wan22_vae_weights(weights) + else: + weights = sanitize_wan_vae_weights(weights) + weights = {k: v.astype(target_dtype) for k, v in weights.items()} + out_path = output_dir / "vae.safetensors" + mx.save_safetensors(str(out_path), weights) + print(f" Saved {len(weights)} weight tensors to {out_path}") + + # Quantize transformer weights if requested + if quantize: + print(f"\nQuantizing transformer weights ({bits}-bit, group_size={group_size})...") + _quantize_saved_model(output_dir, config, is_dual, bits, group_size) + + print(f"\nConversion complete! Output: {output_dir}") + + +def _quantize_predicate(path: str, module) -> bool: + """Return True for layers that should be quantized. + + Targets heavyweight Linear layers in attention and FFN blocks. + Skips embeddings, norms, head, and modulation (small, precision-sensitive). + """ + if not hasattr(module, "to_quantized"): + return False + # Quantize attention Q/K/V/O and FFN fc1/fc2 + quantize_patterns = ( + ".self_attn.q", ".self_attn.k", ".self_attn.v", ".self_attn.o", + ".cross_attn.q", ".cross_attn.k", ".cross_attn.v", ".cross_attn.o", + ".ffn.fc1", ".ffn.fc2", + ) + return any(path.endswith(p) for p in quantize_patterns) + + +def _quantize_saved_model( + output_dir: Path, + config, + is_dual: bool, + bits: int, + group_size: int, +): + """Load saved bf16 model, quantize, and re-save.""" + import json + + import mlx.nn as nn + + from mlx_video.models.wan.model import WanModel + + model_files = [] + if is_dual: + for name in ["low_noise_model.safetensors", "high_noise_model.safetensors"]: + p = output_dir / name + if p.exists(): + model_files.append(p) + else: + p = output_dir / "model.safetensors" + if p.exists(): + model_files.append(p) + + for model_path in model_files: + print(f" Quantizing {model_path.name}...") + model = WanModel(config) + weights = mx.load(str(model_path)) + model.load_weights(list(weights.items()), strict=False) + + # Apply quantization to targeted layers + nn.quantize( + model, + group_size=group_size, + bits=bits, + class_predicate=lambda path, m: _quantize_predicate(path, m), + ) + + # Save quantized weights + weights_dict = dict(mlx.utils.tree_flatten(model.parameters())) + mx.save_safetensors(str(model_path), weights_dict) + n_quantized = sum(1 for k in weights_dict if ".scales" in k) + print(f" {n_quantized} layers quantized, {len(weights_dict)} tensors saved") + + # Update config.json with quantization metadata + config_path = output_dir / "config.json" + with open(config_path) as f: + cfg = json.load(f) + cfg["quantization"] = { + "group_size": group_size, + "bits": bits, + } + with open(config_path, "w") as f: + json.dump(cfg, f, indent=2) + print(f" Updated config.json with quantization metadata") + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="Convert Wan model to MLX format") + parser.add_argument( + "--checkpoint-dir", + type=str, + required=True, + help="Path to Wan checkpoint directory", + ) + parser.add_argument( + "--output-dir", + type=str, + default="wan_mlx_model", + help="Output path for MLX model", + ) + parser.add_argument( + "--dtype", + type=str, + choices=["float16", "float32", "bfloat16"], + default="bfloat16", + help="Target dtype", + ) + parser.add_argument( + "--model-version", + type=str, + choices=["2.1", "2.2", "auto"], + default="auto", + help="Wan model version (auto-detect by default)", + ) + parser.add_argument( + "--quantize", + action="store_true", + help="Quantize transformer weights for faster inference", + ) + parser.add_argument( + "--bits", + type=int, + choices=[4, 8], + default=4, + help="Quantization bits (default: 4)", + ) + parser.add_argument( + "--group-size", + type=int, + choices=[32, 64, 128], + default=64, + help="Quantization group size (default: 64)", + ) + args = parser.parse_args() + convert_wan_checkpoint( + args.checkpoint_dir, args.output_dir, args.dtype, args.model_version, + quantize=args.quantize, bits=args.bits, group_size=args.group_size, + ) diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py new file mode 100644 index 0000000..69d5723 --- /dev/null +++ b/mlx_video/generate_wan.py @@ -0,0 +1,512 @@ +"""Wan2.2 Text-to-Video generation pipeline for MLX.""" + +import argparse +import gc +import math +import random +import sys +import time +from pathlib import Path + +import mlx.core as mx +import mlx.nn as nn +import numpy as np +from tqdm import tqdm + + +class Colors: + CYAN = "\033[96m" + BLUE = "\033[94m" + GREEN = "\033[92m" + YELLOW = "\033[93m" + RED = "\033[91m" + MAGENTA = "\033[95m" + BOLD = "\033[1m" + DIM = "\033[2m" + RESET = "\033[0m" + + +def load_wan_model(model_path: Path, config, quantization: dict | None = None): + """Load and initialize WanModel, with optional quantization support. + + Args: + model_path: Path to model safetensors file + config: WanModelConfig + quantization: Optional dict with 'bits' and 'group_size' keys. + If provided, creates QuantizedLinear stubs before loading. + """ + from mlx_video.models.wan.model import WanModel + + model = WanModel(config) + + if quantization: + from mlx_video.convert_wan import _quantize_predicate + + nn.quantize( + model, + group_size=quantization["group_size"], + bits=quantization["bits"], + class_predicate=lambda path, m: _quantize_predicate(path, m), + ) + + weights = mx.load(str(model_path)) + model.load_weights(list(weights.items()), strict=False) + mx.eval(model.parameters()) + return model + + +def load_t5_encoder(model_path: Path, config): + """Load T5 text encoder.""" + from mlx_video.models.wan.text_encoder import T5Encoder + + encoder = T5Encoder( + vocab_size=config.t5_vocab_size, + dim=config.t5_dim, + dim_attn=config.t5_dim_attn, + dim_ffn=config.t5_dim_ffn, + num_heads=config.t5_num_heads, + num_layers=config.t5_num_layers, + num_buckets=config.t5_num_buckets, + shared_pos=False, + ) + weights = mx.load(str(model_path)) + encoder.load_weights(list(weights.items())) + mx.eval(encoder.parameters()) + return encoder + + +def load_vae_decoder(model_path: Path, config=None): + """Load VAE decoder (skips encoder weights with strict=False). + + For Wan2.2 (vae_z_dim=48), uses Wan22VAEDecoder. + For Wan2.1 (vae_z_dim=16), uses WanVAE. + """ + is_wan22 = config is not None and config.vae_z_dim == 48 + + if is_wan22: + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + vae = Wan22VAEDecoder(z_dim=48) + else: + from mlx_video.models.wan.vae import WanVAE + vae = WanVAE(z_dim=16) + + weights = mx.load(str(model_path)) + vae.load_weights(list(weights.items()), strict=False) + mx.eval(vae.parameters()) + return vae + + +def encode_text( + encoder, + tokenizer, + prompt: str, + text_len: int = 512, +) -> mx.array: + """Encode text prompt using T5 encoder. + + Args: + encoder: T5Encoder model + tokenizer: HuggingFace tokenizer + prompt: Text prompt + text_len: Maximum text length + + Returns: + Text embeddings [L, dim] + """ + tokens = tokenizer( + prompt, + max_length=text_len, + padding="max_length", + truncation=True, + return_tensors="np", + ) + ids = mx.array(tokens["input_ids"]) + mask = mx.array(tokens["attention_mask"]) + + embeddings = encoder(ids, mask=mask) + + # Return only non-padding tokens + seq_len = int(mask.sum().item()) + return embeddings[0, :seq_len] + + +def generate_video( + model_dir: str, + prompt: str, + negative_prompt: str = "", + width: int = 1280, + height: int = 720, + num_frames: int = 81, + steps: int = None, + guide_scale: str | float | tuple = None, + shift: float = None, + seed: int = -1, + output_path: str = "output.mp4", +): + """Generate video using Wan T2V pipeline (supports 2.1 and 2.2). + + Args: + model_dir: Path to converted MLX model directory + prompt: Text prompt + negative_prompt: Negative prompt + width: Video width + height: Video height + num_frames: Number of frames (must be 4n+1) + steps: Number of diffusion steps (None = use config default) + guide_scale: Guidance scale: float for single, (low,high) for dual (None = config default) + shift: Noise schedule shift (None = use config default) + seed: Random seed (-1 for random) + output_path: Output video path + """ + import json + + from mlx_video.models.wan.config import WanModelConfig + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + model_dir = Path(model_dir) + + # Load config from model dir if available, otherwise auto-detect + config_path = model_dir / "config.json" + quantization = None + if config_path.exists(): + with open(config_path) as f: + config_dict = json.load(f) + # Extract quantization config (not a model config field) + quantization = config_dict.pop("quantization", None) + # Handle tuple fields stored as lists in JSON + for key in ("patch_size", "vae_stride", "window_size", "sample_guide_scale"): + if key in config_dict and isinstance(config_dict[key], list): + config_dict[key] = tuple(config_dict[key]) + config = WanModelConfig(**{ + k: v for k, v in config_dict.items() + if k in WanModelConfig.__dataclass_fields__ + }) + else: + # Auto-detect: dual model files → 2.2, single model → 2.1 + if (model_dir / "low_noise_model.safetensors").exists(): + config = WanModelConfig.wan22_t2v_14b() + else: + # Detect 1.3B vs 14B from weight shapes + model_path = model_dir / "model.safetensors" + if model_path.exists(): + probe = mx.load(str(model_path), return_metadata=False) + for k, v in probe.items(): + if "patch_embedding_proj.weight" in k: + dim = v.shape[0] + if dim <= 2048: + config = WanModelConfig.wan21_t2v_1_3b() + else: + config = WanModelConfig.wan21_t2v_14b() + break + else: + config = WanModelConfig.wan21_t2v_14b() + del probe + else: + config = WanModelConfig.wan21_t2v_14b() + + is_dual = config.dual_model + + # Validate config against actual weights (handles mismatched config.json) + if not is_dual: + model_path = model_dir / "model.safetensors" + if model_path.exists(): + probe = mx.load(str(model_path), return_metadata=False) + for k, v in probe.items(): + if "patch_embedding_proj.weight" in k: + actual_dim = v.shape[0] + if actual_dim != config.dim: + print(f"{Colors.YELLOW} Config dim={config.dim} doesn't match weights dim={actual_dim}, auto-correcting...{Colors.RESET}") + if actual_dim <= 2048: + config = WanModelConfig.wan21_t2v_1_3b() + else: + config = WanModelConfig.wan21_t2v_14b() + break + del probe + + # Auto-correct Wan2.2 VAE params from stale configs + if config.in_dim == 48 and config.vae_z_dim != 48: + print(f"{Colors.YELLOW} Auto-correcting Wan2.2 VAE params (in_dim=48 but vae_z_dim={config.vae_z_dim}){Colors.RESET}") + config = WanModelConfig(**{ + **{f.name: getattr(config, f.name) for f in config.__dataclass_fields__.values()}, + "vae_z_dim": 48, + "vae_stride": (4, 16, 16), + "sample_fps": 24, + }) + + # Apply defaults from config if not overridden + if steps is None: + steps = config.sample_steps + if shift is None: + shift = config.sample_shift + if guide_scale is None: + guide_scale = config.sample_guide_scale + + # Normalize guide_scale + if isinstance(guide_scale, (int, float)): + guide_scale = float(guide_scale) + elif isinstance(guide_scale, str): + parts = [float(x) for x in guide_scale.split(",")] + guide_scale = tuple(parts) if len(parts) > 1 else parts[0] + + # Validate frame count + assert (num_frames - 1) % 4 == 0, f"num_frames must be 4n+1, got {num_frames}" + + version_str = f"Wan{config.model_version}" + mode_str = "dual-model" if is_dual else "single-model" + print(f"{Colors.CYAN}{'='*60}") + print(f" {version_str} Text-to-Video Generation (MLX, {mode_str})") + print(f"{'='*60}{Colors.RESET}") + print(f"{Colors.DIM} Prompt: {prompt}") + print(f" Size: {width}x{height}, Frames: {num_frames}") + print(f" Steps: {steps}, Guide: {guide_scale}, Shift: {shift}") + print(f"{Colors.RESET}") + + # Seed + if seed < 0: + seed = random.randint(0, 2**32 - 1) + mx.random.seed(seed) + np.random.seed(seed) + print(f"{Colors.DIM} Seed: {seed}{Colors.RESET}") + + # Compute target latent shape + vae_stride = config.vae_stride + z_dim = config.vae_z_dim + t_latent = (num_frames - 1) // vae_stride[0] + 1 + h_latent = height // vae_stride[1] + w_latent = width // vae_stride[2] + target_shape = (z_dim, t_latent, h_latent, w_latent) + + # Sequence length for transformer + patch_size = config.patch_size + seq_len = math.ceil( + (h_latent * w_latent) / (patch_size[1] * patch_size[2]) * t_latent + ) + + print(f"{Colors.DIM} Latent shape: {target_shape}") + print(f" Sequence length: {seq_len}{Colors.RESET}") + + # Load T5 encoder + t1 = time.time() + print(f"\n{Colors.BLUE}Loading T5 encoder...{Colors.RESET}") + t5_path = model_dir / "t5_encoder.safetensors" + t5_encoder = load_t5_encoder(t5_path, config) + + # Load tokenizer + from transformers import AutoTokenizer + tokenizer = AutoTokenizer.from_pretrained("google/umt5-xxl") + + # Encode prompts + print(f"{Colors.BLUE}Encoding text...{Colors.RESET}") + context = encode_text(t5_encoder, tokenizer, prompt, config.text_len) + if negative_prompt: + context_null = encode_text(t5_encoder, tokenizer, negative_prompt, config.text_len) + else: + context_null = encode_text(t5_encoder, tokenizer, "", config.text_len) + mx.eval(context, context_null) + + # Free T5 from memory + del t5_encoder + gc.collect(); mx.clear_cache() + print(f"{Colors.DIM} T5 encoding: {time.time() - t1:.1f}s{Colors.RESET}") + + # Load transformer models + print(f"\n{Colors.BLUE}Loading transformer model(s)...{Colors.RESET}") + if quantization: + print(f"{Colors.DIM} Using {quantization['bits']}-bit quantized weights (group_size={quantization['group_size']}){Colors.RESET}") + t2 = time.time() + + if is_dual: + low_noise_path = model_dir / "low_noise_model.safetensors" + high_noise_path = model_dir / "high_noise_model.safetensors" + low_noise_model = load_wan_model(low_noise_path, config, quantization) + high_noise_model = load_wan_model(high_noise_path, config, quantization) + else: + single_model = load_wan_model(model_dir / "model.safetensors", config, quantization) + print(f"{Colors.DIM} Models loaded: {time.time() - t2:.1f}s{Colors.RESET}") + + # Precompute text embeddings once (avoids redundant MLP in every step) + ref_model = single_model if not is_dual else low_noise_model + context_emb = ref_model.embed_text([context, context_null]) + mx.eval(context_emb) + context_cond = context_emb[0:1] # [1, text_len, dim] + context_uncond = context_emb[1:2] # [1, text_len, dim] + # Stack for batched CFG: [2, text_len, dim] + context_cfg = mx.concatenate([context_cond, context_uncond], axis=0) + + # Precompute cross-attention K/V caches (constant across all steps) + if is_dual: + cross_kv_low = low_noise_model.prepare_cross_kv(context_cfg) + cross_kv_high = high_noise_model.prepare_cross_kv(context_cfg) + mx.eval(cross_kv_low, cross_kv_high) + else: + cross_kv = single_model.prepare_cross_kv(context_cfg) + mx.eval(cross_kv) + + # Setup scheduler + scheduler = FlowMatchEulerScheduler(num_train_timesteps=config.num_train_timesteps) + scheduler.set_timesteps(steps, shift=shift) + + # Generate initial noise + noise = mx.random.normal(target_shape) + + # Boundary for model switching (dual model only) + boundary = (config.boundary * config.num_train_timesteps) if is_dual else None + + # Diffusion loop + print(f"\n{Colors.GREEN}Denoising ({steps} steps)...{Colors.RESET}") + latents = noise + t3 = time.time() + + for i, t in enumerate(tqdm(range(steps), desc="Diffusion")): + timestep_val = scheduler.timesteps[i].item() + + # Select model, guide scale, and cached K/V + if is_dual: + if timestep_val >= boundary: + model = high_noise_model + gs = guide_scale[1] + kv = cross_kv_high + else: + model = low_noise_model + gs = guide_scale[0] + kv = cross_kv_low + else: + model = single_model + gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] + kv = cross_kv + + # CFG: batch cond + uncond into single B=2 forward pass + preds = model( + [latents, latents], + t=mx.array([timestep_val, timestep_val]), + context=context_cfg, + seq_len=seq_len, + cross_kv_caches=kv, + ) + noise_pred_cond, noise_pred_uncond = preds[0], preds[1] + + # Classifier-free guidance + scheduler step + noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) + latents = scheduler.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) + + # Release temporaries before eval to free memory for graph execution + del noise_pred_cond, noise_pred_uncond, noise_pred, preds + mx.eval(latents) + + print(f"{Colors.DIM} Denoising: {time.time() - t3:.1f}s{Colors.RESET}") + + # Free transformer models and text embeddings + if is_dual: + del low_noise_model, high_noise_model, cross_kv_low, cross_kv_high + else: + del single_model, cross_kv + del model, kv, context, context_null, context_cfg + gc.collect(); mx.clear_cache() + + # Load VAE and decode + print(f"\n{Colors.BLUE}Decoding with VAE...{Colors.RESET}") + t4 = time.time() + vae_path = model_dir / "vae.safetensors" + vae = load_vae_decoder(vae_path, config) + + is_wan22_vae = config.vae_z_dim == 48 + + if is_wan22_vae: + from mlx_video.models.wan.vae22 import denormalize_latents + + # latents: [C, T, H, W] → [1, T, H, W, C] (channels-last for Wan2.2 VAE) + z = latents.transpose(1, 2, 3, 0)[None] # [1, T, H, W, C] + z = denormalize_latents(z) + video = vae(z) # [1, T', H', W', 3] + mx.eval(video) + print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") + + video = np.array(video[0]) # [T', H', W', 3] + video = (video + 1.0) / 2.0 + video = np.clip(video * 255.0, 0, 255).astype(np.uint8) + else: + video = vae.decode(latents[None]) # [1, 3, T, H, W] + mx.eval(video) + print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") + + video = np.array(video[0]) # [3, T, H, W] + video = (video + 1.0) / 2.0 + video = np.clip(video * 255.0, 0, 255).astype(np.uint8) + video = video.transpose(1, 2, 3, 0) # [T, H, W, 3] + + save_video(video, output_path, fps=config.sample_fps) + print(f"\n{Colors.GREEN}✓ Video saved to {output_path}{Colors.RESET}") + print(f"{Colors.DIM} Total time: {time.time() - t1:.1f}s{Colors.RESET}") + + +def save_video(frames: np.ndarray, output_path: str, fps: int = 16): + """Save video frames to MP4. + + Args: + frames: Video frames [T, H, W, 3] uint8 + output_path: Output file path + fps: Frames per second + """ + try: + import imageio + writer = imageio.get_writer(output_path, fps=fps, codec="libx264", quality=8) + for frame in frames: + writer.append_data(frame) + writer.close() + except ImportError: + try: + import cv2 + h, w = frames.shape[1], frames.shape[2] + fourcc = cv2.VideoWriter_fourcc(*"avc1") + writer = cv2.VideoWriter(output_path, fourcc, fps, (w, h)) + for frame in frames: + writer.write(cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)) + writer.release() + except (ImportError, Exception): + # Last resort: save as individual PNGs + from PIL import Image + out_dir = Path(output_path).parent / Path(output_path).stem + out_dir.mkdir(parents=True, exist_ok=True) + for i, frame in enumerate(frames): + Image.fromarray(frame).save(out_dir / f"frame_{i:04d}.png") + print(f" (no video encoder available, saved {len(frames)} frames to {out_dir}/)") + + +def main(): + parser = argparse.ArgumentParser(description="Wan Text-to-Video Generation (MLX)") + parser.add_argument("--model-dir", type=str, required=True, help="Path to converted MLX model directory") + parser.add_argument("--prompt", type=str, required=True, help="Text prompt") + parser.add_argument("--negative-prompt", type=str, default="", help="Negative prompt") + parser.add_argument("--width", type=int, default=1280, help="Video width") + parser.add_argument("--height", type=int, default=720, help="Video height") + parser.add_argument("--num-frames", type=int, default=81, help="Number of frames (must be 4n+1)") + parser.add_argument("--steps", type=int, default=None, help="Number of diffusion steps (default: from config)") + parser.add_argument("--guide-scale", type=str, default=None, help="Guidance scale: single float or low,high pair") + parser.add_argument("--shift", type=float, default=None, help="Noise schedule shift (default: from config)") + parser.add_argument("--seed", type=int, default=-1, help="Random seed") + parser.add_argument("--output-path", type=str, default="output.mp4", help="Output video path") + args = parser.parse_args() + + # Parse guide scale + guide_scale = None + if args.guide_scale is not None: + parts = [float(x) for x in args.guide_scale.split(",")] + guide_scale = tuple(parts) if len(parts) > 1 else parts[0] + + generate_video( + model_dir=args.model_dir, + prompt=args.prompt, + negative_prompt=args.negative_prompt, + width=args.width, + height=args.height, + num_frames=args.num_frames, + steps=args.steps, + guide_scale=guide_scale, + shift=args.shift, + seed=args.seed, + output_path=args.output_path, + ) + + +if __name__ == "__main__": + main() diff --git a/mlx_video/models/__init__.py b/mlx_video/models/__init__.py index 923325a..84fb090 100644 --- a/mlx_video/models/__init__.py +++ b/mlx_video/models/__init__.py @@ -1,2 +1,3 @@ from mlx_video.models.ltx import LTXModel, LTXModelConfig +from mlx_video.models.wan import WanModel, WanModelConfig diff --git a/mlx_video/models/wan/__init__.py b/mlx_video/models/wan/__init__.py new file mode 100644 index 0000000..c0f37a8 --- /dev/null +++ b/mlx_video/models/wan/__init__.py @@ -0,0 +1,2 @@ +from mlx_video.models.wan.config import WanModelConfig +from mlx_video.models.wan.model import WanModel diff --git a/mlx_video/models/wan/attention.py b/mlx_video/models/wan/attention.py new file mode 100644 index 0000000..5907abd --- /dev/null +++ b/mlx_video/models/wan/attention.py @@ -0,0 +1,201 @@ +import mlx.core as mx +import mlx.nn as nn + +from .rope import rope_apply + + +class WanRMSNorm(nn.Module): + """RMS normalization with learnable scale.""" + + def __init__(self, dim: int, eps: float = 1e-5): + super().__init__() + self.eps = eps + self.weight = mx.ones((dim,)) + + def __call__(self, x: mx.array) -> mx.array: + return mx.fast.rms_norm(x, self.weight, self.eps) + + +class WanLayerNorm(nn.Module): + """LayerNorm computed in float32, with optional affine.""" + + def __init__(self, dim: int, eps: float = 1e-6, elementwise_affine: bool = False): + super().__init__() + self.eps = eps + self.elementwise_affine = elementwise_affine + if elementwise_affine: + self.weight = mx.ones((dim,)) + self.bias = mx.zeros((dim,)) + + def __call__(self, x: mx.array) -> mx.array: + if self.elementwise_affine: + return mx.fast.layer_norm(x, self.weight, self.bias, self.eps) + else: + return mx.fast.layer_norm(x, None, None, self.eps) + + +class WanSelfAttention(nn.Module): + """Self-attention with QK normalization and 3-way factorized RoPE.""" + + def __init__( + self, + dim: int, + num_heads: int, + window_size: tuple = (-1, -1), + qk_norm: bool = True, + eps: float = 1e-6, + ): + super().__init__() + assert dim % num_heads == 0 + self.dim = dim + self.num_heads = num_heads + self.head_dim = dim // num_heads + self.window_size = window_size + self.scale = self.head_dim**-0.5 + + self.q = nn.Linear(dim, dim) + self.k = nn.Linear(dim, dim) + self.v = nn.Linear(dim, dim) + self.o = nn.Linear(dim, dim) + + self.norm_q = WanRMSNorm(dim, eps=eps) if qk_norm else None + self.norm_k = WanRMSNorm(dim, eps=eps) if qk_norm else None + + def __call__( + self, + x: mx.array, + seq_lens: list, + grid_sizes: list, + freqs: mx.array, + ) -> mx.array: + b, s, _ = x.shape + n, d = self.num_heads, self.head_dim + + q = self.q(x) + k = self.k(x) + if self.norm_q is not None: + q = self.norm_q(q) + if self.norm_k is not None: + k = self.norm_k(k) + + q = q.reshape(b, s, n, d) + k = k.reshape(b, s, n, d) + v = self.v(x).reshape(b, s, n, d) + + # Apply RoPE + q = rope_apply(q, grid_sizes, freqs) + k = rope_apply(k, grid_sizes, freqs) + + # Scaled dot-product attention: [B, L, N, D] -> [B, N, L, D] + q = q.transpose(0, 2, 1, 3) + k = k.transpose(0, 2, 1, 3) + v = v.transpose(0, 2, 1, 3) + + # Build attention mask from seq_lens + max_len = s + mask = None + if any(sl < max_len for sl in seq_lens): + mask = mx.zeros((b, 1, 1, max_len), dtype=q.dtype) + for i, sl in enumerate(seq_lens): + mask[i, :, :, sl:] = -1e9 + + # Use memory-efficient scaled dot-product attention + # mx.fast.scaled_dot_product_attention expects [B, N, L, D] + if mask is not None: + out = mx.fast.scaled_dot_product_attention( + q, k, v, scale=self.scale, mask=mask + ) + else: + out = mx.fast.scaled_dot_product_attention( + q, k, v, scale=self.scale + ) + + out = out.transpose(0, 2, 1, 3).reshape(b, s, -1) + return self.o(out) + + +class WanCrossAttention(nn.Module): + """Cross-attention: Q from hidden states, K/V from text context.""" + + def __init__( + self, + dim: int, + num_heads: int, + qk_norm: bool = True, + eps: float = 1e-6, + ): + super().__init__() + assert dim % num_heads == 0 + self.num_heads = num_heads + self.head_dim = dim // num_heads + self.scale = self.head_dim**-0.5 + + self.q = nn.Linear(dim, dim) + self.k = nn.Linear(dim, dim) + self.v = nn.Linear(dim, dim) + self.o = nn.Linear(dim, dim) + + self.norm_q = WanRMSNorm(dim, eps=eps) if qk_norm else None + self.norm_k = WanRMSNorm(dim, eps=eps) if qk_norm else None + + def prepare_kv(self, context: mx.array) -> tuple: + """Pre-compute K and V projections for caching. + + Args: + context: [B, L_ctx, dim] + + Returns: + (k, v) each [B, N, L_ctx, D] ready for attention + """ + b = context.shape[0] + n, d = self.num_heads, self.head_dim + k = self.k(context) + if self.norm_k is not None: + k = self.norm_k(k) + k = k.reshape(b, -1, n, d).transpose(0, 2, 1, 3) + v = self.v(context).reshape(b, -1, n, d).transpose(0, 2, 1, 3) + return k, v + + def __call__( + self, + x: mx.array, + context: mx.array, + context_lens: list | None = None, + kv_cache: tuple | None = None, + ) -> mx.array: + b = x.shape[0] + n, d = self.num_heads, self.head_dim + + q = self.q(x) + if self.norm_q is not None: + q = self.norm_q(q) + q = q.reshape(b, -1, n, d).transpose(0, 2, 1, 3) + + if kv_cache is not None: + k, v = kv_cache + else: + k = self.k(context) + if self.norm_k is not None: + k = self.norm_k(k) + k = k.reshape(b, -1, n, d).transpose(0, 2, 1, 3) + v = self.v(context).reshape(b, -1, n, d).transpose(0, 2, 1, 3) + + # Optional context masking + mask = None + if context_lens is not None: + ctx_len = k.shape[2] + mask = mx.zeros((b, 1, 1, ctx_len), dtype=q.dtype) + for i, cl in enumerate(context_lens): + mask[i, :, :, cl:] = -1e9 + + if mask is not None: + out = mx.fast.scaled_dot_product_attention( + q, k, v, scale=self.scale, mask=mask + ) + else: + out = mx.fast.scaled_dot_product_attention( + q, k, v, scale=self.scale + ) + + out = out.transpose(0, 2, 1, 3).reshape(b, -1, n * d) + return self.o(out) diff --git a/mlx_video/models/wan/config.py b/mlx_video/models/wan/config.py new file mode 100644 index 0000000..1be3374 --- /dev/null +++ b/mlx_video/models/wan/config.py @@ -0,0 +1,86 @@ +from dataclasses import dataclass, field +from typing import List, Optional, Tuple, Union + +from mlx_video.models.ltx.config import BaseModelConfig + + +@dataclass +class WanModelConfig(BaseModelConfig): + """Configuration for Wan T2V models (supports both 2.1 and 2.2).""" + + model_type: str = "t2v" + model_version: str = "2.2" + patch_size: Tuple[int, int, int] = (1, 2, 2) + text_len: int = 512 + in_dim: int = 16 + dim: int = 5120 + ffn_dim: int = 13824 + freq_dim: int = 256 + text_dim: int = 4096 + out_dim: int = 16 + num_heads: int = 40 + num_layers: int = 40 + window_size: Tuple[int, int] = (-1, -1) + qk_norm: bool = True + cross_attn_norm: bool = True + eps: float = 1e-6 + + # VAE + vae_stride: Tuple[int, int, int] = (4, 8, 8) + vae_z_dim: int = 16 + + # Inference + dual_model: bool = True + boundary: float = 0.875 + sample_shift: float = 12.0 + sample_steps: int = 40 + sample_guide_scale: Union[float, Tuple[float, float]] = (3.0, 4.0) + num_train_timesteps: int = 1000 + sample_fps: int = 16 + frame_num: int = 81 + + # T5 + t5_vocab_size: int = 256384 + t5_dim: int = 4096 + t5_dim_attn: int = 4096 + t5_dim_ffn: int = 10240 + t5_num_heads: int = 64 + t5_num_layers: int = 24 + t5_num_buckets: int = 32 + + @property + def head_dim(self) -> int: + return self.dim // self.num_heads + + @classmethod + def wan21_t2v_14b(cls) -> "WanModelConfig": + """Wan2.1 T2V 14B: single model, 40 layers, dim=5120.""" + return cls( + model_version="2.1", + dual_model=False, + boundary=0.0, + sample_shift=5.0, + sample_steps=50, + sample_guide_scale=5.0, + ) + + @classmethod + def wan21_t2v_1_3b(cls) -> "WanModelConfig": + """Wan2.1 T2V 1.3B: single model, 30 layers, dim=1536.""" + return cls( + model_version="2.1", + dim=1536, + ffn_dim=8960, + num_heads=12, + num_layers=30, + dual_model=False, + boundary=0.0, + sample_shift=5.0, + sample_steps=50, + sample_guide_scale=5.0, + ) + + @classmethod + def wan22_t2v_14b(cls) -> "WanModelConfig": + """Wan2.2 T2V 14B: dual model, 40 layers, dim=5120 (default).""" + return cls() diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py new file mode 100644 index 0000000..35c6861 --- /dev/null +++ b/mlx_video/models/wan/model.py @@ -0,0 +1,307 @@ +import math + +import mlx.core as mx +import mlx.nn as nn +import numpy as np + +from .attention import WanLayerNorm +from .config import WanModelConfig +from .rope import rope_params +from .transformer import WanAttentionBlock + + +def sinusoidal_embedding_1d(dim: int, position: mx.array) -> mx.array: + """Compute sinusoidal positional embeddings. + + Args: + dim: Embedding dimension (must be even). + position: 1D tensor of positions. + + Returns: + Embeddings of shape [len(position), dim]. + """ + assert dim % 2 == 0 + half = dim // 2 + pos = position.astype(mx.float32) + inv_freq = mx.power(10000.0, -mx.arange(half).astype(mx.float32) / half) + sinusoid = pos[:, None] * inv_freq[None, :] + return mx.concatenate([mx.cos(sinusoid), mx.sin(sinusoid)], axis=1) + + +class Head(nn.Module): + """Output projection head with learned modulation.""" + + def __init__(self, dim: int, out_dim: int, patch_size: tuple, eps: float = 1e-6): + super().__init__() + self.out_dim = out_dim + self.patch_size = patch_size + proj_dim = math.prod(patch_size) * out_dim + self.norm = WanLayerNorm(dim, eps) + self.head = nn.Linear(dim, proj_dim) + self.modulation = mx.random.normal((1, 2, dim)) * (dim**-0.5) + + def __call__(self, x: mx.array, e: mx.array) -> mx.array: + """ + Args: + x: [B, L, dim] + e: [B, dim] or [B, 1, dim] (time embedding, broadcast to all tokens) + """ + if e.ndim == 2: + e = e[:, None, :] # [B, 1, dim] + e_f32 = e.astype(mx.float32) + mod = (self.modulation + e_f32) # broadcasts [1, 2, dim] + [B, 1, dim] -> [B, 2, dim] + e0 = mod[:, 0:1, :] # [B, 1, dim] shift + e1 = mod[:, 1:2, :] # [B, 1, dim] scale + x_norm = self.norm(x).astype(mx.float32) + x_mod = x_norm * (1 + e1) + e0 # broadcasts over L + return self.head(x_mod.astype(x.dtype)) + + +class WanModel(nn.Module): + """Wan2.2 diffusion backbone for text-to-video generation.""" + + def __init__(self, config: WanModelConfig): + super().__init__() + self.config = config + dim = config.dim + self.dim = dim + self.num_heads = config.num_heads + self.out_dim = config.out_dim + self.patch_size = config.patch_size + self.text_len = config.text_len + self.freq_dim = config.freq_dim + + # Patch embedding: Conv3d implemented as a reshaped linear + # For kernel (1,2,2) and stride (1,2,2): reshape input then linear + patch_dim = config.in_dim * math.prod(config.patch_size) + self.patch_embedding_proj = nn.Linear(patch_dim, dim) + self._patch_size = config.patch_size + + # Text embedding MLP + self.text_embedding_0 = nn.Linear(config.text_dim, dim) + self.text_embedding_act = nn.GELU(approx="precise") + self.text_embedding_1 = nn.Linear(dim, dim) + + # Time embedding MLP + self.time_embedding_0 = nn.Linear(config.freq_dim, dim) + self.time_embedding_act = nn.SiLU() + self.time_embedding_1 = nn.Linear(dim, dim) + + # Time projection for modulation (6x dim) + self.time_projection_act = nn.SiLU() + self.time_projection = nn.Linear(dim, dim * 6) + + # Transformer blocks + self.blocks = [ + WanAttentionBlock( + dim=dim, + ffn_dim=config.ffn_dim, + num_heads=config.num_heads, + window_size=config.window_size, + qk_norm=config.qk_norm, + cross_attn_norm=config.cross_attn_norm, + eps=config.eps, + ) + for _ in range(config.num_layers) + ] + + # Output head + self.head = Head(dim, config.out_dim, config.patch_size, config.eps) + + # Precompute RoPE frequencies + d = dim // config.num_heads + d_t = d - 4 * (d // 6) + d_h = 2 * (d // 6) + d_w = 2 * (d // 6) + # Each rope_params returns [1024, d_x//2, 2] + freqs_t = rope_params(1024, d_t) + freqs_h = rope_params(1024, d_h) + freqs_w = rope_params(1024, d_w) + # Concatenate along the frequency dimension: [1024, d//2, 2] + self.freqs = mx.concatenate([freqs_t, freqs_h, freqs_w], axis=1) + + def _patchify(self, x: mx.array) -> tuple: + """Convert video tensor to patch embeddings. + + Args: + x: Video latent [C, F, H, W] + + Returns: + (patches, grid_size): patches [1, L, dim], grid_size (F', H', W') + """ + c, f, h, w = x.shape + pt, ph, pw = self._patch_size + + f_out = f // pt + h_out = h // ph + w_out = w // pw + + # Reshape: [C, F, H, W] -> [F', H', W', C, pt, ph, pw] -> [F'*H'*W', C*pt*ph*pw] + # Order must be [C, pt, ph, pw] (C slowest) to match Conv3d weight layout + x = x.reshape(c, f_out, pt, h_out, ph, w_out, pw) + x = x.transpose(1, 3, 5, 0, 2, 4, 6) # [F', H', W', C, pt, ph, pw] + x = x.reshape(f_out * h_out * w_out, -1) # [L, C*pt*ph*pw] + + # Project and cast to model dtype to prevent float32 cascade from input latents + patches = self.patch_embedding_proj(x) # [L, dim] + patches = patches.astype(self.patch_embedding_proj.weight.dtype) + patches = patches[None, :, :] # [1, L, dim] + + return patches, (f_out, h_out, w_out) + + def unpatchify(self, x: mx.array, grid_sizes: list) -> list: + """Reconstruct video from patch embeddings. + + Args: + x: [B, L, out_dim * prod(patch_size)] + grid_sizes: List of (F', H', W') per batch element + + Returns: + List of tensors [C, F, H, W] + """ + c = self.out_dim + pt, ph, pw = self.patch_size + out = [] + for i, (f, h, w) in enumerate(grid_sizes): + seq_len = f * h * w + u = x[i, :seq_len] # [L, out_dim * pt * ph * pw] + u = u.reshape(f, h, w, pt, ph, pw, c) + # Rearrange: [F', H', W', pt, ph, pw, C] -> [C, F'*pt, H'*ph, W'*pw] + u = u.transpose(6, 0, 3, 1, 4, 2, 5) # [C, F', pt, H', ph, W', pw] + u = u.reshape(c, f * pt, h * ph, w * pw) + out.append(u) + return out + + def embed_text(self, context: list) -> mx.array: + """Precompute text embeddings (call once, reuse across steps). + + Args: + context: List of text embeddings [L_text, text_dim] + + Returns: + Embedded context [B, text_len, dim] in model dtype + """ + model_dtype = self.patch_embedding_proj.weight.dtype + context_padded = [] + for ctx in context: + pad_len = self.text_len - ctx.shape[0] + if pad_len > 0: + ctx = mx.concatenate( + [ctx, mx.zeros((pad_len, ctx.shape[1]), dtype=ctx.dtype)], + axis=0, + ) + context_padded.append(ctx) + context_batch = mx.stack(context_padded) # [B, text_len, text_dim] + context_batch = self.text_embedding_1( + self.text_embedding_act(self.text_embedding_0(context_batch)) + ) + return context_batch.astype(model_dtype) + + def prepare_cross_kv(self, context: mx.array) -> list: + """Pre-compute cross-attention K/V for all blocks. + + Call once before the diffusion loop to cache K/V projections, + eliminating redundant computation at each denoising step. + + Args: + context: Pre-embedded text [B, text_len, dim] + + Returns: + List of (k, v) tuples, one per block + """ + kv_caches = [] + for block in self.blocks: + kv_caches.append(block.cross_attn.prepare_kv(context)) + return kv_caches + + def __call__( + self, + x_list: list, + t: mx.array, + context: list | mx.array, + seq_len: int, + cross_kv_caches: list | None = None, + ) -> list: + """Forward pass. + + Args: + x_list: List of video latent tensors [C, F, H, W] + t: Timestep tensor [B] + context: List of raw text embeddings, OR pre-embedded tensor + from embed_text() [B, text_len, dim] + seq_len: Maximum sequence length for padding + cross_kv_caches: Optional list of (k, v) tuples from + prepare_cross_kv(), one per block. + + Returns: + List of denoised tensors [C, F, H, W] + """ + # Patchify each video + patches = [] + grid_sizes = [] + seq_lens_list = [] + for vid in x_list: + p, gs = self._patchify(vid) # [1, L, dim] + patches.append(p) + grid_sizes.append(gs) + seq_lens_list.append(p.shape[1]) + + # Pad and batch + batch_size = len(patches) + x = mx.concatenate( + [ + mx.concatenate( + [p, mx.zeros((1, seq_len - p.shape[1], self.dim), dtype=p.dtype)], + axis=1, + ) + if p.shape[1] < seq_len + else p + for p in patches + ], + axis=0, + ) # [B, seq_len, dim] + + # Time embedding: compute once per sample, then broadcast to all tokens + if t.ndim == 0: + t = t[None] + sin_emb = sinusoidal_embedding_1d(self.freq_dim, t) # [B, freq_dim] + + model_dtype = self.patch_embedding_proj.weight.dtype + e = self.time_embedding_1( + self.time_embedding_act(self.time_embedding_0(sin_emb)) + ) # [B, dim] + e0 = self.time_projection(self.time_projection_act(e)) # [B, dim*6] + e0 = e0.reshape(batch_size, 1, 6, self.dim).astype(model_dtype) + e = e.astype(model_dtype) + + # Text embedding: skip MLP if context is already embedded (mx.array) + if isinstance(context, mx.array): + # Pre-embedded: expand to batch size if needed + context_batch = context + if context_batch.shape[0] == 1 and batch_size > 1: + context_batch = mx.broadcast_to( + context_batch, (batch_size,) + context_batch.shape[1:] + ) + else: + context_batch = self.embed_text(context) + + # Run transformer blocks + kwargs = dict( + e=e0, + seq_lens=seq_lens_list, + grid_sizes=grid_sizes, + freqs=self.freqs, + context=context_batch, + context_lens=None, + ) + + for i, block in enumerate(self.blocks): + kv = cross_kv_caches[i] if cross_kv_caches is not None else None + x = block(x, cross_kv_cache=kv, **kwargs) + + # Output head + x = self.head(x, e) + + # Unpatchify + outputs = self.unpatchify(x, grid_sizes) + return [u.astype(mx.float32) for u in outputs] diff --git a/mlx_video/models/wan/rope.py b/mlx_video/models/wan/rope.py new file mode 100644 index 0000000..0983031 --- /dev/null +++ b/mlx_video/models/wan/rope.py @@ -0,0 +1,100 @@ +import math + +import mlx.core as mx +import numpy as np + + +def rope_params(max_seq_len: int, dim: int, theta: float = 10000.0) -> mx.array: + """Precompute RoPE frequency parameters as complex numbers. + + Returns: + Complex frequency tensor of shape [max_seq_len, dim // 2]. + """ + assert dim % 2 == 0 + freqs = np.arange(max_seq_len, dtype=np.float64)[:, None] * ( + 1.0 + / np.power( + theta, + np.arange(0, dim, 2, dtype=np.float64) / dim, + ) + )[None, :] + # Store as (cos, sin) pairs: shape [max_seq_len, dim // 2, 2] + cos_freqs = np.cos(freqs).astype(np.float32) + sin_freqs = np.sin(freqs).astype(np.float32) + return mx.array(np.stack([cos_freqs, sin_freqs], axis=-1)) + + +def rope_apply( + x: mx.array, + grid_sizes: list, + freqs: mx.array, +) -> mx.array: + """Apply 3-way factorized RoPE to Q or K tensor. + + Args: + x: Shape [B, L, num_heads, head_dim] + grid_sizes: List of (F, H, W) tuples per batch element + freqs: Precomputed cos/sin, shape [1024, d//2, 2] split into 3 parts + """ + b, s, n, d = x.shape + half_d = d // 2 + + # Cast freqs to input dtype to prevent float32 promotion cascade + if freqs.dtype != x.dtype: + freqs = freqs.astype(x.dtype) + + # Split frequency dimensions: temporal gets more capacity + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + d_w = half_d // 3 + + # Split freqs along dim axis + freqs_t = freqs[:, :d_t] # [1024, d_t, 2] + freqs_h = freqs[:, d_t : d_t + d_h] # [1024, d_h, 2] + freqs_w = freqs[:, d_t + d_h : d_t + d_h + d_w] # [1024, d_w, 2] + + outputs = [] + for i in range(b): + f, h, w = grid_sizes[i] + seq_len = f * h * w + + # Reshape x to pairs for rotation: [seq_len, n, half_d, 2] + x_i = x[i, :seq_len].reshape(seq_len, n, half_d, 2) + + # Build per-position frequencies by expanding along grid dims + # temporal: [f,1,1,d_t,2] -> [f,h,w,d_t,2] + ft = mx.broadcast_to( + freqs_t[:f].reshape(f, 1, 1, d_t, 2), (f, h, w, d_t, 2) + ) + # height: [1,h,1,d_h,2] -> [f,h,w,d_h,2] + fh = mx.broadcast_to( + freqs_h[:h].reshape(1, h, 1, d_h, 2), (f, h, w, d_h, 2) + ) + # width: [1,1,w,d_w,2] -> [f,h,w,d_w,2] + fw = mx.broadcast_to( + freqs_w[:w].reshape(1, 1, w, d_w, 2), (f, h, w, d_w, 2) + ) + + # Concatenate: [f*h*w, half_d, 2] + freqs_i = mx.concatenate([ft, fh, fw], axis=3).reshape(seq_len, 1, half_d, 2) + + # Apply rotation: (a + bi) * (cos + sin*i) = (a*cos - b*sin) + (a*sin + b*cos)i + cos_f = freqs_i[..., 0] # [seq_len, 1, half_d] + sin_f = freqs_i[..., 1] # [seq_len, 1, half_d] + + x_real = x_i[..., 0] # [seq_len, n, half_d] + x_imag = x_i[..., 1] # [seq_len, n, half_d] + + out_real = x_real * cos_f - x_imag * sin_f + out_imag = x_real * sin_f + x_imag * cos_f + + # Interleave back: [seq_len, n, half_d, 2] -> [seq_len, n, d] + x_rotated = mx.stack([out_real, out_imag], axis=-1).reshape(seq_len, n, d) + + # Handle padding: keep non-rotated tokens after seq_len + if seq_len < s: + x_rotated = mx.concatenate([x_rotated, x[i, seq_len:]], axis=0) + + outputs.append(x_rotated) + + return mx.stack(outputs) diff --git a/mlx_video/models/wan/scheduler.py b/mlx_video/models/wan/scheduler.py new file mode 100644 index 0000000..377f058 --- /dev/null +++ b/mlx_video/models/wan/scheduler.py @@ -0,0 +1,76 @@ +"""Flow matching scheduler for Wan2.2 inference.""" + +import numpy as np + +import mlx.core as mx + + +class FlowMatchEulerScheduler: + """Simple Euler scheduler for flow matching diffusion. + + Implements the flow matching formulation where the model predicts + velocity (flow) and we use Euler steps to denoise. + """ + + def __init__(self, num_train_timesteps: int = 1000): + self.num_train_timesteps = num_train_timesteps + self.timesteps = None + self.sigmas = None + + def set_timesteps(self, num_steps: int, shift: float = 1.0): + """Compute sigma schedule with shift. + + Args: + num_steps: Number of inference steps. + shift: Noise schedule shift factor. + """ + # Linear spacing from sigma_max to sigma_min + sigmas = np.linspace(1.0, 1.0 / self.num_train_timesteps, self.num_train_timesteps)[::-1] + sigmas = 1.0 - sigmas + + # Select evenly spaced subset + indices = np.linspace(0, len(sigmas) - 1, num_steps + 1).astype(int) + sigmas = sigmas[indices[:-1]] + + # Apply shift: sigma' = shift * sigma / (1 + (shift - 1) * sigma) + sigmas = shift * sigmas / (1.0 + (shift - 1.0) * sigmas) + + # Convert to timesteps + timesteps = sigmas * self.num_train_timesteps + self.timesteps = mx.array(timesteps.astype(np.float32)) + + # Append terminal sigma=0 + sigmas = np.append(sigmas, 0.0) + self.sigmas = mx.array(sigmas.astype(np.float32)) + self._step_index = 0 + + def step( + self, + model_output: mx.array, + timestep, + sample: mx.array, + ) -> mx.array: + """Euler step for flow matching. + + In flow matching, model predicts velocity v, and: + x_{t-1} = sample + (sigma_{t-1} - sigma_t) * v + + Args: + model_output: Predicted velocity [B, C, T, H, W] + timestep: Current timestep (unused, step index is tracked internally) + sample: Current noisy sample [B, C, T, H, W] + + Returns: + Updated sample + """ + # Use Python floats to avoid creating mx.array scalars that + # could trigger type promotion (per fast-mlx guide) + dt = float(self.sigmas[self._step_index + 1].item()) - float(self.sigmas[self._step_index].item()) + x_next = sample + dt * model_output + + self._step_index += 1 + return x_next + + def reset(self): + """Reset step counter for new generation.""" + self._step_index = 0 diff --git a/mlx_video/models/wan/text_encoder.py b/mlx_video/models/wan/text_encoder.py new file mode 100644 index 0000000..8eaac36 --- /dev/null +++ b/mlx_video/models/wan/text_encoder.py @@ -0,0 +1,234 @@ +"""T5 Text Encoder (UMT5-XXL) for Wan2.2 text conditioning.""" + +import math + +import mlx.core as mx +import mlx.nn as nn + + +class T5LayerNorm(nn.Module): + """RMS-based layer normalization (T5 style).""" + + def __init__(self, dim: int, eps: float = 1e-6): + super().__init__() + self.eps = eps + self.weight = mx.ones((dim,)) + + def __call__(self, x: mx.array) -> mx.array: + return mx.fast.rms_norm(x, self.weight, self.eps) + + +class T5RelativeEmbedding(nn.Module): + """T5-style relative position bias with bucketing.""" + + def __init__( + self, + num_buckets: int, + num_heads: int, + bidirectional: bool = True, + max_dist: int = 128, + ): + super().__init__() + self.num_buckets = num_buckets + self.num_heads = num_heads + self.bidirectional = bidirectional + self.max_dist = max_dist + self.embedding = nn.Embedding(num_buckets, num_heads) + + def _relative_position_bucket(self, rel_pos: mx.array) -> mx.array: + if self.bidirectional: + num_buckets = self.num_buckets // 2 + rel_buckets = (rel_pos > 0).astype(mx.int32) * num_buckets + rel_pos = mx.abs(rel_pos) + else: + num_buckets = self.num_buckets + rel_buckets = mx.zeros_like(rel_pos, dtype=mx.int32) + rel_pos = mx.maximum(-rel_pos, mx.zeros_like(rel_pos)) + + max_exact = num_buckets // 2 + is_small = rel_pos < max_exact + + rel_pos_f = rel_pos.astype(mx.float32) + rel_pos_large = ( + max_exact + + ( + mx.log(rel_pos_f / max_exact) + / math.log(self.max_dist / max_exact) + * (num_buckets - max_exact) + ).astype(mx.int32) + ) + rel_pos_large = mx.minimum( + rel_pos_large, + mx.full(rel_pos_large.shape, num_buckets - 1, dtype=mx.int32), + ) + + rel_buckets = rel_buckets + mx.where(is_small, rel_pos.astype(mx.int32), rel_pos_large) + return rel_buckets + + def __call__(self, lq: int, lk: int) -> mx.array: + positions_k = mx.arange(lk)[None, :] # [1, lk] + positions_q = mx.arange(lq)[:, None] # [lq, 1] + rel_pos = positions_k - positions_q # [lq, lk] + + buckets = self._relative_position_bucket(rel_pos) + embeds = self.embedding(buckets) # [lq, lk, num_heads] + embeds = embeds.transpose(2, 0, 1)[None, :, :, :] # [1, N, lq, lk] + return embeds + + +class T5Attention(nn.Module): + """T5-style multi-head attention (no scaling).""" + + def __init__(self, dim: int, dim_attn: int, num_heads: int, dropout: float = 0.0): + super().__init__() + assert dim_attn % num_heads == 0 + self.dim = dim + self.dim_attn = dim_attn + self.num_heads = num_heads + self.head_dim = dim_attn // num_heads + + self.q = nn.Linear(dim, dim_attn, bias=False) + self.k = nn.Linear(dim, dim_attn, bias=False) + self.v = nn.Linear(dim, dim_attn, bias=False) + self.o = nn.Linear(dim_attn, dim, bias=False) + + def __call__( + self, + x: mx.array, + context: mx.array | None = None, + mask: mx.array | None = None, + pos_bias: mx.array | None = None, + ) -> mx.array: + context = x if context is None else context + b, n, c = x.shape[0], self.num_heads, self.head_dim + + q = self.q(x).reshape(b, -1, n, c) # [B, Lq, N, C] + k = self.k(context).reshape(b, -1, n, c) # [B, Lk, N, C] + v = self.v(context).reshape(b, -1, n, c) + + # T5 does not use scaling + # attn = einsum('binc,bjnc->bnij', q, k) + q = q.transpose(0, 2, 1, 3) # [B, N, Lq, C] + k = k.transpose(0, 2, 1, 3) + v = v.transpose(0, 2, 1, 3) + + # Combine position bias and attention mask for SDPA + attn_mask = None + if pos_bias is not None: + attn_mask = pos_bias.astype(q.dtype) + if mask is not None: + if mask.ndim == 2: + mask = mask[:, None, None, :] # [B, 1, 1, Lk] + elif mask.ndim == 3: + mask = mask[:, None, :, :] # [B, 1, Lq, Lk] + additive_mask = mx.where(mask == 0, -1e9, 0.0).astype(q.dtype) + attn_mask = (attn_mask + additive_mask) if attn_mask is not None else additive_mask + + # T5 uses no scaling (scale=1.0) + out = mx.fast.scaled_dot_product_attention( + q, k, v, scale=1.0, mask=attn_mask + ) + out = out.transpose(0, 2, 1, 3).reshape(b, -1, n * c) + return self.o(out) + + +class T5FeedForward(nn.Module): + """Gated feed-forward: gate(x) * fc1(x) -> fc2.""" + + def __init__(self, dim: int, dim_ffn: int): + super().__init__() + self.dim = dim + self.dim_ffn = dim_ffn + self.gate_proj = nn.Linear(dim, dim_ffn, bias=False) + self.gate_act = nn.GELU(approx="precise") + self.fc1 = nn.Linear(dim, dim_ffn, bias=False) + self.fc2 = nn.Linear(dim_ffn, dim, bias=False) + + def __call__(self, x: mx.array) -> mx.array: + return self.fc2(self.fc1(x) * self.gate_act(self.gate_proj(x))) + + +class T5SelfAttentionBlock(nn.Module): + """T5 encoder block: self-attention + FFN.""" + + def __init__( + self, + dim: int, + dim_attn: int, + dim_ffn: int, + num_heads: int, + num_buckets: int, + shared_pos: bool = True, + ): + super().__init__() + self.shared_pos = shared_pos + self.norm1 = T5LayerNorm(dim) + self.attn = T5Attention(dim, dim_attn, num_heads) + self.norm2 = T5LayerNorm(dim) + self.ffn = T5FeedForward(dim, dim_ffn) + self.pos_embedding = ( + None + if shared_pos + else T5RelativeEmbedding(num_buckets, num_heads, bidirectional=True) + ) + + def __call__( + self, + x: mx.array, + mask: mx.array | None = None, + pos_bias: mx.array | None = None, + ) -> mx.array: + e = pos_bias if self.shared_pos else self.pos_embedding(x.shape[1], x.shape[1]) + x = x + self.attn(self.norm1(x), mask=mask, pos_bias=e) + x = x + self.ffn(self.norm2(x)) + return x + + +class T5Encoder(nn.Module): + """T5 Encoder (UMT5-XXL configuration).""" + + def __init__( + self, + vocab_size: int = 256384, + dim: int = 4096, + dim_attn: int = 4096, + dim_ffn: int = 10240, + num_heads: int = 64, + num_layers: int = 24, + num_buckets: int = 32, + shared_pos: bool = False, + ): + super().__init__() + self.dim = dim + + self.token_embedding = nn.Embedding(vocab_size, dim) + self.pos_embedding = ( + T5RelativeEmbedding(num_buckets, num_heads, bidirectional=True) + if shared_pos + else None + ) + self.blocks = [ + T5SelfAttentionBlock( + dim, dim_attn, dim_ffn, num_heads, num_buckets, shared_pos + ) + for _ in range(num_layers) + ] + self.norm = T5LayerNorm(dim) + + def __call__(self, ids: mx.array, mask: mx.array | None = None) -> mx.array: + """ + Args: + ids: Token IDs [B, L] + mask: Attention mask [B, L] + + Returns: + Hidden states [B, L, dim] + """ + x = self.token_embedding(ids) + + e = self.pos_embedding(x.shape[1], x.shape[1]) if self.pos_embedding else None + for block in self.blocks: + x = block(x, mask=mask, pos_bias=e) + + x = self.norm(x) + return x diff --git a/mlx_video/models/wan/transformer.py b/mlx_video/models/wan/transformer.py new file mode 100644 index 0000000..9625716 --- /dev/null +++ b/mlx_video/models/wan/transformer.py @@ -0,0 +1,89 @@ +import mlx.core as mx +import mlx.nn as nn + +from .attention import WanCrossAttention, WanLayerNorm, WanSelfAttention + + +class WanAttentionBlock(nn.Module): + """Wan transformer block with learned modulation, self-attn, cross-attn, and FFN.""" + + def __init__( + self, + dim: int, + ffn_dim: int, + num_heads: int, + window_size: tuple = (-1, -1), + qk_norm: bool = True, + cross_attn_norm: bool = False, + eps: float = 1e-6, + ): + super().__init__() + + # Self-attention + self.norm1 = WanLayerNorm(dim, eps) + self.self_attn = WanSelfAttention(dim, num_heads, window_size, qk_norm, eps) + + # Cross-attention (with optional norm on context) + self.norm3 = ( + WanLayerNorm(dim, eps, elementwise_affine=True) + if cross_attn_norm + else None + ) + self.cross_attn = WanCrossAttention(dim, num_heads, qk_norm, eps) + + # Feed-forward + self.norm2 = WanLayerNorm(dim, eps) + self.ffn = WanFFN(dim, ffn_dim) + + # Learned modulation: 6 vectors for scale/shift/gate + self.modulation = mx.random.normal((1, 6, dim)) * (dim**-0.5) + + def __call__( + self, + x: mx.array, + e: mx.array, + seq_lens: list, + grid_sizes: list, + freqs: mx.array, + context: mx.array, + context_lens: list | None = None, + cross_kv_cache: tuple | None = None, + ) -> mx.array: + # Compute modulation: e is [B, 1, 6, dim] (broadcasts over tokens) + mod = (self.modulation + e) # [1, 6, dim] + [B, 1, 6, dim] -> [B, 1, 6, dim] + # Split into 6 modulation vectors (each [B, 1, dim], broadcast over L) + e0 = mod[:, :, 0, :] # shift for self-attn + e1 = mod[:, :, 1, :] # scale for self-attn + e2 = mod[:, :, 2, :] # gate for self-attn + e3 = mod[:, :, 3, :] # shift for ffn + e4 = mod[:, :, 4, :] # scale for ffn + e5 = mod[:, :, 5, :] # gate for ffn + + # Self-attention with modulation + x_mod = self.norm1(x) * (1 + e1) + e0 + y = self.self_attn(x_mod, seq_lens, grid_sizes, freqs) + x = x + y * e2 + + # Cross-attention (no modulation, just norm) + x_cross = self.norm3(x) if self.norm3 is not None else x + x = x + self.cross_attn(x_cross, context, context_lens, kv_cache=cross_kv_cache) + + # FFN with modulation + x_mod = self.norm2(x) * (1 + e4) + e3 + y = self.ffn(x_mod) + x = x + y * e5 + + return x + + +class WanFFN(nn.Module): + """Gated feed-forward network with GELU(tanh) activation.""" + + def __init__(self, dim: int, ffn_dim: int): + super().__init__() + self.fc1 = nn.Linear(dim, ffn_dim) + self.act = nn.GELU(approx="precise") + self.fc2 = nn.Linear(ffn_dim, dim) + + def __call__(self, x: mx.array) -> mx.array: + return self.fc2(self.act(self.fc1(x))) diff --git a/mlx_video/models/wan/vae.py b/mlx_video/models/wan/vae.py new file mode 100644 index 0000000..aeac5a1 --- /dev/null +++ b/mlx_video/models/wan/vae.py @@ -0,0 +1,315 @@ +"""3D VAE Decoder for Wan2.1/2.2 (compression 4×8×8). + +Module structure mirrors original PyTorch checkpoint key hierarchy +so weights load directly without key sanitization. +""" + +import mlx.core as mx +import mlx.nn as nn +import numpy as np + + +CACHE_T = 2 + +# Per-channel normalization statistics for z_dim=16 +VAE_MEAN = [ + -0.7571, -0.7089, -0.9113, 0.1075, -0.1745, 0.9653, -0.1517, 1.5508, + 0.4134, -0.0715, 0.5517, -0.3632, -0.1922, -0.9497, 0.2503, -0.2921, +] +VAE_STD = [ + 2.8184, 1.4541, 2.3275, 2.6558, 1.2196, 1.7708, 2.6052, 2.0743, + 3.2687, 2.1526, 2.8652, 1.5579, 1.6382, 1.1253, 2.8251, 1.9160, +] + + +class CausalConv3d(nn.Module): + """3D convolution with causal temporal padding.""" + + def __init__( + self, + in_channels: int, + out_channels: int, + kernel_size: int | tuple, + stride: int | tuple = 1, + padding: int | tuple = 0, + ): + super().__init__() + if isinstance(kernel_size, int): + kernel_size = (kernel_size, kernel_size, kernel_size) + if isinstance(stride, int): + stride = (stride, stride, stride) + if isinstance(padding, int): + padding = (padding, padding, padding) + + self.kernel_size = kernel_size + self.stride = stride + self._causal_pad_t = 2 * padding[0] + self._pad_h = padding[1] + self._pad_w = padding[2] + + # MLX Conv3d: weight shape [O, D, H, W, I] + self.weight = mx.zeros((out_channels, kernel_size[0], kernel_size[1], kernel_size[2], in_channels)) + self.bias = mx.zeros((out_channels,)) + + def __call__(self, x: mx.array) -> mx.array: + """x: [B, C, T, H, W] (channel-first)""" + b, c, t, h, w = x.shape + + if self._causal_pad_t > 0: + pad_t = mx.zeros((b, c, self._causal_pad_t, h, w), dtype=x.dtype) + x = mx.concatenate([pad_t, x], axis=2) + + if self._pad_h > 0 or self._pad_w > 0: + x = mx.pad(x, [(0, 0), (0, 0), (0, 0), + (self._pad_h, self._pad_h), (self._pad_w, self._pad_w)]) + + x = x.transpose(0, 2, 3, 4, 1) # [B, T, H, W, C] + out = self._conv3d(x) + return out.transpose(0, 4, 1, 2, 3) # [B, O, T', H', W'] + + def _conv3d(self, x: mx.array) -> mx.array: + """3D conv via sliding window + 2D conv per time step. + x: [B, T, H, W, C_in] -> [B, T_out, H_out, W_out, C_out] + """ + b, t, h, w, c_in = x.shape + kt, kh, kw = self.kernel_size + st, sh, sw = self.stride + t_out = (t - kt) // st + 1 + + # Pre-reshape weight: [O, D, H, W, I] -> [O, H, W, D*I] + w_2d = self.weight.transpose(0, 2, 3, 1, 4).reshape( + self.weight.shape[0], kh, kw, kt * c_in + ) + outputs = [] + for t_i in range(t_out): + t_start = t_i * st + window = x[:, t_start : t_start + kt] + window = window.transpose(0, 2, 3, 1, 4).reshape(b, h, w, kt * c_in) + out_2d = mx.conv2d(window, w_2d, stride=(sh, sw)) + self.bias + outputs.append(out_2d) + return mx.stack(outputs, axis=1) + + +class RMS_norm(nn.Module): + """Channel-first L2 normalization matching original Wan VAE. + + Uses F.normalize (L2 norm) with learned scale, equivalent to RMS norm. + images=True: gamma shape (dim, 1, 1) for 4D (per-frame) input. + images=False: gamma shape (dim, 1, 1, 1) for 5D video input. + """ + + def __init__(self, dim: int, channel_first: bool = True, images: bool = True): + super().__init__() + self.channel_first = channel_first + self.scale = dim**0.5 + if channel_first: + broadcastable = (1, 1) if images else (1, 1, 1) + self.gamma = mx.ones((dim, *broadcastable)) + else: + self.gamma = mx.ones((dim,)) + + def __call__(self, x: mx.array) -> mx.array: + norm_dim = 1 if self.channel_first else -1 + # L2 normalize along channel dim (matches F.normalize) + norm = mx.sqrt(mx.clip(mx.sum(x * x, axis=norm_dim, keepdims=True), a_min=1e-12, a_max=None)) + return (x / norm) * self.scale * self.gamma + + +class ResidualBlock(nn.Module): + """Residual block with causal 3D convolutions. + + Uses `residual` list with None gaps to match original PyTorch + nn.Sequential indices: [0]=norm, [1]=SiLU, [2]=conv, [3]=norm, + [4]=SiLU, [5]=Dropout, [6]=conv. Only indices 0,2,3,6 have params. + """ + + def __init__(self, in_dim: int, out_dim: int): + super().__init__() + self.residual = [ + RMS_norm(in_dim, images=False), # [0] + None, # [1] SiLU + CausalConv3d(in_dim, out_dim, 3, padding=1), # [2] + RMS_norm(out_dim, images=False), # [3] + None, # [4] SiLU + None, # [5] Dropout + CausalConv3d(out_dim, out_dim, 3, padding=1), # [6] + ] + self.shortcut = CausalConv3d(in_dim, out_dim, 1) if in_dim != out_dim else None + + def __call__(self, x: mx.array) -> mx.array: + h = x if self.shortcut is None else self.shortcut(x) + x = nn.silu(self.residual[0](x)) + x = self.residual[2](x) + x = nn.silu(self.residual[3](x)) + x = self.residual[6](x) + return x + h + + +class AttentionBlock(nn.Module): + """Single-head spatial self-attention.""" + + def __init__(self, dim: int): + super().__init__() + self.norm = RMS_norm(dim, images=True) + self.to_qkv = nn.Conv2d(dim, dim * 3, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def __call__(self, x: mx.array) -> mx.array: + """x: [B, C, T, H, W]""" + identity = x + b, c, t, h, w = x.shape + + # [B,C,T,H,W] -> [B,T,C,H,W] -> [BT,C,H,W] -> norm -> [BT,H,W,C] + x = x.transpose(0, 2, 1, 3, 4).reshape(b * t, c, h, w) + x = self.norm(x) + x = x.transpose(0, 2, 3, 1) # [BT, H, W, C] + + qkv = self.to_qkv(x) # [BT, H, W, 3C] + qkv = qkv.reshape(b * t, h * w, 3, c).transpose(2, 0, 1, 3) + q, k, v = qkv[0], qkv[1], qkv[2] + + q = q[:, None, :, :] # [BT, 1, HW, C] + k = k[:, None, :, :] + v = v[:, None, :, :] + out = mx.fast.scaled_dot_product_attention(q, k, v, scale=c**-0.5) + out = out.squeeze(1).reshape(b * t, h, w, c) # [BT, H, W, C] + + out = self.proj(out) # [BT, H, W, C] + out = out.reshape(b, t, h, w, c).transpose(0, 4, 1, 2, 3) # [B, C, T, H, W] + return out + identity + + +class Resample(nn.Module): + """Upsample block matching original Wan VAE structure. + + Uses `resample` list with [None, Conv2d] to match original + nn.Sequential(Upsample, Conv2d) where index 1 has the conv params. + """ + + def __init__(self, dim: int, mode: str): + super().__init__() + assert mode in ("upsample2d", "upsample3d") + self.mode = mode + self.dim = dim + # resample.0 = Upsample (no params), resample.1 = Conv2d + self.resample = [None, nn.Conv2d(dim, dim // 2, 3, padding=1)] + if mode == "upsample3d": + self.time_conv = CausalConv3d(dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) + + def __call__(self, x: mx.array) -> mx.array: + """x: [B, C, T, H, W]""" + b, c, t, h, w = x.shape + + if self.mode == "upsample3d": + # Temporal upsample via learned conv + x_t = self.time_conv(x) # [B, 2C, T, H, W] + x_t = x_t.reshape(b, 2, c, t, h, w) + # Interleave along time: [B, C, 2T, H, W] + x = mx.stack([x_t[:, 0], x_t[:, 1]], axis=3).reshape(b, c, t * 2, h, w) + t = t * 2 + + # Per-frame spatial upsample: nearest 2x + Conv2d + x = x.transpose(0, 2, 3, 4, 1).reshape(b * t, h, w, c) # [BT, H, W, C] + x = mx.repeat(x, 2, axis=1) + x = mx.repeat(x, 2, axis=2) + x = self.resample[1](x) # Conv2d [BT, 2H, 2W, C//2] + c_out = x.shape[-1] + return x.reshape(b, t, h * 2, w * 2, c_out).transpose(0, 4, 1, 2, 3) + + +class Decoder3d(nn.Module): + """3D VAE Decoder matching Wan2.1 architecture. + + Uses flat `middle` and `upsamples` lists to match original + PyTorch nn.Sequential weight key hierarchy. + """ + + def __init__( + self, + dim: int = 96, + z_dim: int = 16, + dim_mult: list = None, + num_res_blocks: int = 2, + temporal_upsample: list = None, + ): + super().__init__() + if dim_mult is None: + dim_mult = [1, 2, 4, 4] + if temporal_upsample is None: + temporal_upsample = [True, True, False] + + dims = [dim * u for u in [dim_mult[-1]] + dim_mult[::-1]] + + self.conv1 = CausalConv3d(z_dim, dims[0], 3, padding=1) + + # Middle: [ResBlock, AttentionBlock, ResBlock] + self.middle = [ + ResidualBlock(dims[0], dims[0]), + AttentionBlock(dims[0]), + ResidualBlock(dims[0], dims[0]), + ] + + # Flat upsample list matching original nn.Sequential indexing + upsamples = [] + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + if i in (1, 2, 3): + in_dim = in_dim // 2 + for _ in range(num_res_blocks + 1): + upsamples.append(ResidualBlock(in_dim, out_dim)) + in_dim = out_dim + if i != len(dim_mult) - 1: + mode = "upsample3d" if temporal_upsample[i] else "upsample2d" + upsamples.append(Resample(out_dim, mode=mode)) + self.upsamples = upsamples + + # Output head: [RMS_norm, SiLU (no params), CausalConv3d] + self.head = [ + RMS_norm(dims[-1], images=False), # [0] + None, # [1] SiLU + CausalConv3d(dims[-1], 3, 3, padding=1), # [2] + ] + + def __call__(self, x: mx.array) -> mx.array: + """x: [B, z_dim, T, H, W] -> [B, 3, T_out, H_out, W_out]""" + x = self.conv1(x) + + for layer in self.middle: + x = layer(x) + + for layer in self.upsamples: + x = layer(x) + + x = nn.silu(self.head[0](x)) + x = self.head[2](x) + return x + + +class WanVAE(nn.Module): + """Wan2.1 VAE wrapper with per-channel normalization.""" + + def __init__(self, z_dim: int = 16): + super().__init__() + self.z_dim = z_dim + self.mean = mx.array(VAE_MEAN) + self.std = mx.array(VAE_STD) + self.inv_std = 1.0 / self.std + + self.conv2 = CausalConv3d(z_dim, z_dim, 1) + self.decoder = Decoder3d(dim=96, z_dim=z_dim) + + def decode(self, z: mx.array) -> mx.array: + """Decode latent to video. + + Args: + z: Normalized latent [B, z_dim, T, H, W] + + Returns: + Video [B, 3, T_out, H_out, W_out] clamped to [-1, 1] + """ + mean = self.mean.reshape(1, -1, 1, 1, 1) + inv_std = self.inv_std.reshape(1, -1, 1, 1, 1) + z = z / inv_std + mean + + x = self.conv2(z) + out = self.decoder(x) + return mx.clip(out, -1, 1) diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py new file mode 100644 index 0000000..c48b7cb --- /dev/null +++ b/mlx_video/models/wan/vae22.py @@ -0,0 +1,584 @@ +"""Wan2.2 VAE Decoder (compression 4×16×16, z_dim=48). + +Architecture differs from Wan2.1 VAE: uses RMS_norm, DupUp3D shortcuts, +spatial patchify (2×2), and different temporal upsampling pattern. + +Weight keys mirror the PyTorch checkpoint hierarchy so only tensor format +conversion (channels-first → channels-last) is needed. +""" + +import math + +import mlx.core as mx +import mlx.nn as nn +import numpy as np + +CACHE_T = 2 + +# Per-channel normalization for z_dim=48 latent space +VAE22_MEAN = mx.array([ + -0.2289, -0.0052, -0.1323, -0.2339, -0.2799, 0.0174, 0.1838, 0.1557, + -0.1382, 0.0542, 0.2813, 0.0891, 0.1570, -0.0098, 0.0375, -0.1825, + -0.2246, -0.1207, -0.0698, 0.5109, 0.2665, -0.2108, -0.2158, 0.2502, + -0.2055, -0.0322, 0.1109, 0.1567, -0.0729, 0.0899, -0.2799, -0.1230, + -0.0313, -0.1649, 0.0117, 0.0723, -0.2839, -0.2083, -0.0520, 0.3748, + 0.0152, 0.1957, 0.1433, -0.2944, 0.3573, -0.0548, -0.1681, -0.0667, +]) + +VAE22_STD = mx.array([ + 0.4765, 1.0364, 0.4514, 1.1677, 0.5313, 0.4990, 0.4818, 0.5013, + 0.8158, 1.0344, 0.5894, 1.0901, 0.6885, 0.6165, 0.8454, 0.4978, + 0.5759, 0.3523, 0.7135, 0.6804, 0.5833, 1.4146, 0.8986, 0.5659, + 0.7069, 0.5338, 0.4889, 0.4917, 0.4069, 0.4999, 0.6866, 0.4093, + 0.5709, 0.6065, 0.6415, 0.4944, 0.5726, 1.2042, 0.5458, 1.6887, + 0.3971, 1.0600, 0.3943, 0.5537, 0.5444, 0.4089, 0.7468, 0.7744, +]) + + +class CausalConv3d(nn.Module): + """3D causal convolution. Input/output: [B, T, H, W, C] (channels-last). + + Decomposes the 3D conv into per-frame 2D convolutions to avoid + excessive memory usage from MLX's conv3d implementation. + """ + + def __init__(self, in_channels, out_channels, kernel_size, stride=1, padding=0): + super().__init__() + if isinstance(kernel_size, int): + kernel_size = (kernel_size, kernel_size, kernel_size) + if isinstance(stride, int): + stride = (stride, stride, stride) + if isinstance(padding, int): + padding = (padding, padding, padding) + + self.kernel_size = kernel_size + self.stride = stride + self._causal_pad_t = 2 * padding[0] + self._pad_h = padding[1] + self._pad_w = padding[2] + + # Weight: [O, D, H, W, I] for MLX + self.weight = mx.zeros(( + out_channels, kernel_size[0], kernel_size[1], kernel_size[2], in_channels + )) + self.bias = mx.zeros((out_channels,)) + + def __call__(self, x): + # x: [B, T, H, W, C] + B, T, H, W, C = x.shape + kd, kh, kw = self.kernel_size + + # For 1x1x1 kernel or kernel_d==1, use direct conv + if kd == 1 and kh == 1 and kw == 1: + # Simple pointwise: reshape to [B*T, 1, 1, C] → conv2d + x_flat = x.reshape(B * T, H, W, C) + w2d = self.weight[:, 0, :, :, :] # [O, kH, kW, I] + y = mx.conv_general(x_flat, w2d) + self.bias + return y.reshape(B, T, y.shape[1], y.shape[2], -1) + + # Causal temporal padding (left only) + if self._causal_pad_t > 0: + pad_t = mx.zeros((B, self._causal_pad_t, H, W, C)) + x = mx.concatenate([pad_t, x], axis=1) + + # Spatial padding + if self._pad_h > 0 or self._pad_w > 0: + x = mx.pad(x, [(0, 0), (0, 0), (self._pad_h, self._pad_h), + (self._pad_w, self._pad_w), (0, 0)]) + + T_padded = x.shape[1] + H_padded, W_padded = x.shape[2], x.shape[3] + T_out = (T_padded - kd) // self.stride[0] + 1 + + # Decompose 3D conv into sum of 2D convolutions over temporal kernel + # weight shape: [O, kd, kh, kw, I] → split into kd 2D kernels [O, kh, kw, I] + outputs = [] + for t in range(T_out): + t_start = t * self.stride[0] + # Sum 2D convs for each temporal kernel position + accum = None + for d in range(kd): + frame = x[:, t_start + d] # [B, H_padded, W_padded, C] + w2d = self.weight[:, d, :, :, :] # [O, kh, kw, I] + conv_out = mx.conv_general(frame, w2d, + stride=(self.stride[1], self.stride[2])) + accum = conv_out if accum is None else accum + conv_out + outputs.append(accum + self.bias) + + return mx.stack(outputs, axis=1) # [B, T_out, H_out, W_out, O] + + +class RMS_norm(nn.Module): + """RMS normalization along channel dimension.""" + + def __init__(self, dim): + super().__init__() + self.scale = dim ** 0.5 + # Weight stored as (dim,) — PyTorch stores (dim, 1, 1, 1) but we squeeze + self.gamma = mx.ones((dim,)) + + def __call__(self, x): + # x: [..., C] (channels-last) + # PyTorch uses F.normalize (L2 norm), not RMS: x / max(||x||_2, eps) + l2_sq = mx.sum(x * x, axis=-1, keepdims=True) + return x * mx.rsqrt(mx.maximum(l2_sq, mx.array(1e-24))) * self.scale * self.gamma + + +class ResidualBlock(nn.Module): + """Residual block: RMS_norm → SiLU → CausalConv3d × 2 + shortcut.""" + + def __init__(self, in_dim, out_dim): + super().__init__() + # Sequential residual path: [norm, silu, conv3d, norm, silu, dropout, conv3d] + # We store as named layers matching PyTorch's indices + self.residual = ResidualBlockLayers(in_dim, out_dim) + self.shortcut = ( + CausalConv3d(in_dim, out_dim, 1) + if in_dim != out_dim + else None + ) + + def __call__(self, x): + h = self.shortcut(x) if self.shortcut is not None else x + return self.residual(x) + h + + +class ResidualBlockLayers(nn.Module): + """The sequential layers inside a ResidualBlock. + + PyTorch stores these as nn.Sequential with indices 0-6: + [0] RMS_norm, [1] SiLU, [2] CausalConv3d, [3] RMS_norm, [4] SiLU, [5] Dropout, [6] CausalConv3d + We use matching attribute names for weight compatibility. + """ + + def __init__(self, in_dim, out_dim): + super().__init__() + # Indices match PyTorch nn.Sequential indices for weight key compat + # Index 0: RMS_norm + self.layer_0 = RMS_norm(in_dim) + # Index 2: CausalConv3d + self.layer_2 = CausalConv3d(in_dim, out_dim, 3, padding=1) + # Index 3: RMS_norm + self.layer_3 = RMS_norm(out_dim) + # Index 6: CausalConv3d + self.layer_6 = CausalConv3d(out_dim, out_dim, 3, padding=1) + + def __call__(self, x): + x = self.layer_0(x) + x = nn.silu(x) + x = self.layer_2(x) + mx.eval(x) # Eval between convolutions to limit graph size + x = self.layer_3(x) + x = nn.silu(x) + x = self.layer_6(x) + return x + + +class AttentionBlock(nn.Module): + """2D self-attention applied per frame. Input: [B, T, H, W, C].""" + + def __init__(self, dim): + super().__init__() + self.dim = dim + self.norm = RMS_norm(dim) + # Conv2d as linear per spatial position — weight [O, H, W, I] for MLX + # to_qkv: dim -> 3*dim, proj: dim -> dim (1x1 conv2d) + self.to_qkv_weight = mx.zeros((3 * dim, 1, 1, dim)) + self.to_qkv_bias = mx.zeros((3 * dim,)) + self.proj_weight = mx.zeros((dim, 1, 1, dim)) + self.proj_bias = mx.zeros((dim,)) + + def __call__(self, x): + # x: [B, T, H, W, C] + identity = x + B, T, H, W, C = x.shape + + # Apply per frame: merge B and T + x = x.reshape(B * T, H, W, C) + x = self.norm(x) + + # QKV via 1x1 conv2d (equivalent to linear on last dim) + qkv = mx.conv_general(x, self.to_qkv_weight) + self.to_qkv_bias # [BT, H, W, 3C] + qkv = qkv.reshape(B * T, H * W, 3 * C) + q, k, v = mx.split(qkv, 3, axis=-1) # each [BT, HW, C] + + # Single-head attention + q = q[:, None, :, :] # [BT, 1, HW, C] + k = k[:, None, :, :] + v = v[:, None, :, :] + + scale = C ** -0.5 + out = mx.fast.scaled_dot_product_attention(q, k, v, scale=scale) # [BT, 1, HW, C] + out = out.squeeze(1).reshape(B * T, H, W, C) + + # Project output + out = mx.conv_general(out, self.proj_weight) + self.proj_bias # [BT, H, W, C] + out = out.reshape(B, T, H, W, C) + return out + identity + + +class DupUp3D(nn.Module): + """Upsample by duplicating channels and reshaping. No learnable parameters.""" + + def __init__(self, in_channels, out_channels, factor_t, factor_s=1): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.factor_t = factor_t + self.factor_s = factor_s + self.factor = factor_t * factor_s * factor_s + self.repeats = out_channels * self.factor // in_channels + + def __call__(self, x, first_chunk=False): + # x: [B, T, H, W, C] + B, T, H, W, C = x.shape + + # Repeat channels + x = mx.repeat(x, self.repeats, axis=-1) # [B, T, H, W, C*repeats] + + # Reshape to [B, T, H, W, out_C, factor_t, factor_s, factor_s] + x = x.reshape(B, T, H, W, self.out_channels, self.factor_t, self.factor_s, self.factor_s) + + # Permute to interleave: [B, T, factor_t, H, factor_s, W, factor_s, out_C] + x = x.transpose(0, 1, 5, 2, 6, 3, 7, 4) + + # Reshape to final: [B, T*factor_t, H*factor_s, W*factor_s, out_C] + x = x.reshape(B, T * self.factor_t, H * self.factor_s, W * self.factor_s, self.out_channels) + + if first_chunk: + x = x[:, self.factor_t - 1:, :, :, :] + return x + + +class Resample(nn.Module): + """Spatial up/downsampling with optional temporal up/downsampling.""" + + def __init__(self, dim, mode): + super().__init__() + self.dim = dim + self.mode = mode + + if mode == "upsample2d": + # resample.0 = Upsample (no params), resample.1 = Conv2d + self.resample_weight = mx.zeros((dim, 3, 3, dim)) # Conv2d [O, H, W, I] + self.resample_bias = mx.zeros((dim,)) + elif mode == "upsample3d": + self.resample_weight = mx.zeros((dim, 3, 3, dim)) + self.resample_bias = mx.zeros((dim,)) + # time_conv: CausalConv3d(dim, dim*2, (3,1,1), padding=(1,0,0)) + self.time_conv = CausalConv3d(dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) + else: + raise ValueError(f"Unsupported mode: {mode}") + + def _upsample2x(self, x): + """Nearest-neighbor 2x spatial upsample. x: [N, H, W, C].""" + N, H, W, C = x.shape + # Repeat along H and W axes separately + x = mx.repeat(x, repeats=2, axis=1) # [N, 2H, W, C] + x = mx.repeat(x, repeats=2, axis=2) # [N, 2H, 2W, C] + return x + + def _conv2d(self, x): + """Apply the Conv2d with padding=1. x: [N, H, W, C].""" + x = mx.pad(x, [(0, 0), (1, 1), (1, 1), (0, 0)]) + return mx.conv_general(x, self.resample_weight) + self.resample_bias + + def __call__(self, x, first_chunk=False): + # x: [B, T, H, W, C] + B, T, H, W, C = x.shape + + if self.mode == "upsample3d": + # Temporal upsample via time_conv + tc_out = self.time_conv(x) # [B, T, H, W, 2C] + # Split into two interleaved temporal streams + tc_out = tc_out.reshape(B, T, H, W, 2, C) + # Interleave: [B, T, 2, H, W, C] → [B, T*2, H, W, C] + stream0 = tc_out[:, :, :, :, 0, :] # [B, T, H, W, C] + stream1 = tc_out[:, :, :, :, 1, :] # [B, T, H, W, C] + x = mx.stack([stream0, stream1], axis=2) # [B, T, 2, H, W, C] + x = x.reshape(B, T * 2, H, W, C) + + if first_chunk: + # PyTorch skips time_conv for first chunk entirely. In all-at-once + # mode, we trim the first frame to match (the first interleaved + # frame is from zero-padded causal context and shouldn't be kept). + x = x[:, 1:, :, :, :] + + mx.eval(x) + T = x.shape[1] + + # Spatial upsample in temporal chunks to limit peak memory + chunk_size = 8 + chunks = [] + for t_start in range(0, T, chunk_size): + t_end = min(t_start + chunk_size, T) + x_chunk = x[:, t_start:t_end].reshape(-1, H, W, C) + x_chunk = self._upsample2x(x_chunk) + x_chunk = self._conv2d(x_chunk) + mx.eval(x_chunk) + chunks.append(x_chunk) + + x = mx.concatenate(chunks, axis=0) + H2, W2 = x.shape[1], x.shape[2] + x = x.reshape(B, T, H2, W2, C) + return x + + +class Up_ResidualBlock(nn.Module): + """Upsampling residual block with optional DupUp3D shortcut.""" + + def __init__(self, in_dim, out_dim, num_res_blocks, temperal_upsample=False, up_flag=False): + super().__init__() + self.up_flag = up_flag + + # DupUp3D shortcut (no learnable params) + if up_flag: + self.avg_shortcut = DupUp3D( + in_dim, out_dim, + factor_t=2 if temperal_upsample else 1, + factor_s=2 if up_flag else 1, + ) + else: + self.avg_shortcut = None + + # Main path: ResidualBlocks + optional Resample + blocks = [] + dim_in = in_dim + for _ in range(num_res_blocks): + blocks.append(ResidualBlock(dim_in, out_dim)) + dim_in = out_dim + + if up_flag: + mode = "upsample3d" if temperal_upsample else "upsample2d" + blocks.append(Resample(out_dim, mode=mode)) + + self.upsamples = blocks + + def __call__(self, x, first_chunk=False): + x_main = x + for module in self.upsamples: + if isinstance(module, Resample): + x_main = module(x_main, first_chunk) + else: + x_main = module(x_main) + mx.eval(x_main) # Limit graph size per sub-block + + if self.avg_shortcut is not None: + x_shortcut = self.avg_shortcut(x, first_chunk) + mx.eval(x_shortcut) + return x_main + x_shortcut + return x_main + + +class Decoder3d(nn.Module): + """Wan2.2 3D VAE Decoder.""" + + def __init__( + self, + dim=256, + z_dim=48, + dim_mult=(1, 2, 4, 4), + num_res_blocks=2, + temperal_upsample=(True, True, False), + ): + super().__init__() + # Compute layer dimensions + dims = [dim * dim_mult[-1]] + [dim * m for m in reversed(dim_mult)] + + # Initial conv + self.conv1 = CausalConv3d(z_dim, dims[0], 3, padding=1) + + # Middle blocks + self.middle = [ + ResidualBlock(dims[0], dims[0]), + AttentionBlock(dims[0]), + ResidualBlock(dims[0], dims[0]), + ] + + # Upsample blocks + self.upsamples = [] + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + t_up = temperal_upsample[i] if i < len(temperal_upsample) else False + self.upsamples.append(Up_ResidualBlock( + in_dim=in_dim, + out_dim=out_dim, + num_res_blocks=num_res_blocks + 1, + temperal_upsample=t_up, + up_flag=(i != len(dim_mult) - 1), + )) + + # Output head: [RMS_norm, SiLU, CausalConv3d] + self.head = Head22(dims[-1]) + + def __call__(self, x, first_chunk=False): + # x: [B, T, H, W, C=z_dim] + x = self.conv1(x) + + for layer in self.middle: + x = layer(x) + mx.eval(x) # Evaluate to limit graph size + + for i, layer in enumerate(self.upsamples): + x = layer(x, first_chunk) + mx.eval(x) # Evaluate after each upsample block + + x = self.head(x) + return x + + +class Head22(nn.Module): + """Decoder output head: RMS_norm → SiLU → CausalConv3d(dim, 12, 3). + + PyTorch key mapping: head.0 = RMS_norm, head.2 = CausalConv3d + (index 1 = SiLU has no params) + """ + + def __init__(self, dim, out_channels=12): + super().__init__() + # Index 0: RMS_norm + self.layer_0 = RMS_norm(dim) + # Index 2: CausalConv3d + self.layer_2 = CausalConv3d(dim, out_channels, 3, padding=1) + + def __call__(self, x): + x = self.layer_0(x) + x = nn.silu(x) + x = self.layer_2(x) + return x + + +class Wan22VAEDecoder(nn.Module): + """Full Wan2.2 VAE decoder with normalization and unpatchify.""" + + def __init__(self, z_dim=48, dim=160, dec_dim=256): + super().__init__() + self.z_dim = z_dim + # conv2: 1x1x1 conv before decoder + self.conv2 = CausalConv3d(z_dim, z_dim, 1) + self.decoder = Decoder3d( + dim=dec_dim, + z_dim=z_dim, + dim_mult=(1, 2, 4, 4), + num_res_blocks=2, + temperal_upsample=(True, True, False), + ) + + def __call__(self, z): + """Decode latents to video. + + Args: + z: [B, T, H, W, C=48] latent tensor (already denormalized) + + Returns: + video: [B, T', H', W', 3] decoded RGB in [-1, 1] + """ + x = self.conv2(z) + + # All-at-once decode with first_chunk=True to trim extra temporal + # frames from causal padding (matches PyTorch's chunked behavior) + out = self.decoder(x, first_chunk=True) + + # Unpatchify: 12 channels → 3 RGB (spatial 2×2) + out = _unpatchify(out, patch_size=2) + + return mx.clip(out, -1.0, 1.0) + + +def denormalize_latents(z, mean=None, std=None): + """Denormalize latents: z = z / (1/std) + mean.""" + if mean is None: + mean = VAE22_MEAN + if std is None: + std = VAE22_STD + inv_scale = std # scale was 1/std, so divide by scale = multiply by std + return z * inv_scale.reshape(1, 1, 1, 1, -1) + mean.reshape(1, 1, 1, 1, -1) + + +def _unpatchify(x, patch_size=2): + """Convert from packed channels to spatial: [B, T, H, W, C*p*p] → [B, T, H*p, W*p, C//(p*p)] + Actually: [B, T, H, W, 12] → [B, T, H*2, W*2, 3] + PyTorch: b (c r q) f h w -> b c f (h q) (w r) with q=p, r=p + In channels-last: [B, T, H, W, C*r*q] -> [B, T, H*q, W*r, C] + """ + if patch_size == 1: + return x + B, T, H, W, Cpacked = x.shape + C = Cpacked // (patch_size * patch_size) + # Reshape: [B, T, H, W, r, q, C] then rearrange to [B, T, H*q, W*r, C] + # PyTorch patchify: "b c f (h q) (w r) -> b (c r q) f h w" — so c is packed as (c, r, q) + # Unpatchify reverses: [B, T, H, W, (C, r, q)] -> [B, T, H, q, W, r, C] + x = x.reshape(B, T, H, W, C, patch_size, patch_size) + # Rearrange: put q next to H, r next to W + x = x.transpose(0, 1, 2, 6, 3, 5, 4) # [B, T, H, q, W, r, C] + x = x.reshape(B, T, H * patch_size, W * patch_size, C) + return x + + +def sanitize_wan22_vae_weights(weights: dict) -> dict: + """Convert PyTorch Wan2.2 VAE weights to MLX format. + + Only keeps decoder + conv2 weights (encoder/conv1 not needed for generation). + Transposes conv weights from channels-first to channels-last. + Squeezes RMS_norm gamma from (dim, 1, 1, 1) or (dim, 1, 1) to (dim,). + Maps PyTorch nn.Sequential indices to our named layers. + """ + sanitized = {} + + for key, value in weights.items(): + # Skip encoder and conv1 (encoder-only) + if key.startswith("encoder.") or key.startswith("conv1."): + continue + + new_key = key + + # Map nn.Sequential indexed layers to our named attributes + # ResidualBlockLayers: indices 0, 2, 3, 6 → _layer_0, _layer_2, _layer_3, _layer_6 + # Head22: indices 0, 2 → _layer_0, _layer_2 + for idx in ["0", "2", "3", "6"]: + # Match patterns like "residual.0.gamma" → "residual.layer_0.gamma" + # or "head.0.gamma" → "head.layer_0.gamma" + old_pattern = f".residual.{idx}." + new_pattern = f".residual.layer_{idx}." + new_key = new_key.replace(old_pattern, new_pattern) + + # Head layer mapping: head.0.gamma → head.layer_0.gamma, head.2.weight → head.layer_2.weight + for idx in ["0", "2"]: + old_pattern = f".head.{idx}." + new_pattern = f".head.layer_{idx}." + new_key = new_key.replace(old_pattern, new_pattern) + + # Map Resample Conv2d: resample.1.weight → resample_weight, resample.1.bias → resample_bias + if ".resample.1.weight" in new_key: + new_key = new_key.replace(".resample.1.weight", ".resample_weight") + elif ".resample.1.bias" in new_key: + new_key = new_key.replace(".resample.1.bias", ".resample_bias") + + # Map AttentionBlock Conv2d weights + if ".to_qkv.weight" in new_key: + new_key = new_key.replace(".to_qkv.weight", ".to_qkv_weight") + elif ".to_qkv.bias" in new_key: + new_key = new_key.replace(".to_qkv.bias", ".to_qkv_bias") + elif ".proj.weight" in new_key and "time_projection" not in new_key: + new_key = new_key.replace(".proj.weight", ".proj_weight") + elif ".proj.bias" in new_key and "time_projection" not in new_key: + new_key = new_key.replace(".proj.bias", ".proj_bias") + + # Transpose conv weights to channels-last + is_weight = new_key.endswith(".weight") or new_key.endswith("_weight") + if is_weight: + if value.ndim == 5: + # Conv3d: [O, I, D, H, W] → [O, D, H, W, I] + value = np.transpose(np.array(value), (0, 2, 3, 4, 1)) + value = mx.array(value) + elif value.ndim == 4: + # Conv2d: [O, I, H, W] → [O, H, W, I] + value = np.transpose(np.array(value), (0, 2, 3, 1)) + value = mx.array(value) + + # Squeeze RMS_norm gamma: (dim, 1, 1, 1) or (dim, 1, 1) → (dim,) + if "gamma" in new_key: + value = mx.array(np.array(value).squeeze()) + + sanitized[new_key] = value + + return sanitized diff --git a/pyproject.toml b/pyproject.toml index d9bf2f4..843eb5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,9 @@ dependencies = [ "tqdm", "opencv-python>=4.12.0.88", "Pillow>=10.3.0", - "mlx-vlm" + "mlx-vlm", + "imageio>=2.37.2", + "imageio-ffmpeg>=0.6.0", ] license = {text="MIT"} authors = [ @@ -42,6 +44,7 @@ Issues = "https://github.com/Blaizzy/mlx-video/issues" [project.scripts] "mlx_video.generate" = "mlx_video.generate:main" +"mlx_video.generate_wan" = "mlx_video.generate_wan:main" [tool.setuptools.packages.find] include = ["mlx_video*"] @@ -52,4 +55,4 @@ version = {attr = "mlx_video.version.__version__"} [project.optional-dependencies] dev = [ "pytest", -] \ No newline at end of file +] diff --git a/tests/test_wan.py b/tests/test_wan.py new file mode 100644 index 0000000..0c6976d --- /dev/null +++ b/tests/test_wan.py @@ -0,0 +1,1453 @@ +"""Comprehensive tests for Wan2.2 model components. + +All tests use small/tiny configurations to avoid needing actual weights. +""" + +import math + +import mlx.core as mx +import mlx.nn as nn +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# Config Tests +# --------------------------------------------------------------------------- + +class TestWanModelConfig: + """Tests for WanModelConfig dataclass.""" + + def test_default_values(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.dim == 5120 + assert config.ffn_dim == 13824 + assert config.num_heads == 40 + assert config.num_layers == 40 + assert config.in_dim == 16 + assert config.out_dim == 16 + assert config.patch_size == (1, 2, 2) + assert config.vae_stride == (4, 8, 8) + assert config.vae_z_dim == 16 + assert config.boundary == 0.875 + assert config.sample_shift == 12.0 + assert config.sample_steps == 40 + assert config.sample_guide_scale == (3.0, 4.0) + assert config.num_train_timesteps == 1000 + assert config.qk_norm is True + assert config.cross_attn_norm is True + assert config.text_len == 512 + + def test_head_dim_property(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.head_dim == 128 # 5120 // 40 + + def test_to_dict_roundtrip(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + d = config.to_dict() + assert isinstance(d, dict) + assert d["dim"] == 5120 + assert d["patch_size"] == (1, 2, 2) + assert d["boundary"] == 0.875 + + def test_t5_config_values(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.t5_vocab_size == 256384 + assert config.t5_dim == 4096 + assert config.t5_dim_attn == 4096 + assert config.t5_dim_ffn == 10240 + assert config.t5_num_heads == 64 + assert config.t5_num_layers == 24 + assert config.t5_num_buckets == 32 + + +# --------------------------------------------------------------------------- +# RoPE Tests +# --------------------------------------------------------------------------- + +class TestRoPE: + """Tests for 3-way factorized RoPE.""" + + def test_rope_params_shape(self): + from mlx_video.models.wan.rope import rope_params + freqs = rope_params(1024, 64) + mx.eval(freqs) + assert freqs.shape == (1024, 32, 2) # [max_seq_len, dim//2, 2] + + def test_rope_params_different_dims(self): + from mlx_video.models.wan.rope import rope_params + for dim in [32, 64, 128]: + freqs = rope_params(512, dim) + mx.eval(freqs) + assert freqs.shape == (512, dim // 2, 2) + + def test_rope_params_cos_sin_range(self): + from mlx_video.models.wan.rope import rope_params + freqs = rope_params(256, 64) + mx.eval(freqs) + cos_vals = np.array(freqs[:, :, 0]) + sin_vals = np.array(freqs[:, :, 1]) + assert np.all(cos_vals >= -1.0) and np.all(cos_vals <= 1.0) + assert np.all(sin_vals >= -1.0) and np.all(sin_vals <= 1.0) + + def test_rope_params_position_zero(self): + """At position 0, cos should be 1 and sin should be 0.""" + from mlx_video.models.wan.rope import rope_params + freqs = rope_params(10, 64) + mx.eval(freqs) + np.testing.assert_allclose(np.array(freqs[0, :, 0]), 1.0, atol=1e-6) + np.testing.assert_allclose(np.array(freqs[0, :, 1]), 0.0, atol=1e-6) + + def test_rope_apply_output_shape(self): + from mlx_video.models.wan.rope import rope_params, rope_apply + B, L, N, D = 1, 24, 4, 32 # batch, seq, heads, head_dim + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + grid_sizes = [(2, 3, 4)] # F*H*W = 24 = L + out = rope_apply(x, grid_sizes, freqs) + mx.eval(out) + assert out.shape == (B, L, N, D) + + def test_rope_apply_preserves_norm(self): + """RoPE rotation should preserve vector norms.""" + from mlx_video.models.wan.rope import rope_params, rope_apply + B, N, D = 1, 2, 16 + F, H, W = 2, 3, 4 + L = F * H * W + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + + out = rope_apply(x, [(F, H, W)], freqs) + mx.eval(x, out) + + x_np = np.array(x[0]) + out_np = np.array(out[0]) + for i in range(L): + for h in range(N): + norm_in = np.linalg.norm(x_np[i, h]) + norm_out = np.linalg.norm(out_np[i, h]) + np.testing.assert_allclose(norm_in, norm_out, rtol=1e-4) + + def test_rope_apply_with_padding(self): + """When seq_len < L, extra tokens should be preserved unchanged.""" + from mlx_video.models.wan.rope import rope_params, rope_apply + B, N, D = 1, 2, 16 + F, H, W = 2, 2, 2 + seq_len = F * H * W # 8 + pad = 4 + L = seq_len + pad + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + + out = rope_apply(x, [(F, H, W)], freqs) + mx.eval(x, out) + # Padded tokens should be unchanged + np.testing.assert_allclose( + np.array(out[0, seq_len:]), + np.array(x[0, seq_len:]), + atol=1e-6, + ) + + def test_rope_apply_batch(self): + """Test with batch_size > 1 and different grid sizes.""" + from mlx_video.models.wan.rope import rope_params, rope_apply + B, N, D = 2, 2, 16 + grids = [(2, 3, 4), (2, 3, 4)] + L = 2 * 3 * 4 + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + + out = rope_apply(x, grids, freqs) + mx.eval(out) + assert out.shape == (B, L, N, D) + + def test_rope_frequency_split(self): + """Verify the 3-way frequency dimension split matches Wan2.2 convention.""" + D = 128 # head_dim for 14B model + half_d = D // 2 + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + d_w = half_d // 3 + assert d_t + d_h + d_w == half_d + # Temporal gets more capacity + assert d_t >= d_h + assert d_t >= d_w + + +# --------------------------------------------------------------------------- +# Attention Tests +# --------------------------------------------------------------------------- + +class TestWanRMSNorm: + def test_output_shape(self): + from mlx_video.models.wan.attention import WanRMSNorm + norm = WanRMSNorm(64) + x = mx.random.normal((2, 10, 64)) + out = norm(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_zero_mean_variance(self): + """RMS norm should make RMS ≈ 1 before scaling.""" + from mlx_video.models.wan.attention import WanRMSNorm + norm = WanRMSNorm(64) + x = mx.random.normal((1, 5, 64)) * 10.0 + out = norm(x) + mx.eval(out) + out_np = np.array(out[0]) + for i in range(5): + rms = np.sqrt(np.mean(out_np[i] ** 2)) + # After RMS norm with weight=1, RMS should be ~1 + np.testing.assert_allclose(rms, 1.0, rtol=0.1) + + def test_dtype_preservation(self): + """RMSNorm weight is float32, so output is promoted to float32.""" + from mlx_video.models.wan.attention import WanRMSNorm + norm = WanRMSNorm(32) + x = mx.random.normal((1, 4, 32)).astype(mx.bfloat16) + out = norm(x) + mx.eval(out) + # Weight is float32, so multiplication promotes result to float32 + assert out.dtype == mx.float32 + + +class TestWanLayerNorm: + def test_output_shape(self): + from mlx_video.models.wan.attention import WanLayerNorm + norm = WanLayerNorm(64) + x = mx.random.normal((2, 10, 64)) + out = norm(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_without_affine(self): + from mlx_video.models.wan.attention import WanLayerNorm + norm = WanLayerNorm(64, elementwise_affine=False) + x = mx.random.normal((1, 4, 64)) + out = norm(x) + mx.eval(out) + # Mean should be ~0, variance should be ~1 + out_np = np.array(out[0]) + for i in range(4): + np.testing.assert_allclose(np.mean(out_np[i]), 0.0, atol=0.05) + np.testing.assert_allclose(np.std(out_np[i]), 1.0, rtol=0.1) + + def test_with_affine(self): + from mlx_video.models.wan.attention import WanLayerNorm + norm = WanLayerNorm(32, elementwise_affine=True) + assert hasattr(norm, "weight") + assert hasattr(norm, "bias") + x = mx.random.normal((1, 4, 32)) + out = norm(x) + mx.eval(out) + assert out.shape == (1, 4, 32) + + +class TestWanSelfAttention: + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.num_heads = 4 + + def test_output_shape(self): + from mlx_video.models.wan.attention import WanSelfAttention + from mlx_video.models.wan.rope import rope_params + attn = WanSelfAttention(self.dim, self.num_heads) + B, L = 1, 24 + F, H, W = 2, 3, 4 + x = mx.random.normal((B, L, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + out = attn(x, seq_lens=[L], grid_sizes=[(F, H, W)], freqs=freqs) + mx.eval(out) + assert out.shape == (B, L, self.dim) + + def test_with_qk_norm(self): + from mlx_video.models.wan.attention import WanSelfAttention + attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=True) + assert attn.norm_q is not None + assert attn.norm_k is not None + + def test_without_qk_norm(self): + from mlx_video.models.wan.attention import WanSelfAttention + attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=False) + assert attn.norm_q is None + assert attn.norm_k is None + + def test_masking(self): + """Test that masking works: shorter seq_lens should mask later tokens.""" + from mlx_video.models.wan.attention import WanSelfAttention + from mlx_video.models.wan.rope import rope_params + attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=False) + B, L = 1, 24 + F, H, W = 2, 3, 4 + x = mx.random.normal((B, L, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + # Full sequence + out_full = attn(x, seq_lens=[L], grid_sizes=[(F, H, W)], freqs=freqs) + # Shorter sequence (mask last 4 tokens) + out_masked = attn(x, seq_lens=[L - 4], grid_sizes=[(F, H, W)], freqs=freqs) + mx.eval(out_full, out_masked) + + # Outputs should differ when masking is applied + assert not np.allclose(np.array(out_full), np.array(out_masked), atol=1e-5) + + +class TestWanCrossAttention: + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.num_heads = 4 + + def test_output_shape(self): + from mlx_video.models.wan.attention import WanCrossAttention + attn = WanCrossAttention(self.dim, self.num_heads) + B, L_q, L_kv = 1, 24, 16 + x = mx.random.normal((B, L_q, self.dim)) + context = mx.random.normal((B, L_kv, self.dim)) + out = attn(x, context) + mx.eval(out) + assert out.shape == (B, L_q, self.dim) + + def test_with_context_mask(self): + from mlx_video.models.wan.attention import WanCrossAttention + attn = WanCrossAttention(self.dim, self.num_heads) + B, L_q, L_kv = 1, 12, 16 + x = mx.random.normal((B, L_q, self.dim)) + context = mx.random.normal((B, L_kv, self.dim)) + out = attn(x, context, context_lens=[10]) + mx.eval(out) + assert out.shape == (B, L_q, self.dim) + + +# --------------------------------------------------------------------------- +# Transformer Block Tests +# --------------------------------------------------------------------------- + +class TestWanFFN: + def test_output_shape(self): + from mlx_video.models.wan.transformer import WanFFN + ffn = WanFFN(64, 256) + x = mx.random.normal((2, 10, 64)) + out = ffn(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_gelu_activation(self): + """FFN should use GELU activation (non-linearity).""" + from mlx_video.models.wan.transformer import WanFFN + ffn = WanFFN(32, 128) + x = mx.ones((1, 1, 32)) * 2.0 + out1 = ffn(x) + x2 = mx.ones((1, 1, 32)) * 4.0 + out2 = ffn(x2) + mx.eval(out1, out2) + # Non-linear: 2x input should not give 2x output + assert not np.allclose(np.array(out2), np.array(out1) * 2.0, rtol=0.1) + + +class TestWanAttentionBlock: + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.ffn_dim = 128 + self.num_heads = 4 + + def test_output_shape(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + from mlx_video.models.wan.rope import rope_params + block = WanAttentionBlock( + self.dim, self.ffn_dim, self.num_heads, + cross_attn_norm=True, + ) + B, L = 1, 24 + F, H, W = 2, 3, 4 + x = mx.random.normal((B, L, self.dim)) + e = mx.random.normal((B, L, 6, self.dim)) + context = mx.random.normal((B, 16, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + out = block( + x, e, seq_lens=[L], grid_sizes=[(F, H, W)], + freqs=freqs, context=context, + ) + mx.eval(out) + assert out.shape == (B, L, self.dim) + + def test_modulation_shape(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock(self.dim, self.ffn_dim, self.num_heads) + assert block.modulation.shape == (1, 6, self.dim) + + def test_with_cross_attn_norm(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock( + self.dim, self.ffn_dim, self.num_heads, + cross_attn_norm=True, + ) + assert block.norm3 is not None + + def test_without_cross_attn_norm(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock( + self.dim, self.ffn_dim, self.num_heads, + cross_attn_norm=False, + ) + assert block.norm3 is None + + def test_residual_connection(self): + """Output should differ from zero even with small random init.""" + from mlx_video.models.wan.transformer import WanAttentionBlock + from mlx_video.models.wan.rope import rope_params + block = WanAttentionBlock(self.dim, self.ffn_dim, self.num_heads) + B, L = 1, 8 + F, H, W = 2, 2, 2 + x = mx.ones((B, L, self.dim)) + e = mx.zeros((B, L, 6, self.dim)) + context = mx.random.normal((B, 4, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + out = block(x, e, [L], [(F, H, W)], freqs, context) + mx.eval(out) + # With residual connections, output should be close to input + corrections + assert not np.allclose(np.array(out), 0.0, atol=1e-3) + + +# --------------------------------------------------------------------------- +# Sinusoidal Embedding Tests +# --------------------------------------------------------------------------- + +class TestSinusoidalEmbedding: + def test_output_shape(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + pos = mx.arange(10).astype(mx.float32) + emb = sinusoidal_embedding_1d(256, pos) + mx.eval(emb) + assert emb.shape == (10, 256) + + def test_position_zero(self): + """Position 0 should have cos=1 for all dims and sin=0.""" + from mlx_video.models.wan.model import sinusoidal_embedding_1d + pos = mx.array([0.0]) + emb = sinusoidal_embedding_1d(64, pos) + mx.eval(emb) + emb_np = np.array(emb[0]) + # First half is cos, should be 1 at position 0 + np.testing.assert_allclose(emb_np[:32], 1.0, atol=1e-5) + # Second half is sin, should be 0 at position 0 + np.testing.assert_allclose(emb_np[32:], 0.0, atol=1e-5) + + def test_different_positions_differ(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + pos = mx.array([0.0, 100.0, 999.0]) + emb = sinusoidal_embedding_1d(128, pos) + mx.eval(emb) + emb_np = np.array(emb) + assert not np.allclose(emb_np[0], emb_np[1]) + assert not np.allclose(emb_np[1], emb_np[2]) + + +# --------------------------------------------------------------------------- +# Head Tests +# --------------------------------------------------------------------------- + +class TestHead: + def test_output_shape(self): + from mlx_video.models.wan.model import Head + head = Head(dim=64, out_dim=16, patch_size=(1, 2, 2)) + B, L = 1, 24 + x = mx.random.normal((B, L, 64)) + e = mx.random.normal((B, 64)) # time embedding: [B, dim] + out = head(x, e) + mx.eval(out) + expected_proj_dim = 16 * 1 * 2 * 2 # 64 + assert out.shape == (B, L, expected_proj_dim) + + def test_modulation_shape(self): + from mlx_video.models.wan.model import Head + head = Head(dim=64, out_dim=16, patch_size=(1, 2, 2)) + assert head.modulation.shape == (1, 2, 64) + + +# --------------------------------------------------------------------------- +# WanModel (Tiny) Tests +# --------------------------------------------------------------------------- + +def _make_tiny_config(): + """Create a tiny WanModelConfig for testing.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + # Override to tiny values + config.dim = 64 + config.ffn_dim = 128 + config.num_heads = 4 + config.num_layers = 2 + config.in_dim = 4 + config.out_dim = 4 + config.patch_size = (1, 2, 2) + config.freq_dim = 32 + config.text_dim = 32 + config.text_len = 8 + return config + + +class TestWanModel: + def setup_method(self): + mx.random.seed(42) + + def test_instantiation(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + num_params = sum(p.size for _, p in nn.utils.tree_flatten(model.parameters())) + assert num_params > 0 + + def test_patchify_shape(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + # Input: [C=4, F=1, H=4, W=4] + x = mx.random.normal((4, 1, 4, 4)) + patches, grid_size = model._patchify(x) + mx.eval(patches) + # Patch size (1,2,2): F'=1, H'=2, W'=2 + assert grid_size == (1, 2, 2) + assert patches.shape == (1, 1 * 2 * 2, config.dim) + + def test_patchify_various_sizes(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + for f, h, w in [(1, 4, 4), (2, 6, 8), (3, 4, 6)]: + x = mx.random.normal((config.in_dim, f, h, w)) + patches, (gf, gh, gw) = model._patchify(x) + mx.eval(patches) + pt, ph, pw = config.patch_size + assert gf == f // pt + assert gh == h // ph + assert gw == w // pw + assert patches.shape[1] == gf * gh * gw + + def test_unpatchify_inverse(self): + """Patchify then unpatchify should reconstruct original spatial dims.""" + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 2, 4, 6 + pt, ph, pw = config.patch_size + F_out, H_out, W_out = F // pt, H // ph, W // pw + L = F_out * H_out * W_out + proj_dim = config.out_dim * pt * ph * pw + # Simulated head output + x = mx.random.normal((1, L, proj_dim)) + out = model.unpatchify(x, [(F_out, H_out, W_out)]) + mx.eval(out[0]) + assert out[0].shape == (config.out_dim, F, H, W) + + def test_forward_pass(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + x_list = [mx.random.normal((C, F, H, W))] + t = mx.array([500.0]) + context = [mx.random.normal((6, config.text_dim))] + + out = model(x_list, t, context, seq_len) + mx.eval(out[0]) + assert len(out) == 1 + assert out[0].shape == (C, F, H, W) + + def test_forward_batch(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + x_list = [mx.random.normal((C, F, H, W)), mx.random.normal((C, F, H, W))] + t = mx.array([500.0, 200.0]) + context = [mx.random.normal((6, config.text_dim)), mx.random.normal((4, config.text_dim))] + + out = model(x_list, t, context, seq_len) + mx.eval(out[0], out[1]) + assert len(out) == 2 + for o in out: + assert o.shape == (C, F, H, W) + + def test_output_is_float32(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + out = model([mx.random.normal((C, F, H, W))], mx.array([100.0]), + [mx.random.normal((4, config.text_dim))], seq_len) + mx.eval(out[0]) + assert out[0].dtype == mx.float32 + + +# --------------------------------------------------------------------------- +# T5 Encoder Tests +# --------------------------------------------------------------------------- + +class TestT5LayerNorm: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5LayerNorm + norm = T5LayerNorm(64) + x = mx.random.normal((2, 10, 64)) + out = norm(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_rms_normalization(self): + """After T5LayerNorm with weight=1, RMS should be ~1.""" + from mlx_video.models.wan.text_encoder import T5LayerNorm + norm = T5LayerNorm(128) + x = mx.random.normal((1, 5, 128)) * 5.0 + out = norm(x) + mx.eval(out) + out_np = np.array(out[0]) + for i in range(5): + rms = np.sqrt(np.mean(out_np[i] ** 2)) + np.testing.assert_allclose(rms, 1.0, rtol=0.1) + + +class TestT5RelativeEmbedding: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5RelativeEmbedding + rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=4) + out = rel_emb(10, 10) + mx.eval(out) + assert out.shape == (1, 4, 10, 10) # [1, N, lq, lk] + + def test_asymmetric_lengths(self): + from mlx_video.models.wan.text_encoder import T5RelativeEmbedding + rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=4) + out = rel_emb(8, 12) + mx.eval(out) + assert out.shape == (1, 4, 8, 12) + + def test_symmetry(self): + """Position bias should have structure (not all zeros/random).""" + from mlx_video.models.wan.text_encoder import T5RelativeEmbedding + rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=2) + out = rel_emb(6, 6) + mx.eval(out) + out_np = np.array(out[0]) # [N, lq, lk] + # Diagonal elements (position i attending to position i) should be consistent + # (same relative distance = 0 for all diagonal elements) + for h in range(2): + diag = np.diag(out_np[h]) + np.testing.assert_allclose(diag, diag[0], atol=1e-5) + + +class TestT5Attention: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5Attention + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + x = mx.random.normal((1, 10, 64)) + out = attn(x) + mx.eval(out) + assert out.shape == (1, 10, 64) + + def test_no_scaling(self): + """T5 attention famously has no sqrt(d) scaling. Verify structure.""" + from mlx_video.models.wan.text_encoder import T5Attention + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + # No scale attribute (unlike standard attention) + assert not hasattr(attn, "scale") + + def test_with_position_bias(self): + from mlx_video.models.wan.text_encoder import T5Attention, T5RelativeEmbedding + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + rel_emb = T5RelativeEmbedding(32, 4) + x = mx.random.normal((1, 10, 64)) + pos_bias = rel_emb(10, 10) + out = attn(x, pos_bias=pos_bias) + mx.eval(out) + assert out.shape == (1, 10, 64) + + def test_with_mask(self): + from mlx_video.models.wan.text_encoder import T5Attention + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + x = mx.random.normal((1, 10, 64)) + mask = mx.ones((1, 10)) + mask = mx.concatenate([mask[:, :7], mx.zeros((1, 3))], axis=1) + out = attn(x, mask=mask) + mx.eval(out) + assert out.shape == (1, 10, 64) + + +class TestT5FeedForward: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5FeedForward + ffn = T5FeedForward(64, 256) + x = mx.random.normal((1, 10, 64)) + out = ffn(x) + mx.eval(out) + assert out.shape == (1, 10, 64) + + def test_gated_structure(self): + """T5 FFN is gated: gate(x) * fc1(x).""" + from mlx_video.models.wan.text_encoder import T5FeedForward + ffn = T5FeedForward(32, 64) + assert hasattr(ffn, "gate_proj") + assert hasattr(ffn, "fc1") + assert hasattr(ffn, "fc2") + + +class TestT5Encoder: + def setup_method(self): + mx.random.seed(42) + + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + ids = mx.array([[1, 5, 10, 0, 0]]) + mask = mx.array([[1, 1, 1, 0, 0]]) + out = encoder(ids, mask=mask) + mx.eval(out) + assert out.shape == (1, 5, 64) + + def test_shared_pos(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=True, + ) + assert encoder.pos_embedding is not None + for block in encoder.blocks: + assert block.pos_embedding is None + + def test_per_layer_pos(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + assert encoder.pos_embedding is None + for block in encoder.blocks: + assert block.pos_embedding is not None + + def test_param_count(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + num_params = sum(p.size for _, p in nn.utils.tree_flatten(encoder.parameters())) + assert num_params > 0 + + def test_without_mask(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + ids = mx.array([[1, 5, 10]]) + out = encoder(ids) + mx.eval(out) + assert out.shape == (1, 3, 64) + + +# --------------------------------------------------------------------------- +# VAE Tests +# --------------------------------------------------------------------------- + +class TestCausalConv3d: + def test_output_shape_stride1(self): + from mlx_video.models.wan.vae import CausalConv3d + conv = CausalConv3d(4, 8, kernel_size=3, stride=1, padding=1) + # Initialize weights + conv.weight = mx.random.normal(conv.weight.shape) * 0.02 + x = mx.random.normal((1, 4, 3, 8, 8)) # [B, C, T, H, W] + out = conv(x) + mx.eval(out) + # With causal padding and padding=1 on spatial, dims should be preserved + assert out.shape[0] == 1 + assert out.shape[1] == 8 # out_channels + assert out.shape[2] == 3 # T preserved + assert out.shape[3] == 8 # H preserved + assert out.shape[4] == 8 # W preserved + + def test_output_shape_kernel1(self): + from mlx_video.models.wan.vae import CausalConv3d + conv = CausalConv3d(4, 8, kernel_size=1, stride=1, padding=0) + conv.weight = mx.random.normal(conv.weight.shape) * 0.02 + x = mx.random.normal((1, 4, 2, 4, 4)) + out = conv(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 4, 4) + + def test_causal_padding(self): + """Causal conv should only use past/current frames, not future.""" + from mlx_video.models.wan.vae import CausalConv3d + conv = CausalConv3d(2, 2, kernel_size=3, stride=1, padding=1) + conv.weight = mx.random.normal(conv.weight.shape) * 0.1 + conv.bias = mx.zeros((2,)) + # Create input where only the first frame has signal + x = mx.zeros((1, 2, 4, 4, 4)) + x_np = np.zeros((1, 2, 4, 4, 4), dtype=np.float32) + x_np[:, :, 0, :, :] = 1.0 + x = mx.array(x_np) + out = conv(x) + mx.eval(out) + # Due to causal padding, the output at t=0 should only depend on t=0 + + +class TestResidualBlock: + def test_same_dim(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 8) + x = mx.random.normal((1, 8, 2, 4, 4)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 4, 4) + + def test_different_dim(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 16) + x = mx.random.normal((1, 8, 2, 4, 4)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 16, 2, 4, 4) + + def test_shortcut_exists_when_dims_differ(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 16) + assert block.shortcut is not None + + def test_no_shortcut_when_dims_same(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 8) + assert block.shortcut is None + + +class TestAttentionBlock: + def test_output_shape(self): + from mlx_video.models.wan.vae import AttentionBlock + block = AttentionBlock(8) + x = mx.random.normal((1, 8, 2, 4, 4)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 4, 4) + + def test_residual_connection(self): + from mlx_video.models.wan.vae import AttentionBlock + block = AttentionBlock(8) + x = mx.random.normal((1, 8, 1, 3, 3)) + out = block(x) + mx.eval(x, out) + # Residual: output should not be zero even with random init + assert np.abs(np.array(out)).max() > 0 + + +class TestWanVAE: + def test_instantiation(self): + from mlx_video.models.wan.vae import WanVAE + vae = WanVAE(z_dim=16) + assert vae.z_dim == 16 + assert vae.mean.shape == (16,) + assert vae.std.shape == (16,) + + def test_normalization_stats(self): + from mlx_video.models.wan.vae import WanVAE, VAE_MEAN, VAE_STD + assert len(VAE_MEAN) == 16 + assert len(VAE_STD) == 16 + assert all(s > 0 for s in VAE_STD) + + +# --------------------------------------------------------------------------- +# Scheduler Tests +# --------------------------------------------------------------------------- + +class TestFlowMatchEulerScheduler: + def test_initialization(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + assert sched.num_train_timesteps == 1000 + assert sched.timesteps is None + assert sched.sigmas is None + + def test_set_timesteps(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(40, shift=12.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (40,) + assert sched.sigmas.shape == (41,) # 40 steps + terminal + + def test_timesteps_decreasing(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(40, shift=12.0) + mx.eval(sched.timesteps) + ts = np.array(sched.timesteps) + # Timesteps should be monotonically decreasing + assert np.all(np.diff(ts) < 0), f"Timesteps not decreasing: {ts[:5]}..." + + def test_sigmas_decreasing(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(20, shift=1.0) + mx.eval(sched.sigmas) + sigmas = np.array(sched.sigmas) + assert np.all(np.diff(sigmas) <= 0), "Sigmas not decreasing" + + def test_terminal_sigma_is_zero(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(20, shift=5.0) + mx.eval(sched.sigmas) + np.testing.assert_allclose(np.array(sched.sigmas[-1]), 0.0, atol=1e-6) + + def test_shift_effect(self): + """Larger shift should push sigmas toward higher values.""" + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched1 = FlowMatchEulerScheduler() + sched2 = FlowMatchEulerScheduler() + sched1.set_timesteps(20, shift=1.0) + sched2.set_timesteps(20, shift=12.0) + mx.eval(sched1.sigmas, sched2.sigmas) + mean1 = np.mean(np.array(sched1.sigmas[:-1])) + mean2 = np.mean(np.array(sched2.sigmas[:-1])) + assert mean2 > mean1, "Higher shift should push sigmas higher" + + def test_step_euler(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(10, shift=1.0) + mx.eval(sched.sigmas) + + sample = mx.ones((1, 4, 2, 2, 2)) + velocity = mx.ones((1, 4, 2, 2, 2)) * 0.5 + timestep = sched.timesteps[0] + + sigma = float(np.array(sched.sigmas[0])) + sigma_next = float(np.array(sched.sigmas[1])) + + result = sched.step(velocity, timestep, sample) + mx.eval(result) + + # Euler: x_next = x + (sigma_next - sigma) * v + expected = 1.0 + (sigma_next - sigma) * 0.5 + np.testing.assert_allclose( + np.array(result).flatten()[0], expected, rtol=1e-4, + ) + + def test_step_index_increments(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=1.0) + assert sched._step_index == 0 + sample = mx.ones((1, 1, 1, 1, 1)) + vel = mx.zeros((1, 1, 1, 1, 1)) + sched.step(vel, sched.timesteps[0], sample) + assert sched._step_index == 1 + sched.step(vel, sched.timesteps[1], sample) + assert sched._step_index == 2 + + def test_reset(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + vel = mx.zeros((1, 1, 1, 1, 1)) + sched.step(vel, sched.timesteps[0], sample) + assert sched._step_index == 1 + sched.reset() + assert sched._step_index == 0 + + @pytest.mark.parametrize("steps", [10, 20, 40, 50]) + def test_various_step_counts(self, steps): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(steps, shift=12.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (steps,) + assert sched.sigmas.shape == (steps + 1,) + + def test_full_denoise_loop(self): + """Run a complete denoise loop with zero velocity -> sample unchanged.""" + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 2, 1, 2, 2)) + for i in range(5): + vel = mx.zeros_like(sample) + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + # With zero velocity, sample should remain unchanged + np.testing.assert_allclose(np.array(sample), 1.0, atol=1e-5) + + +# --------------------------------------------------------------------------- +# Weight Conversion Tests +# --------------------------------------------------------------------------- + +class TestSanitizeTransformerWeights: + def test_patch_embedding_reshape(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "patch_embedding.weight": mx.random.normal((5120, 16, 1, 2, 2)), + "patch_embedding.bias": mx.random.normal((5120,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "patch_embedding_proj.weight" in out + assert "patch_embedding_proj.bias" in out + assert out["patch_embedding_proj.weight"].shape == (5120, 16 * 1 * 2 * 2) + + def test_text_embedding_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "text_embedding.0.weight": mx.zeros((64, 32)), + "text_embedding.0.bias": mx.zeros((64,)), + "text_embedding.2.weight": mx.zeros((64, 64)), + "text_embedding.2.bias": mx.zeros((64,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "text_embedding_0.weight" in out + assert "text_embedding_0.bias" in out + assert "text_embedding_1.weight" in out + assert "text_embedding_1.bias" in out + + def test_time_embedding_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "time_embedding.0.weight": mx.zeros((64, 32)), + "time_embedding.2.weight": mx.zeros((64, 64)), + } + out = sanitize_wan_transformer_weights(weights) + assert "time_embedding_0.weight" in out + assert "time_embedding_1.weight" in out + + def test_time_projection_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "time_projection.1.weight": mx.zeros((384, 64)), + "time_projection.1.bias": mx.zeros((384,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "time_projection.weight" in out + assert "time_projection.bias" in out + + def test_ffn_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "blocks.0.ffn.0.weight": mx.zeros((128, 64)), + "blocks.0.ffn.0.bias": mx.zeros((128,)), + "blocks.0.ffn.2.weight": mx.zeros((64, 128)), + "blocks.0.ffn.2.bias": mx.zeros((64,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "blocks.0.ffn.fc1.weight" in out + assert "blocks.0.ffn.fc1.bias" in out + assert "blocks.0.ffn.fc2.weight" in out + assert "blocks.0.ffn.fc2.bias" in out + + def test_freqs_skipped(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "freqs": mx.zeros((1024, 64, 2)), + "blocks.0.norm1.weight": mx.zeros((64,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "freqs" not in out + assert "blocks.0.norm1.weight" in out + + def test_passthrough_keys(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "blocks.0.self_attn.q.weight": mx.zeros((64, 64)), + "blocks.0.self_attn.k.weight": mx.zeros((64, 64)), + "blocks.0.self_attn.v.weight": mx.zeros((64, 64)), + "blocks.0.self_attn.o.weight": mx.zeros((64, 64)), + "blocks.0.modulation": mx.zeros((1, 6, 64)), + "head.head.weight": mx.zeros((64, 64)), + "head.modulation": mx.zeros((1, 2, 64)), + } + out = sanitize_wan_transformer_weights(weights) + for key in weights: + assert key in out + + +class TestSanitizeT5Weights: + def test_gate_rename(self): + from mlx_video.convert_wan import sanitize_wan_t5_weights + weights = { + "blocks.0.ffn.gate.0.weight": mx.zeros((128, 64)), + "blocks.0.ffn.fc1.weight": mx.zeros((128, 64)), + "blocks.0.ffn.fc2.weight": mx.zeros((64, 128)), + } + out = sanitize_wan_t5_weights(weights) + assert "blocks.0.ffn.gate_proj.weight" in out + assert "blocks.0.ffn.fc1.weight" in out + assert "blocks.0.ffn.fc2.weight" in out + + def test_passthrough(self): + from mlx_video.convert_wan import sanitize_wan_t5_weights + weights = { + "token_embedding.weight": mx.zeros((100, 64)), + "blocks.0.attn.q.weight": mx.zeros((64, 64)), + "norm.weight": mx.zeros((64,)), + } + out = sanitize_wan_t5_weights(weights) + for key in weights: + assert key in out + + +class TestSanitizeVAEWeights: + def test_conv3d_transpose(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.conv1.weight": mx.zeros((8, 4, 3, 3, 3)), # [O, I, D, H, W] + } + out = sanitize_wan_vae_weights(weights) + assert out["decoder.conv1.weight"].shape == (8, 3, 3, 3, 4) # [O, D, H, W, I] + + def test_conv2d_transpose(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.proj.weight": mx.zeros((16, 8, 3, 3)), # [O, I, H, W] + } + out = sanitize_wan_vae_weights(weights) + assert out["decoder.proj.weight"].shape == (16, 3, 3, 8) # [O, H, W, I] + + def test_non_conv_passthrough(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.norm.weight": mx.zeros((64,)), # 1D, no transpose + "decoder.bias": mx.zeros((16,)), + } + out = sanitize_wan_vae_weights(weights) + assert out["decoder.norm.weight"].shape == (64,) + assert out["decoder.bias"].shape == (16,) + + def test_mixed_weights(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "conv3d.weight": mx.zeros((8, 4, 3, 3, 3)), # 5D + "conv2d.weight": mx.zeros((8, 4, 3, 3)), # 4D + "linear.weight": mx.zeros((8, 4)), # 2D + "norm.weight": mx.zeros((8,)), # 1D + } + out = sanitize_wan_vae_weights(weights) + assert out["conv3d.weight"].shape == (8, 3, 3, 3, 4) + assert out["conv2d.weight"].shape == (8, 3, 3, 4) + assert out["linear.weight"].shape == (8, 4) + assert out["norm.weight"].shape == (8,) + + +# --------------------------------------------------------------------------- +# Integration: end-to-end tiny model forward pass +# --------------------------------------------------------------------------- + +class TestEndToEnd: + """End-to-end test with tiny model (no real weights needed).""" + + def test_tiny_model_denoise_step(self): + """Simulate one denoising step with tiny model.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(42) + config = _make_tiny_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=3.0) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + + # One step + t = sched.timesteps[0] + pred = model([latents], mx.array([t.item()]), [context], seq_len)[0] + latents_next = sched.step(pred[None], t, latents[None]).squeeze(0) + mx.eval(latents_next) + + assert latents_next.shape == (C, F, H, W) + # Should differ from original noise + assert not np.allclose(np.array(latents_next), np.array(latents), atol=1e-5) + + def test_tiny_model_full_loop(self): + """Run a complete (tiny) diffusion loop.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(123) + config = _make_tiny_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + num_steps = 3 + sched.set_timesteps(num_steps, shift=3.0) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + + for i in range(num_steps): + t = sched.timesteps[i] + pred = model([latents], mx.array([t.item()]), [context], seq_len)[0] + latents = sched.step(pred[None], t, latents[None]).squeeze(0) + mx.eval(latents) + + assert latents.shape == (C, F, H, W) + assert not mx.any(mx.isnan(latents)).item(), "NaN in output" + assert not mx.any(mx.isinf(latents)).item(), "Inf in output" + + +# --------------------------------------------------------------------------- +# Wan2.1 Config & Pipeline Tests +# --------------------------------------------------------------------------- + +class TestWan21Config: + """Tests for Wan2.1 config presets.""" + + def test_wan21_14b_factory(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + assert config.model_version == "2.1" + assert config.dual_model is False + assert config.dim == 5120 + assert config.ffn_dim == 13824 + assert config.num_heads == 40 + assert config.num_layers == 40 + assert config.head_dim == 128 + assert config.sample_guide_scale == 5.0 + assert config.sample_shift == 5.0 + assert config.sample_steps == 50 + assert config.boundary == 0.0 + + def test_wan21_1_3b_factory(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_1_3b() + assert config.model_version == "2.1" + assert config.dual_model is False + assert config.dim == 1536 + assert config.ffn_dim == 8960 + assert config.num_heads == 12 + assert config.num_layers == 30 + assert config.head_dim == 128 # 1536 // 12 + assert config.sample_guide_scale == 5.0 + + def test_wan22_14b_factory(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan22_t2v_14b() + assert config.model_version == "2.2" + assert config.dual_model is True + assert config.dim == 5120 + assert config.sample_guide_scale == (3.0, 4.0) + assert config.sample_shift == 12.0 + assert config.sample_steps == 40 + assert config.boundary == 0.875 + + def test_wan21_config_to_dict(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + d = config.to_dict() + assert d["model_version"] == "2.1" + assert d["dual_model"] is False + assert d["sample_guide_scale"] == 5.0 + + def test_wan21_1_3b_config_to_dict(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_1_3b() + d = config.to_dict() + assert d["dim"] == 1536 + assert d["num_layers"] == 30 + + def test_default_config_is_wan22(self): + """Default WanModelConfig() should be Wan2.2 14B.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.model_version == "2.2" + assert config.dual_model is True + + +class TestWan21Model: + """Test tiny Wan2.1-style model (single model mode).""" + + def setup_method(self): + mx.random.seed(42) + + def _make_tiny_wan21_config(self): + """Create a tiny config mimicking Wan2.1 (single model).""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + # Override to tiny values + config.dim = 64 + config.ffn_dim = 128 + config.num_heads = 4 + config.num_layers = 2 + config.in_dim = 4 + config.out_dim = 4 + config.freq_dim = 32 + config.text_dim = 32 + config.text_len = 8 + return config + + def _make_tiny_wan21_1_3b_config(self): + """Create a tiny config mimicking Wan2.1 1.3B.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_1_3b() + # Override to tiny values (preserve 1.3B head structure: 12 heads) + config.dim = 48 + config.ffn_dim = 96 + config.num_heads = 4 + config.num_layers = 2 + config.in_dim = 4 + config.out_dim = 4 + config.freq_dim = 24 + config.text_dim = 24 + config.text_len = 8 + return config + + def test_wan21_tiny_model_forward(self): + """Forward pass with Wan2.1 tiny config.""" + from mlx_video.models.wan.model import WanModel + + config = self._make_tiny_wan21_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + t = mx.array([500.0]) + + out = model([latents], t, [context], seq_len) + mx.eval(out) + assert out[0].shape == (C, F, H, W) + + def test_wan21_1_3b_tiny_model_forward(self): + """Forward pass with Wan2.1 1.3B tiny config.""" + from mlx_video.models.wan.model import WanModel + + config = self._make_tiny_wan21_1_3b_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + t = mx.array([500.0]) + + out = model([latents], t, [context], seq_len) + mx.eval(out) + assert out[0].shape == (C, F, H, W) + + def test_wan21_single_model_loop(self): + """Full diffusion loop with single model (Wan2.1 style).""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + config = self._make_tiny_wan21_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + + sched = FlowMatchEulerScheduler() + sched.set_timesteps(config.sample_steps, shift=config.sample_shift) + + # Use only 3 steps for speed + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + context_null = mx.zeros((4, config.text_dim)) + gs = config.sample_guide_scale # Should be float for Wan2.1 + + assert isinstance(gs, float), "Wan2.1 guide_scale should be float" + + for i in range(3): + t = sched.timesteps[i] + pred_cond = model([latents], mx.array([t.item()]), [context], seq_len)[0] + pred_uncond = model([latents], mx.array([t.item()]), [context_null], seq_len)[0] + pred = pred_uncond + gs * (pred_cond - pred_uncond) + latents = sched.step(pred[None], t, latents[None]).squeeze(0) + mx.eval(latents) + + assert latents.shape == (C, F, H, W) + assert not mx.any(mx.isnan(latents)).item() + + def test_wan21_vs_wan22_config_differences(self): + """Verify key differences between Wan2.1 and Wan2.2 configs.""" + from mlx_video.models.wan.config import WanModelConfig + + c21 = WanModelConfig.wan21_t2v_14b() + c22 = WanModelConfig.wan22_t2v_14b() + + # Same architecture + assert c21.dim == c22.dim + assert c21.num_heads == c22.num_heads + assert c21.num_layers == c22.num_layers + + # Different pipeline settings + assert c21.dual_model is False + assert c22.dual_model is True + assert isinstance(c21.sample_guide_scale, float) + assert isinstance(c22.sample_guide_scale, tuple) + assert c21.sample_shift != c22.sample_shift + assert c21.sample_steps != c22.sample_steps + + +class TestWan21Convert: + """Tests for Wan2.1 conversion support.""" + + def test_auto_detect_wan21(self, tmp_path): + """Auto-detect single-model directory as Wan2.1.""" + # Create a Wan2.1-style directory (no low_noise_model subdir) + (tmp_path / "dummy.safetensors").touch() + # The auto-detect logic: no low_noise_model dir → 2.1 + from pathlib import Path + low = tmp_path / "low_noise_model" + assert not low.exists() + # Simulates auto detection + version = "2.2" if low.exists() else "2.1" + assert version == "2.1" + + def test_auto_detect_wan22(self, tmp_path): + """Auto-detect dual-model directory as Wan2.2.""" + (tmp_path / "low_noise_model").mkdir() + (tmp_path / "high_noise_model").mkdir() + from pathlib import Path + low = tmp_path / "low_noise_model" + assert low.exists() + version = "2.2" if low.exists() else "2.1" + assert version == "2.2" + + def test_wan21_config_saved_correctly(self): + """Verify config dict has correct fields for Wan2.1.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + d = config.to_dict() + assert d["model_version"] == "2.1" + assert d["dual_model"] is False + assert d["sample_steps"] == 50 + assert d["sample_shift"] == 5.0 + + +if __name__ == "__main__": + pytest.main([__file__, "-v"]) diff --git a/uv.lock b/uv.lock index ec2a5dd..54e249a 100644 --- a/uv.lock +++ b/uv.lock @@ -2,7 +2,8 @@ version = 1 revision = 3 requires-python = ">=3.11" resolution-markers = [ - "python_full_version >= '3.12'", + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", "python_full_version < '3.12'", ] @@ -614,6 +615,33 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, ] +[[package]] +name = "imageio" +version = "2.37.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "pillow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/6f/606be632e37bf8d05b253e8626c2291d74c691ddc7bcdf7d6aaf33b32f6a/imageio-2.37.2.tar.gz", hash = "sha256:0212ef2727ac9caa5ca4b2c75ae89454312f440a756fcfc8ef1993e718f50f8a", size = 389600, upload-time = "2025-11-04T14:29:39.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/fe/301e0936b79bcab4cacc7548bf2853fc28dced0a578bab1f7ef53c9aa75b/imageio-2.37.2-py3-none-any.whl", hash = "sha256:ad9adfb20335d718c03de457358ed69f141021a333c40a53e57273d8a5bd0b9b", size = 317646, upload-time = "2025-11-04T14:29:37.948Z" }, +] + +[[package]] +name = "imageio-ffmpeg" +version = "0.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/44/bd/c3343c721f2a1b0c9fc71c1aebf1966a3b7f08c2eea8ed5437a2865611d6/imageio_ffmpeg-0.6.0.tar.gz", hash = "sha256:e2556bed8e005564a9f925bb7afa4002d82770d6b08825078b7697ab88ba1755", size = 25210, upload-time = "2025-01-16T21:34:32.747Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/58/87ef68ac83f4c7690961bce288fd8e382bc5f1513860fc7f90a9c1c1c6bf/imageio_ffmpeg-0.6.0-py3-none-macosx_10_9_intel.macosx_10_9_x86_64.whl", hash = "sha256:9d2baaf867088508d4a3458e61eeb30e945c4ad8016025545f66c4b5aaef0a61", size = 24932969, upload-time = "2025-01-16T21:34:20.464Z" }, + { url = "https://files.pythonhosted.org/packages/40/5c/f3d8a657d362cc93b81aab8feda487317da5b5d31c0e1fdfd5e986e55d17/imageio_ffmpeg-0.6.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b1ae3173414b5fc5f538a726c4e48ea97edc0d2cdc11f103afee655c463fa742", size = 21113891, upload-time = "2025-01-16T21:34:00.277Z" }, + { url = "https://files.pythonhosted.org/packages/33/e7/1925bfbc563c39c1d2e82501d8372734a5c725e53ac3b31b4c2d081e895b/imageio_ffmpeg-0.6.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1d47bebd83d2c5fc770720d211855f208af8a596c82d17730aa51e815cdee6dc", size = 25632706, upload-time = "2025-01-16T21:33:53.475Z" }, + { url = "https://files.pythonhosted.org/packages/a0/2d/43c8522a2038e9d0e7dbdf3a61195ecc31ca576fb1527a528c877e87d973/imageio_ffmpeg-0.6.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c7e46fcec401dd990405049d2e2f475e2b397779df2519b544b8aab515195282", size = 29498237, upload-time = "2025-01-16T21:34:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/a0/13/59da54728351883c3c1d9fca1710ab8eee82c7beba585df8f25ca925f08f/imageio_ffmpeg-0.6.0-py3-none-win32.whl", hash = "sha256:196faa79366b4a82f95c0f4053191d2013f4714a715780f0ad2a68ff37483cc2", size = 19652251, upload-time = "2025-01-16T21:34:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c6/fa760e12a2483469e2bf5058c5faff664acf66cadb4df2ad6205b016a73d/imageio_ffmpeg-0.6.0-py3-none-win_amd64.whl", hash = "sha256:02fa47c83703c37df6bfe4896aab339013f62bf02c5ebf2dce6da56af04ffc0a", size = 31246824, upload-time = "2025-01-16T21:34:28.6Z" }, +] + [[package]] name = "iniconfig" version = "2.3.0" @@ -772,6 +800,8 @@ name = "mlx-video" source = { editable = "." } dependencies = [ { name = "huggingface-hub" }, + { name = "imageio" }, + { name = "imageio-ffmpeg" }, { name = "mlx" }, { name = "mlx-vlm" }, { name = "numpy" }, @@ -790,6 +820,8 @@ dev = [ [package.metadata] requires-dist = [ { name = "huggingface-hub" }, + { name = "imageio", specifier = ">=2.37.2" }, + { name = "imageio-ffmpeg", specifier = ">=0.6.0" }, { name = "mlx", specifier = ">=0.22.0" }, { name = "mlx-vlm" }, { name = "numpy" }, From 93da550f6530ebb4f8b5ce9fbb6328717a3345ec Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 27 Feb 2026 10:28:33 +0100 Subject: [PATCH 02/17] feat(wan): Add DPM++ 2M and UniPC schedulers --- mlx_video/convert_wan.py | 7 +- mlx_video/generate_wan.py | 93 +- mlx_video/models/wan/config.py | 6 + mlx_video/models/wan/scheduler.py | 444 ++++++++- mlx_video/models/wan/text_encoder.py | 30 +- mlx_video/models/wan/vae22.py | 41 +- pyproject.toml | 1 + tests/test_wan.py | 1259 ++++++++++++++++++++++++++ 8 files changed, 1792 insertions(+), 89 deletions(-) diff --git a/mlx_video/convert_wan.py b/mlx_video/convert_wan.py index 7d89d55..33be9ac 100644 --- a/mlx_video/convert_wan.py +++ b/mlx_video/convert_wan.py @@ -412,10 +412,13 @@ def convert_wan_checkpoint( weights = sanitize_wan22_vae_weights(weights) else: weights = sanitize_wan_vae_weights(weights) - weights = {k: v.astype(target_dtype) for k, v in weights.items()} + # Always save VAE in float32 — official Wan2.2 runs VAE decode in + # float32 (dtype=torch.float). Saving in bfloat16 loses precision + # that cannot be recovered by upcasting at load time. + weights = {k: v.astype(mx.float32) for k, v in weights.items()} out_path = output_dir / "vae.safetensors" mx.save_safetensors(str(out_path), weights) - print(f" Saved {len(weights)} weight tensors to {out_path}") + print(f" Saved {len(weights)} weight tensors to {out_path} (float32)") # Quantize transformer weights if requested if quantize: diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index 69d5723..7d1e601 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -56,7 +56,12 @@ def load_wan_model(model_path: Path, config, quantization: dict | None = None): def load_t5_encoder(model_path: Path, config): - """Load T5 text encoder.""" + """Load T5 text encoder. + + Weights are upcast to float32 for maximum precision — the T5 encoder + only runs once per generation, so performance impact is negligible. + This matches the official which computes softmax in float32 explicitly. + """ from mlx_video.models.wan.text_encoder import T5Encoder encoder = T5Encoder( @@ -70,6 +75,7 @@ def load_t5_encoder(model_path: Path, config): shared_pos=False, ) weights = mx.load(str(model_path)) + weights = {k: v.astype(mx.float32) for k, v in weights.items()} encoder.load_weights(list(weights.items())) mx.eval(encoder.parameters()) return encoder @@ -91,11 +97,33 @@ def load_vae_decoder(model_path: Path, config=None): vae = WanVAE(z_dim=16) weights = mx.load(str(model_path)) + # Upcast VAE weights to float32 for quality — official Wan2.2 runs VAE in float32 + weights = {k: v.astype(mx.float32) for k, v in weights.items()} vae.load_weights(list(weights.items()), strict=False) mx.eval(vae.parameters()) return vae +def _clean_text(text: str) -> str: + """Clean text matching official Wan2.2 tokenizer preprocessing. + + Applies ftfy.fix_text (fixes mojibake, normalizes fullwidth chars), + double HTML unescape, and whitespace normalization. Critical for + correct tokenization of the Chinese negative prompt. + """ + import html + import re + + try: + import ftfy + text = ftfy.fix_text(text) + except ImportError: + pass + text = html.unescape(html.unescape(text)) + text = re.sub(r"\s+", " ", text).strip() + return text + + def encode_text( encoder, tokenizer, @@ -113,6 +141,7 @@ def encode_text( Returns: Text embeddings [L, dim] """ + prompt = _clean_text(prompt) tokens = tokenizer( prompt, max_length=text_len, @@ -133,7 +162,7 @@ def encode_text( def generate_video( model_dir: str, prompt: str, - negative_prompt: str = "", + negative_prompt: str | None = None, width: int = 1280, height: int = 720, num_frames: int = 81, @@ -142,13 +171,14 @@ def generate_video( shift: float = None, seed: int = -1, output_path: str = "output.mp4", + scheduler: str = "unipc", ): """Generate video using Wan T2V pipeline (supports 2.1 and 2.2). Args: model_dir: Path to converted MLX model directory prompt: Text prompt - negative_prompt: Negative prompt + negative_prompt: Negative prompt (None = use config default, "" = no negative prompt) width: Video width height: Video height num_frames: Number of frames (must be 4n+1) @@ -157,11 +187,16 @@ def generate_video( shift: Noise schedule shift (None = use config default) seed: Random seed (-1 for random) output_path: Output video path + scheduler: Solver type: 'euler', 'dpm++', or 'unipc' (default) """ import json from mlx_video.models.wan.config import WanModelConfig - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) model_dir = Path(model_dir) @@ -253,12 +288,23 @@ def generate_video( version_str = f"Wan{config.model_version}" mode_str = "dual-model" if is_dual else "single-model" + # Resolve negative prompt: explicit user value > config default + # The official Wan2.2 uses a Chinese negative prompt (config.sample_neg_prompt) + # that prevents oversaturation, artifacts, and comic look. We use it by default. + # Text cleaning (_clean_text) normalizes fullwidth chars to match official tokenization. + if negative_prompt is None: + neg_prompt_resolved = config.sample_neg_prompt + else: + neg_prompt_resolved = negative_prompt print(f"{Colors.CYAN}{'='*60}") print(f" {version_str} Text-to-Video Generation (MLX, {mode_str})") print(f"{'='*60}{Colors.RESET}") print(f"{Colors.DIM} Prompt: {prompt}") + if neg_prompt_resolved and neg_prompt_resolved.strip(): + neg_display = neg_prompt_resolved[:60] + "..." if len(neg_prompt_resolved) > 60 else neg_prompt_resolved + print(f" Neg prompt: {neg_display}") print(f" Size: {width}x{height}, Frames: {num_frames}") - print(f" Steps: {steps}, Guide: {guide_scale}, Shift: {shift}") + print(f" Steps: {steps}, Guide: {guide_scale}, Shift: {shift}, Solver: {scheduler}") print(f"{Colors.RESET}") # Seed @@ -298,10 +344,7 @@ def generate_video( # Encode prompts print(f"{Colors.BLUE}Encoding text...{Colors.RESET}") context = encode_text(t5_encoder, tokenizer, prompt, config.text_len) - if negative_prompt: - context_null = encode_text(t5_encoder, tokenizer, negative_prompt, config.text_len) - else: - context_null = encode_text(t5_encoder, tokenizer, "", config.text_len) + context_null = encode_text(t5_encoder, tokenizer, neg_prompt_resolved, config.text_len) mx.eval(context, context_null) # Free T5 from memory @@ -343,8 +386,14 @@ def generate_video( mx.eval(cross_kv) # Setup scheduler - scheduler = FlowMatchEulerScheduler(num_train_timesteps=config.num_train_timesteps) - scheduler.set_timesteps(steps, shift=shift) + _schedulers = { + "euler": FlowMatchEulerScheduler, + "dpm++": FlowDPMPP2MScheduler, + "unipc": FlowUniPCScheduler, + } + sched_cls = _schedulers.get(scheduler, FlowUniPCScheduler) + sched = sched_cls(num_train_timesteps=config.num_train_timesteps) + sched.set_timesteps(steps, shift=shift) # Generate initial noise noise = mx.random.normal(target_shape) @@ -358,7 +407,7 @@ def generate_video( t3 = time.time() for i, t in enumerate(tqdm(range(steps), desc="Diffusion")): - timestep_val = scheduler.timesteps[i].item() + timestep_val = sched.timesteps[i].item() # Select model, guide scale, and cached K/V if is_dual: @@ -387,7 +436,7 @@ def generate_video( # Classifier-free guidance + scheduler step noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) - latents = scheduler.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) + latents = sched.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) # Release temporaries before eval to free memory for graph execution del noise_pred_cond, noise_pred_uncond, noise_pred, preds @@ -476,7 +525,10 @@ def main(): parser = argparse.ArgumentParser(description="Wan Text-to-Video Generation (MLX)") parser.add_argument("--model-dir", type=str, required=True, help="Path to converted MLX model directory") parser.add_argument("--prompt", type=str, required=True, help="Text prompt") - parser.add_argument("--negative-prompt", type=str, default="", help="Negative prompt") + parser.add_argument("--negative-prompt", type=str, default=None, + help="Negative prompt for CFG (default: official Chinese prompt from config)") + parser.add_argument("--no-negative-prompt", action="store_true", + help="Disable negative prompt (use empty string instead of config default)") parser.add_argument("--width", type=int, default=1280, help="Video width") parser.add_argument("--height", type=int, default=720, help="Video height") parser.add_argument("--num-frames", type=int, default=81, help="Number of frames (must be 4n+1)") @@ -485,6 +537,11 @@ def main(): parser.add_argument("--shift", type=float, default=None, help="Noise schedule shift (default: from config)") parser.add_argument("--seed", type=int, default=-1, help="Random seed") parser.add_argument("--output-path", type=str, default="output.mp4", help="Output video path") + parser.add_argument( + "--scheduler", type=str, default="unipc", + choices=["euler", "dpm++", "unipc"], + help="Diffusion solver: euler (1st order), dpm++ (2nd order), unipc (2nd order PC, default/official)", + ) args = parser.parse_args() # Parse guide scale @@ -493,10 +550,15 @@ def main(): parts = [float(x) for x in args.guide_scale.split(",")] guide_scale = tuple(parts) if len(parts) > 1 else parts[0] + # Handle negative prompt: --no-negative-prompt forces empty, otherwise pass through + neg_prompt = args.negative_prompt + if args.no_negative_prompt: + neg_prompt = "" + generate_video( model_dir=args.model_dir, prompt=args.prompt, - negative_prompt=args.negative_prompt, + negative_prompt=neg_prompt, width=args.width, height=args.height, num_frames=args.num_frames, @@ -505,6 +567,7 @@ def main(): shift=args.shift, seed=args.seed, output_path=args.output_path, + scheduler=args.scheduler, ) diff --git a/mlx_video/models/wan/config.py b/mlx_video/models/wan/config.py index 1be3374..e4bf900 100644 --- a/mlx_video/models/wan/config.py +++ b/mlx_video/models/wan/config.py @@ -38,6 +38,12 @@ class WanModelConfig(BaseModelConfig): num_train_timesteps: int = 1000 sample_fps: int = 16 frame_num: int = 81 + sample_neg_prompt: str = ( + "色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰," + "最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部," + "画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面," + "杂乱的背景,三条腿,背景人很多,倒着走" + ) # T5 t5_vocab_size: int = 256384 diff --git a/mlx_video/models/wan/scheduler.py b/mlx_video/models/wan/scheduler.py index 377f058..49ef10f 100644 --- a/mlx_video/models/wan/scheduler.py +++ b/mlx_video/models/wan/scheduler.py @@ -1,16 +1,29 @@ -"""Flow matching scheduler for Wan2.2 inference.""" +"""Flow matching schedulers for Wan2.2 inference. + +Provides Euler, DPM++2M, and UniPC solvers for flow matching diffusion. +Higher-order solvers (DPM++, UniPC) converge faster, needing fewer steps +for the same quality as Euler. +""" + +import math import numpy as np import mlx.core as mx -class FlowMatchEulerScheduler: - """Simple Euler scheduler for flow matching diffusion. +def _compute_sigmas(num_steps: int, shift: float = 1.0) -> np.ndarray: + """Compute shifted sigma schedule matching official Wan2.2 code. - Implements the flow matching formulation where the model predicts - velocity (flow) and we use Euler steps to denoise. + Returns num_steps+1 values (the last being 0.0 for the terminal state). """ + sigmas = np.linspace(1.0, 0.0, num_steps + 1)[:num_steps] + sigmas = shift * sigmas / (1.0 + (shift - 1.0) * sigmas) + return np.append(sigmas, 0.0).astype(np.float32) + + +class FlowMatchEulerScheduler: + """1st-order Euler scheduler for flow matching diffusion.""" def __init__(self, num_train_timesteps: int = 1000): self.num_train_timesteps = num_train_timesteps @@ -18,30 +31,9 @@ class FlowMatchEulerScheduler: self.sigmas = None def set_timesteps(self, num_steps: int, shift: float = 1.0): - """Compute sigma schedule with shift. - - Args: - num_steps: Number of inference steps. - shift: Noise schedule shift factor. - """ - # Linear spacing from sigma_max to sigma_min - sigmas = np.linspace(1.0, 1.0 / self.num_train_timesteps, self.num_train_timesteps)[::-1] - sigmas = 1.0 - sigmas - - # Select evenly spaced subset - indices = np.linspace(0, len(sigmas) - 1, num_steps + 1).astype(int) - sigmas = sigmas[indices[:-1]] - - # Apply shift: sigma' = shift * sigma / (1 + (shift - 1) * sigma) - sigmas = shift * sigmas / (1.0 + (shift - 1.0) * sigmas) - - # Convert to timesteps - timesteps = sigmas * self.num_train_timesteps - self.timesteps = mx.array(timesteps.astype(np.float32)) - - # Append terminal sigma=0 - sigmas = np.append(sigmas, 0.0) - self.sigmas = mx.array(sigmas.astype(np.float32)) + sigmas = _compute_sigmas(num_steps, shift) + self.sigmas = mx.array(sigmas) + self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) self._step_index = 0 def step( @@ -50,27 +42,387 @@ class FlowMatchEulerScheduler: timestep, sample: mx.array, ) -> mx.array: - """Euler step for flow matching. - - In flow matching, model predicts velocity v, and: - x_{t-1} = sample + (sigma_{t-1} - sigma_t) * v - - Args: - model_output: Predicted velocity [B, C, T, H, W] - timestep: Current timestep (unused, step index is tracked internally) - sample: Current noisy sample [B, C, T, H, W] - - Returns: - Updated sample - """ - # Use Python floats to avoid creating mx.array scalars that - # could trigger type promotion (per fast-mlx guide) - dt = float(self.sigmas[self._step_index + 1].item()) - float(self.sigmas[self._step_index].item()) + """Euler step: x_next = x + (sigma_next - sigma_cur) * v.""" + dt = float(self.sigmas[self._step_index + 1].item()) - float( + self.sigmas[self._step_index].item() + ) x_next = sample + dt * model_output + self._step_index += 1 + return x_next + + def reset(self): + self._step_index = 0 + + +class FlowDPMPP2MScheduler: + """DPM-Solver++(2M) for flow matching diffusion. + + 2nd-order multistep solver that reuses the previous step's model output + for a correction term. Falls back to 1st order on the first and + (optionally) last step. Reference: Wan2.2 fm_solvers.py. + """ + + def __init__( + self, + num_train_timesteps: int = 1000, + lower_order_final: bool = True, + ): + self.num_train_timesteps = num_train_timesteps + self.lower_order_final = lower_order_final + self.timesteps = None + self.sigmas = None + + def set_timesteps(self, num_steps: int, shift: float = 1.0): + sigmas = _compute_sigmas(num_steps, shift) + self.sigmas = mx.array(sigmas) + self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) + # Store sigmas as Python floats for scalar math + self._sigmas_float = sigmas.tolist() + self._step_index = 0 + self._num_steps = num_steps + self._prev_x0 = None # previous x0 prediction for 2nd-order correction + + @staticmethod + def _lambda(sigma: float) -> float: + """log-SNR: lambda(sigma) = log((1-sigma)/sigma). + + Returns -inf at sigma=1.0 (pure noise) and +inf at sigma=0.0 (clean), + matching torch.log behavior in the official code. + """ + if sigma >= 1.0: + return -math.inf + if sigma <= 0.0: + return math.inf + return math.log((1.0 - sigma) / sigma) + + def step( + self, + model_output: mx.array, + timestep, + sample: mx.array, + ) -> mx.array: + """DPM++(2M) step for flow matching. + + Converts velocity prediction to x0, then applies 1st or 2nd order + update depending on available history. + """ + i = self._step_index + s = self._sigmas_float + + sigma_cur = s[i] + sigma_next = s[i + 1] + + # Convert velocity -> x0 prediction: x0 = sample - sigma * v + x0 = sample - sigma_cur * model_output + + # Decide order: 1st for first step, last step (if lower_order_final + # and few steps), otherwise 2nd + use_first_order = ( + self._prev_x0 is None + or ( + self.lower_order_final + and i == self._num_steps - 1 + and self._num_steps < 15 + ) + ) + + if use_first_order or sigma_next == 0.0: + # 1st order DPM++ (equivalent to DDIM): + # x_next = (σ_next/σ_cur)*x - (α_next*(exp(-h)-1))*x0 + if sigma_next == 0.0: + x_next = x0 + else: + lambda_cur = self._lambda(sigma_cur) + lambda_next = self._lambda(sigma_next) + h = lambda_next - lambda_cur + alpha_next = 1.0 - sigma_next + coeff_x = sigma_next / sigma_cur + coeff_x0 = alpha_next * math.expm1(-h) + x_next = coeff_x * sample - coeff_x0 * x0 + else: + # 2nd order DPM++(2M) with midpoint correction + sigma_prev = s[i - 1] + lambda_prev = self._lambda(sigma_prev) + lambda_cur = self._lambda(sigma_cur) + lambda_next = self._lambda(sigma_next) + + h = lambda_next - lambda_cur + h_0 = lambda_cur - lambda_prev + r0 = h_0 / h + + # D0 = current x0, D1 = correction from previous x0 + D0 = x0 + D1 = (1.0 / r0) * (x0 - self._prev_x0) + + alpha_next = 1.0 - sigma_next + exp_neg_h_m1 = math.expm1(-h) # exp(-h) - 1 + + x_next = ( + (sigma_next / sigma_cur) * sample + - (alpha_next * exp_neg_h_m1) * D0 + - 0.5 * (alpha_next * exp_neg_h_m1) * D1 + ) + + self._prev_x0 = x0 + self._step_index += 1 + return x_next + + def reset(self): + self._step_index = 0 + self._prev_x0 = None + + +class FlowUniPCScheduler: + """UniPC (Unified Predictor-Corrector) for flow matching diffusion. + + Multi-step predictor-corrector solver with configurable order. + The corrector refines each step using the model output that was already + computed, costing no extra model evaluations. Official Wan2.2 default. + Reference: Wan2.2 fm_solvers_unipc.py. + """ + + def __init__( + self, + num_train_timesteps: int = 1000, + solver_order: int = 2, + lower_order_final: bool = True, + disable_corrector: list | None = None, + use_corrector: bool = False, + ): + self.num_train_timesteps = num_train_timesteps + self.solver_order = solver_order + self.lower_order_final = lower_order_final + self._use_corrector = use_corrector + self.disable_corrector = set(disable_corrector or []) + self.timesteps = None + self.sigmas = None + + def set_timesteps(self, num_steps: int, shift: float = 1.0): + sigmas = _compute_sigmas(num_steps, shift) + self.sigmas = mx.array(sigmas) + self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) + self._sigmas_float = sigmas.tolist() + self._step_index = 0 + self._num_steps = num_steps + self._lower_order_nums = 0 + # Model output (x0) history for multi-step, stored newest-last + self._model_outputs = [None] * self.solver_order + self._last_sample = None # sample before prediction (for corrector) + self._this_order = 1 + + @staticmethod + def _lambda(sigma: float) -> float: + """log-SNR: lambda(sigma) = log((1-sigma)/sigma). + + Returns -inf at sigma=1.0 (pure noise) and +inf at sigma=0.0 (clean), + matching torch.log behavior in the official code. + """ + if sigma >= 1.0: + return -math.inf + if sigma <= 0.0: + return math.inf + return math.log((1.0 - sigma) / sigma) + + def _convert_output(self, velocity: mx.array, sample: mx.array) -> mx.array: + """Convert velocity prediction to x0: x0 = sample - sigma * v.""" + sigma = self._sigmas_float[self._step_index] + return sample - sigma * velocity + + def _uni_p_bh2(self, x0: mx.array, sample: mx.array, order: int) -> mx.array: + """UniP predictor with B(h)=expm1(-h) basis (bh2 variant). + + Matches official multistep_uni_p_bh_update: computes rhos_p via + linalg.solve for order >= 3; order <= 2 uses analytic rhos_p=[0.5]. + """ + i = self._step_index + s = self._sigmas_float + + sigma_s0 = s[i] + sigma_t = s[i + 1] + + if sigma_t == 0.0: + return x0 + + lambda_s0 = self._lambda(sigma_s0) + lambda_t = self._lambda(sigma_t) + h = lambda_t - lambda_s0 + hh = -h # negated for predict_x0 + + alpha_t = 1.0 - sigma_t + h_phi_1 = math.expm1(hh) + B_h = h_phi_1 + + m0 = self._model_outputs[-1] + # Base prediction + x_t = (sigma_t / sigma_s0) * sample - (alpha_t * h_phi_1) * m0 + + if order >= 2 and m0 is not None: + rks = [] + D1s = [] + for k in range(1, order): + si_idx = i - k + if si_idx < 0 or self._model_outputs[-(k + 1)] is None: + break + mk = self._model_outputs[-(k + 1)] + sigma_sk = s[si_idx] + lambda_sk = self._lambda(sigma_sk) + rk = (lambda_sk - lambda_s0) / h + if math.isinf(rk): + break + rks.append(rk) + D1s.append((mk - m0) / rk) + + if D1s: + effective_order = len(D1s) + 1 + if effective_order <= 2: + # Analytic solution for order 2 + rhos_p = [0.5] + else: + rks_arr = np.array(rks, dtype=np.float64) + h_phi_k = h_phi_1 / hh - 1.0 + factorial_i = 1 + R_rows = [] + b_vals = [] + for j in range(1, effective_order): + R_rows.append(rks_arr ** (j - 1)) + b_vals.append(float(h_phi_k * factorial_i / B_h)) + factorial_i *= j + 1 + h_phi_k = h_phi_k / hh - 1.0 / factorial_i + R = np.stack(R_rows) + b = np.array(b_vals) + rhos_p = np.linalg.solve(R, b).tolist() + + pred_res = sum(r * d for r, d in zip(rhos_p, D1s)) + x_t = x_t - (alpha_t * B_h) * pred_res + + return x_t + + def _uni_c_bh2( + self, + model_x0: mx.array, + last_sample: mx.array, + this_sample: mx.array, + order: int, + ) -> mx.array: + """UniC corrector with B(h)=expm1(-h) basis (bh2 variant). + + Matches official multistep_uni_c_bh_update: computes rhos_c via + linalg.solve for order >= 2 (not hardcoded 0.5). + """ + i = self._step_index + s = self._sigmas_float + + sigma_s0 = s[i - 1] + sigma_t = s[i] + + if sigma_t == 0.0: + return this_sample + + lambda_s0 = self._lambda(sigma_s0) + lambda_t = self._lambda(sigma_t) + h = lambda_t - lambda_s0 + hh = -h # negated for predict_x0 + + alpha_t = 1.0 - sigma_t + h_phi_1 = math.expm1(hh) + B_h = h_phi_1 + + m0 = self._model_outputs[-1] + # Re-derive base from last_sample + x_t_ = (sigma_t / sigma_s0) * last_sample - (alpha_t * h_phi_1) * m0 + + D1_t = model_x0 - m0 + + # Gather rks and D1s from history + rks = [] + D1s = [] + for k in range(1, order): + si_idx = i - (k + 1) + if si_idx < 0 or self._model_outputs[-(k + 1)] is None: + break + mk = self._model_outputs[-(k + 1)] + sigma_sk = s[si_idx] + lambda_sk = self._lambda(sigma_sk) + rk = (lambda_sk - lambda_s0) / h + if math.isinf(rk): + break # History references sigma=1.0 boundary; reduce order + rks.append(rk) + D1s.append((mk - m0) / rk) + rks.append(1.0) + effective_order = len(rks) # = len(D1s) + 1 + + # Compute rhos_c coefficients + if effective_order == 1: + rhos_c = [0.5] + else: + rks_arr = np.array(rks, dtype=np.float64) + h_phi_k = h_phi_1 / hh - 1.0 + factorial_i = 1 + R_rows = [] + b_vals = [] + for j in range(1, effective_order + 1): + R_rows.append(rks_arr ** (j - 1)) + b_vals.append(float(h_phi_k * factorial_i / B_h)) + factorial_i *= j + 1 + h_phi_k = h_phi_k / hh - 1.0 / factorial_i + R = np.stack(R_rows) + b = np.array(b_vals) + rhos_c = np.linalg.solve(R, b).tolist() + + # Apply correction + corr_res = mx.zeros_like(D1_t) + for k_idx, d1 in enumerate(D1s): + corr_res = corr_res + rhos_c[k_idx] * d1 + x_t = x_t_ - (alpha_t * B_h) * (corr_res + rhos_c[-1] * D1_t) + return x_t + + def step( + self, + model_output: mx.array, + timestep, + sample: mx.array, + ) -> mx.array: + """UniPC step: correct current, then predict next.""" + i = self._step_index + + # Convert velocity -> x0 + x0 = self._convert_output(model_output, sample) + + # 1. Corrector: refine current sample if we have history + use_corrector = ( + self._use_corrector + and i > 0 + and (i - 1) not in self.disable_corrector + and self._last_sample is not None + ) + if use_corrector: + sample = self._uni_c_bh2(x0, self._last_sample, sample, self._this_order) + + # 2. Shift model output history + for k in range(self.solver_order - 1): + self._model_outputs[k] = self._model_outputs[k + 1] + self._model_outputs[-1] = x0 + + # 3. Determine prediction order + if self.lower_order_final: + this_order = min(self.solver_order, self._num_steps - i) + else: + this_order = self.solver_order + self._this_order = min(this_order, self._lower_order_nums + 1) + + # 4. Predict next sample + self._last_sample = sample + x_next = self._uni_p_bh2(x0, sample, self._this_order) + + if self._lower_order_nums < self.solver_order: + self._lower_order_nums += 1 self._step_index += 1 return x_next def reset(self): - """Reset step counter for new generation.""" self._step_index = 0 + self._lower_order_nums = 0 + self._model_outputs = [None] * self.solver_order + self._last_sample = None + self._this_order = 1 diff --git a/mlx_video/models/wan/text_encoder.py b/mlx_video/models/wan/text_encoder.py index 8eaac36..d325ed5 100644 --- a/mlx_video/models/wan/text_encoder.py +++ b/mlx_video/models/wan/text_encoder.py @@ -106,29 +106,35 @@ class T5Attention(nn.Module): k = self.k(context).reshape(b, -1, n, c) # [B, Lk, N, C] v = self.v(context).reshape(b, -1, n, c) - # T5 does not use scaling - # attn = einsum('binc,bjnc->bnij', q, k) + # T5 uses no scaling — compute attention manually with float32 softmax + # to match official: F.softmax(attn.float(), dim=-1).type_as(attn) + # Using SDPA with bfloat16 inputs causes precision loss in softmax + # since unscaled logits can be very large (no 1/sqrt(d) division). q = q.transpose(0, 2, 1, 3) # [B, N, Lq, C] k = k.transpose(0, 2, 1, 3) v = v.transpose(0, 2, 1, 3) - # Combine position bias and attention mask for SDPA - attn_mask = None + # QK^T (no scaling) — compute in float32 for precision + attn = (q.astype(mx.float32) @ k.astype(mx.float32).transpose(0, 1, 3, 2)) + + # Add position bias if pos_bias is not None: - attn_mask = pos_bias.astype(q.dtype) + attn = attn + pos_bias.astype(mx.float32) + + # Apply attention mask (use dtype min like official, not -1e9) if mask is not None: if mask.ndim == 2: mask = mask[:, None, None, :] # [B, 1, 1, Lk] elif mask.ndim == 3: mask = mask[:, None, :, :] # [B, 1, Lq, Lk] - additive_mask = mx.where(mask == 0, -1e9, 0.0).astype(q.dtype) - attn_mask = (attn_mask + additive_mask) if attn_mask is not None else additive_mask + additive_mask = mx.where(mask == 0, -3.389e38, 0.0).astype(mx.float32) + attn = attn + additive_mask - # T5 uses no scaling (scale=1.0) - out = mx.fast.scaled_dot_product_attention( - q, k, v, scale=1.0, mask=attn_mask - ) - out = out.transpose(0, 2, 1, 3).reshape(b, -1, n * c) + # Softmax in float32 (matches official), then cast back + attn = mx.softmax(attn, axis=-1).astype(q.dtype) + + # Attention @ V + out = (attn @ v).transpose(0, 2, 1, 3).reshape(b, -1, n * c) return self.o(out) diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py index c48b7cb..8865542 100644 --- a/mlx_video/models/wan/vae22.py +++ b/mlx_video/models/wan/vae22.py @@ -288,21 +288,34 @@ class Resample(nn.Module): B, T, H, W, C = x.shape if self.mode == "upsample3d": - # Temporal upsample via time_conv - tc_out = self.time_conv(x) # [B, T, H, W, 2C] - # Split into two interleaved temporal streams - tc_out = tc_out.reshape(B, T, H, W, 2, C) - # Interleave: [B, T, 2, H, W, C] → [B, T*2, H, W, C] - stream0 = tc_out[:, :, :, :, 0, :] # [B, T, H, W, C] - stream1 = tc_out[:, :, :, :, 1, :] # [B, T, H, W, C] - x = mx.stack([stream0, stream1], axis=2) # [B, T, 2, H, W, C] - x = x.reshape(B, T * 2, H, W, C) + if first_chunk and T > 1: + # Match official chunked behavior: the first frame bypasses + # time_conv entirely (only spatial upsample). Remaining frames + # go through time_conv with causal zero-padding, which + # naturally gives each frame the same limited temporal context + # as the official frame-by-frame decode with caching. + first_frame = x[:, 0:1] # [B, 1, H, W, C] + rest = x[:, 1:] # [B, T-1, H, W, C] - if first_chunk: - # PyTorch skips time_conv for first chunk entirely. In all-at-once - # mode, we trim the first frame to match (the first interleaved - # frame is from zero-padded causal context and shouldn't be kept). - x = x[:, 1:, :, :, :] + # time_conv on remaining frames (causal pad gives zero context + # before rest[0], matching the official "Rep" cache path) + tc_out = self.time_conv(rest) # [B, T-1, H, W, 2C] + tc_out = tc_out.reshape(B, T - 1, H, W, 2, C) + stream0 = tc_out[:, :, :, :, 0, :] + stream1 = tc_out[:, :, :, :, 1, :] + interleaved = mx.stack([stream0, stream1], axis=2) + interleaved = interleaved.reshape(B, (T - 1) * 2, H, W, C) + + # first_frame (1) + interleaved (2*(T-1)) = 2T-1 frames + x = mx.concatenate([first_frame, interleaved], axis=1) + elif self.mode == "upsample3d": + # Non-first-chunk or single frame: time_conv all frames + tc_out = self.time_conv(x) # [B, T, H, W, 2C] + tc_out = tc_out.reshape(B, T, H, W, 2, C) + stream0 = tc_out[:, :, :, :, 0, :] + stream1 = tc_out[:, :, :, :, 1, :] + x = mx.stack([stream0, stream1], axis=2) + x = x.reshape(B, T * 2, H, W, C) mx.eval(x) T = x.shape[1] diff --git a/pyproject.toml b/pyproject.toml index 843eb5e..198956d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ dependencies = [ "mlx-vlm", "imageio>=2.37.2", "imageio-ffmpeg>=0.6.0", + "ftfy", ] license = {text="MIT"} authors = [ diff --git a/tests/test_wan.py b/tests/test_wan.py index 0c6976d..9a35bbd 100644 --- a/tests/test_wan.py +++ b/tests/test_wan.py @@ -1449,5 +1449,1264 @@ class TestWan21Convert: assert d["sample_shift"] == 5.0 +# --------------------------------------------------------------------------- +# Shared Sigma Schedule Tests +# --------------------------------------------------------------------------- + + +class TestComputeSigmas: + """Tests for the shared _compute_sigmas helper.""" + + def test_length(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(20, shift=5.0) + assert len(sigmas) == 21 # num_steps + terminal + + def test_terminal_zero(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(10, shift=1.0) + assert sigmas[-1] == 0.0 + + def test_starts_at_one(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(20, shift=5.0) + np.testing.assert_allclose(sigmas[0], 1.0, atol=1e-6) + + def test_decreasing(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(20, shift=5.0) + assert np.all(np.diff(sigmas) <= 0) + + def test_matches_official_wan22(self): + """Sigma schedule should match the official Wan2.2 get_sampling_sigmas.""" + from mlx_video.models.wan.scheduler import _compute_sigmas + steps, shift = 50, 5.0 + sigmas = _compute_sigmas(steps, shift) + # Official: sigma = linspace(1, 0, steps+1)[:steps]; sigma = shift*sigma/(1+(shift-1)*sigma) + official = np.linspace(1, 0, steps + 1)[:steps] + official = shift * official / (1 + (shift - 1) * official) + official = np.append(official, 0.0).astype(np.float32) + np.testing.assert_allclose(sigmas, official, atol=1e-6) + + def test_shift_one_is_linear(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(10, shift=1.0) + # With shift=1, f(sigma)=sigma, so schedule is linear from 1 to 0 + expected = np.linspace(1, 0, 11).astype(np.float32) + np.testing.assert_allclose(sigmas, expected, atol=1e-6) + + def test_all_schedulers_same_sigmas(self): + """All three schedulers should produce identical sigma schedules.""" + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) + scheds = [ + FlowMatchEulerScheduler(1000), + FlowDPMPP2MScheduler(1000), + FlowUniPCScheduler(1000), + ] + for s in scheds: + s.set_timesteps(20, shift=5.0) + mx.eval(*[s.sigmas for s in scheds]) + ref = np.array(scheds[0].sigmas) + for s in scheds[1:]: + np.testing.assert_allclose(np.array(s.sigmas), ref, atol=1e-6) + + def test_all_schedulers_same_timesteps(self): + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) + scheds = [ + FlowMatchEulerScheduler(1000), + FlowDPMPP2MScheduler(1000), + FlowUniPCScheduler(1000), + ] + for s in scheds: + s.set_timesteps(30, shift=12.0) + mx.eval(*[s.timesteps for s in scheds]) + ref = np.array(scheds[0].timesteps) + for s in scheds[1:]: + np.testing.assert_allclose(np.array(s.timesteps), ref, atol=1e-3) + + +# --------------------------------------------------------------------------- +# DPM++ 2M Scheduler Tests +# --------------------------------------------------------------------------- + + +class TestFlowDPMPP2MScheduler: + def test_initialization(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + assert sched.num_train_timesteps == 1000 + assert sched.lower_order_final is True + + def test_set_timesteps(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(20, shift=5.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (20,) + assert sched.sigmas.shape == (21,) + + def test_step_index_increments(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 4, 1, 2, 2)) + vel = mx.zeros_like(sample) + assert sched._step_index == 0 + sched.step(vel, sched.timesteps[0], sample) + assert sched._step_index == 1 + sched.step(vel, sched.timesteps[1], sample) + assert sched._step_index == 2 + + def test_reset(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + sched.step(mx.zeros_like(sample), 0, sample) + sched.reset() + assert sched._step_index == 0 + assert sched._prev_x0 is None + + def test_full_loop_finite(self): + """Full loop with constant velocity should produce finite output.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(10, shift=1.0) + sample = mx.ones((1, 2, 1, 2, 2)) + for i in range(10): + vel = mx.ones_like(sample) * 0.1 + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_first_step_is_first_order(self): + """First step should use 1st-order (no prev_x0 available).""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 4, 2, 4, 4)) + vel = mx.random.normal(sample.shape) + # Before first step, no prev_x0 + assert sched._prev_x0 is None + result = sched.step(vel, sched.timesteps[0], sample) + mx.eval(result) + # After first step, prev_x0 should be set + assert sched._prev_x0 is not None + + def test_second_step_uses_correction(self): + """After first step, DPM++ should have stored prev_x0 for correction.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 4, 1, 2, 2)) + vel = mx.random.normal(sample.shape) + # Step 1 + sample = sched.step(vel, sched.timesteps[0], sample) + mx.eval(sample) + x0_after_first = sched._prev_x0 + # Step 2 + vel = mx.random.normal(sample.shape) + sample = sched.step(vel, sched.timesteps[1], sample) + mx.eval(sample) + # prev_x0 should have been updated + x0_after_second = sched._prev_x0 + assert x0_after_second is not None + # The stored x0 should differ from the first step's + assert not np.allclose(np.array(x0_after_first), np.array(x0_after_second), atol=1e-6) + + def test_denoise_to_target(self): + """Perfect oracle should denoise to target with any solver.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(20, shift=5.0) + target = mx.zeros((1, 2, 1, 4, 4)) + latents = mx.random.normal(target.shape) + for i in range(20): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-6) # perfect velocity for target=0 + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + np.testing.assert_allclose(np.array(latents), 0.0, atol=1e-3) + + @pytest.mark.parametrize("steps", [5, 10, 20, 50]) + def test_various_step_counts(self, steps): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(steps, shift=5.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (steps,) + assert sched.sigmas.shape == (steps + 1,) + + def test_terminal_sigma_produces_x0(self): + """When sigma_next=0 the scheduler should return x0 directly.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) * 3.0 + vel = mx.ones_like(sample) * 2.0 + # Run through all steps; the last step has sigma_next=0 + for i in range(5): + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + # Final value should be finite + assert np.isfinite(np.array(sample)).all() + + +# --------------------------------------------------------------------------- +# UniPC Scheduler Tests +# --------------------------------------------------------------------------- + + +class TestFlowUniPCScheduler: + def test_initialization(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + assert sched.num_train_timesteps == 1000 + assert sched.solver_order == 2 + assert sched.lower_order_final is True + + def test_set_timesteps(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(30, shift=12.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (30,) + assert sched.sigmas.shape == (31,) + + def test_step_index_increments(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + vel = mx.zeros_like(sample) + assert sched._step_index == 0 + sched.step(vel, 0, sample) + assert sched._step_index == 1 + + def test_reset(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + sched.step(mx.zeros_like(sample), 0, sample) + sched.reset() + assert sched._step_index == 0 + assert sched._lower_order_nums == 0 + assert sched._last_sample is None + assert all(m is None for m in sched._model_outputs) + + def test_full_loop_finite(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(10, shift=1.0) + sample = mx.ones((1, 2, 1, 2, 2)) + for i in range(10): + vel = mx.ones_like(sample) * 0.1 + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_corrector_not_applied_first_step(self): + """First step should skip the corrector (no history).""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(use_corrector=True) + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 4, 1, 2, 2)) + vel = mx.random.normal(sample.shape) + # Before step 0: no last_sample + assert sched._last_sample is None + sched.step(vel, sched.timesteps[0], sample) + # After step 0: last_sample should be set for corrector on step 1 + assert sched._last_sample is not None + + def test_corrector_applied_after_first_step(self): + """Steps after the first should use the corrector when enabled.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(use_corrector=True) + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 2, 1, 4, 4)) + for i in range(3): + vel = mx.random.normal(sample.shape) + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + # lower_order_nums should have increased + assert sched._lower_order_nums >= 2 + + def test_denoise_to_target(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(20, shift=5.0) + target = mx.zeros((1, 2, 1, 4, 4)) + latents = mx.random.normal(target.shape) + for i in range(20): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-6) + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + np.testing.assert_allclose(np.array(latents), 0.0, atol=1e-3) + + @pytest.mark.parametrize("steps", [5, 10, 20, 50]) + def test_various_step_counts(self, steps): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(steps, shift=5.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (steps,) + assert sched.sigmas.shape == (steps + 1,) + + def test_disable_corrector(self): + """Disabling corrector on step 0 should still work without error.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(use_corrector=True, disable_corrector=[0]) + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 2, 2)) + for i in range(5): + vel = mx.ones_like(sample) * 0.1 + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_solver_order_3(self): + """Order 3 should work without error.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(solver_order=3, use_corrector=True) + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 2, 1, 2, 2)) + for i in range(10): + vel = mx.random.normal(sample.shape) + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_corrector_rhos_c_not_hardcoded(self): + """Corrector rhos_c should be computed via linalg.solve, not hardcoded 0.5.""" + import math + # For 50-step schedule with shift=5.0, order 2 corrector at step 5: + # rhos_c[0] (history) should be ~0.07, NOT 0.5 + # rhos_c[1] (D1_t) should be ~0.45, NOT 0.5 + from mlx_video.models.wan.scheduler import _compute_sigmas + + sigmas = _compute_sigmas(50, shift=5.0) + + def _lambda(sigma): + if sigma >= 1.0: + return -math.inf + if sigma <= 0.0: + return math.inf + return math.log(1 - sigma) - math.log(sigma) + + for step_idx in [5, 10, 25, 45]: + sigma_s0 = sigmas[step_idx - 1] + sigma_t = sigmas[step_idx] + lambda_s0 = _lambda(sigma_s0) + lambda_t = _lambda(sigma_t) + h = lambda_t - lambda_s0 + hh = -h + + sigma_sk = sigmas[step_idx - 2] + lambda_sk = _lambda(sigma_sk) + rk = (lambda_sk - lambda_s0) / h + rks = np.array([rk, 1.0]) + + h_phi_1 = math.expm1(hh) + B_h = h_phi_1 + h_phi_k = h_phi_1 / hh - 1.0 + factorial_i = 1 + R_rows, b_vals = [], [] + for j in range(1, 3): + R_rows.append(rks ** (j - 1)) + b_vals.append(h_phi_k * factorial_i / B_h) + factorial_i *= j + 1 + h_phi_k = h_phi_k / hh - 1.0 / factorial_i + R = np.stack(R_rows) + b = np.array(b_vals) + rhos_c = np.linalg.solve(R, b) + + # History weight should be small (~0.07-0.09), not 0.5 + assert rhos_c[0] < 0.15, f"Step {step_idx}: rhos_c[0]={rhos_c[0]:.4f} too large" + assert rhos_c[0] > 0.0, f"Step {step_idx}: rhos_c[0]={rhos_c[0]:.4f} should be positive" + # D1_t weight should be ~0.42-0.45, not 0.5 + assert 0.3 < rhos_c[1] < 0.5, f"Step {step_idx}: rhos_c[1]={rhos_c[1]:.4f} out of range" + + +class TestSchedulerCoherence: + """Tests that Euler, DPM++, and UniPC schedulers produce coherent results. + + All three schedulers should agree on shared structure (sigma schedules, + first-step behavior) and converge to the same result given perfect + velocity oracles, even though they use different update rules. + """ + + @staticmethod + def _make_schedulers(steps=10, shift=5.0): + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) + + scheds = { + "euler": FlowMatchEulerScheduler(), + "dpm++": FlowDPMPP2MScheduler(), + "unipc": FlowUniPCScheduler(), + } + for s in scheds.values(): + s.set_timesteps(steps, shift=shift) + return scheds + + def test_identical_sigma_schedules(self): + """All schedulers must use the same sigma schedule.""" + scheds = self._make_schedulers(20, shift=5.0) + ref = np.array(scheds["euler"].sigmas) + for name in ("dpm++", "unipc"): + np.testing.assert_allclose( + np.array(scheds[name].sigmas), + ref, + atol=1e-6, + err_msg=f"{name} sigma schedule differs from Euler", + ) + + def test_identical_timesteps(self): + """All schedulers must produce the same timestep sequence.""" + scheds = self._make_schedulers(20, shift=5.0) + ref = np.array(scheds["euler"].timesteps) + for name in ("dpm++", "unipc"): + np.testing.assert_allclose( + np.array(scheds[name].timesteps), + ref, + atol=1e-6, + err_msg=f"{name} timesteps differ from Euler", + ) + + def test_first_step_matches_euler(self): + """Step 0 (1st-order for all solvers) should match Euler exactly.""" + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + scheds = self._make_schedulers(10, shift=5.0) + results = {} + for name, sched in scheds.items(): + r = sched.step(vel, sched.timesteps[0], noise) + mx.eval(r) + results[name] = np.array(r) + + np.testing.assert_allclose( + results["dpm++"], results["euler"], atol=1e-5, + err_msg="DPM++ step 0 should match Euler", + ) + np.testing.assert_allclose( + results["unipc"], results["euler"], atol=1e-5, + err_msg="UniPC step 0 should match Euler", + ) + + def test_first_step_matches_across_shifts(self): + """Step 0 should match Euler for different shift values.""" + mx.random.seed(99) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + for shift in (1.0, 5.0, 12.0): + scheds = self._make_schedulers(10, shift=shift) + euler_r = scheds["euler"].step(vel, scheds["euler"].timesteps[0], noise) + dpm_r = scheds["dpm++"].step(vel, scheds["dpm++"].timesteps[0], noise) + unipc_r = scheds["unipc"].step(vel, scheds["unipc"].timesteps[0], noise) + mx.eval(euler_r, dpm_r, unipc_r) + np.testing.assert_allclose( + np.array(dpm_r), np.array(euler_r), atol=1e-5, + err_msg=f"DPM++ step 0 differs from Euler at shift={shift}", + ) + np.testing.assert_allclose( + np.array(unipc_r), np.array(euler_r), atol=1e-5, + err_msg=f"UniPC step 0 differs from Euler at shift={shift}", + ) + + def test_oracle_all_converge_to_target(self): + """Given a perfect velocity oracle v=x/sigma, all solvers should + denoise to approximately zero (the target).""" + mx.random.seed(7) + shape = (1, 2, 1, 4, 4) + noise = mx.random.normal(shape) + + for name, sched in self._make_schedulers(20, shift=5.0).items(): + latents = noise + for i in range(20): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-8) + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + np.testing.assert_allclose( + np.array(latents), 0.0, atol=1e-3, + err_msg=f"{name} did not converge to target with oracle", + ) + + def test_oracle_higher_order_closer_to_target(self): + """With few steps and a perfect oracle, higher-order solvers should + be at least as accurate as Euler.""" + mx.random.seed(12) + shape = (1, 2, 1, 4, 4) + noise = mx.random.normal(shape) + steps = 5 + + errors = {} + for name, sched in self._make_schedulers(steps, shift=5.0).items(): + latents = noise + for i in range(steps): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-8) + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + errors[name] = float(mx.mean(mx.abs(latents)).item()) + + # Higher-order solvers should not be significantly worse than Euler + assert errors["dpm++"] <= errors["euler"] * 1.5, ( + f"DPM++ error {errors['dpm++']:.6f} much worse than Euler {errors['euler']:.6f}" + ) + assert errors["unipc"] <= errors["euler"] * 1.5, ( + f"UniPC error {errors['unipc']:.6f} much worse than Euler {errors['euler']:.6f}" + ) + + def test_multistep_trajectory_similar_magnitude(self): + """Over a full denoising loop with constant velocity, all solvers + should produce outputs of similar magnitude (not diverging).""" + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + steps = 20 + + final_means = {} + for name, sched in self._make_schedulers(steps, shift=5.0).items(): + latents = noise + for i in range(steps): + vel = latents * 0.1 + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + final_means[name] = float(mx.mean(mx.abs(latents)).item()) + + # All solvers should produce results within the same order of magnitude + vals = list(final_means.values()) + ratio = max(vals) / max(min(vals), 1e-10) + assert ratio < 10.0, ( + f"Scheduler outputs diverge too much: {final_means}, ratio={ratio:.1f}" + ) + + def test_intermediate_values_finite(self): + """Every intermediate latent value must be finite for all solvers.""" + mx.random.seed(0) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + + for name, sched in self._make_schedulers(15, shift=5.0).items(): + latents = noise + for i in range(15): + vel = mx.random.normal(shape) + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + assert np.isfinite(np.array(latents)).all(), ( + f"{name} produced non-finite values at step {i}" + ) + + def test_lambda_boundary_values(self): + """_lambda must return -inf at sigma=1.0 and +inf at sigma=0.0.""" + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowUniPCScheduler, + ) + + for cls in (FlowDPMPP2MScheduler, FlowUniPCScheduler): + assert cls._lambda(1.0) == -math.inf, ( + f"{cls.__name__}._lambda(1.0) should be -inf" + ) + assert cls._lambda(0.0) == math.inf, ( + f"{cls.__name__}._lambda(0.0) should be +inf" + ) + # Interior values should be finite + lam = cls._lambda(0.5) + assert math.isfinite(lam) and lam == 0.0, ( + f"{cls.__name__}._lambda(0.5) should be 0.0" + ) + + def test_lambda_monotonically_decreasing(self): + """_lambda(sigma) should decrease as sigma increases (more noise → lower SNR).""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + + sigmas = [0.01, 0.1, 0.3, 0.5, 0.7, 0.9, 0.99] + lambdas = [FlowDPMPP2MScheduler._lambda(s) for s in sigmas] + for i in range(len(lambdas) - 1): + assert lambdas[i] > lambdas[i + 1], ( + f"_lambda not decreasing: _lambda({sigmas[i]})={lambdas[i]} " + f"vs _lambda({sigmas[i+1]})={lambdas[i+1]}" + ) + + def test_step0_is_ddim_formula(self): + """At sigma=1.0, the DPM++/UniPC first step should reduce to the + DDIM formula: x_next = sigma_next * x + (1 - sigma_next) * x0.""" + mx.random.seed(55) + shape = (1, 2, 1, 2, 2) + sample = mx.random.normal(shape) + vel = mx.random.normal(shape) + + for steps, shift in [(10, 5.0), (20, 12.0)]: + scheds = self._make_schedulers(steps, shift=shift) + sigma_next = float(scheds["euler"].sigmas[1].item()) + sigma_cur = float(scheds["euler"].sigmas[0].item()) + assert abs(sigma_cur - 1.0) < 1e-6, "First sigma should be ~1.0" + + x0 = sample - sigma_cur * vel + expected = sigma_next * sample + (1.0 - sigma_next) * x0 + mx.eval(expected) + + for name in ("dpm++", "unipc"): + result = scheds[name].step(vel, scheds[name].timesteps[0], sample) + mx.eval(result) + np.testing.assert_allclose( + np.array(result), np.array(expected), atol=1e-5, + err_msg=f"{name} step 0 doesn't match DDIM formula (shift={shift})", + ) + + @pytest.mark.parametrize("steps", [5, 10, 20, 50]) + def test_coherent_across_step_counts(self, steps): + """All solvers should agree on step 0 regardless of total step count.""" + mx.random.seed(77) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + scheds = self._make_schedulers(steps, shift=5.0) + results = {} + for name, sched in scheds.items(): + r = sched.step(vel, sched.timesteps[0], noise) + mx.eval(r) + results[name] = np.array(r) + + np.testing.assert_allclose( + results["dpm++"], results["euler"], atol=1e-5, + ) + np.testing.assert_allclose( + results["unipc"], results["euler"], atol=1e-5, + ) + + def test_dpmpp_unipc_agree_on_step1(self): + """After warmup, DPM++ and UniPC step 1 should be similar + (both use 2nd-order corrections based on the same model outputs).""" + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + + scheds = self._make_schedulers(10, shift=5.0) + # Run step 0 with same velocity + vel0 = mx.random.normal(shape) + for sched in scheds.values(): + sched.step(vel0, sched.timesteps[0], noise) + + # Run step 1 from same sample with same velocity + sample1 = scheds["euler"].step(vel0, scheds["euler"].timesteps[0], noise) + mx.eval(sample1) + vel1 = mx.random.normal(shape) + + r_dpm = scheds["dpm++"].step(vel1, scheds["dpm++"].timesteps[1], sample1) + r_unipc = scheds["unipc"].step(vel1, scheds["unipc"].timesteps[1], sample1) + mx.eval(r_dpm, r_unipc) + + # They won't be identical (different correction formulas) but should + # be in the same ballpark (within 50% of each other's magnitude) + mean_dpm = float(mx.mean(mx.abs(r_dpm)).item()) + mean_unipc = float(mx.mean(mx.abs(r_unipc)).item()) + ratio = max(mean_dpm, mean_unipc) / max(min(mean_dpm, mean_unipc), 1e-10) + assert ratio < 2.0, ( + f"DPM++ and UniPC step 1 differ too much: " + f"DPM++={mean_dpm:.4f}, UniPC={mean_unipc:.4f}" + ) + + def test_reset_makes_solvers_reproducible(self): + """After reset(), running the same loop should produce identical output.""" + mx.random.seed(42) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler, FlowUniPCScheduler + + for cls in (FlowDPMPP2MScheduler, FlowUniPCScheduler): + sched = cls() + sched.set_timesteps(5, shift=5.0) + + # First run + latents = noise + for i in range(5): + vel = latents * 0.1 + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + result1 = np.array(latents) + + # Reset and run again + sched.reset() + latents = noise + for i in range(5): + vel = latents * 0.1 + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + result2 = np.array(latents) + + np.testing.assert_allclose(result1, result2, atol=1e-5, + err_msg=f"{cls.__name__} not reproducible after reset()") + + +# --------------------------------------------------------------------------- +# Wan2.2 VAE Component Tests +# --------------------------------------------------------------------------- + + +class TestVAE22CausalConv3d: + """Tests for vae22.CausalConv3d (channels-last).""" + + def test_output_shape_k3(self): + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(8, 16, kernel_size=3, padding=1) + x = mx.random.normal((1, 4, 8, 8, 8)) # [B, T, H, W, C] + out = conv(x) + mx.eval(out) + assert out.shape == (1, 4, 8, 8, 16) + + def test_output_shape_k1(self): + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(8, 16, kernel_size=1) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = conv(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_temporal_causal(self): + """Output at t=0 should not depend on t>0.""" + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(2, 2, kernel_size=3, padding=1) + conv.weight = mx.random.normal(conv.weight.shape) * 0.1 + conv.bias = mx.zeros(conv.bias.shape) + + x = mx.zeros((1, 4, 4, 4, 2)) + out_zero = conv(x) + mx.eval(out_zero) + t0_ref = np.array(out_zero[0, 0]) + + # Modify t=2..3; output at t=0 should be unchanged + x_mod = mx.concatenate([ + x[:, :2], + mx.ones((1, 2, 4, 4, 2)), + ], axis=1) + out_mod = conv(x_mod) + mx.eval(out_mod) + t0_mod = np.array(out_mod[0, 0]) + np.testing.assert_allclose(t0_ref, t0_mod, atol=1e-5) + + def test_channels_last_format(self): + """Verify input/output are channels-last [B, T, H, W, C].""" + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(4, 8, kernel_size=3, padding=1) + x = mx.random.normal((2, 3, 6, 6, 4)) + out = conv(x) + mx.eval(out) + assert out.shape[-1] == 8 # last dim = out_channels + + +class TestRMSNorm: + """Tests for vae22.RMS_norm (actually L2 normalization).""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import RMS_norm + norm = RMS_norm(16) + x = mx.random.normal((2, 4, 4, 4, 16)) + out = norm(x) + mx.eval(out) + assert out.shape == x.shape + + def test_l2_normalization(self): + """RMS_norm should normalize to unit L2 norm * sqrt(dim).""" + from mlx_video.models.wan.vae22 import RMS_norm + dim = 32 + norm = RMS_norm(dim) + x = mx.random.normal((1, 1, 1, 1, dim)) * 5.0 # large values + out = norm(x) + mx.eval(out) + # After L2 norm * scale(=sqrt(dim)) * gamma(=1): ||out|| = sqrt(dim) + out_np = np.array(out).flatten() + l2 = np.linalg.norm(out_np) + np.testing.assert_allclose(l2, math.sqrt(dim), rtol=1e-3) + + def test_scale_invariant(self): + """Scaling input by constant should not change output (L2 norm property).""" + from mlx_video.models.wan.vae22 import RMS_norm + norm = RMS_norm(8) + x = mx.random.normal((1, 1, 1, 1, 8)) + out1 = norm(x) + out2 = norm(x * 10.0) + mx.eval(out1, out2) + np.testing.assert_allclose(np.array(out1), np.array(out2), atol=1e-4) + + def test_gamma_effect(self): + """Non-unit gamma should scale output.""" + from mlx_video.models.wan.vae22 import RMS_norm + norm = RMS_norm(4) + norm.gamma = mx.array([2.0, 2.0, 2.0, 2.0]) + x = mx.ones((1, 1, 1, 1, 4)) + out = norm(x) + mx.eval(out) + # With gamma=2, each component is 2 * sqrt(4) * x/||x|| = 2 * 2 * 1/2 = 2 + np.testing.assert_allclose(np.array(out).flatten(), 2.0, atol=1e-4) + + +class TestDupUp3D: + """Tests for vae22.DupUp3D spatial/temporal upsampling.""" + + def test_spatial_only(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(8, 4, factor_t=1, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 8)) + out = up(x) + mx.eval(out) + assert out.shape == (1, 3, 8, 8, 4) + + def test_temporal_and_spatial(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(16, 8, factor_t=2, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 16)) + out = up(x) + mx.eval(out) + assert out.shape == (1, 6, 8, 8, 8) + + def test_first_chunk_trims(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(8, 4, factor_t=2, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 8)) + out_normal = up(x, first_chunk=False) + out_trimmed = up(x, first_chunk=True) + mx.eval(out_normal, out_trimmed) + # first_chunk removes factor_t-1=1 temporal frame + assert out_normal.shape[1] == 6 + assert out_trimmed.shape[1] == 5 + + def test_no_temporal_first_chunk_noop(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(8, 4, factor_t=1, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 8)) + out_normal = up(x, first_chunk=False) + out_trimmed = up(x, first_chunk=True) + mx.eval(out_normal, out_trimmed) + # factor_t=1, so first_chunk removes 0 frames + assert out_normal.shape == out_trimmed.shape + + +class TestVAE22Resample: + """Tests for vae22.Resample (spatial/temporal upsampling).""" + + def test_upsample2d_shape(self): + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample2d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 8)) + out = r(x) + mx.eval(out) + assert out.shape == (1, 2, 8, 8, 8) # 2x spatial, same temporal + + def test_upsample3d_shape(self): + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample3d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 8)) + out = r(x) + mx.eval(out) + assert out.shape == (1, 4, 8, 8, 8) # 2x spatial + 2x temporal + + def test_upsample3d_first_chunk(self): + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample3d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 8)) + out = r(x, first_chunk=True) + mx.eval(out) + # first_chunk: 1 (bypass) + 2*(T-1) (interleaved) = 2T-1 = 3 + assert out.shape == (1, 3, 8, 8, 8) + + def test_upsample3d_first_chunk_single_frame(self): + """Single-frame input with first_chunk: no temporal upsample.""" + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample3d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 1, 4, 4, 8)) + out = r(x, first_chunk=True) + mx.eval(out) + # Single frame with first_chunk: falls through to non-first path + # time_conv on 1 frame → 2 interleaved + assert out.shape == (1, 2, 8, 8, 8) + + def test_upsample3d_first_frame_bypasses_time_conv(self): + """First frame of first_chunk should NOT go through time_conv. + + Official Wan2.2 skips time_conv for the very first frame entirely. + We verify this by checking that the first output frame depends only on + the first input frame (not on time_conv parameters). + """ + from mlx_video.models.wan.vae22 import Resample + C = 8 + r = Resample(C, "upsample3d") + # Set time_conv weights to large values so its effect is detectable + r.time_conv.weight = mx.ones(r.time_conv.weight.shape) * 10.0 + r.time_conv.bias = mx.zeros(r.time_conv.bias.shape) + # Set spatial conv to identity-like + r.resample_weight = mx.zeros(r.resample_weight.shape) + r.resample_bias = mx.zeros(r.resample_bias.shape) + + x = mx.random.normal((1, 3, 2, 2, C)) + out = r(x, first_chunk=True) + mx.eval(out) + # Output: 5 frames (1 bypass + 4 interleaved from 2 remaining) + assert out.shape[1] == 5 + + # First frame should be spatial upsample of x[:, 0:1] only. + # Run just the first frame through spatial upsample for reference + first_only = x[:, 0:1] + ref = r._upsample2x(first_only.reshape(1, 2, 2, C)) + ref = mx.pad(ref, [(0, 0), (1, 1), (1, 1), (0, 0)]) + ref = mx.conv_general(ref, r.resample_weight) + r.resample_bias + mx.eval(ref) + + # Compare first output frame to reference + first_out = out[:, 0:1].reshape(1, out.shape[2], out.shape[3], C) + mx.eval(first_out) + assert mx.allclose(first_out, ref, atol=1e-5).item(), \ + "First frame should bypass time_conv and match spatial-only upsample" + + +class TestVAE22ResidualBlock: + """Tests for vae22.ResidualBlock.""" + + def test_same_dim(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 8) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 8) + + def test_different_dim(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 16) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_shortcut_when_dims_differ(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 16) + assert block.shortcut is not None + + def test_no_shortcut_same_dim(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 8) + assert block.shortcut is None + + +class TestResidualBlockLayers: + """Tests for vae22.ResidualBlockLayers naming convention.""" + + def test_layer_names_no_underscore_prefix(self): + """Layer names must NOT start with underscore (MLX ignores them).""" + from mlx_video.models.wan.vae22 import ResidualBlockLayers + block = ResidualBlockLayers(8, 8) + params = dict(block.parameters()) + # All param keys should use layer_N, not _layer_N + for key in params: + assert not key.startswith("_"), f"Parameter {key} starts with underscore" + + def test_has_expected_layers(self): + from mlx_video.models.wan.vae22 import ResidualBlockLayers + block = ResidualBlockLayers(8, 16) + assert hasattr(block, "layer_0") # first RMS_norm + assert hasattr(block, "layer_2") # first CausalConv3d + assert hasattr(block, "layer_3") # second RMS_norm + assert hasattr(block, "layer_6") # second CausalConv3d + + def test_forward_shape(self): + from mlx_video.models.wan.vae22 import ResidualBlockLayers + block = ResidualBlockLayers(8, 16) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + +class TestVAE22AttentionBlock: + """Tests for vae22.AttentionBlock (per-frame 2D self-attention).""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import AttentionBlock + block = AttentionBlock(16) + block.to_qkv_weight = mx.random.normal(block.to_qkv_weight.shape) * 0.01 + block.proj_weight = mx.random.normal(block.proj_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 16)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_residual_connection(self): + from mlx_video.models.wan.vae22 import AttentionBlock + block = AttentionBlock(8) + block.to_qkv_weight = mx.zeros(block.to_qkv_weight.shape) + block.proj_weight = mx.zeros(block.proj_weight.shape) + x = mx.ones((1, 1, 2, 2, 8)) + out = block(x) + mx.eval(out) + # With zero weights, attention output is 0 → residual is identity + np.testing.assert_allclose(np.array(out), np.array(x), atol=1e-5) + + +class TestHead22: + """Tests for vae22.Head22 output head.""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import Head22 + head = Head22(16, out_channels=12) + x = mx.random.normal((1, 2, 4, 4, 16)) + out = head(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 12) + + def test_layer_names_no_underscore(self): + """Head layers must not use underscore prefix.""" + from mlx_video.models.wan.vae22 import Head22 + head = Head22(8) + assert hasattr(head, "layer_0") # RMS_norm + assert hasattr(head, "layer_2") # CausalConv3d + params = dict(head.parameters()) + for key in params: + assert not key.startswith("_"), f"Head param {key} starts with underscore" + + +class TestUnpatchify: + """Tests for vae22._unpatchify.""" + + def test_basic_shape(self): + from mlx_video.models.wan.vae22 import _unpatchify + x = mx.random.normal((1, 2, 4, 4, 12)) # 12 = 3 * 2 * 2 + out = _unpatchify(x, patch_size=2) + mx.eval(out) + assert out.shape == (1, 2, 8, 8, 3) + + def test_patch_size_1_noop(self): + from mlx_video.models.wan.vae22 import _unpatchify + x = mx.random.normal((1, 2, 4, 4, 3)) + out = _unpatchify(x, patch_size=1) + mx.eval(out) + np.testing.assert_array_equal(np.array(out), np.array(x)) + + def test_preserves_content(self): + """Unpatchify should be a lossless rearrangement.""" + from mlx_video.models.wan.vae22 import _unpatchify + x = mx.arange(48).reshape(1, 1, 2, 2, 12).astype(mx.float32) + out = _unpatchify(x, patch_size=2) + mx.eval(out) + # All elements should be preserved + assert np.array(out).size == 48 + assert set(np.array(out).flatten().tolist()) == set(range(48)) + + +class TestDenormalizeLatents: + """Tests for vae22.denormalize_latents.""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import denormalize_latents + z = mx.random.normal((1, 2, 4, 4, 48)) + out = denormalize_latents(z) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 48) + + def test_custom_mean_std(self): + from mlx_video.models.wan.vae22 import denormalize_latents + z = mx.ones((1, 1, 1, 1, 4)) + mean = mx.array([1.0, 2.0, 3.0, 4.0]) + std = mx.array([0.5, 0.5, 0.5, 0.5]) + out = denormalize_latents(z, mean=mean, std=std) + mx.eval(out) + # z * std + mean = 1*0.5 + [1,2,3,4] = [1.5, 2.5, 3.5, 4.5] + np.testing.assert_allclose(np.array(out).flatten(), [1.5, 2.5, 3.5, 4.5], atol=1e-5) + + def test_uses_default_constants(self): + from mlx_video.models.wan.vae22 import VAE22_MEAN, VAE22_STD, denormalize_latents + # Should not raise with default constants + z = mx.zeros((1, 1, 1, 1, 48)) + out = denormalize_latents(z) + mx.eval(out) + # z=0 → result = 0 * std + mean = mean + np.testing.assert_allclose( + np.array(out).flatten(), + np.array(VAE22_MEAN).flatten(), + atol=1e-5, + ) + + +class TestVAE22NormConstants: + """Tests for VAE22_MEAN and VAE22_STD constants.""" + + def test_dimensions(self): + from mlx_video.models.wan.vae22 import VAE22_MEAN, VAE22_STD + mx.eval(VAE22_MEAN, VAE22_STD) + assert VAE22_MEAN.shape == (48,) + assert VAE22_STD.shape == (48,) + + def test_std_positive(self): + from mlx_video.models.wan.vae22 import VAE22_STD + mx.eval(VAE22_STD) + assert (np.array(VAE22_STD) > 0).all() + + +class TestWan22VAEDecoder: + """Tests for the full Wan22VAEDecoder (tiny configuration).""" + + def test_output_shape_small(self): + """Tiny decoder should produce correct spatial/temporal output.""" + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + # Use very small dims to keep test fast + dec = Wan22VAEDecoder(z_dim=4, dim=8, dec_dim=8) + # Latent: [B=1, T=3, H=2, W=2, C=4] + # Expected: temporal 3→5→9→9→9 (two temporal upsamples), spatial 2→4→8→16 + z = mx.random.normal((1, 3, 2, 2, 4)) * 0.1 + out = dec(z) + mx.eval(out) + # Output should have 3 RGB channels and be clipped to [-1, 1] + assert out.shape[-1] == 3 + assert out.ndim == 5 + assert np.array(out).min() >= -1.0 + assert np.array(out).max() <= 1.0 + + def test_output_clipped(self): + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + dec = Wan22VAEDecoder(z_dim=4, dim=8, dec_dim=8) + z = mx.random.normal((1, 2, 2, 2, 4)) * 10.0 # large values + out = dec(z) + mx.eval(out) + assert np.array(out).min() >= -1.0 - 1e-6 + assert np.array(out).max() <= 1.0 + 1e-6 + + +class TestSanitizeWan22VAEWeights: + """Tests for vae22.sanitize_wan22_vae_weights.""" + + def test_skip_encoder(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "encoder.layer.weight": mx.zeros((4,)), + "conv1.weight": mx.zeros((4,)), + "decoder.conv1.bias": mx.zeros((4,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "encoder.layer.weight" not in out + assert "conv1.weight" not in out + assert "decoder.conv1.bias" in out + + def test_sequential_index_remapping(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "decoder.upsamples.0.upsamples.0.residual.0.gamma": mx.ones((8,)), + "decoder.upsamples.0.upsamples.0.residual.6.bias": mx.zeros((8,)), + "decoder.head.0.gamma": mx.ones((4,)), + "decoder.head.2.bias": mx.zeros((12,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "decoder.upsamples.0.upsamples.0.residual.layer_0.gamma" in out + assert "decoder.upsamples.0.upsamples.0.residual.layer_6.bias" in out + assert "decoder.head.layer_0.gamma" in out + assert "decoder.head.layer_2.bias" in out + + def test_resample_conv_remapping(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "decoder.upsamples.1.upsamples.3.resample.1.weight": mx.zeros((8, 8, 3, 3)), + "decoder.upsamples.1.upsamples.3.resample.1.bias": mx.zeros((8,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "decoder.upsamples.1.upsamples.3.resample_weight" in out + assert "decoder.upsamples.1.upsamples.3.resample_bias" in out + + def test_attention_remapping(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "decoder.middle.1.to_qkv.weight": mx.zeros((24, 8, 1, 1)), + "decoder.middle.1.to_qkv.bias": mx.zeros((24,)), + "decoder.middle.1.proj.weight": mx.zeros((8, 8, 1, 1)), + "decoder.middle.1.proj.bias": mx.zeros((8,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "decoder.middle.1.to_qkv_weight" in out + assert "decoder.middle.1.to_qkv_bias" in out + assert "decoder.middle.1.proj_weight" in out + assert "decoder.middle.1.proj_bias" in out + + def test_conv3d_transpose(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + # Conv3d weight: [O, I, D, H, W] → [O, D, H, W, I] + w = mx.zeros((16, 8, 3, 3, 3)) + weights = {"decoder.conv1.weight": w} + out = sanitize_wan22_vae_weights(weights) + assert out["decoder.conv1.weight"].shape == (16, 3, 3, 3, 8) + + def test_conv2d_transpose(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + # Conv2d weight: [O, I, H, W] → [O, H, W, I] + w = mx.zeros((8, 8, 3, 3)) + weights = {"decoder.upsamples.0.upsamples.2.resample.1.weight": w} + out = sanitize_wan22_vae_weights(weights) + key = "decoder.upsamples.0.upsamples.2.resample_weight" + assert out[key].shape == (8, 3, 3, 8) + + def test_gamma_squeeze(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + # gamma: (dim, 1, 1, 1) → (dim,) + w = mx.ones((16, 1, 1, 1)) + weights = {"decoder.upsamples.0.upsamples.0.residual.0.gamma": w} + out = sanitize_wan22_vae_weights(weights) + key = "decoder.upsamples.0.upsamples.0.residual.layer_0.gamma" + assert out[key].shape == (16,) + + +class TestUpResidualBlock: + """Tests for vae22.Up_ResidualBlock.""" + + def test_no_upsample(self): + from mlx_video.models.wan.vae22 import Up_ResidualBlock + block = Up_ResidualBlock(8, 8, num_res_blocks=1, temperal_upsample=False, up_flag=False) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + # No upsample: same shape + assert out.shape == (1, 2, 4, 4, 8) + + def test_spatial_upsample(self): + from mlx_video.models.wan.vae22 import Up_ResidualBlock + block = Up_ResidualBlock(8, 4, num_res_blocks=1, temperal_upsample=False, up_flag=True) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + # 2x spatial upsample, no temporal + assert out.shape == (1, 2, 8, 8, 4) + + def test_spatial_temporal_upsample(self): + from mlx_video.models.wan.vae22 import Up_ResidualBlock + block = Up_ResidualBlock(8, 4, num_res_blocks=1, temperal_upsample=True, up_flag=True) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + # 2x spatial + 2x temporal + assert out.shape == (1, 4, 8, 8, 4) + + if __name__ == "__main__": pytest.main([__file__, "-v"]) From 2bb95c61ededf82f143a52b375e391d904519cf0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 27 Feb 2026 13:46:23 +0100 Subject: [PATCH 03/17] feat(wan): Add Wan2.2 I2V support --- docs/wan22-implementation-notes.md | 265 +++ mlx_video/convert_wan.py | 7 +- mlx_video/generate.py | 12 +- mlx_video/generate_wan.py | 272 +-- mlx_video/models/wan/attention.py | 38 +- mlx_video/models/wan/config.py | 21 + mlx_video/models/wan/i2v_utils.py | 58 + mlx_video/models/wan/loading.py | 154 ++ mlx_video/models/wan/model.py | 49 +- mlx_video/models/wan/scheduler.py | 2 +- mlx_video/models/wan/transformer.py | 22 +- mlx_video/models/wan/vae22.py | 277 ++- mlx_video/postprocess.py | 34 + mlx_video/utils.py | 14 + tests/conftest.py | 4 + tests/test_wan.py | 2712 --------------------------- tests/test_wan_attention.py | 372 ++++ tests/test_wan_config.py | 125 ++ tests/test_wan_convert.py | 235 +++ tests/test_wan_generate.py | 238 +++ tests/test_wan_model.py | 332 ++++ tests/test_wan_scheduler.py | 903 +++++++++ tests/test_wan_t5.py | 173 ++ tests/test_wan_transformer.py | 160 ++ tests/test_wan_vae.py | 871 +++++++++ tests/wan_test_helpers.py | 19 + 26 files changed, 4401 insertions(+), 2968 deletions(-) create mode 100644 docs/wan22-implementation-notes.md create mode 100644 mlx_video/models/wan/i2v_utils.py create mode 100644 mlx_video/models/wan/loading.py create mode 100644 tests/conftest.py delete mode 100644 tests/test_wan.py create mode 100644 tests/test_wan_attention.py create mode 100644 tests/test_wan_config.py create mode 100644 tests/test_wan_convert.py create mode 100644 tests/test_wan_generate.py create mode 100644 tests/test_wan_model.py create mode 100644 tests/test_wan_scheduler.py create mode 100644 tests/test_wan_t5.py create mode 100644 tests/test_wan_transformer.py create mode 100644 tests/test_wan_vae.py create mode 100644 tests/wan_test_helpers.py diff --git a/docs/wan22-implementation-notes.md b/docs/wan22-implementation-notes.md new file mode 100644 index 0000000..a46f6bc --- /dev/null +++ b/docs/wan22-implementation-notes.md @@ -0,0 +1,265 @@ +# Wan2.2 MLX Implementation Notes + +> Learnings and key decisions from porting Wan2.2 (TI2V-5B / T2V-14B / T2V-1.3B) to Apple MLX. + +## Architecture Overview + +Wan2.2 is a Diffusion Transformer (DiT) for video generation. Despite early reports, the T2V/TI2V models do **not** use Mixture-of-Experts — they are dense DiT models with a dual-model architecture for the 14B variant (separate high-noise and low-noise denoisers with a boundary timestep). + +### Key Parameters + +| Model | dim | heads | layers | FFN mult | VAE z_dim | VAE stride | +|-------|-----|-------|--------|----------|-----------|------------| +| T2V-14B | 5120 | 40 | 40 | 4×(5120×4/3) | 16 | (4, 8, 8) | +| TI2V-5B | 3072 | 24 | 32 | 4×(3072×4/3) | 48 | (4, 16, 16) | +| T2V-1.3B | 1536 | 12 | 30 | 4×(1536×4/3) | 16 | (4, 8, 8) | + +### Codebase Structure (~3900 lines of Wan2.2 code) + +``` +mlx_video/ +├── generate_wan.py # 483L - Generation pipeline (T2V + I2V) +├── convert_wan.py # 564L - Weight conversion from HuggingFace +└── models/wan/ + ├── config.py # 113L - Model configs (dataclass presets) + ├── model.py # 320L - DiT model (time embed, patchify, unpatchify) + ├── transformer.py # 91L - Attention block + FFN + ├── attention.py # 211L - Self-attention + cross-attention + ├── rope.py # 100L - 3D Rotary Position Embeddings + ├── text_encoder.py # 240L - T5 encoder (UMT5-XXL) + ├── scheduler.py # 428L - Euler, DPM++ 2M, UniPC schedulers + ├── vae.py # 315L - Wan2.1 VAE decoder (4×8×8) + ├── vae22.py # 836L - Wan2.2 VAE encoder + decoder (4×16×16) + ├── loading.py # 154L - Model loading utilities + └── i2v_utils.py # 58L - I2V mask/preprocessing +``` + +--- + +## Critical Bugs & Fixes + +### 1. MLX Underscore Attribute Gotcha + +**Problem**: MLX's `nn.Module` silently ignores underscore-prefixed attributes (`_layer_0`, `_layer_1`, etc.) in `parameters()` and `load_weights()`. The Wan2.2 VAE had layers named `_layer_N`, causing **87 out of 110 weights to be silently dropped** during loading. + +**Fix**: Rename all `_layer_N` attributes to `layer_N`. MLX treats underscore-prefixed attributes as "private" and excludes them from the parameter tree. + +**Lesson**: Never use underscore-prefixed names for `nn.Module` sub-modules in MLX. + +### 2. Patchify Channel Ordering + +**Problem**: The patchify/unpatchify operations transposed channels incorrectly — producing `[C fastest]` layout instead of `[C slowest]`, causing completely garbled video output. + +**Fix**: Changed reshape to produce correct `[B, T', H', W', pt*ph*pw*C]` ordering matching PyTorch's contiguous memory layout. + +**Lesson**: When porting PyTorch reshape/view operations to MLX, pay close attention to memory layout — PyTorch is row-major by default, and reshape semantics differ when dimensions are reordered. + +### 3. VAE AttentionBlock Reshape + +**Problem**: Attention block merged batch (B) with channels (C) instead of batch with temporal (T), producing a green checker pattern in output. + +**Fix**: Correct reshape from `[B*C, T, H, W]` to `[B*T, C, H, W]` for spatial attention. + +### 4. RMS Norm vs L2 Norm + +**Problem**: The Wan2.2 VAE uses a class named `RMS_norm` in PyTorch, but it actually computes **L2 normalization** (divide by L2 norm), not RMS normalization (divide by RMS). Using actual RMS norm caused exponential value explosion. + +**Fix**: Implement as `x / ||x||₂` instead of `x / sqrt(mean(x²))`. + +**Lesson**: Don't trust class names in reference code — read the actual computation. + +### 5. Video Codec Green Output + +**Problem**: OpenCV's `mp4v` codec on macOS produces green-tinted video. + +**Fix**: Switch to `imageio` with `libx264` codec. Fallback chain: imageio → cv2 (avc1) → PNG frames. + +--- + +## Precision & Dtype Flow + +### The bfloat16 Autocast Pattern + +The official PyTorch implementation uses `torch.autocast("cuda", dtype=torch.bfloat16)` which automatically casts matmul inputs. In MLX, we replicate this manually: + +| Operation | Official (PyTorch) | MLX Implementation | +|---|---|---| +| Modulation/gates | float32 (explicit `autocast(enabled=False)`) | `x.astype(mx.float32)` before modulation | +| QKV projections | bfloat16 (outer autocast) | Cast input to `self.q.weight.dtype` | +| RoPE computation | float64 → float32 | float32 (MLX lacks float64 on GPU) | +| Q/K after RoPE | bfloat16 (`q.to(v.dtype)`) | Cast back to weight dtype after RoPE | +| FFN matmuls | bfloat16 (outer autocast) | Cast input to `self.fc1.weight.dtype` | +| Residual stream | float32 | float32 (no cast) | + +**Result**: ~16% speedup (47s vs 56s for 20 steps at 480p) with no quality regression. + +**Key insight**: Modulation parameters (scale, shift, gate) must stay in float32 — they are small values (~0.01–0.1) that lose significant precision in bfloat16. The official code explicitly disables autocast for these computations. + +### T5 Encoder Precision + +The T5 text encoder must run in float32. Bfloat16 weights cause the attention softmax to produce degenerate distributions, which corrupts text conditioning and manifests as blurry patches in generated video. Since T5 only runs once per generation, the performance cost is negligible. + +### VAE Decoder Precision + +VAE weights must be float32. Bfloat16 VAE decode introduces visible quality loss in the decoded video frames. + +--- + +## Scheduler Implementation Details + +### Three Schedulers: Euler, DPM++ 2M, UniPC + +All operate in the flow-matching formulation where `sigma` represents the noise level (1.0 = pure noise, 0.0 = clean). + +**Euler**: Simple first-order ODE solver. Most stable, recommended for debugging. + +**DPM++ 2M**: Second-order multistep solver. Uses previous step's model output for higher-order correction. Requires special handling at boundaries (return `±inf` from `_lambda()` when sigma is 0 or 1). + +**UniPC** (default, matches official): Second-order predictor-corrector. The "C" (corrector) part is critical — it refines each step using the already-computed model output at **zero additional model evaluation cost**. + +### UniPC Corrector: Must Be Enabled + +**Discovery**: Our implementation had `use_corrector=False` by default, but the official Wan2.2 code **always** enables it (there's no flag — the corrector runs whenever `step_index > 0`). + +**Impact**: Without the corrector, UniPC degrades to a simple predictor, losing its second-order accuracy advantage. + +### UniPC Corrector Coefficients + +The corrector coefficients (`rhos_c`) must be computed by solving a linear system, not hardcoded. For order ≥ 2, hardcoding `rhos_c[-1] = 0.5` introduces ~6–13% error in the correction term across 47+ steps. The fix uses `np.linalg.solve()` to compute exact coefficients. + +### Sigma Schedule + +```python +# Flow-matching sigma schedule with shift +sigmas = np.linspace(1.0, 1.0 / num_steps, num_steps) +sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) +``` + +Default shifts: T2V-14B uses 5.0, TI2V-5B uses 3.0, T2V-1.3B uses 3.0. + +--- + +## Image-to-Video (I2V) Pipeline + +### Per-Token Timesteps + +I2V conditions on a reference first frame by giving first-frame latent patches a timestep of 0 (clean) while other patches get the current diffusion timestep: + +```python +# mask_tokens: [1, L] — 0 for first-frame patches, 1 for rest +t_tokens = mask_tokens * current_timestep # first-frame → t=0 +``` + +The model receives 2D timestep input `[B, L]` instead of scalar, enabling per-token noise levels. + +### Mask Re-application + +After each scheduler step, the first-frame latent is re-injected to prevent drift: + +```python +latents = (1.0 - mask) * z_img + mask * latents +``` + +### VAE Encoder Temporal Downsample Order + +The Wan2.2 VAE encoder has `temporal_downsample = (False, True, True)`: +- Stage 0: Spatial-only downsampling +- Stages 1–2: Spatial + temporal downsampling + +This was incorrectly set to `(True, True, False)` initially, causing wrong spatial processing paths. + +--- + +## Dimension Constraints + +### Patchify Alignment + +Video dimensions must be divisible by `patch_size × vae_stride`: +- **TI2V-5B**: patch=(1,2,2), stride=(4,16,16) → alignment = **32** pixels +- **T2V-14B**: patch=(1,2,2), stride=(4,8,8) → alignment = **16** pixels + +Example: 720p (1280×720) → 720 % 32 ≠ 0, auto-aligns to **704**. + +### Frame Count + +Frames must satisfy `num_frames = 4n + 1` (e.g., 5, 9, 13, ..., 81) due to temporal VAE stride of 4. + +--- + +## Performance Optimizations + +### Batched CFG + +Instead of two separate forward passes for conditional and unconditional predictions, batch them into a single B=2 forward pass: + +```python +preds = model([latents, latents], t=t_batch, context=context_cfg, ...) +noise_pred_cond, noise_pred_uncond = preds[0], preds[1] +``` + +**Result**: ~40% speedup by amortizing attention overhead. + +### Precomputed Text Embeddings & Cross-Attention KV Cache + +Text embeddings and cross-attention K/V projections are constant across all diffusion steps. Computing them once and passing as caches eliminates redundant computation. + +### Memory Management in Diffusion Loop + +```python +# Release temporaries before eval to free memory for graph execution +del noise_pred_cond, noise_pred_uncond, noise_pred, preds +mx.eval(latents) +``` + +MLX's lazy evaluation means `mx.eval()` triggers the full computation graph. Deleting intermediate arrays before eval allows MLX to reuse their memory during execution. + +--- + +## Weight Conversion + +### Key Mapping Patterns + +The PyTorch → MLX conversion (`convert_wan.py`) handles several systematic transforms: + +1. **Conv3d weight transposition**: PyTorch `(out, in, D, H, W)` → MLX `(out, D, H, W, in)` +2. **Linear weight transposition**: PyTorch `(out, in)` → MLX `(out, in)` (same convention for `nn.Linear`) +3. **Nested module paths**: `blocks.0.self_attn.q.weight` → same paths, MLX loads by dotted key + +### Dual-Model Splitting + +The T2V-14B uses dual models (high-noise and low-noise). The conversion script splits a single checkpoint into separate files or handles pre-split checkpoints from HuggingFace. + +--- + +## Testing Strategy + +260 tests across 9 files, all running in ~4 seconds: + +| File | Focus | +|------|-------| +| test_wan_config.py | Config presets, field validation | +| test_wan_attention.py | Self/cross attention, RMSNorm, bf16 autocast | +| test_wan_transformer.py | FFN, attention block, float32 modulation | +| test_wan_model.py | Full DiT forward pass, per-token timesteps | +| test_wan_t5.py | T5 encoder layers and full encoding | +| test_wan_vae.py | VAE 2.1 decoder, VAE 2.2 encoder + decoder | +| test_wan_scheduler.py | All 3 schedulers, cross-scheduler coherence | +| test_wan_convert.py | Weight sanitization and conversion | +| test_wan_generate.py | End-to-end pipeline, I2V masks, dimension alignment | + +Tests use a tiny config (`dim=64, heads=2, layers=2`) for fast execution. Cross-scheduler coherence tests verify that all three schedulers produce similar outputs from the same noise. + +--- + +## Known Issues + +### I2V Quality Degradation + +Frames 2–13 gradually degrade, and frame 14 often has a "flash" artifact. All implementation details have been verified against the official PyTorch code with no discrepancies found. Possible causes: +- Subtle numerical differences from float32 vs float64 RoPE (MLX lacks float64 on GPU) +- MLX-specific attention precision behavior +- Better prompts and 720p resolution (the model's native resolution) help reduce artifacts + +### Chinese Negative Prompt + +The official Wan2.2 uses a Chinese negative prompt that prevents oversaturation and comic-style artifacts. Correct tokenization requires `ftfy.fix_text()` to normalize fullwidth characters and double HTML unescaping. Without proper text cleaning, the negative prompt tokens don't match the training distribution, causing blurry patches. diff --git a/mlx_video/convert_wan.py b/mlx_video/convert_wan.py index 33be9ac..e9db2aa 100644 --- a/mlx_video/convert_wan.py +++ b/mlx_video/convert_wan.py @@ -338,6 +338,10 @@ def convert_wan_checkpoint( print(f" Source config: dim={src_dim}, layers={src_num_layers}, " f"heads={src_num_heads}, type={src_model_type}") + # Use preset for known TI2V 5B configuration + if src_model_type == "ti2v" and src_dim == 3072: + return WanModelConfig.wan22_ti2v_5b() + is_22 = model_version == "2.2" # Wan2.2 uses different VAE with z_dim=48 and stride (4,16,16) @@ -409,7 +413,8 @@ def convert_wan_checkpoint( weights = load_torch_weights(str(vae_path)) if is_wan22_vae: from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - weights = sanitize_wan22_vae_weights(weights) + include_encoder = config.model_type == "ti2v" + weights = sanitize_wan22_vae_weights(weights, include_encoder=include_encoder) else: weights = sanitize_wan_vae_weights(weights) # Always save VAE in float32 — official Wan2.2 runs VAE decode in diff --git a/mlx_video/generate.py b/mlx_video/generate.py index 9a72fe9..2e32a95 100644 --- a/mlx_video/generate.py +++ b/mlx_video/generate.py @@ -9,17 +9,7 @@ import numpy as np from PIL import Image from tqdm import tqdm -# ANSI color codes -class Colors: - CYAN = "\033[96m" - BLUE = "\033[94m" - GREEN = "\033[92m" - YELLOW = "\033[93m" - RED = "\033[91m" - MAGENTA = "\033[95m" - BOLD = "\033[1m" - DIM = "\033[2m" - RESET = "\033[0m" +from mlx_video.utils import Colors from mlx_video.models.ltx.config import LTXModelConfig, LTXModelType, LTXRopeType from mlx_video.models.ltx.ltx import LTXModel diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index 7d1e601..37501fe 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -13,156 +13,27 @@ import mlx.nn as nn import numpy as np from tqdm import tqdm +from mlx_video.models.wan.i2v_utils import build_i2v_mask, preprocess_image +from mlx_video.models.wan.loading import ( + _clean_text, + encode_text, + load_t5_encoder, + load_vae_decoder, + load_vae_encoder, + load_wan_model, +) +from mlx_video.postprocess import save_video +from mlx_video.utils import Colors -class Colors: - CYAN = "\033[96m" - BLUE = "\033[94m" - GREEN = "\033[92m" - YELLOW = "\033[93m" - RED = "\033[91m" - MAGENTA = "\033[95m" - BOLD = "\033[1m" - DIM = "\033[2m" - RESET = "\033[0m" - - -def load_wan_model(model_path: Path, config, quantization: dict | None = None): - """Load and initialize WanModel, with optional quantization support. - - Args: - model_path: Path to model safetensors file - config: WanModelConfig - quantization: Optional dict with 'bits' and 'group_size' keys. - If provided, creates QuantizedLinear stubs before loading. - """ - from mlx_video.models.wan.model import WanModel - - model = WanModel(config) - - if quantization: - from mlx_video.convert_wan import _quantize_predicate - - nn.quantize( - model, - group_size=quantization["group_size"], - bits=quantization["bits"], - class_predicate=lambda path, m: _quantize_predicate(path, m), - ) - - weights = mx.load(str(model_path)) - model.load_weights(list(weights.items()), strict=False) - mx.eval(model.parameters()) - return model - - -def load_t5_encoder(model_path: Path, config): - """Load T5 text encoder. - - Weights are upcast to float32 for maximum precision — the T5 encoder - only runs once per generation, so performance impact is negligible. - This matches the official which computes softmax in float32 explicitly. - """ - from mlx_video.models.wan.text_encoder import T5Encoder - - encoder = T5Encoder( - vocab_size=config.t5_vocab_size, - dim=config.t5_dim, - dim_attn=config.t5_dim_attn, - dim_ffn=config.t5_dim_ffn, - num_heads=config.t5_num_heads, - num_layers=config.t5_num_layers, - num_buckets=config.t5_num_buckets, - shared_pos=False, - ) - weights = mx.load(str(model_path)) - weights = {k: v.astype(mx.float32) for k, v in weights.items()} - encoder.load_weights(list(weights.items())) - mx.eval(encoder.parameters()) - return encoder - - -def load_vae_decoder(model_path: Path, config=None): - """Load VAE decoder (skips encoder weights with strict=False). - - For Wan2.2 (vae_z_dim=48), uses Wan22VAEDecoder. - For Wan2.1 (vae_z_dim=16), uses WanVAE. - """ - is_wan22 = config is not None and config.vae_z_dim == 48 - - if is_wan22: - from mlx_video.models.wan.vae22 import Wan22VAEDecoder - vae = Wan22VAEDecoder(z_dim=48) - else: - from mlx_video.models.wan.vae import WanVAE - vae = WanVAE(z_dim=16) - - weights = mx.load(str(model_path)) - # Upcast VAE weights to float32 for quality — official Wan2.2 runs VAE in float32 - weights = {k: v.astype(mx.float32) for k, v in weights.items()} - vae.load_weights(list(weights.items()), strict=False) - mx.eval(vae.parameters()) - return vae - - -def _clean_text(text: str) -> str: - """Clean text matching official Wan2.2 tokenizer preprocessing. - - Applies ftfy.fix_text (fixes mojibake, normalizes fullwidth chars), - double HTML unescape, and whitespace normalization. Critical for - correct tokenization of the Chinese negative prompt. - """ - import html - import re - - try: - import ftfy - text = ftfy.fix_text(text) - except ImportError: - pass - text = html.unescape(html.unescape(text)) - text = re.sub(r"\s+", " ", text).strip() - return text - - -def encode_text( - encoder, - tokenizer, - prompt: str, - text_len: int = 512, -) -> mx.array: - """Encode text prompt using T5 encoder. - - Args: - encoder: T5Encoder model - tokenizer: HuggingFace tokenizer - prompt: Text prompt - text_len: Maximum text length - - Returns: - Text embeddings [L, dim] - """ - prompt = _clean_text(prompt) - tokens = tokenizer( - prompt, - max_length=text_len, - padding="max_length", - truncation=True, - return_tensors="np", - ) - ids = mx.array(tokens["input_ids"]) - mask = mx.array(tokens["attention_mask"]) - - embeddings = encoder(ids, mask=mask) - - # Return only non-padding tokens - seq_len = int(mask.sum().item()) - return embeddings[0, :seq_len] +# Backward-compat alias (tests and external code may use the old name) +_build_i2v_mask = build_i2v_mask def generate_video( model_dir: str, prompt: str, negative_prompt: str | None = None, + image: str | None = None, width: int = 1280, height: int = 720, num_frames: int = 81, @@ -173,12 +44,13 @@ def generate_video( output_path: str = "output.mp4", scheduler: str = "unipc", ): - """Generate video using Wan T2V pipeline (supports 2.1 and 2.2). + """Generate video using Wan pipeline (supports T2V and I2V). Args: model_dir: Path to converted MLX model directory prompt: Text prompt negative_prompt: Negative prompt (None = use config default, "" = no negative prompt) + image: Path to input image for I2V (None = T2V mode) width: Video width height: Video height num_frames: Number of frames (must be 4n+1) @@ -240,6 +112,7 @@ def generate_video( config = WanModelConfig.wan21_t2v_14b() is_dual = config.dual_model + is_i2v = image is not None # Validate config against actual weights (handles mismatched config.json) if not is_dual: @@ -288,6 +161,7 @@ def generate_video( version_str = f"Wan{config.model_version}" mode_str = "dual-model" if is_dual else "single-model" + pipeline_str = "Image-to-Video" if is_i2v else "Text-to-Video" # Resolve negative prompt: explicit user value > config default # The official Wan2.2 uses a Chinese negative prompt (config.sample_neg_prompt) # that prevents oversaturation, artifacts, and comic look. We use it by default. @@ -297,9 +171,11 @@ def generate_video( else: neg_prompt_resolved = negative_prompt print(f"{Colors.CYAN}{'='*60}") - print(f" {version_str} Text-to-Video Generation (MLX, {mode_str})") + print(f" {version_str} {pipeline_str} Generation (MLX, {mode_str})") print(f"{'='*60}{Colors.RESET}") print(f"{Colors.DIM} Prompt: {prompt}") + if is_i2v: + print(f" Image: {image}") if neg_prompt_resolved and neg_prompt_resolved.strip(): neg_display = neg_prompt_resolved[:60] + "..." if len(neg_prompt_resolved) > 60 else neg_prompt_resolved print(f" Neg prompt: {neg_display}") @@ -314,8 +190,22 @@ def generate_video( np.random.seed(seed) print(f"{Colors.DIM} Seed: {seed}{Colors.RESET}") - # Compute target latent shape + # Align dimensions to patch_size * vae_stride (required for patchify) vae_stride = config.vae_stride + patch_size = config.patch_size + align_h = patch_size[1] * vae_stride[1] # e.g. 2*16=32 + align_w = patch_size[2] * vae_stride[2] + if height % align_h != 0 or width % align_w != 0: + old_h, old_w = height, width + height = (height // align_h) * align_h + width = (width // align_w) * align_w + if height == 0: + height = align_h + if width == 0: + width = align_w + print(f"{Colors.DIM} Aligned {old_w}x{old_h} → {width}x{height} (must be divisible by {align_w}x{align_h}){Colors.RESET}") + + # Compute target latent shape z_dim = config.vae_z_dim t_latent = (num_frames - 1) // vae_stride[0] + 1 h_latent = height // vae_stride[1] @@ -323,7 +213,6 @@ def generate_video( target_shape = (z_dim, t_latent, h_latent, w_latent) # Sequence length for transformer - patch_size = config.patch_size seq_len = math.ceil( (h_latent * w_latent) / (patch_size[1] * patch_size[2]) * t_latent ) @@ -352,6 +241,31 @@ def generate_video( gc.collect(); mx.clear_cache() print(f"{Colors.DIM} T5 encoding: {time.time() - t1:.1f}s{Colors.RESET}") + # I2V: encode image to latent space + z_img = None + i2v_mask = None + i2v_mask_tokens = None + if is_i2v: + print(f"\n{Colors.BLUE}Encoding input image...{Colors.RESET}") + t_img = time.time() + img_tensor = preprocess_image(image, width, height) + mx.eval(img_tensor) + + vae_path = model_dir / "vae.safetensors" + vae_enc = load_vae_encoder(vae_path, config) + z_img = vae_enc(img_tensor) # [1, 1, H_lat, W_lat, z_dim] + mx.eval(z_img) + + # Convert to channels-first: [z_dim, 1, H_lat, W_lat] + z_img = z_img[0].transpose(3, 0, 1, 2) + + # Build I2V mask + i2v_mask, i2v_mask_tokens = build_i2v_mask(target_shape, config.patch_size) + + del vae_enc, img_tensor + gc.collect(); mx.clear_cache() + print(f"{Colors.DIM} Image encoding: {time.time() - t_img:.1f}s{Colors.RESET}") + # Load transformer models print(f"\n{Colors.BLUE}Loading transformer model(s)...{Colors.RESET}") if quantization: @@ -398,12 +312,18 @@ def generate_video( # Generate initial noise noise = mx.random.normal(target_shape) + # I2V: blend first-frame latent into noise + if is_i2v: + # Broadcast z_img [z_dim, 1, H, W] across T for first-frame conditioning + latents = (1.0 - i2v_mask) * z_img + i2v_mask * noise + else: + latents = noise + # Boundary for model switching (dual model only) boundary = (config.boundary * config.num_train_timesteps) if is_dual else None # Diffusion loop print(f"\n{Colors.GREEN}Denoising ({steps} steps)...{Colors.RESET}") - latents = noise t3 = time.time() for i, t in enumerate(tqdm(range(steps), desc="Diffusion")): @@ -424,10 +344,24 @@ def generate_video( gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] kv = cross_kv + # Build per-token timesteps for I2V (first-frame patches get t=0) + if is_i2v: + t_tokens = i2v_mask_tokens * timestep_val # [1, L] + # Pad to seq_len if needed + pad_len = seq_len - t_tokens.shape[1] + if pad_len > 0: + t_tokens = mx.concatenate( + [t_tokens, mx.full((1, pad_len), timestep_val)], axis=1 + ) + # Batch for CFG: both cond and uncond get same timesteps + t_batch = mx.concatenate([t_tokens, t_tokens], axis=0) # [2, L] + else: + t_batch = mx.array([timestep_val, timestep_val]) + # CFG: batch cond + uncond into single B=2 forward pass preds = model( [latents, latents], - t=mx.array([timestep_val, timestep_val]), + t=t_batch, context=context_cfg, seq_len=seq_len, cross_kv_caches=kv, @@ -438,6 +372,10 @@ def generate_video( noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) latents = sched.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) + # I2V: re-apply mask to keep first frame frozen + if is_i2v: + latents = (1.0 - i2v_mask) * z_img + i2v_mask * latents + # Release temporaries before eval to free memory for graph execution del noise_pred_cond, noise_pred_uncond, noise_pred, preds mx.eval(latents) @@ -488,43 +426,12 @@ def generate_video( print(f"{Colors.DIM} Total time: {time.time() - t1:.1f}s{Colors.RESET}") -def save_video(frames: np.ndarray, output_path: str, fps: int = 16): - """Save video frames to MP4. - - Args: - frames: Video frames [T, H, W, 3] uint8 - output_path: Output file path - fps: Frames per second - """ - try: - import imageio - writer = imageio.get_writer(output_path, fps=fps, codec="libx264", quality=8) - for frame in frames: - writer.append_data(frame) - writer.close() - except ImportError: - try: - import cv2 - h, w = frames.shape[1], frames.shape[2] - fourcc = cv2.VideoWriter_fourcc(*"avc1") - writer = cv2.VideoWriter(output_path, fourcc, fps, (w, h)) - for frame in frames: - writer.write(cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)) - writer.release() - except (ImportError, Exception): - # Last resort: save as individual PNGs - from PIL import Image - out_dir = Path(output_path).parent / Path(output_path).stem - out_dir.mkdir(parents=True, exist_ok=True) - for i, frame in enumerate(frames): - Image.fromarray(frame).save(out_dir / f"frame_{i:04d}.png") - print(f" (no video encoder available, saved {len(frames)} frames to {out_dir}/)") - - def main(): parser = argparse.ArgumentParser(description="Wan Text-to-Video Generation (MLX)") parser.add_argument("--model-dir", type=str, required=True, help="Path to converted MLX model directory") parser.add_argument("--prompt", type=str, required=True, help="Text prompt") + parser.add_argument("--image", type=str, default=None, + help="Path to input image for I2V (omit for T2V mode)") parser.add_argument("--negative-prompt", type=str, default=None, help="Negative prompt for CFG (default: official Chinese prompt from config)") parser.add_argument("--no-negative-prompt", action="store_true", @@ -559,6 +466,7 @@ def main(): model_dir=args.model_dir, prompt=args.prompt, negative_prompt=neg_prompt, + image=args.image, width=args.width, height=args.height, num_frames=args.num_frames, diff --git a/mlx_video/models/wan/attention.py b/mlx_video/models/wan/attention.py index 5907abd..0cab5bb 100644 --- a/mlx_video/models/wan/attention.py +++ b/mlx_video/models/wan/attention.py @@ -71,8 +71,12 @@ class WanSelfAttention(nn.Module): b, s, _ = x.shape n, d = self.num_heads, self.head_dim - q = self.q(x) - k = self.k(x) + # Cast to weight dtype for efficient matmul (bfloat16 matching official autocast) + w_dtype = self.q.weight.dtype + x_w = x.astype(w_dtype) + + q = self.q(x_w) + k = self.k(x_w) if self.norm_q is not None: q = self.norm_q(q) if self.norm_k is not None: @@ -80,15 +84,15 @@ class WanSelfAttention(nn.Module): q = q.reshape(b, s, n, d) k = k.reshape(b, s, n, d) - v = self.v(x).reshape(b, s, n, d) + v = self.v(x_w).reshape(b, s, n, d) - # Apply RoPE - q = rope_apply(q, grid_sizes, freqs) - k = rope_apply(k, grid_sizes, freqs) + # RoPE in float32 for precision (official uses float64) + q = rope_apply(q.astype(mx.float32), grid_sizes, freqs) + k = rope_apply(k.astype(mx.float32), grid_sizes, freqs) - # Scaled dot-product attention: [B, L, N, D] -> [B, N, L, D] - q = q.transpose(0, 2, 1, 3) - k = k.transpose(0, 2, 1, 3) + # Cast back to weight dtype for efficient attention (matching official q.to(v.dtype)) + q = q.astype(w_dtype).transpose(0, 2, 1, 3) + k = k.astype(w_dtype).transpose(0, 2, 1, 3) v = v.transpose(0, 2, 1, 3) # Build attention mask from seq_lens @@ -149,11 +153,14 @@ class WanCrossAttention(nn.Module): """ b = context.shape[0] n, d = self.num_heads, self.head_dim - k = self.k(context) + # Cast to weight dtype for efficient matmul + w_dtype = self.k.weight.dtype + ctx = context.astype(w_dtype) + k = self.k(ctx) if self.norm_k is not None: k = self.norm_k(k) k = k.reshape(b, -1, n, d).transpose(0, 2, 1, 3) - v = self.v(context).reshape(b, -1, n, d).transpose(0, 2, 1, 3) + v = self.v(ctx).reshape(b, -1, n, d).transpose(0, 2, 1, 3) return k, v def __call__( @@ -166,7 +173,9 @@ class WanCrossAttention(nn.Module): b = x.shape[0] n, d = self.num_heads, self.head_dim - q = self.q(x) + # Cast to weight dtype for efficient matmul (bfloat16 matching official autocast) + w_dtype = self.q.weight.dtype + q = self.q(x.astype(w_dtype)) if self.norm_q is not None: q = self.norm_q(q) q = q.reshape(b, -1, n, d).transpose(0, 2, 1, 3) @@ -174,11 +183,12 @@ class WanCrossAttention(nn.Module): if kv_cache is not None: k, v = kv_cache else: - k = self.k(context) + ctx = context.astype(w_dtype) + k = self.k(ctx) if self.norm_k is not None: k = self.norm_k(k) k = k.reshape(b, -1, n, d).transpose(0, 2, 1, 3) - v = self.v(context).reshape(b, -1, n, d).transpose(0, 2, 1, 3) + v = self.v(ctx).reshape(b, -1, n, d).transpose(0, 2, 1, 3) # Optional context masking mask = None diff --git a/mlx_video/models/wan/config.py b/mlx_video/models/wan/config.py index e4bf900..cae72d2 100644 --- a/mlx_video/models/wan/config.py +++ b/mlx_video/models/wan/config.py @@ -90,3 +90,24 @@ class WanModelConfig(BaseModelConfig): def wan22_t2v_14b(cls) -> "WanModelConfig": """Wan2.2 T2V 14B: dual model, 40 layers, dim=5120 (default).""" return cls() + + @classmethod + def wan22_ti2v_5b(cls) -> "WanModelConfig": + """Wan2.2 TI2V 5B: text+image to video, 30 layers, dim=3072.""" + return cls( + model_type="ti2v", + dim=3072, + ffn_dim=14336, + in_dim=48, + out_dim=48, + num_heads=24, + num_layers=30, + vae_z_dim=48, + vae_stride=(4, 16, 16), + dual_model=False, + boundary=0.0, + sample_shift=5.0, + sample_steps=50, + sample_guide_scale=5.0, + sample_fps=24, + ) diff --git a/mlx_video/models/wan/i2v_utils.py b/mlx_video/models/wan/i2v_utils.py new file mode 100644 index 0000000..98a4752 --- /dev/null +++ b/mlx_video/models/wan/i2v_utils.py @@ -0,0 +1,58 @@ +"""Image-to-Video utility functions for Wan2.2.""" + +import mlx.core as mx +import numpy as np + + +def preprocess_image(image_path: str, width: int, height: int) -> mx.array: + """Load, resize, center-crop, and normalize an image for I2V. + + Args: + image_path: Path to input image + width: Target width + height: Target height + + Returns: + Image tensor [1, 1, H, W, 3] in [-1, 1] (channels-last, batch + temporal dims) + """ + from PIL import Image + + img = Image.open(image_path).convert("RGB") + + # Resize so that the image covers the target size (LANCZOS) + scale = max(width / img.width, height / img.height) + img = img.resize((round(img.width * scale), round(img.height * scale)), Image.LANCZOS) + + # Center crop + x1 = (img.width - width) // 2 + y1 = (img.height - height) // 2 + img = img.crop((x1, y1, x1 + width, y1 + height)) + + # To tensor: [H, W, 3] float32 in [-1, 1] + arr = np.array(img, dtype=np.float32) / 255.0 + arr = arr * 2.0 - 1.0 # [0,1] → [-1,1] + return mx.array(arr[None, None]) # [1, 1, H, W, 3] + + +def build_i2v_mask(z_shape, patch_size): + """Build temporal mask for I2V: first frame = 0, rest = 1. + + Args: + z_shape: Latent shape (C, T, H, W) in channels-first + patch_size: (pt, ph, pw) patch size + + Returns: + mask: (C, T, H, W) float32 — 0 for first frame, 1 for rest + mask_tokens: (1, L) float32 — 0 for first-frame tokens, 1 for rest + """ + C, T, H, W = z_shape + mask = mx.ones(z_shape) + # Zero out the first temporal position + mask = mx.concatenate([mx.zeros((C, 1, H, W)), mask[:, 1:]], axis=1) + + # Token-level mask for per-token timesteps: subsample to patch grid + # mask shape [C, T, H, W] → take first channel, subsample by patch_size + pt, ph, pw = patch_size + mask_tokens = mask[0, ::pt, ::ph, ::pw] # [T', H', W'] + mask_tokens = mask_tokens.reshape(1, -1) # [1, L] + return mask, mask_tokens diff --git a/mlx_video/models/wan/loading.py b/mlx_video/models/wan/loading.py new file mode 100644 index 0000000..8acc770 --- /dev/null +++ b/mlx_video/models/wan/loading.py @@ -0,0 +1,154 @@ +"""Wan model loading utilities.""" + +from pathlib import Path + +import mlx.core as mx +import mlx.nn as nn + + +def load_wan_model(model_path: Path, config, quantization: dict | None = None): + """Load and initialize WanModel, with optional quantization support. + + Args: + model_path: Path to model safetensors file + config: WanModelConfig + quantization: Optional dict with 'bits' and 'group_size' keys. + If provided, creates QuantizedLinear stubs before loading. + """ + from mlx_video.models.wan.model import WanModel + + model = WanModel(config) + + if quantization: + from mlx_video.convert_wan import _quantize_predicate + + nn.quantize( + model, + group_size=quantization["group_size"], + bits=quantization["bits"], + class_predicate=lambda path, m: _quantize_predicate(path, m), + ) + + weights = mx.load(str(model_path)) + model.load_weights(list(weights.items()), strict=False) + mx.eval(model.parameters()) + return model + + +def load_t5_encoder(model_path: Path, config): + """Load T5 text encoder. + + Weights are upcast to float32 for maximum precision — the T5 encoder + only runs once per generation, so performance impact is negligible. + This matches the official which computes softmax in float32 explicitly. + """ + from mlx_video.models.wan.text_encoder import T5Encoder + + encoder = T5Encoder( + vocab_size=config.t5_vocab_size, + dim=config.t5_dim, + dim_attn=config.t5_dim_attn, + dim_ffn=config.t5_dim_ffn, + num_heads=config.t5_num_heads, + num_layers=config.t5_num_layers, + num_buckets=config.t5_num_buckets, + shared_pos=False, + ) + weights = mx.load(str(model_path)) + weights = {k: v.astype(mx.float32) for k, v in weights.items()} + encoder.load_weights(list(weights.items())) + mx.eval(encoder.parameters()) + return encoder + + +def load_vae_decoder(model_path: Path, config=None): + """Load VAE decoder (skips encoder weights with strict=False). + + For Wan2.2 (vae_z_dim=48), uses Wan22VAEDecoder. + For Wan2.1 (vae_z_dim=16), uses WanVAE. + """ + is_wan22 = config is not None and config.vae_z_dim == 48 + + if is_wan22: + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + vae = Wan22VAEDecoder(z_dim=48) + else: + from mlx_video.models.wan.vae import WanVAE + vae = WanVAE(z_dim=16) + + weights = mx.load(str(model_path)) + # Upcast VAE weights to float32 for quality — official Wan2.2 runs VAE in float32 + weights = {k: v.astype(mx.float32) for k, v in weights.items()} + vae.load_weights(list(weights.items()), strict=False) + mx.eval(vae.parameters()) + return vae + + +def load_vae_encoder(model_path: Path, config=None): + """Load VAE encoder for I2V image encoding. + + Only supports Wan2.2 (vae_z_dim=48). + """ + from mlx_video.models.wan.vae22 import Wan22VAEEncoder + + encoder = Wan22VAEEncoder(z_dim=config.vae_z_dim) + weights = mx.load(str(model_path)) + weights = {k: v.astype(mx.float32) for k, v in weights.items()} + encoder.load_weights(list(weights.items()), strict=False) + mx.eval(encoder.parameters()) + return encoder + + +def _clean_text(text: str) -> str: + """Clean text matching official Wan2.2 tokenizer preprocessing. + + Applies ftfy.fix_text (fixes mojibake, normalizes fullwidth chars), + double HTML unescape, and whitespace normalization. Critical for + correct tokenization of the Chinese negative prompt. + """ + import html + import re + + try: + import ftfy + text = ftfy.fix_text(text) + except ImportError: + pass + text = html.unescape(html.unescape(text)) + text = re.sub(r"\s+", " ", text).strip() + return text + + +def encode_text( + encoder, + tokenizer, + prompt: str, + text_len: int = 512, +) -> mx.array: + """Encode text prompt using T5 encoder. + + Args: + encoder: T5Encoder model + tokenizer: HuggingFace tokenizer + prompt: Text prompt + text_len: Maximum text length + + Returns: + Text embeddings [L, dim] + """ + prompt = _clean_text(prompt) + tokens = tokenizer( + prompt, + max_length=text_len, + padding="max_length", + truncation=True, + return_tensors="np", + ) + ids = mx.array(tokens["input_ids"]) + mask = mx.array(tokens["attention_mask"]) + + embeddings = encoder(ids, mask=mask) + + # Return only non-padding tokens + seq_len = int(mask.sum().item()) + return embeddings[0, :seq_len] diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index 35c6861..f3689ec 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -15,17 +15,17 @@ def sinusoidal_embedding_1d(dim: int, position: mx.array) -> mx.array: Args: dim: Embedding dimension (must be even). - position: 1D tensor of positions. + position: Tensor of positions — 1D [L] or 2D [B, L]. Returns: - Embeddings of shape [len(position), dim]. + Embeddings of shape [L, dim] or [B, L, dim]. """ assert dim % 2 == 0 half = dim // 2 pos = position.astype(mx.float32) inv_freq = mx.power(10000.0, -mx.arange(half).astype(mx.float32) / half) - sinusoid = pos[:, None] * inv_freq[None, :] - return mx.concatenate([mx.cos(sinusoid), mx.sin(sinusoid)], axis=1) + sinusoid = pos[..., None] * inv_freq # [..., half] + return mx.concatenate([mx.cos(sinusoid), mx.sin(sinusoid)], axis=-1) class Head(nn.Module): @@ -44,16 +44,17 @@ class Head(nn.Module): """ Args: x: [B, L, dim] - e: [B, dim] or [B, 1, dim] (time embedding, broadcast to all tokens) + e: [B, dim] or [B, 1, dim] (broadcast) or [B, L, dim] (per-token) """ if e.ndim == 2: e = e[:, None, :] # [B, 1, dim] e_f32 = e.astype(mx.float32) - mod = (self.modulation + e_f32) # broadcasts [1, 2, dim] + [B, 1, dim] -> [B, 2, dim] - e0 = mod[:, 0:1, :] # [B, 1, dim] shift - e1 = mod[:, 1:2, :] # [B, 1, dim] scale + # modulation [1, 2, dim] broadcasts with e [B, 1/L, dim] via unsqueeze + mod = self.modulation.astype(mx.float32)[:, None, :, :] + e_f32[:, :, None, :] # [B, L_e, 2, dim] + e0 = mod[:, :, 0, :] # [B, L_e, dim] shift + e1 = mod[:, :, 1, :] # [B, L_e, dim] scale x_norm = self.norm(x).astype(mx.float32) - x_mod = x_norm * (1 + e1) + e0 # broadcasts over L + x_mod = x_norm * (1 + e1) + e0 # broadcasts over L if L_e==1 return self.head(x_mod.astype(x.dtype)) @@ -261,18 +262,30 @@ class WanModel(nn.Module): axis=0, ) # [B, seq_len, dim] - # Time embedding: compute once per sample, then broadcast to all tokens + # Time embedding if t.ndim == 0: t = t[None] - sin_emb = sinusoidal_embedding_1d(self.freq_dim, t) # [B, freq_dim] - model_dtype = self.patch_embedding_proj.weight.dtype - e = self.time_embedding_1( - self.time_embedding_act(self.time_embedding_0(sin_emb)) - ) # [B, dim] - e0 = self.time_projection(self.time_projection_act(e)) # [B, dim*6] - e0 = e0.reshape(batch_size, 1, 6, self.dim).astype(model_dtype) - e = e.astype(model_dtype) + if t.ndim == 1: + # Standard T2V: scalar timestep per batch element [B] + sin_emb = sinusoidal_embedding_1d(self.freq_dim, t) # [B, freq_dim] + e = self.time_embedding_1( + self.time_embedding_act(self.time_embedding_0(sin_emb)) + ) # [B, dim] + e0 = self.time_projection(self.time_projection_act(e)) # [B, dim*6] + # Keep e and e0 in float32 — official asserts float32 for modulation + e0 = e0.reshape(batch_size, 1, 6, self.dim).astype(mx.float32) + e = e.astype(mx.float32) + else: + # I2V: per-token timesteps [B, L] + sin_emb = sinusoidal_embedding_1d(self.freq_dim, t) # [B, L, freq_dim] + e = self.time_embedding_1( + self.time_embedding_act(self.time_embedding_0(sin_emb)) + ) # [B, L, dim] + e0 = self.time_projection(self.time_projection_act(e)) # [B, L, dim*6] + # Keep e and e0 in float32 — official asserts float32 for modulation + e0 = e0.reshape(batch_size, -1, 6, self.dim).astype(mx.float32) + e = e.astype(mx.float32) # Text embedding: skip MLP if context is already embedded (mx.array) if isinstance(context, mx.array): diff --git a/mlx_video/models/wan/scheduler.py b/mlx_video/models/wan/scheduler.py index 49ef10f..946707c 100644 --- a/mlx_video/models/wan/scheduler.py +++ b/mlx_video/models/wan/scheduler.py @@ -187,7 +187,7 @@ class FlowUniPCScheduler: solver_order: int = 2, lower_order_final: bool = True, disable_corrector: list | None = None, - use_corrector: bool = False, + use_corrector: bool = True, ): self.num_train_timesteps = num_train_timesteps self.solver_order = solver_order diff --git a/mlx_video/models/wan/transformer.py b/mlx_video/models/wan/transformer.py index 9625716..7611638 100644 --- a/mlx_video/models/wan/transformer.py +++ b/mlx_video/models/wan/transformer.py @@ -49,9 +49,9 @@ class WanAttentionBlock(nn.Module): context_lens: list | None = None, cross_kv_cache: tuple | None = None, ) -> mx.array: - # Compute modulation: e is [B, 1, 6, dim] (broadcasts over tokens) - mod = (self.modulation + e) # [1, 6, dim] + [B, 1, 6, dim] -> [B, 1, 6, dim] - # Split into 6 modulation vectors (each [B, 1, dim], broadcast over L) + # Modulation in float32 (matching official torch.amp.autocast float32) + e_f32 = e.astype(mx.float32) + mod = self.modulation.astype(mx.float32) + e_f32 e0 = mod[:, :, 0, :] # shift for self-attn e1 = mod[:, :, 1, :] # scale for self-attn e2 = mod[:, :, 2, :] # gate for self-attn @@ -59,19 +59,19 @@ class WanAttentionBlock(nn.Module): e4 = mod[:, :, 4, :] # scale for ffn e5 = mod[:, :, 5, :] # gate for ffn - # Self-attention with modulation - x_mod = self.norm1(x) * (1 + e1) + e0 + # Self-attention with modulation (norm output in float32) + x_mod = self.norm1(x).astype(mx.float32) * (1 + e1) + e0 y = self.self_attn(x_mod, seq_lens, grid_sizes, freqs) - x = x + y * e2 + x = x.astype(mx.float32) + y.astype(mx.float32) * e2 # Cross-attention (no modulation, just norm) x_cross = self.norm3(x) if self.norm3 is not None else x x = x + self.cross_attn(x_cross, context, context_lens, kv_cache=cross_kv_cache) - # FFN with modulation - x_mod = self.norm2(x) * (1 + e4) + e3 + # FFN with modulation (norm output in float32) + x_mod = self.norm2(x).astype(mx.float32) * (1 + e4) + e3 y = self.ffn(x_mod) - x = x + y * e5 + x = x + y.astype(mx.float32) * e5 return x @@ -86,4 +86,6 @@ class WanFFN(nn.Module): self.fc2 = nn.Linear(ffn_dim, dim) def __call__(self, x: mx.array) -> mx.array: - return self.fc2(self.act(self.fc1(x))) + # Cast to weight dtype for efficient matmul (bfloat16 matching official autocast) + x_w = x.astype(self.fc1.weight.dtype) + return self.fc2(self.act(self.fc1(x_w))) diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py index 8865542..36fe8e4 100644 --- a/mlx_video/models/wan/vae22.py +++ b/mlx_video/models/wan/vae22.py @@ -53,7 +53,9 @@ class CausalConv3d(nn.Module): self.kernel_size = kernel_size self.stride = stride - self._causal_pad_t = 2 * padding[0] + # Causal temporal padding: always kernel_size-1 on the left. + # This matches the official CausalConv3d which pads (kernel[0]-1, 0, ...). + self._causal_pad_t = kernel_size[0] - 1 self._pad_h = padding[1] self._pad_w = padding[2] @@ -250,6 +252,46 @@ class DupUp3D(nn.Module): return x +class AvgDown3D(nn.Module): + """Downsample by grouping channels across spatial/temporal factors and averaging. + + Inverse of DupUp3D. No learnable parameters. + Input: [B, T, H, W, C_in] → Output: [B, T//ft, H//fs, W//fs, C_out] + """ + + def __init__(self, in_channels, out_channels, factor_t, factor_s=1): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.factor_t = factor_t + self.factor_s = factor_s + self.factor = factor_t * factor_s * factor_s + assert in_channels * self.factor % out_channels == 0 + self.group_size = in_channels * self.factor // out_channels + + def __call__(self, x): + # x: [B, T, H, W, C] + B, T, H, W, C = x.shape + + # Pad temporal if not divisible by factor_t + pad_t = (self.factor_t - T % self.factor_t) % self.factor_t + if pad_t > 0: + x = mx.pad(x, [(0, 0), (pad_t, 0), (0, 0), (0, 0), (0, 0)]) + T = T + pad_t + + ft, fs = self.factor_t, self.factor_s + # Reshape to split spatial/temporal dims + x = x.reshape(B, T // ft, ft, H // fs, fs, W // fs, fs, C) + # Move factors next to channels + x = x.transpose(0, 1, 3, 5, 7, 2, 4, 6) # [B, T', H', W', C, ft, fs, fs] + # Expand channels + x = x.reshape(B, T // ft, H // fs, W // fs, C * self.factor) + # Group and average + x = x.reshape(B, T // ft, H // fs, W // fs, self.out_channels, self.group_size) + x = x.mean(axis=-1) + return x + + class Resample(nn.Module): """Spatial up/downsampling with optional temporal up/downsampling.""" @@ -267,6 +309,15 @@ class Resample(nn.Module): self.resample_bias = mx.zeros((dim,)) # time_conv: CausalConv3d(dim, dim*2, (3,1,1), padding=(1,0,0)) self.time_conv = CausalConv3d(dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) + elif mode == "downsample2d": + # resample.0 = ZeroPad2d (no params), resample.1 = Conv2d(stride=2) + self.resample_weight = mx.zeros((dim, 3, 3, dim)) + self.resample_bias = mx.zeros((dim,)) + elif mode == "downsample3d": + self.resample_weight = mx.zeros((dim, 3, 3, dim)) + self.resample_bias = mx.zeros((dim,)) + # time_conv: CausalConv3d(dim, dim, (3,1,1), stride=(2,1,1)) + self.time_conv = CausalConv3d(dim, dim, (3, 1, 1), stride=(2, 1, 1), padding=(0, 0, 0)) else: raise ValueError(f"Unsupported mode: {mode}") @@ -283,6 +334,12 @@ class Resample(nn.Module): x = mx.pad(x, [(0, 0), (1, 1), (1, 1), (0, 0)]) return mx.conv_general(x, self.resample_weight) + self.resample_bias + def _downsample_conv2d(self, x): + """Apply strided Conv2d for downsampling. x: [N, H, W, C].""" + # ZeroPad2d((0,1,0,1)): pad right=1, bottom=1 + x = mx.pad(x, [(0, 0), (0, 1), (0, 1), (0, 0)]) + return mx.conv_general(x, self.resample_weight, stride=(2, 2)) + self.resample_bias + def __call__(self, x, first_chunk=False): # x: [B, T, H, W, C] B, T, H, W, C = x.shape @@ -320,20 +377,37 @@ class Resample(nn.Module): mx.eval(x) T = x.shape[1] - # Spatial upsample in temporal chunks to limit peak memory - chunk_size = 8 - chunks = [] - for t_start in range(0, T, chunk_size): - t_end = min(t_start + chunk_size, T) - x_chunk = x[:, t_start:t_end].reshape(-1, H, W, C) - x_chunk = self._upsample2x(x_chunk) - x_chunk = self._conv2d(x_chunk) - mx.eval(x_chunk) - chunks.append(x_chunk) + if self.mode == "downsample3d" and T > 1: + # Temporal downsample via strided CausalConv3d + # Skip for T=1 (single frame) — matches official chunked encoding + # where first chunk stores cache but doesn't apply time_conv + x = self.time_conv(x) + mx.eval(x) + T = x.shape[1] + + if self.mode in ("upsample2d", "upsample3d"): + # Spatial upsample in temporal chunks to limit peak memory + chunk_size = 8 + chunks = [] + for t_start in range(0, T, chunk_size): + t_end = min(t_start + chunk_size, T) + x_chunk = x[:, t_start:t_end].reshape(-1, H, W, C) + x_chunk = self._upsample2x(x_chunk) + x_chunk = self._conv2d(x_chunk) + mx.eval(x_chunk) + chunks.append(x_chunk) + + x = mx.concatenate(chunks, axis=0) + H2, W2 = x.shape[1], x.shape[2] + x = x.reshape(B, T, H2, W2, C) + elif self.mode in ("downsample2d", "downsample3d"): + # Spatial downsample: per-frame strided Conv2d + x_flat = x.reshape(B * T, H, W, C) + x_flat = self._downsample_conv2d(x_flat) + mx.eval(x_flat) + H2, W2 = x_flat.shape[1], x_flat.shape[2] + x = x_flat.reshape(B, T, H2, W2, C) - x = mx.concatenate(chunks, axis=0) - H2, W2 = x.shape[1], x.shape[2] - x = x.reshape(B, T, H2, W2, C) return x @@ -383,6 +457,44 @@ class Up_ResidualBlock(nn.Module): return x_main +class Down_ResidualBlock(nn.Module): + """Downsampling residual block with AvgDown3D shortcut.""" + + def __init__(self, in_dim, out_dim, num_res_blocks, temperal_downsample=False, down_flag=False): + super().__init__() + self.down_flag = down_flag + + # AvgDown3D shortcut (no learnable params, always present) + self.avg_shortcut = AvgDown3D( + in_dim, out_dim, + factor_t=2 if temperal_downsample else 1, + factor_s=2 if down_flag else 1, + ) + + # Main path: ResidualBlocks + optional Resample + blocks = [] + dim_in = in_dim + for _ in range(num_res_blocks): + blocks.append(ResidualBlock(dim_in, out_dim)) + dim_in = out_dim + + if down_flag: + mode = "downsample3d" if temperal_downsample else "downsample2d" + blocks.append(Resample(out_dim, mode=mode)) + + self.downsamples = blocks + + def __call__(self, x): + x_shortcut = self.avg_shortcut(x) + mx.eval(x_shortcut) + + for module in self.downsamples: + x = module(x) + mx.eval(x) + + return x + x_shortcut + + class Decoder3d(nn.Module): """Wan2.2 3D VAE Decoder.""" @@ -439,6 +551,63 @@ class Decoder3d(nn.Module): return x +class Encoder3d(nn.Module): + """Wan2.2 3D VAE Encoder. Mirror of Decoder3d with downsampling.""" + + def __init__( + self, + dim=160, + z_dim=96, + dim_mult=(1, 2, 4, 4), + num_res_blocks=2, + temperal_downsample=(False, True, True), + ): + super().__init__() + # Channel dimensions: [160, 160, 320, 640, 640] + dims = [dim * m for m in [1] + list(dim_mult)] + + # Initial conv: patchified input (12 ch) → first dim + self.conv1 = CausalConv3d(12, dims[0], 3, padding=1) + + # Downsample blocks + self.downsamples = [] + for i in range(len(dim_mult)): + in_d, out_d = dims[i], dims[i + 1] + t_down = temperal_downsample[i] if i < len(temperal_downsample) else False + self.downsamples.append(Down_ResidualBlock( + in_dim=in_d, + out_dim=out_d, + num_res_blocks=num_res_blocks, + temperal_downsample=t_down, + down_flag=(i < len(dim_mult) - 1), + )) + + # Middle blocks (same as decoder) + out_dim = dims[-1] + self.middle = [ + ResidualBlock(out_dim, out_dim), + AttentionBlock(out_dim), + ResidualBlock(out_dim, out_dim), + ] + + # Output head: RMS_norm → SiLU → CausalConv3d → z_dim channels + self.head = Head22(out_dim, out_channels=z_dim) + + def __call__(self, x): + # x: [B, T, H, W, 12] (patchified) + x = self.conv1(x) + + for layer in self.downsamples: + x = layer(x) + + for layer in self.middle: + x = layer(x) + mx.eval(x) + + x = self.head(x) + return x + + class Head22(nn.Module): """Decoder output head: RMS_norm → SiLU → CausalConv3d(dim, 12, 3). @@ -460,6 +629,46 @@ class Head22(nn.Module): return x +class Wan22VAEEncoder(nn.Module): + """Full Wan2.2 VAE encoder with patchify and normalization.""" + + def __init__(self, z_dim=48, dim=160): + super().__init__() + self.z_dim = z_dim + # conv1: top-level 1x1x1 conv after encoder (z_dim*2 → z_dim*2) + self.conv1 = CausalConv3d(z_dim * 2, z_dim * 2, 1) + self.encoder = Encoder3d( + dim=dim, + z_dim=z_dim * 2, # Encoder outputs z_dim*2, split into mu + log_var + dim_mult=(1, 2, 4, 4), + num_res_blocks=2, + temperal_downsample=(False, True, True), + ) + + def __call__(self, img): + """Encode image/video to latent space. + + Args: + img: [B, T, H, W, 3] image/video in [-1, 1] + + Returns: + mu: [B, T_lat, H_lat, W_lat, z_dim] normalized latent + """ + # Patchify: [B, T, H, W, 3] → [B, T, H/2, W/2, 12] + x = _patchify(img, patch_size=2) + + # Encoder: [B, T, H/2, W/2, 12] → [B, T', H', W', z_dim*2] + out = self.encoder(x) + + # conv1 (pointwise) + split into mu, log_var + out = self.conv1(out) + mu = out[:, :, :, :, :self.z_dim] + + # Normalize + mu = normalize_latents(mu) + return mu + + class Wan22VAEDecoder(nn.Module): """Full Wan2.2 VAE decoder with normalization and unpatchify.""" @@ -507,6 +716,15 @@ def denormalize_latents(z, mean=None, std=None): return z * inv_scale.reshape(1, 1, 1, 1, -1) + mean.reshape(1, 1, 1, 1, -1) +def normalize_latents(z, mean=None, std=None): + """Normalize latents: z_norm = (z - mean) / std. Inverse of denormalize_latents.""" + if mean is None: + mean = VAE22_MEAN + if std is None: + std = VAE22_STD + return (z - mean.reshape(1, 1, 1, 1, -1)) / std.reshape(1, 1, 1, 1, -1) + + def _unpatchify(x, patch_size=2): """Convert from packed channels to spatial: [B, T, H, W, C*p*p] → [B, T, H*p, W*p, C//(p*p)] Actually: [B, T, H, W, 12] → [B, T, H*2, W*2, 3] @@ -527,10 +745,30 @@ def _unpatchify(x, patch_size=2): return x -def sanitize_wan22_vae_weights(weights: dict) -> dict: +def _patchify(x, patch_size=2): + """Convert spatial to packed channels: [B, T, H*p, W*p, C] → [B, T, H, W, C*p*p] + Inverse of _unpatchify. + PyTorch: b c f (h q) (w r) -> b (c r q) f h w + In channels-last: [B, T, H*q, W*r, C] → [B, T, H, W, C*r*q] + """ + if patch_size == 1: + return x + B, T, Hfull, Wfull, C = x.shape + H = Hfull // patch_size + W = Wfull // patch_size + # [B, T, H, q, W, r, C] + x = x.reshape(B, T, H, patch_size, W, patch_size, C) + # Rearrange to pack q,r into channels: [B, T, H, W, C, r, q] + x = x.transpose(0, 1, 2, 4, 6, 5, 3) # [B, T, H, W, C, r, q] + x = x.reshape(B, T, H, W, C * patch_size * patch_size) + return x + + +def sanitize_wan22_vae_weights(weights: dict, include_encoder: bool = False) -> dict: """Convert PyTorch Wan2.2 VAE weights to MLX format. - Only keeps decoder + conv2 weights (encoder/conv1 not needed for generation). + By default keeps decoder + conv2 weights only. Set include_encoder=True + to also keep encoder + conv1 weights (needed for I2V encoding). Transposes conv weights from channels-first to channels-last. Squeezes RMS_norm gamma from (dim, 1, 1, 1) or (dim, 1, 1) to (dim,). Maps PyTorch nn.Sequential indices to our named layers. @@ -538,9 +776,10 @@ def sanitize_wan22_vae_weights(weights: dict) -> dict: sanitized = {} for key, value in weights.items(): - # Skip encoder and conv1 (encoder-only) - if key.startswith("encoder.") or key.startswith("conv1."): - continue + # Skip encoder and conv1 unless requested + if not include_encoder: + if key.startswith("encoder.") or key.startswith("conv1."): + continue new_key = key diff --git a/mlx_video/postprocess.py b/mlx_video/postprocess.py index 03ef61d..9d579bc 100644 --- a/mlx_video/postprocess.py +++ b/mlx_video/postprocess.py @@ -1,8 +1,42 @@ import numpy as np +from pathlib import Path from typing import Optional +def save_video(frames: np.ndarray, output_path: str, fps: int = 16): + """Save video frames to MP4. + + Args: + frames: Video frames [T, H, W, 3] uint8 + output_path: Output file path + fps: Frames per second + """ + try: + import imageio + writer = imageio.get_writer(output_path, fps=fps, codec="libx264", quality=8) + for frame in frames: + writer.append_data(frame) + writer.close() + except ImportError: + try: + import cv2 + h, w = frames.shape[1], frames.shape[2] + fourcc = cv2.VideoWriter_fourcc(*"avc1") + writer = cv2.VideoWriter(output_path, fourcc, fps, (w, h)) + for frame in frames: + writer.write(cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)) + writer.release() + except (ImportError, Exception): + # Last resort: save as individual PNGs + from PIL import Image + out_dir = Path(output_path).parent / Path(output_path).stem + out_dir.mkdir(parents=True, exist_ok=True) + for i, frame in enumerate(frames): + Image.fromarray(frame).save(out_dir / f"frame_{i:04d}.png") + print(f" (no video encoder available, saved {len(frames)} frames to {out_dir}/)") + + def bilateral_filter(image: np.ndarray, d: int = 5, sigma_color: float = 75, sigma_space: float = 75) -> np.ndarray: """Apply bilateral filter to reduce grid artifacts while preserving edges. diff --git a/mlx_video/utils.py b/mlx_video/utils.py index cebbed7..da99eb3 100644 --- a/mlx_video/utils.py +++ b/mlx_video/utils.py @@ -9,6 +9,20 @@ from pathlib import Path from huggingface_hub import snapshot_download from PIL import Image + +class Colors: + """ANSI color codes for terminal output.""" + + CYAN = "\033[96m" + BLUE = "\033[94m" + GREEN = "\033[92m" + YELLOW = "\033[93m" + RED = "\033[91m" + MAGENTA = "\033[95m" + BOLD = "\033[1m" + DIM = "\033[2m" + RESET = "\033[0m" + def get_model_path(model_repo: str): """Get or download LTX-2 model path.""" try: diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..e669d95 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,4 @@ +import os +import sys + +sys.path.insert(0, os.path.dirname(__file__)) diff --git a/tests/test_wan.py b/tests/test_wan.py deleted file mode 100644 index 9a35bbd..0000000 --- a/tests/test_wan.py +++ /dev/null @@ -1,2712 +0,0 @@ -"""Comprehensive tests for Wan2.2 model components. - -All tests use small/tiny configurations to avoid needing actual weights. -""" - -import math - -import mlx.core as mx -import mlx.nn as nn -import numpy as np -import pytest - - -# --------------------------------------------------------------------------- -# Config Tests -# --------------------------------------------------------------------------- - -class TestWanModelConfig: - """Tests for WanModelConfig dataclass.""" - - def test_default_values(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig() - assert config.dim == 5120 - assert config.ffn_dim == 13824 - assert config.num_heads == 40 - assert config.num_layers == 40 - assert config.in_dim == 16 - assert config.out_dim == 16 - assert config.patch_size == (1, 2, 2) - assert config.vae_stride == (4, 8, 8) - assert config.vae_z_dim == 16 - assert config.boundary == 0.875 - assert config.sample_shift == 12.0 - assert config.sample_steps == 40 - assert config.sample_guide_scale == (3.0, 4.0) - assert config.num_train_timesteps == 1000 - assert config.qk_norm is True - assert config.cross_attn_norm is True - assert config.text_len == 512 - - def test_head_dim_property(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig() - assert config.head_dim == 128 # 5120 // 40 - - def test_to_dict_roundtrip(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig() - d = config.to_dict() - assert isinstance(d, dict) - assert d["dim"] == 5120 - assert d["patch_size"] == (1, 2, 2) - assert d["boundary"] == 0.875 - - def test_t5_config_values(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig() - assert config.t5_vocab_size == 256384 - assert config.t5_dim == 4096 - assert config.t5_dim_attn == 4096 - assert config.t5_dim_ffn == 10240 - assert config.t5_num_heads == 64 - assert config.t5_num_layers == 24 - assert config.t5_num_buckets == 32 - - -# --------------------------------------------------------------------------- -# RoPE Tests -# --------------------------------------------------------------------------- - -class TestRoPE: - """Tests for 3-way factorized RoPE.""" - - def test_rope_params_shape(self): - from mlx_video.models.wan.rope import rope_params - freqs = rope_params(1024, 64) - mx.eval(freqs) - assert freqs.shape == (1024, 32, 2) # [max_seq_len, dim//2, 2] - - def test_rope_params_different_dims(self): - from mlx_video.models.wan.rope import rope_params - for dim in [32, 64, 128]: - freqs = rope_params(512, dim) - mx.eval(freqs) - assert freqs.shape == (512, dim // 2, 2) - - def test_rope_params_cos_sin_range(self): - from mlx_video.models.wan.rope import rope_params - freqs = rope_params(256, 64) - mx.eval(freqs) - cos_vals = np.array(freqs[:, :, 0]) - sin_vals = np.array(freqs[:, :, 1]) - assert np.all(cos_vals >= -1.0) and np.all(cos_vals <= 1.0) - assert np.all(sin_vals >= -1.0) and np.all(sin_vals <= 1.0) - - def test_rope_params_position_zero(self): - """At position 0, cos should be 1 and sin should be 0.""" - from mlx_video.models.wan.rope import rope_params - freqs = rope_params(10, 64) - mx.eval(freqs) - np.testing.assert_allclose(np.array(freqs[0, :, 0]), 1.0, atol=1e-6) - np.testing.assert_allclose(np.array(freqs[0, :, 1]), 0.0, atol=1e-6) - - def test_rope_apply_output_shape(self): - from mlx_video.models.wan.rope import rope_params, rope_apply - B, L, N, D = 1, 24, 4, 32 # batch, seq, heads, head_dim - x = mx.random.normal((B, L, N, D)) - freqs = rope_params(1024, D) - grid_sizes = [(2, 3, 4)] # F*H*W = 24 = L - out = rope_apply(x, grid_sizes, freqs) - mx.eval(out) - assert out.shape == (B, L, N, D) - - def test_rope_apply_preserves_norm(self): - """RoPE rotation should preserve vector norms.""" - from mlx_video.models.wan.rope import rope_params, rope_apply - B, N, D = 1, 2, 16 - F, H, W = 2, 3, 4 - L = F * H * W - x = mx.random.normal((B, L, N, D)) - freqs = rope_params(1024, D) - - out = rope_apply(x, [(F, H, W)], freqs) - mx.eval(x, out) - - x_np = np.array(x[0]) - out_np = np.array(out[0]) - for i in range(L): - for h in range(N): - norm_in = np.linalg.norm(x_np[i, h]) - norm_out = np.linalg.norm(out_np[i, h]) - np.testing.assert_allclose(norm_in, norm_out, rtol=1e-4) - - def test_rope_apply_with_padding(self): - """When seq_len < L, extra tokens should be preserved unchanged.""" - from mlx_video.models.wan.rope import rope_params, rope_apply - B, N, D = 1, 2, 16 - F, H, W = 2, 2, 2 - seq_len = F * H * W # 8 - pad = 4 - L = seq_len + pad - x = mx.random.normal((B, L, N, D)) - freqs = rope_params(1024, D) - - out = rope_apply(x, [(F, H, W)], freqs) - mx.eval(x, out) - # Padded tokens should be unchanged - np.testing.assert_allclose( - np.array(out[0, seq_len:]), - np.array(x[0, seq_len:]), - atol=1e-6, - ) - - def test_rope_apply_batch(self): - """Test with batch_size > 1 and different grid sizes.""" - from mlx_video.models.wan.rope import rope_params, rope_apply - B, N, D = 2, 2, 16 - grids = [(2, 3, 4), (2, 3, 4)] - L = 2 * 3 * 4 - x = mx.random.normal((B, L, N, D)) - freqs = rope_params(1024, D) - - out = rope_apply(x, grids, freqs) - mx.eval(out) - assert out.shape == (B, L, N, D) - - def test_rope_frequency_split(self): - """Verify the 3-way frequency dimension split matches Wan2.2 convention.""" - D = 128 # head_dim for 14B model - half_d = D // 2 - d_t = half_d - 2 * (half_d // 3) - d_h = half_d // 3 - d_w = half_d // 3 - assert d_t + d_h + d_w == half_d - # Temporal gets more capacity - assert d_t >= d_h - assert d_t >= d_w - - -# --------------------------------------------------------------------------- -# Attention Tests -# --------------------------------------------------------------------------- - -class TestWanRMSNorm: - def test_output_shape(self): - from mlx_video.models.wan.attention import WanRMSNorm - norm = WanRMSNorm(64) - x = mx.random.normal((2, 10, 64)) - out = norm(x) - mx.eval(out) - assert out.shape == (2, 10, 64) - - def test_zero_mean_variance(self): - """RMS norm should make RMS ≈ 1 before scaling.""" - from mlx_video.models.wan.attention import WanRMSNorm - norm = WanRMSNorm(64) - x = mx.random.normal((1, 5, 64)) * 10.0 - out = norm(x) - mx.eval(out) - out_np = np.array(out[0]) - for i in range(5): - rms = np.sqrt(np.mean(out_np[i] ** 2)) - # After RMS norm with weight=1, RMS should be ~1 - np.testing.assert_allclose(rms, 1.0, rtol=0.1) - - def test_dtype_preservation(self): - """RMSNorm weight is float32, so output is promoted to float32.""" - from mlx_video.models.wan.attention import WanRMSNorm - norm = WanRMSNorm(32) - x = mx.random.normal((1, 4, 32)).astype(mx.bfloat16) - out = norm(x) - mx.eval(out) - # Weight is float32, so multiplication promotes result to float32 - assert out.dtype == mx.float32 - - -class TestWanLayerNorm: - def test_output_shape(self): - from mlx_video.models.wan.attention import WanLayerNorm - norm = WanLayerNorm(64) - x = mx.random.normal((2, 10, 64)) - out = norm(x) - mx.eval(out) - assert out.shape == (2, 10, 64) - - def test_without_affine(self): - from mlx_video.models.wan.attention import WanLayerNorm - norm = WanLayerNorm(64, elementwise_affine=False) - x = mx.random.normal((1, 4, 64)) - out = norm(x) - mx.eval(out) - # Mean should be ~0, variance should be ~1 - out_np = np.array(out[0]) - for i in range(4): - np.testing.assert_allclose(np.mean(out_np[i]), 0.0, atol=0.05) - np.testing.assert_allclose(np.std(out_np[i]), 1.0, rtol=0.1) - - def test_with_affine(self): - from mlx_video.models.wan.attention import WanLayerNorm - norm = WanLayerNorm(32, elementwise_affine=True) - assert hasattr(norm, "weight") - assert hasattr(norm, "bias") - x = mx.random.normal((1, 4, 32)) - out = norm(x) - mx.eval(out) - assert out.shape == (1, 4, 32) - - -class TestWanSelfAttention: - def setup_method(self): - mx.random.seed(42) - self.dim = 64 - self.num_heads = 4 - - def test_output_shape(self): - from mlx_video.models.wan.attention import WanSelfAttention - from mlx_video.models.wan.rope import rope_params - attn = WanSelfAttention(self.dim, self.num_heads) - B, L = 1, 24 - F, H, W = 2, 3, 4 - x = mx.random.normal((B, L, self.dim)) - freqs = rope_params(1024, self.dim // self.num_heads) - out = attn(x, seq_lens=[L], grid_sizes=[(F, H, W)], freqs=freqs) - mx.eval(out) - assert out.shape == (B, L, self.dim) - - def test_with_qk_norm(self): - from mlx_video.models.wan.attention import WanSelfAttention - attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=True) - assert attn.norm_q is not None - assert attn.norm_k is not None - - def test_without_qk_norm(self): - from mlx_video.models.wan.attention import WanSelfAttention - attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=False) - assert attn.norm_q is None - assert attn.norm_k is None - - def test_masking(self): - """Test that masking works: shorter seq_lens should mask later tokens.""" - from mlx_video.models.wan.attention import WanSelfAttention - from mlx_video.models.wan.rope import rope_params - attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=False) - B, L = 1, 24 - F, H, W = 2, 3, 4 - x = mx.random.normal((B, L, self.dim)) - freqs = rope_params(1024, self.dim // self.num_heads) - - # Full sequence - out_full = attn(x, seq_lens=[L], grid_sizes=[(F, H, W)], freqs=freqs) - # Shorter sequence (mask last 4 tokens) - out_masked = attn(x, seq_lens=[L - 4], grid_sizes=[(F, H, W)], freqs=freqs) - mx.eval(out_full, out_masked) - - # Outputs should differ when masking is applied - assert not np.allclose(np.array(out_full), np.array(out_masked), atol=1e-5) - - -class TestWanCrossAttention: - def setup_method(self): - mx.random.seed(42) - self.dim = 64 - self.num_heads = 4 - - def test_output_shape(self): - from mlx_video.models.wan.attention import WanCrossAttention - attn = WanCrossAttention(self.dim, self.num_heads) - B, L_q, L_kv = 1, 24, 16 - x = mx.random.normal((B, L_q, self.dim)) - context = mx.random.normal((B, L_kv, self.dim)) - out = attn(x, context) - mx.eval(out) - assert out.shape == (B, L_q, self.dim) - - def test_with_context_mask(self): - from mlx_video.models.wan.attention import WanCrossAttention - attn = WanCrossAttention(self.dim, self.num_heads) - B, L_q, L_kv = 1, 12, 16 - x = mx.random.normal((B, L_q, self.dim)) - context = mx.random.normal((B, L_kv, self.dim)) - out = attn(x, context, context_lens=[10]) - mx.eval(out) - assert out.shape == (B, L_q, self.dim) - - -# --------------------------------------------------------------------------- -# Transformer Block Tests -# --------------------------------------------------------------------------- - -class TestWanFFN: - def test_output_shape(self): - from mlx_video.models.wan.transformer import WanFFN - ffn = WanFFN(64, 256) - x = mx.random.normal((2, 10, 64)) - out = ffn(x) - mx.eval(out) - assert out.shape == (2, 10, 64) - - def test_gelu_activation(self): - """FFN should use GELU activation (non-linearity).""" - from mlx_video.models.wan.transformer import WanFFN - ffn = WanFFN(32, 128) - x = mx.ones((1, 1, 32)) * 2.0 - out1 = ffn(x) - x2 = mx.ones((1, 1, 32)) * 4.0 - out2 = ffn(x2) - mx.eval(out1, out2) - # Non-linear: 2x input should not give 2x output - assert not np.allclose(np.array(out2), np.array(out1) * 2.0, rtol=0.1) - - -class TestWanAttentionBlock: - def setup_method(self): - mx.random.seed(42) - self.dim = 64 - self.ffn_dim = 128 - self.num_heads = 4 - - def test_output_shape(self): - from mlx_video.models.wan.transformer import WanAttentionBlock - from mlx_video.models.wan.rope import rope_params - block = WanAttentionBlock( - self.dim, self.ffn_dim, self.num_heads, - cross_attn_norm=True, - ) - B, L = 1, 24 - F, H, W = 2, 3, 4 - x = mx.random.normal((B, L, self.dim)) - e = mx.random.normal((B, L, 6, self.dim)) - context = mx.random.normal((B, 16, self.dim)) - freqs = rope_params(1024, self.dim // self.num_heads) - - out = block( - x, e, seq_lens=[L], grid_sizes=[(F, H, W)], - freqs=freqs, context=context, - ) - mx.eval(out) - assert out.shape == (B, L, self.dim) - - def test_modulation_shape(self): - from mlx_video.models.wan.transformer import WanAttentionBlock - block = WanAttentionBlock(self.dim, self.ffn_dim, self.num_heads) - assert block.modulation.shape == (1, 6, self.dim) - - def test_with_cross_attn_norm(self): - from mlx_video.models.wan.transformer import WanAttentionBlock - block = WanAttentionBlock( - self.dim, self.ffn_dim, self.num_heads, - cross_attn_norm=True, - ) - assert block.norm3 is not None - - def test_without_cross_attn_norm(self): - from mlx_video.models.wan.transformer import WanAttentionBlock - block = WanAttentionBlock( - self.dim, self.ffn_dim, self.num_heads, - cross_attn_norm=False, - ) - assert block.norm3 is None - - def test_residual_connection(self): - """Output should differ from zero even with small random init.""" - from mlx_video.models.wan.transformer import WanAttentionBlock - from mlx_video.models.wan.rope import rope_params - block = WanAttentionBlock(self.dim, self.ffn_dim, self.num_heads) - B, L = 1, 8 - F, H, W = 2, 2, 2 - x = mx.ones((B, L, self.dim)) - e = mx.zeros((B, L, 6, self.dim)) - context = mx.random.normal((B, 4, self.dim)) - freqs = rope_params(1024, self.dim // self.num_heads) - - out = block(x, e, [L], [(F, H, W)], freqs, context) - mx.eval(out) - # With residual connections, output should be close to input + corrections - assert not np.allclose(np.array(out), 0.0, atol=1e-3) - - -# --------------------------------------------------------------------------- -# Sinusoidal Embedding Tests -# --------------------------------------------------------------------------- - -class TestSinusoidalEmbedding: - def test_output_shape(self): - from mlx_video.models.wan.model import sinusoidal_embedding_1d - pos = mx.arange(10).astype(mx.float32) - emb = sinusoidal_embedding_1d(256, pos) - mx.eval(emb) - assert emb.shape == (10, 256) - - def test_position_zero(self): - """Position 0 should have cos=1 for all dims and sin=0.""" - from mlx_video.models.wan.model import sinusoidal_embedding_1d - pos = mx.array([0.0]) - emb = sinusoidal_embedding_1d(64, pos) - mx.eval(emb) - emb_np = np.array(emb[0]) - # First half is cos, should be 1 at position 0 - np.testing.assert_allclose(emb_np[:32], 1.0, atol=1e-5) - # Second half is sin, should be 0 at position 0 - np.testing.assert_allclose(emb_np[32:], 0.0, atol=1e-5) - - def test_different_positions_differ(self): - from mlx_video.models.wan.model import sinusoidal_embedding_1d - pos = mx.array([0.0, 100.0, 999.0]) - emb = sinusoidal_embedding_1d(128, pos) - mx.eval(emb) - emb_np = np.array(emb) - assert not np.allclose(emb_np[0], emb_np[1]) - assert not np.allclose(emb_np[1], emb_np[2]) - - -# --------------------------------------------------------------------------- -# Head Tests -# --------------------------------------------------------------------------- - -class TestHead: - def test_output_shape(self): - from mlx_video.models.wan.model import Head - head = Head(dim=64, out_dim=16, patch_size=(1, 2, 2)) - B, L = 1, 24 - x = mx.random.normal((B, L, 64)) - e = mx.random.normal((B, 64)) # time embedding: [B, dim] - out = head(x, e) - mx.eval(out) - expected_proj_dim = 16 * 1 * 2 * 2 # 64 - assert out.shape == (B, L, expected_proj_dim) - - def test_modulation_shape(self): - from mlx_video.models.wan.model import Head - head = Head(dim=64, out_dim=16, patch_size=(1, 2, 2)) - assert head.modulation.shape == (1, 2, 64) - - -# --------------------------------------------------------------------------- -# WanModel (Tiny) Tests -# --------------------------------------------------------------------------- - -def _make_tiny_config(): - """Create a tiny WanModelConfig for testing.""" - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig() - # Override to tiny values - config.dim = 64 - config.ffn_dim = 128 - config.num_heads = 4 - config.num_layers = 2 - config.in_dim = 4 - config.out_dim = 4 - config.patch_size = (1, 2, 2) - config.freq_dim = 32 - config.text_dim = 32 - config.text_len = 8 - return config - - -class TestWanModel: - def setup_method(self): - mx.random.seed(42) - - def test_instantiation(self): - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - num_params = sum(p.size for _, p in nn.utils.tree_flatten(model.parameters())) - assert num_params > 0 - - def test_patchify_shape(self): - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - # Input: [C=4, F=1, H=4, W=4] - x = mx.random.normal((4, 1, 4, 4)) - patches, grid_size = model._patchify(x) - mx.eval(patches) - # Patch size (1,2,2): F'=1, H'=2, W'=2 - assert grid_size == (1, 2, 2) - assert patches.shape == (1, 1 * 2 * 2, config.dim) - - def test_patchify_various_sizes(self): - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - for f, h, w in [(1, 4, 4), (2, 6, 8), (3, 4, 6)]: - x = mx.random.normal((config.in_dim, f, h, w)) - patches, (gf, gh, gw) = model._patchify(x) - mx.eval(patches) - pt, ph, pw = config.patch_size - assert gf == f // pt - assert gh == h // ph - assert gw == w // pw - assert patches.shape[1] == gf * gh * gw - - def test_unpatchify_inverse(self): - """Patchify then unpatchify should reconstruct original spatial dims.""" - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - C, F, H, W = config.in_dim, 2, 4, 6 - pt, ph, pw = config.patch_size - F_out, H_out, W_out = F // pt, H // ph, W // pw - L = F_out * H_out * W_out - proj_dim = config.out_dim * pt * ph * pw - # Simulated head output - x = mx.random.normal((1, L, proj_dim)) - out = model.unpatchify(x, [(F_out, H_out, W_out)]) - mx.eval(out[0]) - assert out[0].shape == (config.out_dim, F, H, W) - - def test_forward_pass(self): - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - C, F, H, W = config.in_dim, 1, 4, 4 - pt, ph, pw = config.patch_size - seq_len = (F // pt) * (H // ph) * (W // pw) - - x_list = [mx.random.normal((C, F, H, W))] - t = mx.array([500.0]) - context = [mx.random.normal((6, config.text_dim))] - - out = model(x_list, t, context, seq_len) - mx.eval(out[0]) - assert len(out) == 1 - assert out[0].shape == (C, F, H, W) - - def test_forward_batch(self): - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - C, F, H, W = config.in_dim, 1, 4, 4 - pt, ph, pw = config.patch_size - seq_len = (F // pt) * (H // ph) * (W // pw) - - x_list = [mx.random.normal((C, F, H, W)), mx.random.normal((C, F, H, W))] - t = mx.array([500.0, 200.0]) - context = [mx.random.normal((6, config.text_dim)), mx.random.normal((4, config.text_dim))] - - out = model(x_list, t, context, seq_len) - mx.eval(out[0], out[1]) - assert len(out) == 2 - for o in out: - assert o.shape == (C, F, H, W) - - def test_output_is_float32(self): - from mlx_video.models.wan.model import WanModel - config = _make_tiny_config() - model = WanModel(config) - C, F, H, W = config.in_dim, 1, 4, 4 - seq_len = (F // 1) * (H // 2) * (W // 2) - out = model([mx.random.normal((C, F, H, W))], mx.array([100.0]), - [mx.random.normal((4, config.text_dim))], seq_len) - mx.eval(out[0]) - assert out[0].dtype == mx.float32 - - -# --------------------------------------------------------------------------- -# T5 Encoder Tests -# --------------------------------------------------------------------------- - -class TestT5LayerNorm: - def test_output_shape(self): - from mlx_video.models.wan.text_encoder import T5LayerNorm - norm = T5LayerNorm(64) - x = mx.random.normal((2, 10, 64)) - out = norm(x) - mx.eval(out) - assert out.shape == (2, 10, 64) - - def test_rms_normalization(self): - """After T5LayerNorm with weight=1, RMS should be ~1.""" - from mlx_video.models.wan.text_encoder import T5LayerNorm - norm = T5LayerNorm(128) - x = mx.random.normal((1, 5, 128)) * 5.0 - out = norm(x) - mx.eval(out) - out_np = np.array(out[0]) - for i in range(5): - rms = np.sqrt(np.mean(out_np[i] ** 2)) - np.testing.assert_allclose(rms, 1.0, rtol=0.1) - - -class TestT5RelativeEmbedding: - def test_output_shape(self): - from mlx_video.models.wan.text_encoder import T5RelativeEmbedding - rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=4) - out = rel_emb(10, 10) - mx.eval(out) - assert out.shape == (1, 4, 10, 10) # [1, N, lq, lk] - - def test_asymmetric_lengths(self): - from mlx_video.models.wan.text_encoder import T5RelativeEmbedding - rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=4) - out = rel_emb(8, 12) - mx.eval(out) - assert out.shape == (1, 4, 8, 12) - - def test_symmetry(self): - """Position bias should have structure (not all zeros/random).""" - from mlx_video.models.wan.text_encoder import T5RelativeEmbedding - rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=2) - out = rel_emb(6, 6) - mx.eval(out) - out_np = np.array(out[0]) # [N, lq, lk] - # Diagonal elements (position i attending to position i) should be consistent - # (same relative distance = 0 for all diagonal elements) - for h in range(2): - diag = np.diag(out_np[h]) - np.testing.assert_allclose(diag, diag[0], atol=1e-5) - - -class TestT5Attention: - def test_output_shape(self): - from mlx_video.models.wan.text_encoder import T5Attention - attn = T5Attention(dim=64, dim_attn=64, num_heads=4) - x = mx.random.normal((1, 10, 64)) - out = attn(x) - mx.eval(out) - assert out.shape == (1, 10, 64) - - def test_no_scaling(self): - """T5 attention famously has no sqrt(d) scaling. Verify structure.""" - from mlx_video.models.wan.text_encoder import T5Attention - attn = T5Attention(dim=64, dim_attn=64, num_heads=4) - # No scale attribute (unlike standard attention) - assert not hasattr(attn, "scale") - - def test_with_position_bias(self): - from mlx_video.models.wan.text_encoder import T5Attention, T5RelativeEmbedding - attn = T5Attention(dim=64, dim_attn=64, num_heads=4) - rel_emb = T5RelativeEmbedding(32, 4) - x = mx.random.normal((1, 10, 64)) - pos_bias = rel_emb(10, 10) - out = attn(x, pos_bias=pos_bias) - mx.eval(out) - assert out.shape == (1, 10, 64) - - def test_with_mask(self): - from mlx_video.models.wan.text_encoder import T5Attention - attn = T5Attention(dim=64, dim_attn=64, num_heads=4) - x = mx.random.normal((1, 10, 64)) - mask = mx.ones((1, 10)) - mask = mx.concatenate([mask[:, :7], mx.zeros((1, 3))], axis=1) - out = attn(x, mask=mask) - mx.eval(out) - assert out.shape == (1, 10, 64) - - -class TestT5FeedForward: - def test_output_shape(self): - from mlx_video.models.wan.text_encoder import T5FeedForward - ffn = T5FeedForward(64, 256) - x = mx.random.normal((1, 10, 64)) - out = ffn(x) - mx.eval(out) - assert out.shape == (1, 10, 64) - - def test_gated_structure(self): - """T5 FFN is gated: gate(x) * fc1(x).""" - from mlx_video.models.wan.text_encoder import T5FeedForward - ffn = T5FeedForward(32, 64) - assert hasattr(ffn, "gate_proj") - assert hasattr(ffn, "fc1") - assert hasattr(ffn, "fc2") - - -class TestT5Encoder: - def setup_method(self): - mx.random.seed(42) - - def test_output_shape(self): - from mlx_video.models.wan.text_encoder import T5Encoder - encoder = T5Encoder( - vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, - num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, - ) - ids = mx.array([[1, 5, 10, 0, 0]]) - mask = mx.array([[1, 1, 1, 0, 0]]) - out = encoder(ids, mask=mask) - mx.eval(out) - assert out.shape == (1, 5, 64) - - def test_shared_pos(self): - from mlx_video.models.wan.text_encoder import T5Encoder - encoder = T5Encoder( - vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, - num_heads=4, num_layers=2, num_buckets=32, shared_pos=True, - ) - assert encoder.pos_embedding is not None - for block in encoder.blocks: - assert block.pos_embedding is None - - def test_per_layer_pos(self): - from mlx_video.models.wan.text_encoder import T5Encoder - encoder = T5Encoder( - vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, - num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, - ) - assert encoder.pos_embedding is None - for block in encoder.blocks: - assert block.pos_embedding is not None - - def test_param_count(self): - from mlx_video.models.wan.text_encoder import T5Encoder - encoder = T5Encoder( - vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, - num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, - ) - num_params = sum(p.size for _, p in nn.utils.tree_flatten(encoder.parameters())) - assert num_params > 0 - - def test_without_mask(self): - from mlx_video.models.wan.text_encoder import T5Encoder - encoder = T5Encoder( - vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, - num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, - ) - ids = mx.array([[1, 5, 10]]) - out = encoder(ids) - mx.eval(out) - assert out.shape == (1, 3, 64) - - -# --------------------------------------------------------------------------- -# VAE Tests -# --------------------------------------------------------------------------- - -class TestCausalConv3d: - def test_output_shape_stride1(self): - from mlx_video.models.wan.vae import CausalConv3d - conv = CausalConv3d(4, 8, kernel_size=3, stride=1, padding=1) - # Initialize weights - conv.weight = mx.random.normal(conv.weight.shape) * 0.02 - x = mx.random.normal((1, 4, 3, 8, 8)) # [B, C, T, H, W] - out = conv(x) - mx.eval(out) - # With causal padding and padding=1 on spatial, dims should be preserved - assert out.shape[0] == 1 - assert out.shape[1] == 8 # out_channels - assert out.shape[2] == 3 # T preserved - assert out.shape[3] == 8 # H preserved - assert out.shape[4] == 8 # W preserved - - def test_output_shape_kernel1(self): - from mlx_video.models.wan.vae import CausalConv3d - conv = CausalConv3d(4, 8, kernel_size=1, stride=1, padding=0) - conv.weight = mx.random.normal(conv.weight.shape) * 0.02 - x = mx.random.normal((1, 4, 2, 4, 4)) - out = conv(x) - mx.eval(out) - assert out.shape == (1, 8, 2, 4, 4) - - def test_causal_padding(self): - """Causal conv should only use past/current frames, not future.""" - from mlx_video.models.wan.vae import CausalConv3d - conv = CausalConv3d(2, 2, kernel_size=3, stride=1, padding=1) - conv.weight = mx.random.normal(conv.weight.shape) * 0.1 - conv.bias = mx.zeros((2,)) - # Create input where only the first frame has signal - x = mx.zeros((1, 2, 4, 4, 4)) - x_np = np.zeros((1, 2, 4, 4, 4), dtype=np.float32) - x_np[:, :, 0, :, :] = 1.0 - x = mx.array(x_np) - out = conv(x) - mx.eval(out) - # Due to causal padding, the output at t=0 should only depend on t=0 - - -class TestResidualBlock: - def test_same_dim(self): - from mlx_video.models.wan.vae import ResidualBlock - block = ResidualBlock(8, 8) - x = mx.random.normal((1, 8, 2, 4, 4)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 8, 2, 4, 4) - - def test_different_dim(self): - from mlx_video.models.wan.vae import ResidualBlock - block = ResidualBlock(8, 16) - x = mx.random.normal((1, 8, 2, 4, 4)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 16, 2, 4, 4) - - def test_shortcut_exists_when_dims_differ(self): - from mlx_video.models.wan.vae import ResidualBlock - block = ResidualBlock(8, 16) - assert block.shortcut is not None - - def test_no_shortcut_when_dims_same(self): - from mlx_video.models.wan.vae import ResidualBlock - block = ResidualBlock(8, 8) - assert block.shortcut is None - - -class TestAttentionBlock: - def test_output_shape(self): - from mlx_video.models.wan.vae import AttentionBlock - block = AttentionBlock(8) - x = mx.random.normal((1, 8, 2, 4, 4)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 8, 2, 4, 4) - - def test_residual_connection(self): - from mlx_video.models.wan.vae import AttentionBlock - block = AttentionBlock(8) - x = mx.random.normal((1, 8, 1, 3, 3)) - out = block(x) - mx.eval(x, out) - # Residual: output should not be zero even with random init - assert np.abs(np.array(out)).max() > 0 - - -class TestWanVAE: - def test_instantiation(self): - from mlx_video.models.wan.vae import WanVAE - vae = WanVAE(z_dim=16) - assert vae.z_dim == 16 - assert vae.mean.shape == (16,) - assert vae.std.shape == (16,) - - def test_normalization_stats(self): - from mlx_video.models.wan.vae import WanVAE, VAE_MEAN, VAE_STD - assert len(VAE_MEAN) == 16 - assert len(VAE_STD) == 16 - assert all(s > 0 for s in VAE_STD) - - -# --------------------------------------------------------------------------- -# Scheduler Tests -# --------------------------------------------------------------------------- - -class TestFlowMatchEulerScheduler: - def test_initialization(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - assert sched.num_train_timesteps == 1000 - assert sched.timesteps is None - assert sched.sigmas is None - - def test_set_timesteps(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(40, shift=12.0) - mx.eval(sched.timesteps, sched.sigmas) - assert sched.timesteps.shape == (40,) - assert sched.sigmas.shape == (41,) # 40 steps + terminal - - def test_timesteps_decreasing(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(40, shift=12.0) - mx.eval(sched.timesteps) - ts = np.array(sched.timesteps) - # Timesteps should be monotonically decreasing - assert np.all(np.diff(ts) < 0), f"Timesteps not decreasing: {ts[:5]}..." - - def test_sigmas_decreasing(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(20, shift=1.0) - mx.eval(sched.sigmas) - sigmas = np.array(sched.sigmas) - assert np.all(np.diff(sigmas) <= 0), "Sigmas not decreasing" - - def test_terminal_sigma_is_zero(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(20, shift=5.0) - mx.eval(sched.sigmas) - np.testing.assert_allclose(np.array(sched.sigmas[-1]), 0.0, atol=1e-6) - - def test_shift_effect(self): - """Larger shift should push sigmas toward higher values.""" - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched1 = FlowMatchEulerScheduler() - sched2 = FlowMatchEulerScheduler() - sched1.set_timesteps(20, shift=1.0) - sched2.set_timesteps(20, shift=12.0) - mx.eval(sched1.sigmas, sched2.sigmas) - mean1 = np.mean(np.array(sched1.sigmas[:-1])) - mean2 = np.mean(np.array(sched2.sigmas[:-1])) - assert mean2 > mean1, "Higher shift should push sigmas higher" - - def test_step_euler(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(10, shift=1.0) - mx.eval(sched.sigmas) - - sample = mx.ones((1, 4, 2, 2, 2)) - velocity = mx.ones((1, 4, 2, 2, 2)) * 0.5 - timestep = sched.timesteps[0] - - sigma = float(np.array(sched.sigmas[0])) - sigma_next = float(np.array(sched.sigmas[1])) - - result = sched.step(velocity, timestep, sample) - mx.eval(result) - - # Euler: x_next = x + (sigma_next - sigma) * v - expected = 1.0 + (sigma_next - sigma) * 0.5 - np.testing.assert_allclose( - np.array(result).flatten()[0], expected, rtol=1e-4, - ) - - def test_step_index_increments(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(5, shift=1.0) - assert sched._step_index == 0 - sample = mx.ones((1, 1, 1, 1, 1)) - vel = mx.zeros((1, 1, 1, 1, 1)) - sched.step(vel, sched.timesteps[0], sample) - assert sched._step_index == 1 - sched.step(vel, sched.timesteps[1], sample) - assert sched._step_index == 2 - - def test_reset(self): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 1, 1, 1, 1)) - vel = mx.zeros((1, 1, 1, 1, 1)) - sched.step(vel, sched.timesteps[0], sample) - assert sched._step_index == 1 - sched.reset() - assert sched._step_index == 0 - - @pytest.mark.parametrize("steps", [10, 20, 40, 50]) - def test_various_step_counts(self, steps): - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(steps, shift=12.0) - mx.eval(sched.timesteps, sched.sigmas) - assert sched.timesteps.shape == (steps,) - assert sched.sigmas.shape == (steps + 1,) - - def test_full_denoise_loop(self): - """Run a complete denoise loop with zero velocity -> sample unchanged.""" - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - sched = FlowMatchEulerScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 2, 1, 2, 2)) - for i in range(5): - vel = mx.zeros_like(sample) - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - # With zero velocity, sample should remain unchanged - np.testing.assert_allclose(np.array(sample), 1.0, atol=1e-5) - - -# --------------------------------------------------------------------------- -# Weight Conversion Tests -# --------------------------------------------------------------------------- - -class TestSanitizeTransformerWeights: - def test_patch_embedding_reshape(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "patch_embedding.weight": mx.random.normal((5120, 16, 1, 2, 2)), - "patch_embedding.bias": mx.random.normal((5120,)), - } - out = sanitize_wan_transformer_weights(weights) - assert "patch_embedding_proj.weight" in out - assert "patch_embedding_proj.bias" in out - assert out["patch_embedding_proj.weight"].shape == (5120, 16 * 1 * 2 * 2) - - def test_text_embedding_rename(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "text_embedding.0.weight": mx.zeros((64, 32)), - "text_embedding.0.bias": mx.zeros((64,)), - "text_embedding.2.weight": mx.zeros((64, 64)), - "text_embedding.2.bias": mx.zeros((64,)), - } - out = sanitize_wan_transformer_weights(weights) - assert "text_embedding_0.weight" in out - assert "text_embedding_0.bias" in out - assert "text_embedding_1.weight" in out - assert "text_embedding_1.bias" in out - - def test_time_embedding_rename(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "time_embedding.0.weight": mx.zeros((64, 32)), - "time_embedding.2.weight": mx.zeros((64, 64)), - } - out = sanitize_wan_transformer_weights(weights) - assert "time_embedding_0.weight" in out - assert "time_embedding_1.weight" in out - - def test_time_projection_rename(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "time_projection.1.weight": mx.zeros((384, 64)), - "time_projection.1.bias": mx.zeros((384,)), - } - out = sanitize_wan_transformer_weights(weights) - assert "time_projection.weight" in out - assert "time_projection.bias" in out - - def test_ffn_rename(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "blocks.0.ffn.0.weight": mx.zeros((128, 64)), - "blocks.0.ffn.0.bias": mx.zeros((128,)), - "blocks.0.ffn.2.weight": mx.zeros((64, 128)), - "blocks.0.ffn.2.bias": mx.zeros((64,)), - } - out = sanitize_wan_transformer_weights(weights) - assert "blocks.0.ffn.fc1.weight" in out - assert "blocks.0.ffn.fc1.bias" in out - assert "blocks.0.ffn.fc2.weight" in out - assert "blocks.0.ffn.fc2.bias" in out - - def test_freqs_skipped(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "freqs": mx.zeros((1024, 64, 2)), - "blocks.0.norm1.weight": mx.zeros((64,)), - } - out = sanitize_wan_transformer_weights(weights) - assert "freqs" not in out - assert "blocks.0.norm1.weight" in out - - def test_passthrough_keys(self): - from mlx_video.convert_wan import sanitize_wan_transformer_weights - weights = { - "blocks.0.self_attn.q.weight": mx.zeros((64, 64)), - "blocks.0.self_attn.k.weight": mx.zeros((64, 64)), - "blocks.0.self_attn.v.weight": mx.zeros((64, 64)), - "blocks.0.self_attn.o.weight": mx.zeros((64, 64)), - "blocks.0.modulation": mx.zeros((1, 6, 64)), - "head.head.weight": mx.zeros((64, 64)), - "head.modulation": mx.zeros((1, 2, 64)), - } - out = sanitize_wan_transformer_weights(weights) - for key in weights: - assert key in out - - -class TestSanitizeT5Weights: - def test_gate_rename(self): - from mlx_video.convert_wan import sanitize_wan_t5_weights - weights = { - "blocks.0.ffn.gate.0.weight": mx.zeros((128, 64)), - "blocks.0.ffn.fc1.weight": mx.zeros((128, 64)), - "blocks.0.ffn.fc2.weight": mx.zeros((64, 128)), - } - out = sanitize_wan_t5_weights(weights) - assert "blocks.0.ffn.gate_proj.weight" in out - assert "blocks.0.ffn.fc1.weight" in out - assert "blocks.0.ffn.fc2.weight" in out - - def test_passthrough(self): - from mlx_video.convert_wan import sanitize_wan_t5_weights - weights = { - "token_embedding.weight": mx.zeros((100, 64)), - "blocks.0.attn.q.weight": mx.zeros((64, 64)), - "norm.weight": mx.zeros((64,)), - } - out = sanitize_wan_t5_weights(weights) - for key in weights: - assert key in out - - -class TestSanitizeVAEWeights: - def test_conv3d_transpose(self): - from mlx_video.convert_wan import sanitize_wan_vae_weights - weights = { - "decoder.conv1.weight": mx.zeros((8, 4, 3, 3, 3)), # [O, I, D, H, W] - } - out = sanitize_wan_vae_weights(weights) - assert out["decoder.conv1.weight"].shape == (8, 3, 3, 3, 4) # [O, D, H, W, I] - - def test_conv2d_transpose(self): - from mlx_video.convert_wan import sanitize_wan_vae_weights - weights = { - "decoder.proj.weight": mx.zeros((16, 8, 3, 3)), # [O, I, H, W] - } - out = sanitize_wan_vae_weights(weights) - assert out["decoder.proj.weight"].shape == (16, 3, 3, 8) # [O, H, W, I] - - def test_non_conv_passthrough(self): - from mlx_video.convert_wan import sanitize_wan_vae_weights - weights = { - "decoder.norm.weight": mx.zeros((64,)), # 1D, no transpose - "decoder.bias": mx.zeros((16,)), - } - out = sanitize_wan_vae_weights(weights) - assert out["decoder.norm.weight"].shape == (64,) - assert out["decoder.bias"].shape == (16,) - - def test_mixed_weights(self): - from mlx_video.convert_wan import sanitize_wan_vae_weights - weights = { - "conv3d.weight": mx.zeros((8, 4, 3, 3, 3)), # 5D - "conv2d.weight": mx.zeros((8, 4, 3, 3)), # 4D - "linear.weight": mx.zeros((8, 4)), # 2D - "norm.weight": mx.zeros((8,)), # 1D - } - out = sanitize_wan_vae_weights(weights) - assert out["conv3d.weight"].shape == (8, 3, 3, 3, 4) - assert out["conv2d.weight"].shape == (8, 3, 3, 4) - assert out["linear.weight"].shape == (8, 4) - assert out["norm.weight"].shape == (8,) - - -# --------------------------------------------------------------------------- -# Integration: end-to-end tiny model forward pass -# --------------------------------------------------------------------------- - -class TestEndToEnd: - """End-to-end test with tiny model (no real weights needed).""" - - def test_tiny_model_denoise_step(self): - """Simulate one denoising step with tiny model.""" - from mlx_video.models.wan.model import WanModel - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - - mx.random.seed(42) - config = _make_tiny_config() - model = WanModel(config) - - C, F, H, W = config.in_dim, 1, 4, 4 - pt, ph, pw = config.patch_size - seq_len = (F // pt) * (H // ph) * (W // pw) - - sched = FlowMatchEulerScheduler() - sched.set_timesteps(5, shift=3.0) - - latents = mx.random.normal((C, F, H, W)) - context = mx.random.normal((4, config.text_dim)) - - # One step - t = sched.timesteps[0] - pred = model([latents], mx.array([t.item()]), [context], seq_len)[0] - latents_next = sched.step(pred[None], t, latents[None]).squeeze(0) - mx.eval(latents_next) - - assert latents_next.shape == (C, F, H, W) - # Should differ from original noise - assert not np.allclose(np.array(latents_next), np.array(latents), atol=1e-5) - - def test_tiny_model_full_loop(self): - """Run a complete (tiny) diffusion loop.""" - from mlx_video.models.wan.model import WanModel - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - - mx.random.seed(123) - config = _make_tiny_config() - model = WanModel(config) - - C, F, H, W = config.in_dim, 1, 4, 4 - pt, ph, pw = config.patch_size - seq_len = (F // pt) * (H // ph) * (W // pw) - - sched = FlowMatchEulerScheduler() - num_steps = 3 - sched.set_timesteps(num_steps, shift=3.0) - - latents = mx.random.normal((C, F, H, W)) - context = mx.random.normal((4, config.text_dim)) - - for i in range(num_steps): - t = sched.timesteps[i] - pred = model([latents], mx.array([t.item()]), [context], seq_len)[0] - latents = sched.step(pred[None], t, latents[None]).squeeze(0) - mx.eval(latents) - - assert latents.shape == (C, F, H, W) - assert not mx.any(mx.isnan(latents)).item(), "NaN in output" - assert not mx.any(mx.isinf(latents)).item(), "Inf in output" - - -# --------------------------------------------------------------------------- -# Wan2.1 Config & Pipeline Tests -# --------------------------------------------------------------------------- - -class TestWan21Config: - """Tests for Wan2.1 config presets.""" - - def test_wan21_14b_factory(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_14b() - assert config.model_version == "2.1" - assert config.dual_model is False - assert config.dim == 5120 - assert config.ffn_dim == 13824 - assert config.num_heads == 40 - assert config.num_layers == 40 - assert config.head_dim == 128 - assert config.sample_guide_scale == 5.0 - assert config.sample_shift == 5.0 - assert config.sample_steps == 50 - assert config.boundary == 0.0 - - def test_wan21_1_3b_factory(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_1_3b() - assert config.model_version == "2.1" - assert config.dual_model is False - assert config.dim == 1536 - assert config.ffn_dim == 8960 - assert config.num_heads == 12 - assert config.num_layers == 30 - assert config.head_dim == 128 # 1536 // 12 - assert config.sample_guide_scale == 5.0 - - def test_wan22_14b_factory(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan22_t2v_14b() - assert config.model_version == "2.2" - assert config.dual_model is True - assert config.dim == 5120 - assert config.sample_guide_scale == (3.0, 4.0) - assert config.sample_shift == 12.0 - assert config.sample_steps == 40 - assert config.boundary == 0.875 - - def test_wan21_config_to_dict(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_14b() - d = config.to_dict() - assert d["model_version"] == "2.1" - assert d["dual_model"] is False - assert d["sample_guide_scale"] == 5.0 - - def test_wan21_1_3b_config_to_dict(self): - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_1_3b() - d = config.to_dict() - assert d["dim"] == 1536 - assert d["num_layers"] == 30 - - def test_default_config_is_wan22(self): - """Default WanModelConfig() should be Wan2.2 14B.""" - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig() - assert config.model_version == "2.2" - assert config.dual_model is True - - -class TestWan21Model: - """Test tiny Wan2.1-style model (single model mode).""" - - def setup_method(self): - mx.random.seed(42) - - def _make_tiny_wan21_config(self): - """Create a tiny config mimicking Wan2.1 (single model).""" - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_14b() - # Override to tiny values - config.dim = 64 - config.ffn_dim = 128 - config.num_heads = 4 - config.num_layers = 2 - config.in_dim = 4 - config.out_dim = 4 - config.freq_dim = 32 - config.text_dim = 32 - config.text_len = 8 - return config - - def _make_tiny_wan21_1_3b_config(self): - """Create a tiny config mimicking Wan2.1 1.3B.""" - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_1_3b() - # Override to tiny values (preserve 1.3B head structure: 12 heads) - config.dim = 48 - config.ffn_dim = 96 - config.num_heads = 4 - config.num_layers = 2 - config.in_dim = 4 - config.out_dim = 4 - config.freq_dim = 24 - config.text_dim = 24 - config.text_len = 8 - return config - - def test_wan21_tiny_model_forward(self): - """Forward pass with Wan2.1 tiny config.""" - from mlx_video.models.wan.model import WanModel - - config = self._make_tiny_wan21_config() - model = WanModel(config) - - C, F, H, W = config.in_dim, 1, 4, 4 - seq_len = (F // 1) * (H // 2) * (W // 2) - - latents = mx.random.normal((C, F, H, W)) - context = mx.random.normal((4, config.text_dim)) - t = mx.array([500.0]) - - out = model([latents], t, [context], seq_len) - mx.eval(out) - assert out[0].shape == (C, F, H, W) - - def test_wan21_1_3b_tiny_model_forward(self): - """Forward pass with Wan2.1 1.3B tiny config.""" - from mlx_video.models.wan.model import WanModel - - config = self._make_tiny_wan21_1_3b_config() - model = WanModel(config) - - C, F, H, W = config.in_dim, 1, 4, 4 - seq_len = (F // 1) * (H // 2) * (W // 2) - - latents = mx.random.normal((C, F, H, W)) - context = mx.random.normal((4, config.text_dim)) - t = mx.array([500.0]) - - out = model([latents], t, [context], seq_len) - mx.eval(out) - assert out[0].shape == (C, F, H, W) - - def test_wan21_single_model_loop(self): - """Full diffusion loop with single model (Wan2.1 style).""" - from mlx_video.models.wan.model import WanModel - from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler - - config = self._make_tiny_wan21_config() - model = WanModel(config) - - C, F, H, W = config.in_dim, 1, 4, 4 - seq_len = (F // 1) * (H // 2) * (W // 2) - - sched = FlowMatchEulerScheduler() - sched.set_timesteps(config.sample_steps, shift=config.sample_shift) - - # Use only 3 steps for speed - latents = mx.random.normal((C, F, H, W)) - context = mx.random.normal((4, config.text_dim)) - context_null = mx.zeros((4, config.text_dim)) - gs = config.sample_guide_scale # Should be float for Wan2.1 - - assert isinstance(gs, float), "Wan2.1 guide_scale should be float" - - for i in range(3): - t = sched.timesteps[i] - pred_cond = model([latents], mx.array([t.item()]), [context], seq_len)[0] - pred_uncond = model([latents], mx.array([t.item()]), [context_null], seq_len)[0] - pred = pred_uncond + gs * (pred_cond - pred_uncond) - latents = sched.step(pred[None], t, latents[None]).squeeze(0) - mx.eval(latents) - - assert latents.shape == (C, F, H, W) - assert not mx.any(mx.isnan(latents)).item() - - def test_wan21_vs_wan22_config_differences(self): - """Verify key differences between Wan2.1 and Wan2.2 configs.""" - from mlx_video.models.wan.config import WanModelConfig - - c21 = WanModelConfig.wan21_t2v_14b() - c22 = WanModelConfig.wan22_t2v_14b() - - # Same architecture - assert c21.dim == c22.dim - assert c21.num_heads == c22.num_heads - assert c21.num_layers == c22.num_layers - - # Different pipeline settings - assert c21.dual_model is False - assert c22.dual_model is True - assert isinstance(c21.sample_guide_scale, float) - assert isinstance(c22.sample_guide_scale, tuple) - assert c21.sample_shift != c22.sample_shift - assert c21.sample_steps != c22.sample_steps - - -class TestWan21Convert: - """Tests for Wan2.1 conversion support.""" - - def test_auto_detect_wan21(self, tmp_path): - """Auto-detect single-model directory as Wan2.1.""" - # Create a Wan2.1-style directory (no low_noise_model subdir) - (tmp_path / "dummy.safetensors").touch() - # The auto-detect logic: no low_noise_model dir → 2.1 - from pathlib import Path - low = tmp_path / "low_noise_model" - assert not low.exists() - # Simulates auto detection - version = "2.2" if low.exists() else "2.1" - assert version == "2.1" - - def test_auto_detect_wan22(self, tmp_path): - """Auto-detect dual-model directory as Wan2.2.""" - (tmp_path / "low_noise_model").mkdir() - (tmp_path / "high_noise_model").mkdir() - from pathlib import Path - low = tmp_path / "low_noise_model" - assert low.exists() - version = "2.2" if low.exists() else "2.1" - assert version == "2.2" - - def test_wan21_config_saved_correctly(self): - """Verify config dict has correct fields for Wan2.1.""" - from mlx_video.models.wan.config import WanModelConfig - config = WanModelConfig.wan21_t2v_14b() - d = config.to_dict() - assert d["model_version"] == "2.1" - assert d["dual_model"] is False - assert d["sample_steps"] == 50 - assert d["sample_shift"] == 5.0 - - -# --------------------------------------------------------------------------- -# Shared Sigma Schedule Tests -# --------------------------------------------------------------------------- - - -class TestComputeSigmas: - """Tests for the shared _compute_sigmas helper.""" - - def test_length(self): - from mlx_video.models.wan.scheduler import _compute_sigmas - sigmas = _compute_sigmas(20, shift=5.0) - assert len(sigmas) == 21 # num_steps + terminal - - def test_terminal_zero(self): - from mlx_video.models.wan.scheduler import _compute_sigmas - sigmas = _compute_sigmas(10, shift=1.0) - assert sigmas[-1] == 0.0 - - def test_starts_at_one(self): - from mlx_video.models.wan.scheduler import _compute_sigmas - sigmas = _compute_sigmas(20, shift=5.0) - np.testing.assert_allclose(sigmas[0], 1.0, atol=1e-6) - - def test_decreasing(self): - from mlx_video.models.wan.scheduler import _compute_sigmas - sigmas = _compute_sigmas(20, shift=5.0) - assert np.all(np.diff(sigmas) <= 0) - - def test_matches_official_wan22(self): - """Sigma schedule should match the official Wan2.2 get_sampling_sigmas.""" - from mlx_video.models.wan.scheduler import _compute_sigmas - steps, shift = 50, 5.0 - sigmas = _compute_sigmas(steps, shift) - # Official: sigma = linspace(1, 0, steps+1)[:steps]; sigma = shift*sigma/(1+(shift-1)*sigma) - official = np.linspace(1, 0, steps + 1)[:steps] - official = shift * official / (1 + (shift - 1) * official) - official = np.append(official, 0.0).astype(np.float32) - np.testing.assert_allclose(sigmas, official, atol=1e-6) - - def test_shift_one_is_linear(self): - from mlx_video.models.wan.scheduler import _compute_sigmas - sigmas = _compute_sigmas(10, shift=1.0) - # With shift=1, f(sigma)=sigma, so schedule is linear from 1 to 0 - expected = np.linspace(1, 0, 11).astype(np.float32) - np.testing.assert_allclose(sigmas, expected, atol=1e-6) - - def test_all_schedulers_same_sigmas(self): - """All three schedulers should produce identical sigma schedules.""" - from mlx_video.models.wan.scheduler import ( - FlowDPMPP2MScheduler, - FlowMatchEulerScheduler, - FlowUniPCScheduler, - ) - scheds = [ - FlowMatchEulerScheduler(1000), - FlowDPMPP2MScheduler(1000), - FlowUniPCScheduler(1000), - ] - for s in scheds: - s.set_timesteps(20, shift=5.0) - mx.eval(*[s.sigmas for s in scheds]) - ref = np.array(scheds[0].sigmas) - for s in scheds[1:]: - np.testing.assert_allclose(np.array(s.sigmas), ref, atol=1e-6) - - def test_all_schedulers_same_timesteps(self): - from mlx_video.models.wan.scheduler import ( - FlowDPMPP2MScheduler, - FlowMatchEulerScheduler, - FlowUniPCScheduler, - ) - scheds = [ - FlowMatchEulerScheduler(1000), - FlowDPMPP2MScheduler(1000), - FlowUniPCScheduler(1000), - ] - for s in scheds: - s.set_timesteps(30, shift=12.0) - mx.eval(*[s.timesteps for s in scheds]) - ref = np.array(scheds[0].timesteps) - for s in scheds[1:]: - np.testing.assert_allclose(np.array(s.timesteps), ref, atol=1e-3) - - -# --------------------------------------------------------------------------- -# DPM++ 2M Scheduler Tests -# --------------------------------------------------------------------------- - - -class TestFlowDPMPP2MScheduler: - def test_initialization(self): - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - assert sched.num_train_timesteps == 1000 - assert sched.lower_order_final is True - - def test_set_timesteps(self): - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(20, shift=5.0) - mx.eval(sched.timesteps, sched.sigmas) - assert sched.timesteps.shape == (20,) - assert sched.sigmas.shape == (21,) - - def test_step_index_increments(self): - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 4, 1, 2, 2)) - vel = mx.zeros_like(sample) - assert sched._step_index == 0 - sched.step(vel, sched.timesteps[0], sample) - assert sched._step_index == 1 - sched.step(vel, sched.timesteps[1], sample) - assert sched._step_index == 2 - - def test_reset(self): - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 1, 1, 1, 1)) - sched.step(mx.zeros_like(sample), 0, sample) - sched.reset() - assert sched._step_index == 0 - assert sched._prev_x0 is None - - def test_full_loop_finite(self): - """Full loop with constant velocity should produce finite output.""" - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(10, shift=1.0) - sample = mx.ones((1, 2, 1, 2, 2)) - for i in range(10): - vel = mx.ones_like(sample) * 0.1 - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - assert np.isfinite(np.array(sample)).all() - - def test_first_step_is_first_order(self): - """First step should use 1st-order (no prev_x0 available).""" - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(10, shift=5.0) - sample = mx.random.normal((1, 4, 2, 4, 4)) - vel = mx.random.normal(sample.shape) - # Before first step, no prev_x0 - assert sched._prev_x0 is None - result = sched.step(vel, sched.timesteps[0], sample) - mx.eval(result) - # After first step, prev_x0 should be set - assert sched._prev_x0 is not None - - def test_second_step_uses_correction(self): - """After first step, DPM++ should have stored prev_x0 for correction.""" - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(10, shift=5.0) - sample = mx.random.normal((1, 4, 1, 2, 2)) - vel = mx.random.normal(sample.shape) - # Step 1 - sample = sched.step(vel, sched.timesteps[0], sample) - mx.eval(sample) - x0_after_first = sched._prev_x0 - # Step 2 - vel = mx.random.normal(sample.shape) - sample = sched.step(vel, sched.timesteps[1], sample) - mx.eval(sample) - # prev_x0 should have been updated - x0_after_second = sched._prev_x0 - assert x0_after_second is not None - # The stored x0 should differ from the first step's - assert not np.allclose(np.array(x0_after_first), np.array(x0_after_second), atol=1e-6) - - def test_denoise_to_target(self): - """Perfect oracle should denoise to target with any solver.""" - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(20, shift=5.0) - target = mx.zeros((1, 2, 1, 4, 4)) - latents = mx.random.normal(target.shape) - for i in range(20): - sigma = float(sched.sigmas[i].item()) - v = latents / max(sigma, 1e-6) # perfect velocity for target=0 - latents = sched.step(v, sched.timesteps[i], latents) - mx.eval(latents) - np.testing.assert_allclose(np.array(latents), 0.0, atol=1e-3) - - @pytest.mark.parametrize("steps", [5, 10, 20, 50]) - def test_various_step_counts(self, steps): - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(steps, shift=5.0) - mx.eval(sched.timesteps, sched.sigmas) - assert sched.timesteps.shape == (steps,) - assert sched.sigmas.shape == (steps + 1,) - - def test_terminal_sigma_produces_x0(self): - """When sigma_next=0 the scheduler should return x0 directly.""" - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - sched = FlowDPMPP2MScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 1, 1, 1, 1)) * 3.0 - vel = mx.ones_like(sample) * 2.0 - # Run through all steps; the last step has sigma_next=0 - for i in range(5): - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - # Final value should be finite - assert np.isfinite(np.array(sample)).all() - - -# --------------------------------------------------------------------------- -# UniPC Scheduler Tests -# --------------------------------------------------------------------------- - - -class TestFlowUniPCScheduler: - def test_initialization(self): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - assert sched.num_train_timesteps == 1000 - assert sched.solver_order == 2 - assert sched.lower_order_final is True - - def test_set_timesteps(self): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - sched.set_timesteps(30, shift=12.0) - mx.eval(sched.timesteps, sched.sigmas) - assert sched.timesteps.shape == (30,) - assert sched.sigmas.shape == (31,) - - def test_step_index_increments(self): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 1, 1, 1, 1)) - vel = mx.zeros_like(sample) - assert sched._step_index == 0 - sched.step(vel, 0, sample) - assert sched._step_index == 1 - - def test_reset(self): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 1, 1, 1, 1)) - sched.step(mx.zeros_like(sample), 0, sample) - sched.reset() - assert sched._step_index == 0 - assert sched._lower_order_nums == 0 - assert sched._last_sample is None - assert all(m is None for m in sched._model_outputs) - - def test_full_loop_finite(self): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - sched.set_timesteps(10, shift=1.0) - sample = mx.ones((1, 2, 1, 2, 2)) - for i in range(10): - vel = mx.ones_like(sample) * 0.1 - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - assert np.isfinite(np.array(sample)).all() - - def test_corrector_not_applied_first_step(self): - """First step should skip the corrector (no history).""" - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler(use_corrector=True) - sched.set_timesteps(10, shift=5.0) - sample = mx.random.normal((1, 4, 1, 2, 2)) - vel = mx.random.normal(sample.shape) - # Before step 0: no last_sample - assert sched._last_sample is None - sched.step(vel, sched.timesteps[0], sample) - # After step 0: last_sample should be set for corrector on step 1 - assert sched._last_sample is not None - - def test_corrector_applied_after_first_step(self): - """Steps after the first should use the corrector when enabled.""" - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler(use_corrector=True) - sched.set_timesteps(10, shift=5.0) - sample = mx.random.normal((1, 2, 1, 4, 4)) - for i in range(3): - vel = mx.random.normal(sample.shape) - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - # lower_order_nums should have increased - assert sched._lower_order_nums >= 2 - - def test_denoise_to_target(self): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - sched.set_timesteps(20, shift=5.0) - target = mx.zeros((1, 2, 1, 4, 4)) - latents = mx.random.normal(target.shape) - for i in range(20): - sigma = float(sched.sigmas[i].item()) - v = latents / max(sigma, 1e-6) - latents = sched.step(v, sched.timesteps[i], latents) - mx.eval(latents) - np.testing.assert_allclose(np.array(latents), 0.0, atol=1e-3) - - @pytest.mark.parametrize("steps", [5, 10, 20, 50]) - def test_various_step_counts(self, steps): - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler() - sched.set_timesteps(steps, shift=5.0) - mx.eval(sched.timesteps, sched.sigmas) - assert sched.timesteps.shape == (steps,) - assert sched.sigmas.shape == (steps + 1,) - - def test_disable_corrector(self): - """Disabling corrector on step 0 should still work without error.""" - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler(use_corrector=True, disable_corrector=[0]) - sched.set_timesteps(5, shift=1.0) - sample = mx.ones((1, 1, 1, 2, 2)) - for i in range(5): - vel = mx.ones_like(sample) * 0.1 - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - assert np.isfinite(np.array(sample)).all() - - def test_solver_order_3(self): - """Order 3 should work without error.""" - from mlx_video.models.wan.scheduler import FlowUniPCScheduler - sched = FlowUniPCScheduler(solver_order=3, use_corrector=True) - sched.set_timesteps(10, shift=5.0) - sample = mx.random.normal((1, 2, 1, 2, 2)) - for i in range(10): - vel = mx.random.normal(sample.shape) - sample = sched.step(vel, sched.timesteps[i], sample) - mx.eval(sample) - assert np.isfinite(np.array(sample)).all() - - def test_corrector_rhos_c_not_hardcoded(self): - """Corrector rhos_c should be computed via linalg.solve, not hardcoded 0.5.""" - import math - # For 50-step schedule with shift=5.0, order 2 corrector at step 5: - # rhos_c[0] (history) should be ~0.07, NOT 0.5 - # rhos_c[1] (D1_t) should be ~0.45, NOT 0.5 - from mlx_video.models.wan.scheduler import _compute_sigmas - - sigmas = _compute_sigmas(50, shift=5.0) - - def _lambda(sigma): - if sigma >= 1.0: - return -math.inf - if sigma <= 0.0: - return math.inf - return math.log(1 - sigma) - math.log(sigma) - - for step_idx in [5, 10, 25, 45]: - sigma_s0 = sigmas[step_idx - 1] - sigma_t = sigmas[step_idx] - lambda_s0 = _lambda(sigma_s0) - lambda_t = _lambda(sigma_t) - h = lambda_t - lambda_s0 - hh = -h - - sigma_sk = sigmas[step_idx - 2] - lambda_sk = _lambda(sigma_sk) - rk = (lambda_sk - lambda_s0) / h - rks = np.array([rk, 1.0]) - - h_phi_1 = math.expm1(hh) - B_h = h_phi_1 - h_phi_k = h_phi_1 / hh - 1.0 - factorial_i = 1 - R_rows, b_vals = [], [] - for j in range(1, 3): - R_rows.append(rks ** (j - 1)) - b_vals.append(h_phi_k * factorial_i / B_h) - factorial_i *= j + 1 - h_phi_k = h_phi_k / hh - 1.0 / factorial_i - R = np.stack(R_rows) - b = np.array(b_vals) - rhos_c = np.linalg.solve(R, b) - - # History weight should be small (~0.07-0.09), not 0.5 - assert rhos_c[0] < 0.15, f"Step {step_idx}: rhos_c[0]={rhos_c[0]:.4f} too large" - assert rhos_c[0] > 0.0, f"Step {step_idx}: rhos_c[0]={rhos_c[0]:.4f} should be positive" - # D1_t weight should be ~0.42-0.45, not 0.5 - assert 0.3 < rhos_c[1] < 0.5, f"Step {step_idx}: rhos_c[1]={rhos_c[1]:.4f} out of range" - - -class TestSchedulerCoherence: - """Tests that Euler, DPM++, and UniPC schedulers produce coherent results. - - All three schedulers should agree on shared structure (sigma schedules, - first-step behavior) and converge to the same result given perfect - velocity oracles, even though they use different update rules. - """ - - @staticmethod - def _make_schedulers(steps=10, shift=5.0): - from mlx_video.models.wan.scheduler import ( - FlowDPMPP2MScheduler, - FlowMatchEulerScheduler, - FlowUniPCScheduler, - ) - - scheds = { - "euler": FlowMatchEulerScheduler(), - "dpm++": FlowDPMPP2MScheduler(), - "unipc": FlowUniPCScheduler(), - } - for s in scheds.values(): - s.set_timesteps(steps, shift=shift) - return scheds - - def test_identical_sigma_schedules(self): - """All schedulers must use the same sigma schedule.""" - scheds = self._make_schedulers(20, shift=5.0) - ref = np.array(scheds["euler"].sigmas) - for name in ("dpm++", "unipc"): - np.testing.assert_allclose( - np.array(scheds[name].sigmas), - ref, - atol=1e-6, - err_msg=f"{name} sigma schedule differs from Euler", - ) - - def test_identical_timesteps(self): - """All schedulers must produce the same timestep sequence.""" - scheds = self._make_schedulers(20, shift=5.0) - ref = np.array(scheds["euler"].timesteps) - for name in ("dpm++", "unipc"): - np.testing.assert_allclose( - np.array(scheds[name].timesteps), - ref, - atol=1e-6, - err_msg=f"{name} timesteps differ from Euler", - ) - - def test_first_step_matches_euler(self): - """Step 0 (1st-order for all solvers) should match Euler exactly.""" - mx.random.seed(42) - shape = (1, 4, 1, 4, 4) - noise = mx.random.normal(shape) - vel = mx.random.normal(shape) - - scheds = self._make_schedulers(10, shift=5.0) - results = {} - for name, sched in scheds.items(): - r = sched.step(vel, sched.timesteps[0], noise) - mx.eval(r) - results[name] = np.array(r) - - np.testing.assert_allclose( - results["dpm++"], results["euler"], atol=1e-5, - err_msg="DPM++ step 0 should match Euler", - ) - np.testing.assert_allclose( - results["unipc"], results["euler"], atol=1e-5, - err_msg="UniPC step 0 should match Euler", - ) - - def test_first_step_matches_across_shifts(self): - """Step 0 should match Euler for different shift values.""" - mx.random.seed(99) - shape = (1, 2, 1, 2, 2) - noise = mx.random.normal(shape) - vel = mx.random.normal(shape) - - for shift in (1.0, 5.0, 12.0): - scheds = self._make_schedulers(10, shift=shift) - euler_r = scheds["euler"].step(vel, scheds["euler"].timesteps[0], noise) - dpm_r = scheds["dpm++"].step(vel, scheds["dpm++"].timesteps[0], noise) - unipc_r = scheds["unipc"].step(vel, scheds["unipc"].timesteps[0], noise) - mx.eval(euler_r, dpm_r, unipc_r) - np.testing.assert_allclose( - np.array(dpm_r), np.array(euler_r), atol=1e-5, - err_msg=f"DPM++ step 0 differs from Euler at shift={shift}", - ) - np.testing.assert_allclose( - np.array(unipc_r), np.array(euler_r), atol=1e-5, - err_msg=f"UniPC step 0 differs from Euler at shift={shift}", - ) - - def test_oracle_all_converge_to_target(self): - """Given a perfect velocity oracle v=x/sigma, all solvers should - denoise to approximately zero (the target).""" - mx.random.seed(7) - shape = (1, 2, 1, 4, 4) - noise = mx.random.normal(shape) - - for name, sched in self._make_schedulers(20, shift=5.0).items(): - latents = noise - for i in range(20): - sigma = float(sched.sigmas[i].item()) - v = latents / max(sigma, 1e-8) - latents = sched.step(v, sched.timesteps[i], latents) - mx.eval(latents) - np.testing.assert_allclose( - np.array(latents), 0.0, atol=1e-3, - err_msg=f"{name} did not converge to target with oracle", - ) - - def test_oracle_higher_order_closer_to_target(self): - """With few steps and a perfect oracle, higher-order solvers should - be at least as accurate as Euler.""" - mx.random.seed(12) - shape = (1, 2, 1, 4, 4) - noise = mx.random.normal(shape) - steps = 5 - - errors = {} - for name, sched in self._make_schedulers(steps, shift=5.0).items(): - latents = noise - for i in range(steps): - sigma = float(sched.sigmas[i].item()) - v = latents / max(sigma, 1e-8) - latents = sched.step(v, sched.timesteps[i], latents) - mx.eval(latents) - errors[name] = float(mx.mean(mx.abs(latents)).item()) - - # Higher-order solvers should not be significantly worse than Euler - assert errors["dpm++"] <= errors["euler"] * 1.5, ( - f"DPM++ error {errors['dpm++']:.6f} much worse than Euler {errors['euler']:.6f}" - ) - assert errors["unipc"] <= errors["euler"] * 1.5, ( - f"UniPC error {errors['unipc']:.6f} much worse than Euler {errors['euler']:.6f}" - ) - - def test_multistep_trajectory_similar_magnitude(self): - """Over a full denoising loop with constant velocity, all solvers - should produce outputs of similar magnitude (not diverging).""" - mx.random.seed(42) - shape = (1, 4, 1, 4, 4) - noise = mx.random.normal(shape) - steps = 20 - - final_means = {} - for name, sched in self._make_schedulers(steps, shift=5.0).items(): - latents = noise - for i in range(steps): - vel = latents * 0.1 - latents = sched.step(vel, sched.timesteps[i], latents) - mx.eval(latents) - final_means[name] = float(mx.mean(mx.abs(latents)).item()) - - # All solvers should produce results within the same order of magnitude - vals = list(final_means.values()) - ratio = max(vals) / max(min(vals), 1e-10) - assert ratio < 10.0, ( - f"Scheduler outputs diverge too much: {final_means}, ratio={ratio:.1f}" - ) - - def test_intermediate_values_finite(self): - """Every intermediate latent value must be finite for all solvers.""" - mx.random.seed(0) - shape = (1, 2, 1, 2, 2) - noise = mx.random.normal(shape) - - for name, sched in self._make_schedulers(15, shift=5.0).items(): - latents = noise - for i in range(15): - vel = mx.random.normal(shape) - latents = sched.step(vel, sched.timesteps[i], latents) - mx.eval(latents) - assert np.isfinite(np.array(latents)).all(), ( - f"{name} produced non-finite values at step {i}" - ) - - def test_lambda_boundary_values(self): - """_lambda must return -inf at sigma=1.0 and +inf at sigma=0.0.""" - from mlx_video.models.wan.scheduler import ( - FlowDPMPP2MScheduler, - FlowUniPCScheduler, - ) - - for cls in (FlowDPMPP2MScheduler, FlowUniPCScheduler): - assert cls._lambda(1.0) == -math.inf, ( - f"{cls.__name__}._lambda(1.0) should be -inf" - ) - assert cls._lambda(0.0) == math.inf, ( - f"{cls.__name__}._lambda(0.0) should be +inf" - ) - # Interior values should be finite - lam = cls._lambda(0.5) - assert math.isfinite(lam) and lam == 0.0, ( - f"{cls.__name__}._lambda(0.5) should be 0.0" - ) - - def test_lambda_monotonically_decreasing(self): - """_lambda(sigma) should decrease as sigma increases (more noise → lower SNR).""" - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler - - sigmas = [0.01, 0.1, 0.3, 0.5, 0.7, 0.9, 0.99] - lambdas = [FlowDPMPP2MScheduler._lambda(s) for s in sigmas] - for i in range(len(lambdas) - 1): - assert lambdas[i] > lambdas[i + 1], ( - f"_lambda not decreasing: _lambda({sigmas[i]})={lambdas[i]} " - f"vs _lambda({sigmas[i+1]})={lambdas[i+1]}" - ) - - def test_step0_is_ddim_formula(self): - """At sigma=1.0, the DPM++/UniPC first step should reduce to the - DDIM formula: x_next = sigma_next * x + (1 - sigma_next) * x0.""" - mx.random.seed(55) - shape = (1, 2, 1, 2, 2) - sample = mx.random.normal(shape) - vel = mx.random.normal(shape) - - for steps, shift in [(10, 5.0), (20, 12.0)]: - scheds = self._make_schedulers(steps, shift=shift) - sigma_next = float(scheds["euler"].sigmas[1].item()) - sigma_cur = float(scheds["euler"].sigmas[0].item()) - assert abs(sigma_cur - 1.0) < 1e-6, "First sigma should be ~1.0" - - x0 = sample - sigma_cur * vel - expected = sigma_next * sample + (1.0 - sigma_next) * x0 - mx.eval(expected) - - for name in ("dpm++", "unipc"): - result = scheds[name].step(vel, scheds[name].timesteps[0], sample) - mx.eval(result) - np.testing.assert_allclose( - np.array(result), np.array(expected), atol=1e-5, - err_msg=f"{name} step 0 doesn't match DDIM formula (shift={shift})", - ) - - @pytest.mark.parametrize("steps", [5, 10, 20, 50]) - def test_coherent_across_step_counts(self, steps): - """All solvers should agree on step 0 regardless of total step count.""" - mx.random.seed(77) - shape = (1, 2, 1, 2, 2) - noise = mx.random.normal(shape) - vel = mx.random.normal(shape) - - scheds = self._make_schedulers(steps, shift=5.0) - results = {} - for name, sched in scheds.items(): - r = sched.step(vel, sched.timesteps[0], noise) - mx.eval(r) - results[name] = np.array(r) - - np.testing.assert_allclose( - results["dpm++"], results["euler"], atol=1e-5, - ) - np.testing.assert_allclose( - results["unipc"], results["euler"], atol=1e-5, - ) - - def test_dpmpp_unipc_agree_on_step1(self): - """After warmup, DPM++ and UniPC step 1 should be similar - (both use 2nd-order corrections based on the same model outputs).""" - mx.random.seed(42) - shape = (1, 4, 1, 4, 4) - noise = mx.random.normal(shape) - - scheds = self._make_schedulers(10, shift=5.0) - # Run step 0 with same velocity - vel0 = mx.random.normal(shape) - for sched in scheds.values(): - sched.step(vel0, sched.timesteps[0], noise) - - # Run step 1 from same sample with same velocity - sample1 = scheds["euler"].step(vel0, scheds["euler"].timesteps[0], noise) - mx.eval(sample1) - vel1 = mx.random.normal(shape) - - r_dpm = scheds["dpm++"].step(vel1, scheds["dpm++"].timesteps[1], sample1) - r_unipc = scheds["unipc"].step(vel1, scheds["unipc"].timesteps[1], sample1) - mx.eval(r_dpm, r_unipc) - - # They won't be identical (different correction formulas) but should - # be in the same ballpark (within 50% of each other's magnitude) - mean_dpm = float(mx.mean(mx.abs(r_dpm)).item()) - mean_unipc = float(mx.mean(mx.abs(r_unipc)).item()) - ratio = max(mean_dpm, mean_unipc) / max(min(mean_dpm, mean_unipc), 1e-10) - assert ratio < 2.0, ( - f"DPM++ and UniPC step 1 differ too much: " - f"DPM++={mean_dpm:.4f}, UniPC={mean_unipc:.4f}" - ) - - def test_reset_makes_solvers_reproducible(self): - """After reset(), running the same loop should produce identical output.""" - mx.random.seed(42) - shape = (1, 2, 1, 2, 2) - noise = mx.random.normal(shape) - - from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler, FlowUniPCScheduler - - for cls in (FlowDPMPP2MScheduler, FlowUniPCScheduler): - sched = cls() - sched.set_timesteps(5, shift=5.0) - - # First run - latents = noise - for i in range(5): - vel = latents * 0.1 - latents = sched.step(vel, sched.timesteps[i], latents) - mx.eval(latents) - result1 = np.array(latents) - - # Reset and run again - sched.reset() - latents = noise - for i in range(5): - vel = latents * 0.1 - latents = sched.step(vel, sched.timesteps[i], latents) - mx.eval(latents) - result2 = np.array(latents) - - np.testing.assert_allclose(result1, result2, atol=1e-5, - err_msg=f"{cls.__name__} not reproducible after reset()") - - -# --------------------------------------------------------------------------- -# Wan2.2 VAE Component Tests -# --------------------------------------------------------------------------- - - -class TestVAE22CausalConv3d: - """Tests for vae22.CausalConv3d (channels-last).""" - - def test_output_shape_k3(self): - from mlx_video.models.wan.vae22 import CausalConv3d - conv = CausalConv3d(8, 16, kernel_size=3, padding=1) - x = mx.random.normal((1, 4, 8, 8, 8)) # [B, T, H, W, C] - out = conv(x) - mx.eval(out) - assert out.shape == (1, 4, 8, 8, 16) - - def test_output_shape_k1(self): - from mlx_video.models.wan.vae22 import CausalConv3d - conv = CausalConv3d(8, 16, kernel_size=1) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = conv(x) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 16) - - def test_temporal_causal(self): - """Output at t=0 should not depend on t>0.""" - from mlx_video.models.wan.vae22 import CausalConv3d - conv = CausalConv3d(2, 2, kernel_size=3, padding=1) - conv.weight = mx.random.normal(conv.weight.shape) * 0.1 - conv.bias = mx.zeros(conv.bias.shape) - - x = mx.zeros((1, 4, 4, 4, 2)) - out_zero = conv(x) - mx.eval(out_zero) - t0_ref = np.array(out_zero[0, 0]) - - # Modify t=2..3; output at t=0 should be unchanged - x_mod = mx.concatenate([ - x[:, :2], - mx.ones((1, 2, 4, 4, 2)), - ], axis=1) - out_mod = conv(x_mod) - mx.eval(out_mod) - t0_mod = np.array(out_mod[0, 0]) - np.testing.assert_allclose(t0_ref, t0_mod, atol=1e-5) - - def test_channels_last_format(self): - """Verify input/output are channels-last [B, T, H, W, C].""" - from mlx_video.models.wan.vae22 import CausalConv3d - conv = CausalConv3d(4, 8, kernel_size=3, padding=1) - x = mx.random.normal((2, 3, 6, 6, 4)) - out = conv(x) - mx.eval(out) - assert out.shape[-1] == 8 # last dim = out_channels - - -class TestRMSNorm: - """Tests for vae22.RMS_norm (actually L2 normalization).""" - - def test_output_shape(self): - from mlx_video.models.wan.vae22 import RMS_norm - norm = RMS_norm(16) - x = mx.random.normal((2, 4, 4, 4, 16)) - out = norm(x) - mx.eval(out) - assert out.shape == x.shape - - def test_l2_normalization(self): - """RMS_norm should normalize to unit L2 norm * sqrt(dim).""" - from mlx_video.models.wan.vae22 import RMS_norm - dim = 32 - norm = RMS_norm(dim) - x = mx.random.normal((1, 1, 1, 1, dim)) * 5.0 # large values - out = norm(x) - mx.eval(out) - # After L2 norm * scale(=sqrt(dim)) * gamma(=1): ||out|| = sqrt(dim) - out_np = np.array(out).flatten() - l2 = np.linalg.norm(out_np) - np.testing.assert_allclose(l2, math.sqrt(dim), rtol=1e-3) - - def test_scale_invariant(self): - """Scaling input by constant should not change output (L2 norm property).""" - from mlx_video.models.wan.vae22 import RMS_norm - norm = RMS_norm(8) - x = mx.random.normal((1, 1, 1, 1, 8)) - out1 = norm(x) - out2 = norm(x * 10.0) - mx.eval(out1, out2) - np.testing.assert_allclose(np.array(out1), np.array(out2), atol=1e-4) - - def test_gamma_effect(self): - """Non-unit gamma should scale output.""" - from mlx_video.models.wan.vae22 import RMS_norm - norm = RMS_norm(4) - norm.gamma = mx.array([2.0, 2.0, 2.0, 2.0]) - x = mx.ones((1, 1, 1, 1, 4)) - out = norm(x) - mx.eval(out) - # With gamma=2, each component is 2 * sqrt(4) * x/||x|| = 2 * 2 * 1/2 = 2 - np.testing.assert_allclose(np.array(out).flatten(), 2.0, atol=1e-4) - - -class TestDupUp3D: - """Tests for vae22.DupUp3D spatial/temporal upsampling.""" - - def test_spatial_only(self): - from mlx_video.models.wan.vae22 import DupUp3D - up = DupUp3D(8, 4, factor_t=1, factor_s=2) - x = mx.random.normal((1, 3, 4, 4, 8)) - out = up(x) - mx.eval(out) - assert out.shape == (1, 3, 8, 8, 4) - - def test_temporal_and_spatial(self): - from mlx_video.models.wan.vae22 import DupUp3D - up = DupUp3D(16, 8, factor_t=2, factor_s=2) - x = mx.random.normal((1, 3, 4, 4, 16)) - out = up(x) - mx.eval(out) - assert out.shape == (1, 6, 8, 8, 8) - - def test_first_chunk_trims(self): - from mlx_video.models.wan.vae22 import DupUp3D - up = DupUp3D(8, 4, factor_t=2, factor_s=2) - x = mx.random.normal((1, 3, 4, 4, 8)) - out_normal = up(x, first_chunk=False) - out_trimmed = up(x, first_chunk=True) - mx.eval(out_normal, out_trimmed) - # first_chunk removes factor_t-1=1 temporal frame - assert out_normal.shape[1] == 6 - assert out_trimmed.shape[1] == 5 - - def test_no_temporal_first_chunk_noop(self): - from mlx_video.models.wan.vae22 import DupUp3D - up = DupUp3D(8, 4, factor_t=1, factor_s=2) - x = mx.random.normal((1, 3, 4, 4, 8)) - out_normal = up(x, first_chunk=False) - out_trimmed = up(x, first_chunk=True) - mx.eval(out_normal, out_trimmed) - # factor_t=1, so first_chunk removes 0 frames - assert out_normal.shape == out_trimmed.shape - - -class TestVAE22Resample: - """Tests for vae22.Resample (spatial/temporal upsampling).""" - - def test_upsample2d_shape(self): - from mlx_video.models.wan.vae22 import Resample - r = Resample(8, "upsample2d") - r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 - x = mx.random.normal((1, 2, 4, 4, 8)) - out = r(x) - mx.eval(out) - assert out.shape == (1, 2, 8, 8, 8) # 2x spatial, same temporal - - def test_upsample3d_shape(self): - from mlx_video.models.wan.vae22 import Resample - r = Resample(8, "upsample3d") - r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 - x = mx.random.normal((1, 2, 4, 4, 8)) - out = r(x) - mx.eval(out) - assert out.shape == (1, 4, 8, 8, 8) # 2x spatial + 2x temporal - - def test_upsample3d_first_chunk(self): - from mlx_video.models.wan.vae22 import Resample - r = Resample(8, "upsample3d") - r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 - x = mx.random.normal((1, 2, 4, 4, 8)) - out = r(x, first_chunk=True) - mx.eval(out) - # first_chunk: 1 (bypass) + 2*(T-1) (interleaved) = 2T-1 = 3 - assert out.shape == (1, 3, 8, 8, 8) - - def test_upsample3d_first_chunk_single_frame(self): - """Single-frame input with first_chunk: no temporal upsample.""" - from mlx_video.models.wan.vae22 import Resample - r = Resample(8, "upsample3d") - r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 - x = mx.random.normal((1, 1, 4, 4, 8)) - out = r(x, first_chunk=True) - mx.eval(out) - # Single frame with first_chunk: falls through to non-first path - # time_conv on 1 frame → 2 interleaved - assert out.shape == (1, 2, 8, 8, 8) - - def test_upsample3d_first_frame_bypasses_time_conv(self): - """First frame of first_chunk should NOT go through time_conv. - - Official Wan2.2 skips time_conv for the very first frame entirely. - We verify this by checking that the first output frame depends only on - the first input frame (not on time_conv parameters). - """ - from mlx_video.models.wan.vae22 import Resample - C = 8 - r = Resample(C, "upsample3d") - # Set time_conv weights to large values so its effect is detectable - r.time_conv.weight = mx.ones(r.time_conv.weight.shape) * 10.0 - r.time_conv.bias = mx.zeros(r.time_conv.bias.shape) - # Set spatial conv to identity-like - r.resample_weight = mx.zeros(r.resample_weight.shape) - r.resample_bias = mx.zeros(r.resample_bias.shape) - - x = mx.random.normal((1, 3, 2, 2, C)) - out = r(x, first_chunk=True) - mx.eval(out) - # Output: 5 frames (1 bypass + 4 interleaved from 2 remaining) - assert out.shape[1] == 5 - - # First frame should be spatial upsample of x[:, 0:1] only. - # Run just the first frame through spatial upsample for reference - first_only = x[:, 0:1] - ref = r._upsample2x(first_only.reshape(1, 2, 2, C)) - ref = mx.pad(ref, [(0, 0), (1, 1), (1, 1), (0, 0)]) - ref = mx.conv_general(ref, r.resample_weight) + r.resample_bias - mx.eval(ref) - - # Compare first output frame to reference - first_out = out[:, 0:1].reshape(1, out.shape[2], out.shape[3], C) - mx.eval(first_out) - assert mx.allclose(first_out, ref, atol=1e-5).item(), \ - "First frame should bypass time_conv and match spatial-only upsample" - - -class TestVAE22ResidualBlock: - """Tests for vae22.ResidualBlock.""" - - def test_same_dim(self): - from mlx_video.models.wan.vae22 import ResidualBlock - block = ResidualBlock(8, 8) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 8) - - def test_different_dim(self): - from mlx_video.models.wan.vae22 import ResidualBlock - block = ResidualBlock(8, 16) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 16) - - def test_shortcut_when_dims_differ(self): - from mlx_video.models.wan.vae22 import ResidualBlock - block = ResidualBlock(8, 16) - assert block.shortcut is not None - - def test_no_shortcut_same_dim(self): - from mlx_video.models.wan.vae22 import ResidualBlock - block = ResidualBlock(8, 8) - assert block.shortcut is None - - -class TestResidualBlockLayers: - """Tests for vae22.ResidualBlockLayers naming convention.""" - - def test_layer_names_no_underscore_prefix(self): - """Layer names must NOT start with underscore (MLX ignores them).""" - from mlx_video.models.wan.vae22 import ResidualBlockLayers - block = ResidualBlockLayers(8, 8) - params = dict(block.parameters()) - # All param keys should use layer_N, not _layer_N - for key in params: - assert not key.startswith("_"), f"Parameter {key} starts with underscore" - - def test_has_expected_layers(self): - from mlx_video.models.wan.vae22 import ResidualBlockLayers - block = ResidualBlockLayers(8, 16) - assert hasattr(block, "layer_0") # first RMS_norm - assert hasattr(block, "layer_2") # first CausalConv3d - assert hasattr(block, "layer_3") # second RMS_norm - assert hasattr(block, "layer_6") # second CausalConv3d - - def test_forward_shape(self): - from mlx_video.models.wan.vae22 import ResidualBlockLayers - block = ResidualBlockLayers(8, 16) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 16) - - -class TestVAE22AttentionBlock: - """Tests for vae22.AttentionBlock (per-frame 2D self-attention).""" - - def test_output_shape(self): - from mlx_video.models.wan.vae22 import AttentionBlock - block = AttentionBlock(16) - block.to_qkv_weight = mx.random.normal(block.to_qkv_weight.shape) * 0.01 - block.proj_weight = mx.random.normal(block.proj_weight.shape) * 0.01 - x = mx.random.normal((1, 2, 4, 4, 16)) - out = block(x) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 16) - - def test_residual_connection(self): - from mlx_video.models.wan.vae22 import AttentionBlock - block = AttentionBlock(8) - block.to_qkv_weight = mx.zeros(block.to_qkv_weight.shape) - block.proj_weight = mx.zeros(block.proj_weight.shape) - x = mx.ones((1, 1, 2, 2, 8)) - out = block(x) - mx.eval(out) - # With zero weights, attention output is 0 → residual is identity - np.testing.assert_allclose(np.array(out), np.array(x), atol=1e-5) - - -class TestHead22: - """Tests for vae22.Head22 output head.""" - - def test_output_shape(self): - from mlx_video.models.wan.vae22 import Head22 - head = Head22(16, out_channels=12) - x = mx.random.normal((1, 2, 4, 4, 16)) - out = head(x) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 12) - - def test_layer_names_no_underscore(self): - """Head layers must not use underscore prefix.""" - from mlx_video.models.wan.vae22 import Head22 - head = Head22(8) - assert hasattr(head, "layer_0") # RMS_norm - assert hasattr(head, "layer_2") # CausalConv3d - params = dict(head.parameters()) - for key in params: - assert not key.startswith("_"), f"Head param {key} starts with underscore" - - -class TestUnpatchify: - """Tests for vae22._unpatchify.""" - - def test_basic_shape(self): - from mlx_video.models.wan.vae22 import _unpatchify - x = mx.random.normal((1, 2, 4, 4, 12)) # 12 = 3 * 2 * 2 - out = _unpatchify(x, patch_size=2) - mx.eval(out) - assert out.shape == (1, 2, 8, 8, 3) - - def test_patch_size_1_noop(self): - from mlx_video.models.wan.vae22 import _unpatchify - x = mx.random.normal((1, 2, 4, 4, 3)) - out = _unpatchify(x, patch_size=1) - mx.eval(out) - np.testing.assert_array_equal(np.array(out), np.array(x)) - - def test_preserves_content(self): - """Unpatchify should be a lossless rearrangement.""" - from mlx_video.models.wan.vae22 import _unpatchify - x = mx.arange(48).reshape(1, 1, 2, 2, 12).astype(mx.float32) - out = _unpatchify(x, patch_size=2) - mx.eval(out) - # All elements should be preserved - assert np.array(out).size == 48 - assert set(np.array(out).flatten().tolist()) == set(range(48)) - - -class TestDenormalizeLatents: - """Tests for vae22.denormalize_latents.""" - - def test_output_shape(self): - from mlx_video.models.wan.vae22 import denormalize_latents - z = mx.random.normal((1, 2, 4, 4, 48)) - out = denormalize_latents(z) - mx.eval(out) - assert out.shape == (1, 2, 4, 4, 48) - - def test_custom_mean_std(self): - from mlx_video.models.wan.vae22 import denormalize_latents - z = mx.ones((1, 1, 1, 1, 4)) - mean = mx.array([1.0, 2.0, 3.0, 4.0]) - std = mx.array([0.5, 0.5, 0.5, 0.5]) - out = denormalize_latents(z, mean=mean, std=std) - mx.eval(out) - # z * std + mean = 1*0.5 + [1,2,3,4] = [1.5, 2.5, 3.5, 4.5] - np.testing.assert_allclose(np.array(out).flatten(), [1.5, 2.5, 3.5, 4.5], atol=1e-5) - - def test_uses_default_constants(self): - from mlx_video.models.wan.vae22 import VAE22_MEAN, VAE22_STD, denormalize_latents - # Should not raise with default constants - z = mx.zeros((1, 1, 1, 1, 48)) - out = denormalize_latents(z) - mx.eval(out) - # z=0 → result = 0 * std + mean = mean - np.testing.assert_allclose( - np.array(out).flatten(), - np.array(VAE22_MEAN).flatten(), - atol=1e-5, - ) - - -class TestVAE22NormConstants: - """Tests for VAE22_MEAN and VAE22_STD constants.""" - - def test_dimensions(self): - from mlx_video.models.wan.vae22 import VAE22_MEAN, VAE22_STD - mx.eval(VAE22_MEAN, VAE22_STD) - assert VAE22_MEAN.shape == (48,) - assert VAE22_STD.shape == (48,) - - def test_std_positive(self): - from mlx_video.models.wan.vae22 import VAE22_STD - mx.eval(VAE22_STD) - assert (np.array(VAE22_STD) > 0).all() - - -class TestWan22VAEDecoder: - """Tests for the full Wan22VAEDecoder (tiny configuration).""" - - def test_output_shape_small(self): - """Tiny decoder should produce correct spatial/temporal output.""" - from mlx_video.models.wan.vae22 import Wan22VAEDecoder - # Use very small dims to keep test fast - dec = Wan22VAEDecoder(z_dim=4, dim=8, dec_dim=8) - # Latent: [B=1, T=3, H=2, W=2, C=4] - # Expected: temporal 3→5→9→9→9 (two temporal upsamples), spatial 2→4→8→16 - z = mx.random.normal((1, 3, 2, 2, 4)) * 0.1 - out = dec(z) - mx.eval(out) - # Output should have 3 RGB channels and be clipped to [-1, 1] - assert out.shape[-1] == 3 - assert out.ndim == 5 - assert np.array(out).min() >= -1.0 - assert np.array(out).max() <= 1.0 - - def test_output_clipped(self): - from mlx_video.models.wan.vae22 import Wan22VAEDecoder - dec = Wan22VAEDecoder(z_dim=4, dim=8, dec_dim=8) - z = mx.random.normal((1, 2, 2, 2, 4)) * 10.0 # large values - out = dec(z) - mx.eval(out) - assert np.array(out).min() >= -1.0 - 1e-6 - assert np.array(out).max() <= 1.0 + 1e-6 - - -class TestSanitizeWan22VAEWeights: - """Tests for vae22.sanitize_wan22_vae_weights.""" - - def test_skip_encoder(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - weights = { - "encoder.layer.weight": mx.zeros((4,)), - "conv1.weight": mx.zeros((4,)), - "decoder.conv1.bias": mx.zeros((4,)), - } - out = sanitize_wan22_vae_weights(weights) - assert "encoder.layer.weight" not in out - assert "conv1.weight" not in out - assert "decoder.conv1.bias" in out - - def test_sequential_index_remapping(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - weights = { - "decoder.upsamples.0.upsamples.0.residual.0.gamma": mx.ones((8,)), - "decoder.upsamples.0.upsamples.0.residual.6.bias": mx.zeros((8,)), - "decoder.head.0.gamma": mx.ones((4,)), - "decoder.head.2.bias": mx.zeros((12,)), - } - out = sanitize_wan22_vae_weights(weights) - assert "decoder.upsamples.0.upsamples.0.residual.layer_0.gamma" in out - assert "decoder.upsamples.0.upsamples.0.residual.layer_6.bias" in out - assert "decoder.head.layer_0.gamma" in out - assert "decoder.head.layer_2.bias" in out - - def test_resample_conv_remapping(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - weights = { - "decoder.upsamples.1.upsamples.3.resample.1.weight": mx.zeros((8, 8, 3, 3)), - "decoder.upsamples.1.upsamples.3.resample.1.bias": mx.zeros((8,)), - } - out = sanitize_wan22_vae_weights(weights) - assert "decoder.upsamples.1.upsamples.3.resample_weight" in out - assert "decoder.upsamples.1.upsamples.3.resample_bias" in out - - def test_attention_remapping(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - weights = { - "decoder.middle.1.to_qkv.weight": mx.zeros((24, 8, 1, 1)), - "decoder.middle.1.to_qkv.bias": mx.zeros((24,)), - "decoder.middle.1.proj.weight": mx.zeros((8, 8, 1, 1)), - "decoder.middle.1.proj.bias": mx.zeros((8,)), - } - out = sanitize_wan22_vae_weights(weights) - assert "decoder.middle.1.to_qkv_weight" in out - assert "decoder.middle.1.to_qkv_bias" in out - assert "decoder.middle.1.proj_weight" in out - assert "decoder.middle.1.proj_bias" in out - - def test_conv3d_transpose(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - # Conv3d weight: [O, I, D, H, W] → [O, D, H, W, I] - w = mx.zeros((16, 8, 3, 3, 3)) - weights = {"decoder.conv1.weight": w} - out = sanitize_wan22_vae_weights(weights) - assert out["decoder.conv1.weight"].shape == (16, 3, 3, 3, 8) - - def test_conv2d_transpose(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - # Conv2d weight: [O, I, H, W] → [O, H, W, I] - w = mx.zeros((8, 8, 3, 3)) - weights = {"decoder.upsamples.0.upsamples.2.resample.1.weight": w} - out = sanitize_wan22_vae_weights(weights) - key = "decoder.upsamples.0.upsamples.2.resample_weight" - assert out[key].shape == (8, 3, 3, 8) - - def test_gamma_squeeze(self): - from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - # gamma: (dim, 1, 1, 1) → (dim,) - w = mx.ones((16, 1, 1, 1)) - weights = {"decoder.upsamples.0.upsamples.0.residual.0.gamma": w} - out = sanitize_wan22_vae_weights(weights) - key = "decoder.upsamples.0.upsamples.0.residual.layer_0.gamma" - assert out[key].shape == (16,) - - -class TestUpResidualBlock: - """Tests for vae22.Up_ResidualBlock.""" - - def test_no_upsample(self): - from mlx_video.models.wan.vae22 import Up_ResidualBlock - block = Up_ResidualBlock(8, 8, num_res_blocks=1, temperal_upsample=False, up_flag=False) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = block(x) - mx.eval(out) - # No upsample: same shape - assert out.shape == (1, 2, 4, 4, 8) - - def test_spatial_upsample(self): - from mlx_video.models.wan.vae22 import Up_ResidualBlock - block = Up_ResidualBlock(8, 4, num_res_blocks=1, temperal_upsample=False, up_flag=True) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = block(x) - mx.eval(out) - # 2x spatial upsample, no temporal - assert out.shape == (1, 2, 8, 8, 4) - - def test_spatial_temporal_upsample(self): - from mlx_video.models.wan.vae22 import Up_ResidualBlock - block = Up_ResidualBlock(8, 4, num_res_blocks=1, temperal_upsample=True, up_flag=True) - x = mx.random.normal((1, 2, 4, 4, 8)) - out = block(x) - mx.eval(out) - # 2x spatial + 2x temporal - assert out.shape == (1, 4, 8, 8, 4) - - -if __name__ == "__main__": - pytest.main([__file__, "-v"]) diff --git a/tests/test_wan_attention.py b/tests/test_wan_attention.py new file mode 100644 index 0000000..02e471b --- /dev/null +++ b/tests/test_wan_attention.py @@ -0,0 +1,372 @@ +"""Tests for Wan attention components and RoPE.""" + +import mlx.core as mx +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# RoPE Tests +# --------------------------------------------------------------------------- + +class TestRoPE: + """Tests for 3-way factorized RoPE.""" + + def test_rope_params_shape(self): + from mlx_video.models.wan.rope import rope_params + freqs = rope_params(1024, 64) + mx.eval(freqs) + assert freqs.shape == (1024, 32, 2) # [max_seq_len, dim//2, 2] + + def test_rope_params_different_dims(self): + from mlx_video.models.wan.rope import rope_params + for dim in [32, 64, 128]: + freqs = rope_params(512, dim) + mx.eval(freqs) + assert freqs.shape == (512, dim // 2, 2) + + def test_rope_params_cos_sin_range(self): + from mlx_video.models.wan.rope import rope_params + freqs = rope_params(256, 64) + mx.eval(freqs) + cos_vals = np.array(freqs[:, :, 0]) + sin_vals = np.array(freqs[:, :, 1]) + assert np.all(cos_vals >= -1.0) and np.all(cos_vals <= 1.0) + assert np.all(sin_vals >= -1.0) and np.all(sin_vals <= 1.0) + + def test_rope_params_position_zero(self): + """At position 0, cos should be 1 and sin should be 0.""" + from mlx_video.models.wan.rope import rope_params + freqs = rope_params(10, 64) + mx.eval(freqs) + np.testing.assert_allclose(np.array(freqs[0, :, 0]), 1.0, atol=1e-6) + np.testing.assert_allclose(np.array(freqs[0, :, 1]), 0.0, atol=1e-6) + + def test_rope_apply_output_shape(self): + from mlx_video.models.wan.rope import rope_params, rope_apply + B, L, N, D = 1, 24, 4, 32 # batch, seq, heads, head_dim + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + grid_sizes = [(2, 3, 4)] # F*H*W = 24 = L + out = rope_apply(x, grid_sizes, freqs) + mx.eval(out) + assert out.shape == (B, L, N, D) + + def test_rope_apply_preserves_norm(self): + """RoPE rotation should preserve vector norms.""" + from mlx_video.models.wan.rope import rope_params, rope_apply + B, N, D = 1, 2, 16 + F, H, W = 2, 3, 4 + L = F * H * W + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + + out = rope_apply(x, [(F, H, W)], freqs) + mx.eval(x, out) + + x_np = np.array(x[0]) + out_np = np.array(out[0]) + for i in range(L): + for h in range(N): + norm_in = np.linalg.norm(x_np[i, h]) + norm_out = np.linalg.norm(out_np[i, h]) + np.testing.assert_allclose(norm_in, norm_out, rtol=1e-4) + + def test_rope_apply_with_padding(self): + """When seq_len < L, extra tokens should be preserved unchanged.""" + from mlx_video.models.wan.rope import rope_params, rope_apply + B, N, D = 1, 2, 16 + F, H, W = 2, 2, 2 + seq_len = F * H * W # 8 + pad = 4 + L = seq_len + pad + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + + out = rope_apply(x, [(F, H, W)], freqs) + mx.eval(x, out) + # Padded tokens should be unchanged + np.testing.assert_allclose( + np.array(out[0, seq_len:]), + np.array(x[0, seq_len:]), + atol=1e-6, + ) + + def test_rope_apply_batch(self): + """Test with batch_size > 1 and different grid sizes.""" + from mlx_video.models.wan.rope import rope_params, rope_apply + B, N, D = 2, 2, 16 + grids = [(2, 3, 4), (2, 3, 4)] + L = 2 * 3 * 4 + x = mx.random.normal((B, L, N, D)) + freqs = rope_params(1024, D) + + out = rope_apply(x, grids, freqs) + mx.eval(out) + assert out.shape == (B, L, N, D) + + def test_rope_frequency_split(self): + """Verify the 3-way frequency dimension split matches Wan2.2 convention.""" + D = 128 # head_dim for 14B model + half_d = D // 2 + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + d_w = half_d // 3 + assert d_t + d_h + d_w == half_d + # Temporal gets more capacity + assert d_t >= d_h + assert d_t >= d_w + + +# --------------------------------------------------------------------------- +# Attention Tests +# --------------------------------------------------------------------------- + +class TestWanRMSNorm: + def test_output_shape(self): + from mlx_video.models.wan.attention import WanRMSNorm + norm = WanRMSNorm(64) + x = mx.random.normal((2, 10, 64)) + out = norm(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_zero_mean_variance(self): + """RMS norm should make RMS ≈ 1 before scaling.""" + from mlx_video.models.wan.attention import WanRMSNorm + norm = WanRMSNorm(64) + x = mx.random.normal((1, 5, 64)) * 10.0 + out = norm(x) + mx.eval(out) + out_np = np.array(out[0]) + for i in range(5): + rms = np.sqrt(np.mean(out_np[i] ** 2)) + # After RMS norm with weight=1, RMS should be ~1 + np.testing.assert_allclose(rms, 1.0, rtol=0.1) + + def test_dtype_preservation(self): + """RMSNorm weight is float32, so output is promoted to float32.""" + from mlx_video.models.wan.attention import WanRMSNorm + norm = WanRMSNorm(32) + x = mx.random.normal((1, 4, 32)).astype(mx.bfloat16) + out = norm(x) + mx.eval(out) + # Weight is float32, so multiplication promotes result to float32 + assert out.dtype == mx.float32 + + +class TestWanLayerNorm: + def test_output_shape(self): + from mlx_video.models.wan.attention import WanLayerNorm + norm = WanLayerNorm(64) + x = mx.random.normal((2, 10, 64)) + out = norm(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_without_affine(self): + from mlx_video.models.wan.attention import WanLayerNorm + norm = WanLayerNorm(64, elementwise_affine=False) + x = mx.random.normal((1, 4, 64)) + out = norm(x) + mx.eval(out) + # Mean should be ~0, variance should be ~1 + out_np = np.array(out[0]) + for i in range(4): + np.testing.assert_allclose(np.mean(out_np[i]), 0.0, atol=0.05) + np.testing.assert_allclose(np.std(out_np[i]), 1.0, rtol=0.1) + + def test_with_affine(self): + from mlx_video.models.wan.attention import WanLayerNorm + norm = WanLayerNorm(32, elementwise_affine=True) + assert hasattr(norm, "weight") + assert hasattr(norm, "bias") + x = mx.random.normal((1, 4, 32)) + out = norm(x) + mx.eval(out) + assert out.shape == (1, 4, 32) + + +class TestWanSelfAttention: + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.num_heads = 4 + + def test_output_shape(self): + from mlx_video.models.wan.attention import WanSelfAttention + from mlx_video.models.wan.rope import rope_params + attn = WanSelfAttention(self.dim, self.num_heads) + B, L = 1, 24 + F, H, W = 2, 3, 4 + x = mx.random.normal((B, L, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + out = attn(x, seq_lens=[L], grid_sizes=[(F, H, W)], freqs=freqs) + mx.eval(out) + assert out.shape == (B, L, self.dim) + + def test_with_qk_norm(self): + from mlx_video.models.wan.attention import WanSelfAttention + attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=True) + assert attn.norm_q is not None + assert attn.norm_k is not None + + def test_without_qk_norm(self): + from mlx_video.models.wan.attention import WanSelfAttention + attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=False) + assert attn.norm_q is None + assert attn.norm_k is None + + def test_masking(self): + """Test that masking works: shorter seq_lens should mask later tokens.""" + from mlx_video.models.wan.attention import WanSelfAttention + from mlx_video.models.wan.rope import rope_params + attn = WanSelfAttention(self.dim, self.num_heads, qk_norm=False) + B, L = 1, 24 + F, H, W = 2, 3, 4 + x = mx.random.normal((B, L, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + # Full sequence + out_full = attn(x, seq_lens=[L], grid_sizes=[(F, H, W)], freqs=freqs) + # Shorter sequence (mask last 4 tokens) + out_masked = attn(x, seq_lens=[L - 4], grid_sizes=[(F, H, W)], freqs=freqs) + mx.eval(out_full, out_masked) + + # Outputs should differ when masking is applied + assert not np.allclose(np.array(out_full), np.array(out_masked), atol=1e-5) + + +class TestWanCrossAttention: + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.num_heads = 4 + + def test_output_shape(self): + from mlx_video.models.wan.attention import WanCrossAttention + attn = WanCrossAttention(self.dim, self.num_heads) + B, L_q, L_kv = 1, 24, 16 + x = mx.random.normal((B, L_q, self.dim)) + context = mx.random.normal((B, L_kv, self.dim)) + out = attn(x, context) + mx.eval(out) + assert out.shape == (B, L_q, self.dim) + + def test_with_context_mask(self): + from mlx_video.models.wan.attention import WanCrossAttention + attn = WanCrossAttention(self.dim, self.num_heads) + B, L_q, L_kv = 1, 12, 16 + x = mx.random.normal((B, L_q, self.dim)) + context = mx.random.normal((B, L_kv, self.dim)) + out = attn(x, context, context_lens=[10]) + mx.eval(out) + assert out.shape == (B, L_q, self.dim) + + +# --------------------------------------------------------------------------- +# bfloat16 Autocast Tests +# --------------------------------------------------------------------------- + +class TestBFloat16Autocast: + """Tests that attention and FFN cast inputs to weight dtype (bfloat16) + for efficient matmul, matching official PyTorch autocast behavior.""" + + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.num_heads = 4 + + @staticmethod + def _to_bf16(params): + """Recursively cast all arrays in params to bfloat16.""" + if isinstance(params, dict): + return {k: TestBFloat16Autocast._to_bf16(v) for k, v in params.items()} + elif isinstance(params, list): + return [TestBFloat16Autocast._to_bf16(v) for v in params] + elif isinstance(params, mx.array): + return params.astype(mx.bfloat16) + return params + + def test_self_attn_casts_to_weight_dtype(self): + """Self-attention should cast input to weight dtype for QKV projections.""" + from mlx_video.models.wan.attention import WanSelfAttention + from mlx_video.models.wan.rope import rope_params + attn = WanSelfAttention(self.dim, self.num_heads) + attn.update(self._to_bf16(attn.parameters())) + + x = mx.random.normal((1, 8, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + out = attn(x, seq_lens=[8], grid_sizes=[(2, 2, 2)], freqs=freqs) + mx.eval(out) + assert out.shape == (1, 8, self.dim) + assert np.isfinite(np.array(out.astype(mx.float32))).all() + + def test_cross_attn_casts_to_weight_dtype(self): + """Cross-attention should cast input to weight dtype.""" + from mlx_video.models.wan.attention import WanCrossAttention + attn = WanCrossAttention(self.dim, self.num_heads) + attn.update(self._to_bf16(attn.parameters())) + + x = mx.random.normal((1, 8, self.dim)) + ctx = mx.random.normal((1, 4, self.dim)) + out = attn(x, ctx) + mx.eval(out) + assert out.shape == (1, 8, self.dim) + assert np.isfinite(np.array(out.astype(mx.float32))).all() + + def test_cross_attn_kv_cache_uses_weight_dtype(self): + """prepare_kv should cast context to weight dtype.""" + from mlx_video.models.wan.attention import WanCrossAttention + attn = WanCrossAttention(self.dim, self.num_heads) + attn.update(self._to_bf16(attn.parameters())) + + ctx = mx.random.normal((1, 4, self.dim)) + k, v = attn.prepare_kv(ctx) + mx.eval(k, v) + assert k.dtype == mx.bfloat16 + assert v.dtype == mx.bfloat16 + + def test_ffn_casts_to_weight_dtype(self): + """FFN should cast input to weight dtype for linear layers.""" + from mlx_video.models.wan.transformer import WanFFN + ffn = WanFFN(self.dim, 128) + ffn.update(self._to_bf16(ffn.parameters())) + + x = mx.random.normal((1, 8, self.dim)) + out = ffn(x) + mx.eval(out) + assert out.shape == (1, 8, self.dim) + assert np.isfinite(np.array(out.astype(mx.float32))).all() + + def test_self_attn_rope_in_float32(self): + """RoPE should be applied in float32 for precision, even with bf16 weights.""" + from mlx_video.models.wan.attention import WanSelfAttention + from mlx_video.models.wan.rope import rope_params + attn = WanSelfAttention(self.dim, self.num_heads) + attn.update(self._to_bf16(attn.parameters())) + + x = mx.random.normal((1, 8, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + assert freqs.dtype == mx.float32 + out = attn(x, seq_lens=[8], grid_sizes=[(2, 2, 2)], freqs=freqs) + mx.eval(out) + assert np.isfinite(np.array(out.astype(mx.float32))).all() + + def test_block_float32_residual_with_bf16_weights(self): + """Full block: residual stream stays float32, matmuls use bf16 weights.""" + from mlx_video.models.wan.transformer import WanAttentionBlock + from mlx_video.models.wan.rope import rope_params + block = WanAttentionBlock(self.dim, 128, self.num_heads, cross_attn_norm=True) + block.update(self._to_bf16(block.parameters())) + + B, L = 1, 8 + x = mx.random.normal((B, L, self.dim)) + e = mx.random.normal((B, L, 6, self.dim)) + ctx = mx.random.normal((B, 4, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + out = block(x, e, [L], [(2, 2, 2)], freqs, ctx) + mx.eval(out) + assert out.dtype == mx.float32 + assert np.isfinite(np.array(out)).all() diff --git a/tests/test_wan_config.py b/tests/test_wan_config.py new file mode 100644 index 0000000..5b943df --- /dev/null +++ b/tests/test_wan_config.py @@ -0,0 +1,125 @@ +"""Tests for Wan model configuration.""" + +import pytest + + +# --------------------------------------------------------------------------- +# Config Tests +# --------------------------------------------------------------------------- + +class TestWanModelConfig: + """Tests for WanModelConfig dataclass.""" + + def test_default_values(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.dim == 5120 + assert config.ffn_dim == 13824 + assert config.num_heads == 40 + assert config.num_layers == 40 + assert config.in_dim == 16 + assert config.out_dim == 16 + assert config.patch_size == (1, 2, 2) + assert config.vae_stride == (4, 8, 8) + assert config.vae_z_dim == 16 + assert config.boundary == 0.875 + assert config.sample_shift == 12.0 + assert config.sample_steps == 40 + assert config.sample_guide_scale == (3.0, 4.0) + assert config.num_train_timesteps == 1000 + assert config.qk_norm is True + assert config.cross_attn_norm is True + assert config.text_len == 512 + + def test_head_dim_property(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.head_dim == 128 # 5120 // 40 + + def test_to_dict_roundtrip(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + d = config.to_dict() + assert isinstance(d, dict) + assert d["dim"] == 5120 + assert d["patch_size"] == (1, 2, 2) + assert d["boundary"] == 0.875 + + def test_t5_config_values(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.t5_vocab_size == 256384 + assert config.t5_dim == 4096 + assert config.t5_dim_attn == 4096 + assert config.t5_dim_ffn == 10240 + assert config.t5_num_heads == 64 + assert config.t5_num_layers == 24 + assert config.t5_num_buckets == 32 + + +# --------------------------------------------------------------------------- +# Wan2.1 Config Tests +# --------------------------------------------------------------------------- + +class TestWan21Config: + """Tests for Wan2.1 config presets.""" + + def test_wan21_14b_factory(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + assert config.model_version == "2.1" + assert config.dual_model is False + assert config.dim == 5120 + assert config.ffn_dim == 13824 + assert config.num_heads == 40 + assert config.num_layers == 40 + assert config.head_dim == 128 + assert config.sample_guide_scale == 5.0 + assert config.sample_shift == 5.0 + assert config.sample_steps == 50 + assert config.boundary == 0.0 + + def test_wan21_1_3b_factory(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_1_3b() + assert config.model_version == "2.1" + assert config.dual_model is False + assert config.dim == 1536 + assert config.ffn_dim == 8960 + assert config.num_heads == 12 + assert config.num_layers == 30 + assert config.head_dim == 128 # 1536 // 12 + assert config.sample_guide_scale == 5.0 + + def test_wan22_14b_factory(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan22_t2v_14b() + assert config.model_version == "2.2" + assert config.dual_model is True + assert config.dim == 5120 + assert config.sample_guide_scale == (3.0, 4.0) + assert config.sample_shift == 12.0 + assert config.sample_steps == 40 + assert config.boundary == 0.875 + + def test_wan21_config_to_dict(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + d = config.to_dict() + assert d["model_version"] == "2.1" + assert d["dual_model"] is False + assert d["sample_guide_scale"] == 5.0 + + def test_wan21_1_3b_config_to_dict(self): + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_1_3b() + d = config.to_dict() + assert d["dim"] == 1536 + assert d["num_layers"] == 30 + + def test_default_config_is_wan22(self): + """Default WanModelConfig() should be Wan2.2 14B.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + assert config.model_version == "2.2" + assert config.dual_model is True diff --git a/tests/test_wan_convert.py b/tests/test_wan_convert.py new file mode 100644 index 0000000..8b1213c --- /dev/null +++ b/tests/test_wan_convert.py @@ -0,0 +1,235 @@ +"""Tests for Wan weight conversion utilities.""" + +import mlx.core as mx +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# Transformer Weight Conversion Tests +# --------------------------------------------------------------------------- + +class TestSanitizeTransformerWeights: + def test_patch_embedding_reshape(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "patch_embedding.weight": mx.random.normal((5120, 16, 1, 2, 2)), + "patch_embedding.bias": mx.random.normal((5120,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "patch_embedding_proj.weight" in out + assert "patch_embedding_proj.bias" in out + assert out["patch_embedding_proj.weight"].shape == (5120, 16 * 1 * 2 * 2) + + def test_text_embedding_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "text_embedding.0.weight": mx.zeros((64, 32)), + "text_embedding.0.bias": mx.zeros((64,)), + "text_embedding.2.weight": mx.zeros((64, 64)), + "text_embedding.2.bias": mx.zeros((64,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "text_embedding_0.weight" in out + assert "text_embedding_0.bias" in out + assert "text_embedding_1.weight" in out + assert "text_embedding_1.bias" in out + + def test_time_embedding_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "time_embedding.0.weight": mx.zeros((64, 32)), + "time_embedding.2.weight": mx.zeros((64, 64)), + } + out = sanitize_wan_transformer_weights(weights) + assert "time_embedding_0.weight" in out + assert "time_embedding_1.weight" in out + + def test_time_projection_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "time_projection.1.weight": mx.zeros((384, 64)), + "time_projection.1.bias": mx.zeros((384,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "time_projection.weight" in out + assert "time_projection.bias" in out + + def test_ffn_rename(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "blocks.0.ffn.0.weight": mx.zeros((128, 64)), + "blocks.0.ffn.0.bias": mx.zeros((128,)), + "blocks.0.ffn.2.weight": mx.zeros((64, 128)), + "blocks.0.ffn.2.bias": mx.zeros((64,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "blocks.0.ffn.fc1.weight" in out + assert "blocks.0.ffn.fc1.bias" in out + assert "blocks.0.ffn.fc2.weight" in out + assert "blocks.0.ffn.fc2.bias" in out + + def test_freqs_skipped(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "freqs": mx.zeros((1024, 64, 2)), + "blocks.0.norm1.weight": mx.zeros((64,)), + } + out = sanitize_wan_transformer_weights(weights) + assert "freqs" not in out + assert "blocks.0.norm1.weight" in out + + def test_passthrough_keys(self): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "blocks.0.self_attn.q.weight": mx.zeros((64, 64)), + "blocks.0.self_attn.k.weight": mx.zeros((64, 64)), + "blocks.0.self_attn.v.weight": mx.zeros((64, 64)), + "blocks.0.self_attn.o.weight": mx.zeros((64, 64)), + "blocks.0.modulation": mx.zeros((1, 6, 64)), + "head.head.weight": mx.zeros((64, 64)), + "head.modulation": mx.zeros((1, 2, 64)), + } + out = sanitize_wan_transformer_weights(weights) + for key in weights: + assert key in out + + +class TestSanitizeT5Weights: + def test_gate_rename(self): + from mlx_video.convert_wan import sanitize_wan_t5_weights + weights = { + "blocks.0.ffn.gate.0.weight": mx.zeros((128, 64)), + "blocks.0.ffn.fc1.weight": mx.zeros((128, 64)), + "blocks.0.ffn.fc2.weight": mx.zeros((64, 128)), + } + out = sanitize_wan_t5_weights(weights) + assert "blocks.0.ffn.gate_proj.weight" in out + assert "blocks.0.ffn.fc1.weight" in out + assert "blocks.0.ffn.fc2.weight" in out + + def test_passthrough(self): + from mlx_video.convert_wan import sanitize_wan_t5_weights + weights = { + "token_embedding.weight": mx.zeros((100, 64)), + "blocks.0.attn.q.weight": mx.zeros((64, 64)), + "norm.weight": mx.zeros((64,)), + } + out = sanitize_wan_t5_weights(weights) + for key in weights: + assert key in out + + +class TestSanitizeVAEWeights: + def test_conv3d_transpose(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.conv1.weight": mx.zeros((8, 4, 3, 3, 3)), # [O, I, D, H, W] + } + out = sanitize_wan_vae_weights(weights) + assert out["decoder.conv1.weight"].shape == (8, 3, 3, 3, 4) # [O, D, H, W, I] + + def test_conv2d_transpose(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.proj.weight": mx.zeros((16, 8, 3, 3)), # [O, I, H, W] + } + out = sanitize_wan_vae_weights(weights) + assert out["decoder.proj.weight"].shape == (16, 3, 3, 8) # [O, H, W, I] + + def test_non_conv_passthrough(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.norm.weight": mx.zeros((64,)), # 1D, no transpose + "decoder.bias": mx.zeros((16,)), + } + out = sanitize_wan_vae_weights(weights) + assert out["decoder.norm.weight"].shape == (64,) + assert out["decoder.bias"].shape == (16,) + + def test_mixed_weights(self): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "conv3d.weight": mx.zeros((8, 4, 3, 3, 3)), # 5D + "conv2d.weight": mx.zeros((8, 4, 3, 3)), # 4D + "linear.weight": mx.zeros((8, 4)), # 2D + "norm.weight": mx.zeros((8,)), # 1D + } + out = sanitize_wan_vae_weights(weights) + assert out["conv3d.weight"].shape == (8, 3, 3, 3, 4) + assert out["conv2d.weight"].shape == (8, 3, 3, 4) + assert out["linear.weight"].shape == (8, 4) + assert out["norm.weight"].shape == (8,) + + +# --------------------------------------------------------------------------- +# Wan2.1 Conversion Tests +# --------------------------------------------------------------------------- + +class TestWan21Convert: + """Tests for Wan2.1 conversion support.""" + + def test_auto_detect_wan21(self, tmp_path): + """Auto-detect single-model directory as Wan2.1.""" + # Create a Wan2.1-style directory (no low_noise_model subdir) + (tmp_path / "dummy.safetensors").touch() + # The auto-detect logic: no low_noise_model dir → 2.1 + from pathlib import Path + low = tmp_path / "low_noise_model" + assert not low.exists() + # Simulates auto detection + version = "2.2" if low.exists() else "2.1" + assert version == "2.1" + + def test_auto_detect_wan22(self, tmp_path): + """Auto-detect dual-model directory as Wan2.2.""" + (tmp_path / "low_noise_model").mkdir() + (tmp_path / "high_noise_model").mkdir() + from pathlib import Path + low = tmp_path / "low_noise_model" + assert low.exists() + version = "2.2" if low.exists() else "2.1" + assert version == "2.2" + + def test_wan21_config_saved_correctly(self): + """Verify config dict has correct fields for Wan2.1.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + d = config.to_dict() + assert d["model_version"] == "2.1" + assert d["dual_model"] is False + assert d["sample_steps"] == 50 + assert d["sample_shift"] == 5.0 + + +# --------------------------------------------------------------------------- +# Encoder Weight Sanitization Tests +# --------------------------------------------------------------------------- + +class TestSanitizeEncoderWeights: + """Tests for sanitize_wan22_vae_weights with include_encoder.""" + + def test_exclude_encoder_by_default(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + + weights = { + "encoder.conv1.weight": mx.zeros((8, 1, 3, 3, 3)), + "conv1.weight": mx.zeros((8, 1, 1, 1, 8)), + "conv2.weight": mx.zeros((8, 1, 1, 1, 8)), + } + out = sanitize_wan22_vae_weights(weights, include_encoder=False) + assert "conv2.weight" in out + assert not any("encoder" in k or k.startswith("conv1") for k in out) + + def test_include_encoder(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + + weights = { + "encoder.conv1.weight": mx.zeros((8, 1, 3, 3, 3)), + "conv1.weight": mx.zeros((8, 1, 1, 1, 8)), + "conv2.weight": mx.zeros((8, 1, 1, 1, 8)), + } + out = sanitize_wan22_vae_weights(weights, include_encoder=True) + assert "encoder.conv1.weight" in out + assert "conv1.weight" in out + assert "conv2.weight" in out diff --git a/tests/test_wan_generate.py b/tests/test_wan_generate.py new file mode 100644 index 0000000..a643d9e --- /dev/null +++ b/tests/test_wan_generate.py @@ -0,0 +1,238 @@ +"""Tests for end-to-end generation and I2V mask construction.""" + +import mlx.core as mx +import numpy as np +import pytest + +from wan_test_helpers import _make_tiny_config + + +# --------------------------------------------------------------------------- +# Integration: end-to-end tiny model forward pass +# --------------------------------------------------------------------------- + +class TestEndToEnd: + """End-to-end test with tiny model (no real weights needed).""" + + def test_tiny_model_denoise_step(self): + """Simulate one denoising step with tiny model.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(42) + config = _make_tiny_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=3.0) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + + # One step + t = sched.timesteps[0] + pred = model([latents], mx.array([t.item()]), [context], seq_len)[0] + latents_next = sched.step(pred[None], t, latents[None]).squeeze(0) + mx.eval(latents_next) + + assert latents_next.shape == (C, F, H, W) + # Should differ from original noise + assert not np.allclose(np.array(latents_next), np.array(latents), atol=1e-5) + + def test_tiny_model_full_loop(self): + """Run a complete (tiny) diffusion loop.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(123) + config = _make_tiny_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + num_steps = 3 + sched.set_timesteps(num_steps, shift=3.0) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + + for i in range(num_steps): + t = sched.timesteps[i] + pred = model([latents], mx.array([t.item()]), [context], seq_len)[0] + latents = sched.step(pred[None], t, latents[None]).squeeze(0) + mx.eval(latents) + + assert latents.shape == (C, F, H, W) + assert not mx.any(mx.isnan(latents)).item(), "NaN in output" + assert not mx.any(mx.isinf(latents)).item(), "Inf in output" + + +# --------------------------------------------------------------------------- +# I2V Mask Tests +# --------------------------------------------------------------------------- + +class TestI2VMask: + """Tests for _build_i2v_mask.""" + + def test_mask_shapes(self): + from mlx_video.generate_wan import _build_i2v_mask + + z_shape = (48, 5, 4, 4) # C, T, H, W + patch_size = (1, 2, 2) + mask, mask_tokens = _build_i2v_mask(z_shape, patch_size) + assert mask.shape == z_shape + # Tokens: T=5, H/2=2, W/2=2 → 5*2*2 = 20 + assert mask_tokens.shape == (1, 20) + + def test_first_frame_zero(self): + from mlx_video.generate_wan import _build_i2v_mask + + z_shape = (48, 5, 4, 4) + mask, mask_tokens = _build_i2v_mask(z_shape, (1, 2, 2)) + mx.eval(mask, mask_tokens) + # First temporal position should be 0 + assert float(mask[:, 0, :, :].max()) == 0.0 + # Rest should be 1 + assert float(mask[:, 1:, :, :].min()) == 1.0 + # First-frame tokens (T=0) should be 0 in mask_tokens + # With T=5, H'=2, W'=2: first 4 tokens are frame 0 + assert float(mask_tokens[0, :4].max()) == 0.0 + assert float(mask_tokens[0, 4:].min()) == 1.0 + + +class TestI2VMaskAlignment: + """Tests that I2V mask works correctly with various aligned dimensions.""" + + def test_mask_with_ti2v_dimensions(self): + """Mask should work with TI2V-5B typical dimensions.""" + from mlx_video.generate_wan import _build_i2v_mask + # TI2V: z_dim=48, vae_stride=(4,16,16), patch=(1,2,2) + # 704x1280 → latent 44x80, t_latent=21 for 81 frames + z_shape = (48, 21, 44, 80) + patch_size = (1, 2, 2) + mask, mask_tokens = _build_i2v_mask(z_shape, patch_size) + mx.eval(mask, mask_tokens) + + assert mask.shape == z_shape + assert float(mask[:, 0].max()) == 0.0 + assert float(mask[:, 1:].min()) == 1.0 + + expected_tokens = 21 * 22 * 40 # T * (H/ph) * (W/pw) + assert mask_tokens.shape == (1, expected_tokens) + first_frame_tokens = 1 * 22 * 40 # pt=1 + assert float(mask_tokens[0, :first_frame_tokens].max()) == 0.0 + assert float(mask_tokens[0, first_frame_tokens:].min()) == 1.0 + + def test_mask_per_token_timestep(self): + """Per-token timesteps: first-frame tokens get t=0, rest get t=sigma.""" + from mlx_video.generate_wan import _build_i2v_mask + z_shape = (4, 3, 4, 4) + patch_size = (1, 2, 2) + _, mask_tokens = _build_i2v_mask(z_shape, patch_size) + mx.eval(mask_tokens) + + timestep_val = 0.8 + t_tokens = mask_tokens * timestep_val + mx.eval(t_tokens) + + first_tokens = 1 * 2 * 2 # pt * (H/ph) * (W/pw) + np.testing.assert_allclose(np.array(t_tokens[0, :first_tokens]), 0.0, atol=1e-7) + np.testing.assert_allclose(np.array(t_tokens[0, first_tokens:]), timestep_val, atol=1e-7) + + +# --------------------------------------------------------------------------- +# Dimension Alignment Tests +# --------------------------------------------------------------------------- + +class TestDimensionAlignment: + """Tests for automatic dimension alignment in generate_wan.""" + + def test_already_aligned(self): + """Dimensions already divisible by alignment factor should be unchanged.""" + # patch_size=(1,2,2), vae_stride=(4,16,16) → align = 32 + align_h = 2 * 16 # 32 + align_w = 2 * 16 # 32 + h, w = 704, 1280 + assert h % align_h == 0 + assert w % align_w == 0 + h_aligned = (h // align_h) * align_h + w_aligned = (w // align_w) * align_w + assert h_aligned == h + assert w_aligned == w + + def test_720p_rounds_down(self): + """720p (1280x720) should round height to 704.""" + align_h = 32 + align_w = 32 + h, w = 720, 1280 + assert h % align_h != 0 # 720 not divisible by 32 + h_aligned = (h // align_h) * align_h + w_aligned = (w // align_w) * align_w + assert h_aligned == 704 + assert w_aligned == 1280 + + def test_1080p_rounds_down(self): + """1080p (1920x1080) should round height to 1056.""" + align = 32 + h, w = 1080, 1920 + assert h % align != 0 + assert (h // align) * align == 1056 + assert (w // align) * align == 1920 + + def test_odd_sizes(self): + """Odd sizes should be safely rounded down.""" + align = 32 + for size in [100, 255, 513, 1023]: + aligned = (size // align) * align + assert aligned % align == 0 + assert aligned <= size + assert aligned + align > size # closest lower multiple + + def test_patchify_valid_after_alignment(self): + """After alignment, patchify should succeed without reshape errors.""" + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + + # Simulate 720p-like scenario with tiny config + vae_stride = config.vae_stride # (4, 8, 8) + patch_size = config.patch_size # (1, 2, 2) + align_h = patch_size[1] * vae_stride[1] + align_w = patch_size[2] * vae_stride[2] + + # Pick a height not divisible by alignment + raw_h = align_h * 3 + 5 # e.g. 53 for align=16 + raw_w = align_w * 4 + h = (raw_h // align_h) * align_h # rounds down + w = (raw_w // align_w) * align_w + + C = config.in_dim + t_latent = 1 + h_latent = h // vae_stride[1] + w_latent = w // vae_stride[2] + + vid = mx.random.normal((C, t_latent, h_latent, w_latent)) + patches, grid_size = model._patchify(vid) + mx.eval(patches) + assert patches.ndim == 3 # [1, L, dim] + assert grid_size == (t_latent, h_latent // patch_size[1], w_latent // patch_size[2]) + + def test_alignment_with_ti2v_config(self): + """TI2V-5B uses vae_stride=(4,16,16), patch_size=(1,2,2) → align=32.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan22_ti2v_5b() + align_h = config.patch_size[1] * config.vae_stride[1] + align_w = config.patch_size[2] * config.vae_stride[2] + assert align_h == 32 + assert align_w == 32 + # 720 not divisible + assert 720 % align_h != 0 + # 704 is + assert 704 % align_h == 0 diff --git a/tests/test_wan_model.py b/tests/test_wan_model.py new file mode 100644 index 0000000..caaae89 --- /dev/null +++ b/tests/test_wan_model.py @@ -0,0 +1,332 @@ +"""Tests for Wan model components.""" + +import mlx.core as mx +import mlx.nn as nn +import numpy as np +import pytest + +from wan_test_helpers import _make_tiny_config + + +# --------------------------------------------------------------------------- +# Sinusoidal Embedding Tests +# --------------------------------------------------------------------------- + +class TestSinusoidalEmbedding: + def test_output_shape(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + pos = mx.arange(10).astype(mx.float32) + emb = sinusoidal_embedding_1d(256, pos) + mx.eval(emb) + assert emb.shape == (10, 256) + + def test_position_zero(self): + """Position 0 should have cos=1 for all dims and sin=0.""" + from mlx_video.models.wan.model import sinusoidal_embedding_1d + pos = mx.array([0.0]) + emb = sinusoidal_embedding_1d(64, pos) + mx.eval(emb) + emb_np = np.array(emb[0]) + # First half is cos, should be 1 at position 0 + np.testing.assert_allclose(emb_np[:32], 1.0, atol=1e-5) + # Second half is sin, should be 0 at position 0 + np.testing.assert_allclose(emb_np[32:], 0.0, atol=1e-5) + + def test_different_positions_differ(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + pos = mx.array([0.0, 100.0, 999.0]) + emb = sinusoidal_embedding_1d(128, pos) + mx.eval(emb) + emb_np = np.array(emb) + assert not np.allclose(emb_np[0], emb_np[1]) + assert not np.allclose(emb_np[1], emb_np[2]) + + +# --------------------------------------------------------------------------- +# Head Tests +# --------------------------------------------------------------------------- + +class TestHead: + def test_output_shape(self): + from mlx_video.models.wan.model import Head + head = Head(dim=64, out_dim=16, patch_size=(1, 2, 2)) + B, L = 1, 24 + x = mx.random.normal((B, L, 64)) + e = mx.random.normal((B, 64)) # time embedding: [B, dim] + out = head(x, e) + mx.eval(out) + expected_proj_dim = 16 * 1 * 2 * 2 # 64 + assert out.shape == (B, L, expected_proj_dim) + + def test_modulation_shape(self): + from mlx_video.models.wan.model import Head + head = Head(dim=64, out_dim=16, patch_size=(1, 2, 2)) + assert head.modulation.shape == (1, 2, 64) + + +# --------------------------------------------------------------------------- +# WanModel (Tiny) Tests +# --------------------------------------------------------------------------- + +class TestWanModel: + def setup_method(self): + mx.random.seed(42) + + def test_instantiation(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + num_params = sum(p.size for _, p in nn.utils.tree_flatten(model.parameters())) + assert num_params > 0 + + def test_patchify_shape(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + # Input: [C=4, F=1, H=4, W=4] + x = mx.random.normal((4, 1, 4, 4)) + patches, grid_size = model._patchify(x) + mx.eval(patches) + # Patch size (1,2,2): F'=1, H'=2, W'=2 + assert grid_size == (1, 2, 2) + assert patches.shape == (1, 1 * 2 * 2, config.dim) + + def test_patchify_various_sizes(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + for f, h, w in [(1, 4, 4), (2, 6, 8), (3, 4, 6)]: + x = mx.random.normal((config.in_dim, f, h, w)) + patches, (gf, gh, gw) = model._patchify(x) + mx.eval(patches) + pt, ph, pw = config.patch_size + assert gf == f // pt + assert gh == h // ph + assert gw == w // pw + assert patches.shape[1] == gf * gh * gw + + def test_unpatchify_inverse(self): + """Patchify then unpatchify should reconstruct original spatial dims.""" + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 2, 4, 6 + pt, ph, pw = config.patch_size + F_out, H_out, W_out = F // pt, H // ph, W // pw + L = F_out * H_out * W_out + proj_dim = config.out_dim * pt * ph * pw + # Simulated head output + x = mx.random.normal((1, L, proj_dim)) + out = model.unpatchify(x, [(F_out, H_out, W_out)]) + mx.eval(out[0]) + assert out[0].shape == (config.out_dim, F, H, W) + + def test_forward_pass(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + x_list = [mx.random.normal((C, F, H, W))] + t = mx.array([500.0]) + context = [mx.random.normal((6, config.text_dim))] + + out = model(x_list, t, context, seq_len) + mx.eval(out[0]) + assert len(out) == 1 + assert out[0].shape == (C, F, H, W) + + def test_forward_batch(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + x_list = [mx.random.normal((C, F, H, W)), mx.random.normal((C, F, H, W))] + t = mx.array([500.0, 200.0]) + context = [mx.random.normal((6, config.text_dim)), mx.random.normal((4, config.text_dim))] + + out = model(x_list, t, context, seq_len) + mx.eval(out[0], out[1]) + assert len(out) == 2 + for o in out: + assert o.shape == (C, F, H, W) + + def test_output_is_float32(self): + from mlx_video.models.wan.model import WanModel + config = _make_tiny_config() + model = WanModel(config) + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + out = model([mx.random.normal((C, F, H, W))], mx.array([100.0]), + [mx.random.normal((4, config.text_dim))], seq_len) + mx.eval(out[0]) + assert out[0].dtype == mx.float32 + + +# --------------------------------------------------------------------------- +# Wan2.1 Model Tests +# --------------------------------------------------------------------------- + +class TestWan21Model: + """Test tiny Wan2.1-style model (single model mode).""" + + def setup_method(self): + mx.random.seed(42) + + def _make_tiny_wan21_config(self): + """Create a tiny config mimicking Wan2.1 (single model).""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_14b() + # Override to tiny values + config.dim = 64 + config.ffn_dim = 128 + config.num_heads = 4 + config.num_layers = 2 + config.in_dim = 4 + config.out_dim = 4 + config.freq_dim = 32 + config.text_dim = 32 + config.text_len = 8 + return config + + def _make_tiny_wan21_1_3b_config(self): + """Create a tiny config mimicking Wan2.1 1.3B.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig.wan21_t2v_1_3b() + # Override to tiny values (preserve 1.3B head structure: 12 heads) + config.dim = 48 + config.ffn_dim = 96 + config.num_heads = 4 + config.num_layers = 2 + config.in_dim = 4 + config.out_dim = 4 + config.freq_dim = 24 + config.text_dim = 24 + config.text_len = 8 + return config + + def test_wan21_tiny_model_forward(self): + """Forward pass with Wan2.1 tiny config.""" + from mlx_video.models.wan.model import WanModel + + config = self._make_tiny_wan21_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + t = mx.array([500.0]) + + out = model([latents], t, [context], seq_len) + mx.eval(out) + assert out[0].shape == (C, F, H, W) + + def test_wan21_1_3b_tiny_model_forward(self): + """Forward pass with Wan2.1 1.3B tiny config.""" + from mlx_video.models.wan.model import WanModel + + config = self._make_tiny_wan21_1_3b_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + t = mx.array([500.0]) + + out = model([latents], t, [context], seq_len) + mx.eval(out) + assert out[0].shape == (C, F, H, W) + + def test_wan21_single_model_loop(self): + """Full diffusion loop with single model (Wan2.1 style).""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + config = self._make_tiny_wan21_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + seq_len = (F // 1) * (H // 2) * (W // 2) + + sched = FlowMatchEulerScheduler() + sched.set_timesteps(config.sample_steps, shift=config.sample_shift) + + # Use only 3 steps for speed + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + context_null = mx.zeros((4, config.text_dim)) + gs = config.sample_guide_scale # Should be float for Wan2.1 + + assert isinstance(gs, float), "Wan2.1 guide_scale should be float" + + for i in range(3): + t = sched.timesteps[i] + pred_cond = model([latents], mx.array([t.item()]), [context], seq_len)[0] + pred_uncond = model([latents], mx.array([t.item()]), [context_null], seq_len)[0] + pred = pred_uncond + gs * (pred_cond - pred_uncond) + latents = sched.step(pred[None], t, latents[None]).squeeze(0) + mx.eval(latents) + + assert latents.shape == (C, F, H, W) + assert not mx.any(mx.isnan(latents)).item() + + def test_wan21_vs_wan22_config_differences(self): + """Verify key differences between Wan2.1 and Wan2.2 configs.""" + from mlx_video.models.wan.config import WanModelConfig + + c21 = WanModelConfig.wan21_t2v_14b() + c22 = WanModelConfig.wan22_t2v_14b() + + # Same architecture + assert c21.dim == c22.dim + assert c21.num_heads == c22.num_heads + assert c21.num_layers == c22.num_layers + + # Different pipeline settings + assert c21.dual_model is False + assert c22.dual_model is True + assert isinstance(c21.sample_guide_scale, float) + assert isinstance(c22.sample_guide_scale, tuple) + assert c21.sample_shift != c22.sample_shift + assert c21.sample_steps != c22.sample_steps + + +# --------------------------------------------------------------------------- +# Per-Token Timestep Tests +# --------------------------------------------------------------------------- + +class TestPerTokenTimestep: + """Tests for per-token sinusoidal embedding.""" + + def test_1d_unchanged(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + + pos = mx.array([0.0, 100.0, 500.0]) + emb = sinusoidal_embedding_1d(256, pos) + assert emb.shape == (3, 256) + + def test_2d_per_token(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + + pos = mx.array([[0.0, 100.0, 100.0], [50.0, 50.0, 50.0]]) + emb = sinusoidal_embedding_1d(256, pos) + assert emb.shape == (2, 3, 256) + + def test_consistency(self): + from mlx_video.models.wan.model import sinusoidal_embedding_1d + + pos_1d = mx.array([0.0, 100.0]) + emb_1d = sinusoidal_embedding_1d(256, pos_1d) + pos_2d = mx.array([[0.0, 100.0]]) + emb_2d = sinusoidal_embedding_1d(256, pos_2d) + assert mx.array_equal(emb_1d[0], emb_2d[0, 0]) + assert mx.array_equal(emb_1d[1], emb_2d[0, 1]) diff --git a/tests/test_wan_scheduler.py b/tests/test_wan_scheduler.py new file mode 100644 index 0000000..6088b26 --- /dev/null +++ b/tests/test_wan_scheduler.py @@ -0,0 +1,903 @@ +"""Tests for Wan scheduler components.""" + +import math + +import mlx.core as mx +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# Euler Scheduler Tests +# --------------------------------------------------------------------------- + +class TestFlowMatchEulerScheduler: + def test_initialization(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + assert sched.num_train_timesteps == 1000 + assert sched.timesteps is None + assert sched.sigmas is None + + def test_set_timesteps(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(40, shift=12.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (40,) + assert sched.sigmas.shape == (41,) # 40 steps + terminal + + def test_timesteps_decreasing(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(40, shift=12.0) + mx.eval(sched.timesteps) + ts = np.array(sched.timesteps) + # Timesteps should be monotonically decreasing + assert np.all(np.diff(ts) < 0), f"Timesteps not decreasing: {ts[:5]}..." + + def test_sigmas_decreasing(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(20, shift=1.0) + mx.eval(sched.sigmas) + sigmas = np.array(sched.sigmas) + assert np.all(np.diff(sigmas) <= 0), "Sigmas not decreasing" + + def test_terminal_sigma_is_zero(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(20, shift=5.0) + mx.eval(sched.sigmas) + np.testing.assert_allclose(np.array(sched.sigmas[-1]), 0.0, atol=1e-6) + + def test_shift_effect(self): + """Larger shift should push sigmas toward higher values.""" + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched1 = FlowMatchEulerScheduler() + sched2 = FlowMatchEulerScheduler() + sched1.set_timesteps(20, shift=1.0) + sched2.set_timesteps(20, shift=12.0) + mx.eval(sched1.sigmas, sched2.sigmas) + mean1 = np.mean(np.array(sched1.sigmas[:-1])) + mean2 = np.mean(np.array(sched2.sigmas[:-1])) + assert mean2 > mean1, "Higher shift should push sigmas higher" + + def test_step_euler(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(10, shift=1.0) + mx.eval(sched.sigmas) + + sample = mx.ones((1, 4, 2, 2, 2)) + velocity = mx.ones((1, 4, 2, 2, 2)) * 0.5 + timestep = sched.timesteps[0] + + sigma = float(np.array(sched.sigmas[0])) + sigma_next = float(np.array(sched.sigmas[1])) + + result = sched.step(velocity, timestep, sample) + mx.eval(result) + + # Euler: x_next = x + (sigma_next - sigma) * v + expected = 1.0 + (sigma_next - sigma) * 0.5 + np.testing.assert_allclose( + np.array(result).flatten()[0], expected, rtol=1e-4, + ) + + def test_step_index_increments(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=1.0) + assert sched._step_index == 0 + sample = mx.ones((1, 1, 1, 1, 1)) + vel = mx.zeros((1, 1, 1, 1, 1)) + sched.step(vel, sched.timesteps[0], sample) + assert sched._step_index == 1 + sched.step(vel, sched.timesteps[1], sample) + assert sched._step_index == 2 + + def test_reset(self): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + vel = mx.zeros((1, 1, 1, 1, 1)) + sched.step(vel, sched.timesteps[0], sample) + assert sched._step_index == 1 + sched.reset() + assert sched._step_index == 0 + + @pytest.mark.parametrize("steps", [10, 20, 40, 50]) + def test_various_step_counts(self, steps): + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(steps, shift=12.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (steps,) + assert sched.sigmas.shape == (steps + 1,) + + def test_full_denoise_loop(self): + """Run a complete denoise loop with zero velocity -> sample unchanged.""" + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 2, 1, 2, 2)) + for i in range(5): + vel = mx.zeros_like(sample) + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + # With zero velocity, sample should remain unchanged + np.testing.assert_allclose(np.array(sample), 1.0, atol=1e-5) + + +# --------------------------------------------------------------------------- +# Shared Sigma Schedule Tests +# --------------------------------------------------------------------------- + + +class TestComputeSigmas: + """Tests for the shared _compute_sigmas helper.""" + + def test_length(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(20, shift=5.0) + assert len(sigmas) == 21 # num_steps + terminal + + def test_terminal_zero(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(10, shift=1.0) + assert sigmas[-1] == 0.0 + + def test_starts_at_one(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(20, shift=5.0) + np.testing.assert_allclose(sigmas[0], 1.0, atol=1e-6) + + def test_decreasing(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(20, shift=5.0) + assert np.all(np.diff(sigmas) <= 0) + + def test_matches_official_wan22(self): + """Sigma schedule should match the official Wan2.2 get_sampling_sigmas.""" + from mlx_video.models.wan.scheduler import _compute_sigmas + steps, shift = 50, 5.0 + sigmas = _compute_sigmas(steps, shift) + # Official: sigma = linspace(1, 0, steps+1)[:steps]; sigma = shift*sigma/(1+(shift-1)*sigma) + official = np.linspace(1, 0, steps + 1)[:steps] + official = shift * official / (1 + (shift - 1) * official) + official = np.append(official, 0.0).astype(np.float32) + np.testing.assert_allclose(sigmas, official, atol=1e-6) + + def test_shift_one_is_linear(self): + from mlx_video.models.wan.scheduler import _compute_sigmas + sigmas = _compute_sigmas(10, shift=1.0) + # With shift=1, f(sigma)=sigma, so schedule is linear from 1 to 0 + expected = np.linspace(1, 0, 11).astype(np.float32) + np.testing.assert_allclose(sigmas, expected, atol=1e-6) + + def test_all_schedulers_same_sigmas(self): + """All three schedulers should produce identical sigma schedules.""" + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) + scheds = [ + FlowMatchEulerScheduler(1000), + FlowDPMPP2MScheduler(1000), + FlowUniPCScheduler(1000), + ] + for s in scheds: + s.set_timesteps(20, shift=5.0) + mx.eval(*[s.sigmas for s in scheds]) + ref = np.array(scheds[0].sigmas) + for s in scheds[1:]: + np.testing.assert_allclose(np.array(s.sigmas), ref, atol=1e-6) + + def test_all_schedulers_same_timesteps(self): + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) + scheds = [ + FlowMatchEulerScheduler(1000), + FlowDPMPP2MScheduler(1000), + FlowUniPCScheduler(1000), + ] + for s in scheds: + s.set_timesteps(30, shift=12.0) + mx.eval(*[s.timesteps for s in scheds]) + ref = np.array(scheds[0].timesteps) + for s in scheds[1:]: + np.testing.assert_allclose(np.array(s.timesteps), ref, atol=1e-3) + + +# --------------------------------------------------------------------------- +# DPM++ 2M Scheduler Tests +# --------------------------------------------------------------------------- + + +class TestFlowDPMPP2MScheduler: + def test_initialization(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + assert sched.num_train_timesteps == 1000 + assert sched.lower_order_final is True + + def test_set_timesteps(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(20, shift=5.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (20,) + assert sched.sigmas.shape == (21,) + + def test_step_index_increments(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 4, 1, 2, 2)) + vel = mx.zeros_like(sample) + assert sched._step_index == 0 + sched.step(vel, sched.timesteps[0], sample) + assert sched._step_index == 1 + sched.step(vel, sched.timesteps[1], sample) + assert sched._step_index == 2 + + def test_reset(self): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + sched.step(mx.zeros_like(sample), 0, sample) + sched.reset() + assert sched._step_index == 0 + assert sched._prev_x0 is None + + def test_full_loop_finite(self): + """Full loop with constant velocity should produce finite output.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(10, shift=1.0) + sample = mx.ones((1, 2, 1, 2, 2)) + for i in range(10): + vel = mx.ones_like(sample) * 0.1 + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_first_step_is_first_order(self): + """First step should use 1st-order (no prev_x0 available).""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 4, 2, 4, 4)) + vel = mx.random.normal(sample.shape) + # Before first step, no prev_x0 + assert sched._prev_x0 is None + result = sched.step(vel, sched.timesteps[0], sample) + mx.eval(result) + # After first step, prev_x0 should be set + assert sched._prev_x0 is not None + + def test_second_step_uses_correction(self): + """After first step, DPM++ should have stored prev_x0 for correction.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 4, 1, 2, 2)) + vel = mx.random.normal(sample.shape) + # Step 1 + sample = sched.step(vel, sched.timesteps[0], sample) + mx.eval(sample) + x0_after_first = sched._prev_x0 + # Step 2 + vel = mx.random.normal(sample.shape) + sample = sched.step(vel, sched.timesteps[1], sample) + mx.eval(sample) + # prev_x0 should have been updated + x0_after_second = sched._prev_x0 + assert x0_after_second is not None + # The stored x0 should differ from the first step's + assert not np.allclose(np.array(x0_after_first), np.array(x0_after_second), atol=1e-6) + + def test_denoise_to_target(self): + """Perfect oracle should denoise to target with any solver.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(20, shift=5.0) + target = mx.zeros((1, 2, 1, 4, 4)) + latents = mx.random.normal(target.shape) + for i in range(20): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-6) # perfect velocity for target=0 + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + np.testing.assert_allclose(np.array(latents), 0.0, atol=1e-3) + + @pytest.mark.parametrize("steps", [5, 10, 20, 50]) + def test_various_step_counts(self, steps): + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(steps, shift=5.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (steps,) + assert sched.sigmas.shape == (steps + 1,) + + def test_terminal_sigma_produces_x0(self): + """When sigma_next=0 the scheduler should return x0 directly.""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + sched = FlowDPMPP2MScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) * 3.0 + vel = mx.ones_like(sample) * 2.0 + # Run through all steps; the last step has sigma_next=0 + for i in range(5): + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + # Final value should be finite + assert np.isfinite(np.array(sample)).all() + + +# --------------------------------------------------------------------------- +# UniPC Scheduler Tests +# --------------------------------------------------------------------------- + + +class TestFlowUniPCScheduler: + def test_initialization(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + assert sched.num_train_timesteps == 1000 + assert sched.solver_order == 2 + assert sched.lower_order_final is True + + def test_set_timesteps(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(30, shift=12.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (30,) + assert sched.sigmas.shape == (31,) + + def test_step_index_increments(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + vel = mx.zeros_like(sample) + assert sched._step_index == 0 + sched.step(vel, 0, sample) + assert sched._step_index == 1 + + def test_reset(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 1, 1)) + sched.step(mx.zeros_like(sample), 0, sample) + sched.reset() + assert sched._step_index == 0 + assert sched._lower_order_nums == 0 + assert sched._last_sample is None + assert all(m is None for m in sched._model_outputs) + + def test_full_loop_finite(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(10, shift=1.0) + sample = mx.ones((1, 2, 1, 2, 2)) + for i in range(10): + vel = mx.ones_like(sample) * 0.1 + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_corrector_not_applied_first_step(self): + """First step should skip the corrector (no history).""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(use_corrector=True) + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 4, 1, 2, 2)) + vel = mx.random.normal(sample.shape) + # Before step 0: no last_sample + assert sched._last_sample is None + sched.step(vel, sched.timesteps[0], sample) + # After step 0: last_sample should be set for corrector on step 1 + assert sched._last_sample is not None + + def test_corrector_applied_after_first_step(self): + """Steps after the first should use the corrector when enabled.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(use_corrector=True) + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 2, 1, 4, 4)) + for i in range(3): + vel = mx.random.normal(sample.shape) + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + # lower_order_nums should have increased + assert sched._lower_order_nums >= 2 + + def test_denoise_to_target(self): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(20, shift=5.0) + target = mx.zeros((1, 2, 1, 4, 4)) + latents = mx.random.normal(target.shape) + for i in range(20): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-6) + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + np.testing.assert_allclose(np.array(latents), 0.0, atol=1e-3) + + @pytest.mark.parametrize("steps", [5, 10, 20, 50]) + def test_various_step_counts(self, steps): + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + sched.set_timesteps(steps, shift=5.0) + mx.eval(sched.timesteps, sched.sigmas) + assert sched.timesteps.shape == (steps,) + assert sched.sigmas.shape == (steps + 1,) + + def test_disable_corrector(self): + """Disabling corrector on step 0 should still work without error.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(use_corrector=True, disable_corrector=[0]) + sched.set_timesteps(5, shift=1.0) + sample = mx.ones((1, 1, 1, 2, 2)) + for i in range(5): + vel = mx.ones_like(sample) * 0.1 + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_solver_order_3(self): + """Order 3 should work without error.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler(solver_order=3, use_corrector=True) + sched.set_timesteps(10, shift=5.0) + sample = mx.random.normal((1, 2, 1, 2, 2)) + for i in range(10): + vel = mx.random.normal(sample.shape) + sample = sched.step(vel, sched.timesteps[i], sample) + mx.eval(sample) + assert np.isfinite(np.array(sample)).all() + + def test_corrector_rhos_c_not_hardcoded(self): + """Corrector rhos_c should be computed via linalg.solve, not hardcoded 0.5.""" + import math + # For 50-step schedule with shift=5.0, order 2 corrector at step 5: + # rhos_c[0] (history) should be ~0.07, NOT 0.5 + # rhos_c[1] (D1_t) should be ~0.45, NOT 0.5 + from mlx_video.models.wan.scheduler import _compute_sigmas + + sigmas = _compute_sigmas(50, shift=5.0) + + def _lambda(sigma): + if sigma >= 1.0: + return -math.inf + if sigma <= 0.0: + return math.inf + return math.log(1 - sigma) - math.log(sigma) + + for step_idx in [5, 10, 25, 45]: + sigma_s0 = sigmas[step_idx - 1] + sigma_t = sigmas[step_idx] + lambda_s0 = _lambda(sigma_s0) + lambda_t = _lambda(sigma_t) + h = lambda_t - lambda_s0 + hh = -h + + sigma_sk = sigmas[step_idx - 2] + lambda_sk = _lambda(sigma_sk) + rk = (lambda_sk - lambda_s0) / h + rks = np.array([rk, 1.0]) + + h_phi_1 = math.expm1(hh) + B_h = h_phi_1 + h_phi_k = h_phi_1 / hh - 1.0 + factorial_i = 1 + R_rows, b_vals = [], [] + for j in range(1, 3): + R_rows.append(rks ** (j - 1)) + b_vals.append(h_phi_k * factorial_i / B_h) + factorial_i *= j + 1 + h_phi_k = h_phi_k / hh - 1.0 / factorial_i + R = np.stack(R_rows) + b = np.array(b_vals) + rhos_c = np.linalg.solve(R, b) + + # History weight should be small (~0.07-0.09), not 0.5 + assert rhos_c[0] < 0.15, f"Step {step_idx}: rhos_c[0]={rhos_c[0]:.4f} too large" + assert rhos_c[0] > 0.0, f"Step {step_idx}: rhos_c[0]={rhos_c[0]:.4f} should be positive" + # D1_t weight should be ~0.42-0.45, not 0.5 + assert 0.3 < rhos_c[1] < 0.5, f"Step {step_idx}: rhos_c[1]={rhos_c[1]:.4f} out of range" + + +# --------------------------------------------------------------------------- +# Scheduler Coherence Tests +# --------------------------------------------------------------------------- + +class TestSchedulerCoherence: + """Tests that Euler, DPM++, and UniPC schedulers produce coherent results. + + All three schedulers should agree on shared structure (sigma schedules, + first-step behavior) and converge to the same result given perfect + velocity oracles, even though they use different update rules. + """ + + @staticmethod + def _make_schedulers(steps=10, shift=5.0): + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowMatchEulerScheduler, + FlowUniPCScheduler, + ) + + scheds = { + "euler": FlowMatchEulerScheduler(), + "dpm++": FlowDPMPP2MScheduler(), + "unipc": FlowUniPCScheduler(), + } + for s in scheds.values(): + s.set_timesteps(steps, shift=shift) + return scheds + + def test_identical_sigma_schedules(self): + """All schedulers must use the same sigma schedule.""" + scheds = self._make_schedulers(20, shift=5.0) + ref = np.array(scheds["euler"].sigmas) + for name in ("dpm++", "unipc"): + np.testing.assert_allclose( + np.array(scheds[name].sigmas), + ref, + atol=1e-6, + err_msg=f"{name} sigma schedule differs from Euler", + ) + + def test_identical_timesteps(self): + """All schedulers must produce the same timestep sequence.""" + scheds = self._make_schedulers(20, shift=5.0) + ref = np.array(scheds["euler"].timesteps) + for name in ("dpm++", "unipc"): + np.testing.assert_allclose( + np.array(scheds[name].timesteps), + ref, + atol=1e-6, + err_msg=f"{name} timesteps differ from Euler", + ) + + def test_first_step_matches_euler(self): + """Step 0 (1st-order for all solvers) should match Euler exactly.""" + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + scheds = self._make_schedulers(10, shift=5.0) + results = {} + for name, sched in scheds.items(): + r = sched.step(vel, sched.timesteps[0], noise) + mx.eval(r) + results[name] = np.array(r) + + np.testing.assert_allclose( + results["dpm++"], results["euler"], atol=1e-5, + err_msg="DPM++ step 0 should match Euler", + ) + np.testing.assert_allclose( + results["unipc"], results["euler"], atol=1e-5, + err_msg="UniPC step 0 should match Euler", + ) + + def test_first_step_matches_across_shifts(self): + """Step 0 should match Euler for different shift values.""" + mx.random.seed(99) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + for shift in (1.0, 5.0, 12.0): + scheds = self._make_schedulers(10, shift=shift) + euler_r = scheds["euler"].step(vel, scheds["euler"].timesteps[0], noise) + dpm_r = scheds["dpm++"].step(vel, scheds["dpm++"].timesteps[0], noise) + unipc_r = scheds["unipc"].step(vel, scheds["unipc"].timesteps[0], noise) + mx.eval(euler_r, dpm_r, unipc_r) + np.testing.assert_allclose( + np.array(dpm_r), np.array(euler_r), atol=1e-5, + err_msg=f"DPM++ step 0 differs from Euler at shift={shift}", + ) + np.testing.assert_allclose( + np.array(unipc_r), np.array(euler_r), atol=1e-5, + err_msg=f"UniPC step 0 differs from Euler at shift={shift}", + ) + + def test_oracle_all_converge_to_target(self): + """Given a perfect velocity oracle v=x/sigma, all solvers should + denoise to approximately zero (the target).""" + mx.random.seed(7) + shape = (1, 2, 1, 4, 4) + noise = mx.random.normal(shape) + + for name, sched in self._make_schedulers(20, shift=5.0).items(): + latents = noise + for i in range(20): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-8) + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + np.testing.assert_allclose( + np.array(latents), 0.0, atol=1e-3, + err_msg=f"{name} did not converge to target with oracle", + ) + + def test_oracle_higher_order_closer_to_target(self): + """With few steps and a perfect oracle, higher-order solvers should + be at least as accurate as Euler.""" + mx.random.seed(12) + shape = (1, 2, 1, 4, 4) + noise = mx.random.normal(shape) + steps = 5 + + errors = {} + for name, sched in self._make_schedulers(steps, shift=5.0).items(): + latents = noise + for i in range(steps): + sigma = float(sched.sigmas[i].item()) + v = latents / max(sigma, 1e-8) + latents = sched.step(v, sched.timesteps[i], latents) + mx.eval(latents) + errors[name] = float(mx.mean(mx.abs(latents)).item()) + + # Higher-order solvers should not be significantly worse than Euler + assert errors["dpm++"] <= errors["euler"] * 1.5, ( + f"DPM++ error {errors['dpm++']:.6f} much worse than Euler {errors['euler']:.6f}" + ) + assert errors["unipc"] <= errors["euler"] * 1.5, ( + f"UniPC error {errors['unipc']:.6f} much worse than Euler {errors['euler']:.6f}" + ) + + def test_multistep_trajectory_similar_magnitude(self): + """Over a full denoising loop with constant velocity, all solvers + should produce outputs of similar magnitude (not diverging).""" + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + steps = 20 + + final_means = {} + for name, sched in self._make_schedulers(steps, shift=5.0).items(): + latents = noise + for i in range(steps): + vel = latents * 0.1 + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + final_means[name] = float(mx.mean(mx.abs(latents)).item()) + + # All solvers should produce results within the same order of magnitude + vals = list(final_means.values()) + ratio = max(vals) / max(min(vals), 1e-10) + assert ratio < 10.0, ( + f"Scheduler outputs diverge too much: {final_means}, ratio={ratio:.1f}" + ) + + def test_intermediate_values_finite(self): + """Every intermediate latent value must be finite for all solvers.""" + mx.random.seed(0) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + + for name, sched in self._make_schedulers(15, shift=5.0).items(): + latents = noise + for i in range(15): + vel = mx.random.normal(shape) + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + assert np.isfinite(np.array(latents)).all(), ( + f"{name} produced non-finite values at step {i}" + ) + + def test_lambda_boundary_values(self): + """_lambda must return -inf at sigma=1.0 and +inf at sigma=0.0.""" + from mlx_video.models.wan.scheduler import ( + FlowDPMPP2MScheduler, + FlowUniPCScheduler, + ) + + for cls in (FlowDPMPP2MScheduler, FlowUniPCScheduler): + assert cls._lambda(1.0) == -math.inf, ( + f"{cls.__name__}._lambda(1.0) should be -inf" + ) + assert cls._lambda(0.0) == math.inf, ( + f"{cls.__name__}._lambda(0.0) should be +inf" + ) + # Interior values should be finite + lam = cls._lambda(0.5) + assert math.isfinite(lam) and lam == 0.0, ( + f"{cls.__name__}._lambda(0.5) should be 0.0" + ) + + def test_lambda_monotonically_decreasing(self): + """_lambda(sigma) should decrease as sigma increases (more noise → lower SNR).""" + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler + + sigmas = [0.01, 0.1, 0.3, 0.5, 0.7, 0.9, 0.99] + lambdas = [FlowDPMPP2MScheduler._lambda(s) for s in sigmas] + for i in range(len(lambdas) - 1): + assert lambdas[i] > lambdas[i + 1], ( + f"_lambda not decreasing: _lambda({sigmas[i]})={lambdas[i]} " + f"vs _lambda({sigmas[i+1]})={lambdas[i+1]}" + ) + + def test_step0_is_ddim_formula(self): + """At sigma=1.0, the DPM++/UniPC first step should reduce to the + DDIM formula: x_next = sigma_next * x + (1 - sigma_next) * x0.""" + mx.random.seed(55) + shape = (1, 2, 1, 2, 2) + sample = mx.random.normal(shape) + vel = mx.random.normal(shape) + + for steps, shift in [(10, 5.0), (20, 12.0)]: + scheds = self._make_schedulers(steps, shift=shift) + sigma_next = float(scheds["euler"].sigmas[1].item()) + sigma_cur = float(scheds["euler"].sigmas[0].item()) + assert abs(sigma_cur - 1.0) < 1e-6, "First sigma should be ~1.0" + + x0 = sample - sigma_cur * vel + expected = sigma_next * sample + (1.0 - sigma_next) * x0 + mx.eval(expected) + + for name in ("dpm++", "unipc"): + result = scheds[name].step(vel, scheds[name].timesteps[0], sample) + mx.eval(result) + np.testing.assert_allclose( + np.array(result), np.array(expected), atol=1e-5, + err_msg=f"{name} step 0 doesn't match DDIM formula (shift={shift})", + ) + + @pytest.mark.parametrize("steps", [5, 10, 20, 50]) + def test_coherent_across_step_counts(self, steps): + """All solvers should agree on step 0 regardless of total step count.""" + mx.random.seed(77) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + scheds = self._make_schedulers(steps, shift=5.0) + results = {} + for name, sched in scheds.items(): + r = sched.step(vel, sched.timesteps[0], noise) + mx.eval(r) + results[name] = np.array(r) + + np.testing.assert_allclose( + results["dpm++"], results["euler"], atol=1e-5, + ) + np.testing.assert_allclose( + results["unipc"], results["euler"], atol=1e-5, + ) + + def test_dpmpp_unipc_agree_on_step1(self): + """After warmup, DPM++ and UniPC step 1 should be similar + (both use 2nd-order corrections based on the same model outputs).""" + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + + scheds = self._make_schedulers(10, shift=5.0) + # Run step 0 with same velocity + vel0 = mx.random.normal(shape) + for sched in scheds.values(): + sched.step(vel0, sched.timesteps[0], noise) + + # Run step 1 from same sample with same velocity + sample1 = scheds["euler"].step(vel0, scheds["euler"].timesteps[0], noise) + mx.eval(sample1) + vel1 = mx.random.normal(shape) + + r_dpm = scheds["dpm++"].step(vel1, scheds["dpm++"].timesteps[1], sample1) + r_unipc = scheds["unipc"].step(vel1, scheds["unipc"].timesteps[1], sample1) + mx.eval(r_dpm, r_unipc) + + # They won't be identical (different correction formulas) but should + # be in the same ballpark (within 50% of each other's magnitude) + mean_dpm = float(mx.mean(mx.abs(r_dpm)).item()) + mean_unipc = float(mx.mean(mx.abs(r_unipc)).item()) + ratio = max(mean_dpm, mean_unipc) / max(min(mean_dpm, mean_unipc), 1e-10) + assert ratio < 2.0, ( + f"DPM++ and UniPC step 1 differ too much: " + f"DPM++={mean_dpm:.4f}, UniPC={mean_unipc:.4f}" + ) + + def test_reset_makes_solvers_reproducible(self): + """After reset(), running the same loop should produce identical output.""" + mx.random.seed(42) + shape = (1, 2, 1, 2, 2) + noise = mx.random.normal(shape) + + from mlx_video.models.wan.scheduler import FlowDPMPP2MScheduler, FlowUniPCScheduler + + for cls in (FlowDPMPP2MScheduler, FlowUniPCScheduler): + sched = cls() + sched.set_timesteps(5, shift=5.0) + + # First run + latents = noise + for i in range(5): + vel = latents * 0.1 + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + result1 = np.array(latents) + + # Reset and run again + sched.reset() + latents = noise + for i in range(5): + vel = latents * 0.1 + latents = sched.step(vel, sched.timesteps[i], latents) + mx.eval(latents) + result2 = np.array(latents) + + np.testing.assert_allclose(result1, result2, atol=1e-5, + err_msg=f"{cls.__name__} not reproducible after reset()") + + +# --------------------------------------------------------------------------- +# UniPC Corrector Default Tests +# --------------------------------------------------------------------------- + +class TestUniPCCorrectorDefault: + """Tests that the UniPC corrector is enabled by default, + matching official FlowUniPCMultistepScheduler behavior.""" + + def test_corrector_enabled_by_default(self): + """Default construction should have corrector enabled.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + sched = FlowUniPCScheduler() + assert sched._use_corrector is True + + def test_corrector_affects_output(self): + """Corrector should produce different results than no corrector after step 1.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + + sched_corr = FlowUniPCScheduler(use_corrector=True) + sched_corr.set_timesteps(10, shift=5.0) + sched_no = FlowUniPCScheduler(use_corrector=False) + sched_no.set_timesteps(10, shift=5.0) + + latent_corr = noise + latent_no = noise + for i in range(3): + vel = mx.random.normal(shape) * 0.1 + latent_corr = sched_corr.step(vel, sched_corr.timesteps[i], latent_corr) + latent_no = sched_no.step(vel, sched_no.timesteps[i], latent_no) + mx.eval(latent_corr, latent_no) + + diff = float(mx.abs(latent_corr - latent_no).max()) + assert diff > 1e-6, f"Corrector had no effect (max diff={diff})" + + def test_corrector_does_not_affect_first_step(self): + """Step 0 should be identical regardless of corrector setting.""" + from mlx_video.models.wan.scheduler import FlowUniPCScheduler + mx.random.seed(42) + shape = (1, 4, 1, 4, 4) + noise = mx.random.normal(shape) + vel = mx.random.normal(shape) + + sched_corr = FlowUniPCScheduler(use_corrector=True) + sched_corr.set_timesteps(10, shift=5.0) + sched_no = FlowUniPCScheduler(use_corrector=False) + sched_no.set_timesteps(10, shift=5.0) + + r1 = sched_corr.step(vel, sched_corr.timesteps[0], noise) + r2 = sched_no.step(vel, sched_no.timesteps[0], noise) + mx.eval(r1, r2) + np.testing.assert_allclose(np.array(r1), np.array(r2), atol=1e-6) diff --git a/tests/test_wan_t5.py b/tests/test_wan_t5.py new file mode 100644 index 0000000..7cb064f --- /dev/null +++ b/tests/test_wan_t5.py @@ -0,0 +1,173 @@ +"""Tests for T5 encoder components.""" + +import mlx.core as mx +import mlx.nn as nn +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# T5 Encoder Tests +# --------------------------------------------------------------------------- + +class TestT5LayerNorm: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5LayerNorm + norm = T5LayerNorm(64) + x = mx.random.normal((2, 10, 64)) + out = norm(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_rms_normalization(self): + """After T5LayerNorm with weight=1, RMS should be ~1.""" + from mlx_video.models.wan.text_encoder import T5LayerNorm + norm = T5LayerNorm(128) + x = mx.random.normal((1, 5, 128)) * 5.0 + out = norm(x) + mx.eval(out) + out_np = np.array(out[0]) + for i in range(5): + rms = np.sqrt(np.mean(out_np[i] ** 2)) + np.testing.assert_allclose(rms, 1.0, rtol=0.1) + + +class TestT5RelativeEmbedding: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5RelativeEmbedding + rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=4) + out = rel_emb(10, 10) + mx.eval(out) + assert out.shape == (1, 4, 10, 10) # [1, N, lq, lk] + + def test_asymmetric_lengths(self): + from mlx_video.models.wan.text_encoder import T5RelativeEmbedding + rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=4) + out = rel_emb(8, 12) + mx.eval(out) + assert out.shape == (1, 4, 8, 12) + + def test_symmetry(self): + """Position bias should have structure (not all zeros/random).""" + from mlx_video.models.wan.text_encoder import T5RelativeEmbedding + rel_emb = T5RelativeEmbedding(num_buckets=32, num_heads=2) + out = rel_emb(6, 6) + mx.eval(out) + out_np = np.array(out[0]) # [N, lq, lk] + # Diagonal elements (position i attending to position i) should be consistent + # (same relative distance = 0 for all diagonal elements) + for h in range(2): + diag = np.diag(out_np[h]) + np.testing.assert_allclose(diag, diag[0], atol=1e-5) + + +class TestT5Attention: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5Attention + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + x = mx.random.normal((1, 10, 64)) + out = attn(x) + mx.eval(out) + assert out.shape == (1, 10, 64) + + def test_no_scaling(self): + """T5 attention famously has no sqrt(d) scaling. Verify structure.""" + from mlx_video.models.wan.text_encoder import T5Attention + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + # No scale attribute (unlike standard attention) + assert not hasattr(attn, "scale") + + def test_with_position_bias(self): + from mlx_video.models.wan.text_encoder import T5Attention, T5RelativeEmbedding + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + rel_emb = T5RelativeEmbedding(32, 4) + x = mx.random.normal((1, 10, 64)) + pos_bias = rel_emb(10, 10) + out = attn(x, pos_bias=pos_bias) + mx.eval(out) + assert out.shape == (1, 10, 64) + + def test_with_mask(self): + from mlx_video.models.wan.text_encoder import T5Attention + attn = T5Attention(dim=64, dim_attn=64, num_heads=4) + x = mx.random.normal((1, 10, 64)) + mask = mx.ones((1, 10)) + mask = mx.concatenate([mask[:, :7], mx.zeros((1, 3))], axis=1) + out = attn(x, mask=mask) + mx.eval(out) + assert out.shape == (1, 10, 64) + + +class TestT5FeedForward: + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5FeedForward + ffn = T5FeedForward(64, 256) + x = mx.random.normal((1, 10, 64)) + out = ffn(x) + mx.eval(out) + assert out.shape == (1, 10, 64) + + def test_gated_structure(self): + """T5 FFN is gated: gate(x) * fc1(x).""" + from mlx_video.models.wan.text_encoder import T5FeedForward + ffn = T5FeedForward(32, 64) + assert hasattr(ffn, "gate_proj") + assert hasattr(ffn, "fc1") + assert hasattr(ffn, "fc2") + + +class TestT5Encoder: + def setup_method(self): + mx.random.seed(42) + + def test_output_shape(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + ids = mx.array([[1, 5, 10, 0, 0]]) + mask = mx.array([[1, 1, 1, 0, 0]]) + out = encoder(ids, mask=mask) + mx.eval(out) + assert out.shape == (1, 5, 64) + + def test_shared_pos(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=True, + ) + assert encoder.pos_embedding is not None + for block in encoder.blocks: + assert block.pos_embedding is None + + def test_per_layer_pos(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + assert encoder.pos_embedding is None + for block in encoder.blocks: + assert block.pos_embedding is not None + + def test_param_count(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + num_params = sum(p.size for _, p in nn.utils.tree_flatten(encoder.parameters())) + assert num_params > 0 + + def test_without_mask(self): + from mlx_video.models.wan.text_encoder import T5Encoder + encoder = T5Encoder( + vocab_size=100, dim=64, dim_attn=64, dim_ffn=128, + num_heads=4, num_layers=2, num_buckets=32, shared_pos=False, + ) + ids = mx.array([[1, 5, 10]]) + out = encoder(ids) + mx.eval(out) + assert out.shape == (1, 3, 64) diff --git a/tests/test_wan_transformer.py b/tests/test_wan_transformer.py new file mode 100644 index 0000000..dd9acec --- /dev/null +++ b/tests/test_wan_transformer.py @@ -0,0 +1,160 @@ +"""Tests for Wan transformer block components.""" + +import mlx.core as mx +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# Transformer Block Tests +# --------------------------------------------------------------------------- + +class TestWanFFN: + def test_output_shape(self): + from mlx_video.models.wan.transformer import WanFFN + ffn = WanFFN(64, 256) + x = mx.random.normal((2, 10, 64)) + out = ffn(x) + mx.eval(out) + assert out.shape == (2, 10, 64) + + def test_gelu_activation(self): + """FFN should use GELU activation (non-linearity).""" + from mlx_video.models.wan.transformer import WanFFN + ffn = WanFFN(32, 128) + x = mx.ones((1, 1, 32)) * 2.0 + out1 = ffn(x) + x2 = mx.ones((1, 1, 32)) * 4.0 + out2 = ffn(x2) + mx.eval(out1, out2) + # Non-linear: 2x input should not give 2x output + assert not np.allclose(np.array(out2), np.array(out1) * 2.0, rtol=0.1) + + +class TestWanAttentionBlock: + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + self.ffn_dim = 128 + self.num_heads = 4 + + def test_output_shape(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + from mlx_video.models.wan.rope import rope_params + block = WanAttentionBlock( + self.dim, self.ffn_dim, self.num_heads, + cross_attn_norm=True, + ) + B, L = 1, 24 + F, H, W = 2, 3, 4 + x = mx.random.normal((B, L, self.dim)) + e = mx.random.normal((B, L, 6, self.dim)) + context = mx.random.normal((B, 16, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + out = block( + x, e, seq_lens=[L], grid_sizes=[(F, H, W)], + freqs=freqs, context=context, + ) + mx.eval(out) + assert out.shape == (B, L, self.dim) + + def test_modulation_shape(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock(self.dim, self.ffn_dim, self.num_heads) + assert block.modulation.shape == (1, 6, self.dim) + + def test_with_cross_attn_norm(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock( + self.dim, self.ffn_dim, self.num_heads, + cross_attn_norm=True, + ) + assert block.norm3 is not None + + def test_without_cross_attn_norm(self): + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock( + self.dim, self.ffn_dim, self.num_heads, + cross_attn_norm=False, + ) + assert block.norm3 is None + + def test_residual_connection(self): + """Output should differ from zero even with small random init.""" + from mlx_video.models.wan.transformer import WanAttentionBlock + from mlx_video.models.wan.rope import rope_params + block = WanAttentionBlock(self.dim, self.ffn_dim, self.num_heads) + B, L = 1, 8 + F, H, W = 2, 2, 2 + x = mx.ones((B, L, self.dim)) + e = mx.zeros((B, L, 6, self.dim)) + context = mx.random.normal((B, 4, self.dim)) + freqs = rope_params(1024, self.dim // self.num_heads) + + out = block(x, e, [L], [(F, H, W)], freqs, context) + mx.eval(out) + # With residual connections, output should be close to input + corrections + assert not np.allclose(np.array(out), 0.0, atol=1e-3) + + +# --------------------------------------------------------------------------- +# Float32 Modulation Precision Tests +# --------------------------------------------------------------------------- + +class TestFloat32Modulation: + """Tests that modulation/gate operations are computed in float32, + matching official torch.amp.autocast('cuda', dtype=torch.float32).""" + + def setup_method(self): + mx.random.seed(42) + self.dim = 64 + + def test_block_modulation_in_float32(self): + """Modulation param starts random but should be usable as float32.""" + from mlx_video.models.wan.transformer import WanAttentionBlock + block = WanAttentionBlock(self.dim, 128, 4, cross_attn_norm=True) + assert block.modulation.dtype == mx.float32 + + def test_block_output_float32_with_bf16_modulation_input(self): + """Even if e (time embedding) arrives as bf16, modulation should cast to f32.""" + from mlx_video.models.wan.transformer import WanAttentionBlock + from mlx_video.models.wan.rope import rope_params + block = WanAttentionBlock(self.dim, 128, 4) + B, L = 1, 8 + x = mx.random.normal((B, L, self.dim)) + e = mx.random.normal((B, L, 6, self.dim)).astype(mx.bfloat16) + ctx = mx.random.normal((B, 4, self.dim)) + freqs = rope_params(1024, self.dim // 4) + + out = block(x, e, [L], [(2, 2, 2)], freqs, ctx) + mx.eval(out) + assert out.dtype == mx.float32 + assert np.isfinite(np.array(out)).all() + + def test_head_modulation_float32(self): + """Head modulation should be float32 even with bf16 e input.""" + from mlx_video.models.wan.model import Head + head = Head(self.dim, 4, (1, 2, 2)) + x = mx.random.normal((1, 8, self.dim)) + e = mx.random.normal((1, 8, self.dim)).astype(mx.bfloat16) + out = head(x, e) + mx.eval(out) + assert np.isfinite(np.array(out.astype(mx.float32))).all() + + def test_model_time_embedding_float32(self): + """sinusoidal_embedding_1d output must be float32.""" + from mlx_video.models.wan.model import sinusoidal_embedding_1d + t = mx.array([500.0]) + emb = sinusoidal_embedding_1d(256, t) + mx.eval(emb) + assert emb.dtype == mx.float32 + + def test_model_per_token_time_embedding_float32(self): + """Per-token time embeddings (I2V) should also be float32.""" + from mlx_video.models.wan.model import sinusoidal_embedding_1d + t = mx.array([[0.0, 100.0, 200.0, 300.0]]) # [B=1, L=4] + emb = sinusoidal_embedding_1d(256, t) + mx.eval(emb) + assert emb.dtype == mx.float32 + assert emb.shape == (1, 4, 256) diff --git a/tests/test_wan_vae.py b/tests/test_wan_vae.py new file mode 100644 index 0000000..2d7fefb --- /dev/null +++ b/tests/test_wan_vae.py @@ -0,0 +1,871 @@ +"""Tests for Wan VAE 2.1 and 2.2 components.""" + +import math + +import mlx.core as mx +import numpy as np +import pytest + + +# --------------------------------------------------------------------------- +# VAE 2.1 Tests +# --------------------------------------------------------------------------- + +class TestCausalConv3d: + def test_output_shape_stride1(self): + from mlx_video.models.wan.vae import CausalConv3d + conv = CausalConv3d(4, 8, kernel_size=3, stride=1, padding=1) + # Initialize weights + conv.weight = mx.random.normal(conv.weight.shape) * 0.02 + x = mx.random.normal((1, 4, 3, 8, 8)) # [B, C, T, H, W] + out = conv(x) + mx.eval(out) + # With causal padding and padding=1 on spatial, dims should be preserved + assert out.shape[0] == 1 + assert out.shape[1] == 8 # out_channels + assert out.shape[2] == 3 # T preserved + assert out.shape[3] == 8 # H preserved + assert out.shape[4] == 8 # W preserved + + def test_output_shape_kernel1(self): + from mlx_video.models.wan.vae import CausalConv3d + conv = CausalConv3d(4, 8, kernel_size=1, stride=1, padding=0) + conv.weight = mx.random.normal(conv.weight.shape) * 0.02 + x = mx.random.normal((1, 4, 2, 4, 4)) + out = conv(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 4, 4) + + def test_causal_padding(self): + """Causal conv should only use past/current frames, not future.""" + from mlx_video.models.wan.vae import CausalConv3d + conv = CausalConv3d(2, 2, kernel_size=3, stride=1, padding=1) + conv.weight = mx.random.normal(conv.weight.shape) * 0.1 + conv.bias = mx.zeros((2,)) + # Create input where only the first frame has signal + x = mx.zeros((1, 2, 4, 4, 4)) + x_np = np.zeros((1, 2, 4, 4, 4), dtype=np.float32) + x_np[:, :, 0, :, :] = 1.0 + x = mx.array(x_np) + out = conv(x) + mx.eval(out) + # Due to causal padding, the output at t=0 should only depend on t=0 + + +class TestResidualBlock: + def test_same_dim(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 8) + x = mx.random.normal((1, 8, 2, 4, 4)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 4, 4) + + def test_different_dim(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 16) + x = mx.random.normal((1, 8, 2, 4, 4)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 16, 2, 4, 4) + + def test_shortcut_exists_when_dims_differ(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 16) + assert block.shortcut is not None + + def test_no_shortcut_when_dims_same(self): + from mlx_video.models.wan.vae import ResidualBlock + block = ResidualBlock(8, 8) + assert block.shortcut is None + + +class TestAttentionBlock: + def test_output_shape(self): + from mlx_video.models.wan.vae import AttentionBlock + block = AttentionBlock(8) + x = mx.random.normal((1, 8, 2, 4, 4)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 4, 4) + + def test_residual_connection(self): + from mlx_video.models.wan.vae import AttentionBlock + block = AttentionBlock(8) + x = mx.random.normal((1, 8, 1, 3, 3)) + out = block(x) + mx.eval(x, out) + # Residual: output should not be zero even with random init + assert np.abs(np.array(out)).max() > 0 + + +class TestWanVAE: + def test_instantiation(self): + from mlx_video.models.wan.vae import WanVAE + vae = WanVAE(z_dim=16) + assert vae.z_dim == 16 + assert vae.mean.shape == (16,) + assert vae.std.shape == (16,) + + def test_normalization_stats(self): + from mlx_video.models.wan.vae import WanVAE, VAE_MEAN, VAE_STD + assert len(VAE_MEAN) == 16 + assert len(VAE_STD) == 16 + assert all(s > 0 for s in VAE_STD) + + +# --------------------------------------------------------------------------- +# Wan2.2 VAE Component Tests +# --------------------------------------------------------------------------- + + +class TestVAE22CausalConv3d: + """Tests for vae22.CausalConv3d (channels-last).""" + + def test_output_shape_k3(self): + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(8, 16, kernel_size=3, padding=1) + x = mx.random.normal((1, 4, 8, 8, 8)) # [B, T, H, W, C] + out = conv(x) + mx.eval(out) + assert out.shape == (1, 4, 8, 8, 16) + + def test_output_shape_k1(self): + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(8, 16, kernel_size=1) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = conv(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_temporal_causal(self): + """Output at t=0 should not depend on t>0.""" + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(2, 2, kernel_size=3, padding=1) + conv.weight = mx.random.normal(conv.weight.shape) * 0.1 + conv.bias = mx.zeros(conv.bias.shape) + + x = mx.zeros((1, 4, 4, 4, 2)) + out_zero = conv(x) + mx.eval(out_zero) + t0_ref = np.array(out_zero[0, 0]) + + # Modify t=2..3; output at t=0 should be unchanged + x_mod = mx.concatenate([ + x[:, :2], + mx.ones((1, 2, 4, 4, 2)), + ], axis=1) + out_mod = conv(x_mod) + mx.eval(out_mod) + t0_mod = np.array(out_mod[0, 0]) + np.testing.assert_allclose(t0_ref, t0_mod, atol=1e-5) + + def test_channels_last_format(self): + """Verify input/output are channels-last [B, T, H, W, C].""" + from mlx_video.models.wan.vae22 import CausalConv3d + conv = CausalConv3d(4, 8, kernel_size=3, padding=1) + x = mx.random.normal((2, 3, 6, 6, 4)) + out = conv(x) + mx.eval(out) + assert out.shape[-1] == 8 # last dim = out_channels + + +class TestRMSNorm: + """Tests for vae22.RMS_norm (actually L2 normalization).""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import RMS_norm + norm = RMS_norm(16) + x = mx.random.normal((2, 4, 4, 4, 16)) + out = norm(x) + mx.eval(out) + assert out.shape == x.shape + + def test_l2_normalization(self): + """RMS_norm should normalize to unit L2 norm * sqrt(dim).""" + from mlx_video.models.wan.vae22 import RMS_norm + dim = 32 + norm = RMS_norm(dim) + x = mx.random.normal((1, 1, 1, 1, dim)) * 5.0 # large values + out = norm(x) + mx.eval(out) + # After L2 norm * scale(=sqrt(dim)) * gamma(=1): ||out|| = sqrt(dim) + out_np = np.array(out).flatten() + l2 = np.linalg.norm(out_np) + np.testing.assert_allclose(l2, math.sqrt(dim), rtol=1e-3) + + def test_scale_invariant(self): + """Scaling input by constant should not change output (L2 norm property).""" + from mlx_video.models.wan.vae22 import RMS_norm + norm = RMS_norm(8) + x = mx.random.normal((1, 1, 1, 1, 8)) + out1 = norm(x) + out2 = norm(x * 10.0) + mx.eval(out1, out2) + np.testing.assert_allclose(np.array(out1), np.array(out2), atol=1e-4) + + def test_gamma_effect(self): + """Non-unit gamma should scale output.""" + from mlx_video.models.wan.vae22 import RMS_norm + norm = RMS_norm(4) + norm.gamma = mx.array([2.0, 2.0, 2.0, 2.0]) + x = mx.ones((1, 1, 1, 1, 4)) + out = norm(x) + mx.eval(out) + # With gamma=2, each component is 2 * sqrt(4) * x/||x|| = 2 * 2 * 1/2 = 2 + np.testing.assert_allclose(np.array(out).flatten(), 2.0, atol=1e-4) + + +class TestDupUp3D: + """Tests for vae22.DupUp3D spatial/temporal upsampling.""" + + def test_spatial_only(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(8, 4, factor_t=1, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 8)) + out = up(x) + mx.eval(out) + assert out.shape == (1, 3, 8, 8, 4) + + def test_temporal_and_spatial(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(16, 8, factor_t=2, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 16)) + out = up(x) + mx.eval(out) + assert out.shape == (1, 6, 8, 8, 8) + + def test_first_chunk_trims(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(8, 4, factor_t=2, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 8)) + out_normal = up(x, first_chunk=False) + out_trimmed = up(x, first_chunk=True) + mx.eval(out_normal, out_trimmed) + # first_chunk removes factor_t-1=1 temporal frame + assert out_normal.shape[1] == 6 + assert out_trimmed.shape[1] == 5 + + def test_no_temporal_first_chunk_noop(self): + from mlx_video.models.wan.vae22 import DupUp3D + up = DupUp3D(8, 4, factor_t=1, factor_s=2) + x = mx.random.normal((1, 3, 4, 4, 8)) + out_normal = up(x, first_chunk=False) + out_trimmed = up(x, first_chunk=True) + mx.eval(out_normal, out_trimmed) + # factor_t=1, so first_chunk removes 0 frames + assert out_normal.shape == out_trimmed.shape + + +class TestVAE22Resample: + """Tests for vae22.Resample (spatial/temporal upsampling).""" + + def test_upsample2d_shape(self): + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample2d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 8)) + out = r(x) + mx.eval(out) + assert out.shape == (1, 2, 8, 8, 8) # 2x spatial, same temporal + + def test_upsample3d_shape(self): + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample3d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 8)) + out = r(x) + mx.eval(out) + assert out.shape == (1, 4, 8, 8, 8) # 2x spatial + 2x temporal + + def test_upsample3d_first_chunk(self): + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample3d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 8)) + out = r(x, first_chunk=True) + mx.eval(out) + # first_chunk: 1 (bypass) + 2*(T-1) (interleaved) = 2T-1 = 3 + assert out.shape == (1, 3, 8, 8, 8) + + def test_upsample3d_first_chunk_single_frame(self): + """Single-frame input with first_chunk: no temporal upsample.""" + from mlx_video.models.wan.vae22 import Resample + r = Resample(8, "upsample3d") + r.resample_weight = mx.random.normal(r.resample_weight.shape) * 0.01 + x = mx.random.normal((1, 1, 4, 4, 8)) + out = r(x, first_chunk=True) + mx.eval(out) + # Single frame with first_chunk: falls through to non-first path + # time_conv on 1 frame → 2 interleaved + assert out.shape == (1, 2, 8, 8, 8) + + def test_upsample3d_first_frame_bypasses_time_conv(self): + """First frame of first_chunk should NOT go through time_conv. + + Official Wan2.2 skips time_conv for the very first frame entirely. + We verify this by checking that the first output frame depends only on + the first input frame (not on time_conv parameters). + """ + from mlx_video.models.wan.vae22 import Resample + C = 8 + r = Resample(C, "upsample3d") + # Set time_conv weights to large values so its effect is detectable + r.time_conv.weight = mx.ones(r.time_conv.weight.shape) * 10.0 + r.time_conv.bias = mx.zeros(r.time_conv.bias.shape) + # Set spatial conv to identity-like + r.resample_weight = mx.zeros(r.resample_weight.shape) + r.resample_bias = mx.zeros(r.resample_bias.shape) + + x = mx.random.normal((1, 3, 2, 2, C)) + out = r(x, first_chunk=True) + mx.eval(out) + # Output: 5 frames (1 bypass + 4 interleaved from 2 remaining) + assert out.shape[1] == 5 + + # First frame should be spatial upsample of x[:, 0:1] only. + # Run just the first frame through spatial upsample for reference + first_only = x[:, 0:1] + ref = r._upsample2x(first_only.reshape(1, 2, 2, C)) + ref = mx.pad(ref, [(0, 0), (1, 1), (1, 1), (0, 0)]) + ref = mx.conv_general(ref, r.resample_weight) + r.resample_bias + mx.eval(ref) + + # Compare first output frame to reference + first_out = out[:, 0:1].reshape(1, out.shape[2], out.shape[3], C) + mx.eval(first_out) + assert mx.allclose(first_out, ref, atol=1e-5).item(), \ + "First frame should bypass time_conv and match spatial-only upsample" + + +class TestVAE22ResidualBlock: + """Tests for vae22.ResidualBlock.""" + + def test_same_dim(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 8) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 8) + + def test_different_dim(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 16) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_shortcut_when_dims_differ(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 16) + assert block.shortcut is not None + + def test_no_shortcut_same_dim(self): + from mlx_video.models.wan.vae22 import ResidualBlock + block = ResidualBlock(8, 8) + assert block.shortcut is None + + +class TestResidualBlockLayers: + """Tests for vae22.ResidualBlockLayers naming convention.""" + + def test_layer_names_no_underscore_prefix(self): + """Layer names must NOT start with underscore (MLX ignores them).""" + from mlx_video.models.wan.vae22 import ResidualBlockLayers + block = ResidualBlockLayers(8, 8) + params = dict(block.parameters()) + # All param keys should use layer_N, not _layer_N + for key in params: + assert not key.startswith("_"), f"Parameter {key} starts with underscore" + + def test_has_expected_layers(self): + from mlx_video.models.wan.vae22 import ResidualBlockLayers + block = ResidualBlockLayers(8, 16) + assert hasattr(block, "layer_0") # first RMS_norm + assert hasattr(block, "layer_2") # first CausalConv3d + assert hasattr(block, "layer_3") # second RMS_norm + assert hasattr(block, "layer_6") # second CausalConv3d + + def test_forward_shape(self): + from mlx_video.models.wan.vae22 import ResidualBlockLayers + block = ResidualBlockLayers(8, 16) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + +class TestVAE22AttentionBlock: + """Tests for vae22.AttentionBlock (per-frame 2D self-attention).""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import AttentionBlock + block = AttentionBlock(16) + block.to_qkv_weight = mx.random.normal(block.to_qkv_weight.shape) * 0.01 + block.proj_weight = mx.random.normal(block.proj_weight.shape) * 0.01 + x = mx.random.normal((1, 2, 4, 4, 16)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_residual_connection(self): + from mlx_video.models.wan.vae22 import AttentionBlock + block = AttentionBlock(8) + block.to_qkv_weight = mx.zeros(block.to_qkv_weight.shape) + block.proj_weight = mx.zeros(block.proj_weight.shape) + x = mx.ones((1, 1, 2, 2, 8)) + out = block(x) + mx.eval(out) + # With zero weights, attention output is 0 → residual is identity + np.testing.assert_allclose(np.array(out), np.array(x), atol=1e-5) + + +class TestHead22: + """Tests for vae22.Head22 output head.""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import Head22 + head = Head22(16, out_channels=12) + x = mx.random.normal((1, 2, 4, 4, 16)) + out = head(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 12) + + def test_layer_names_no_underscore(self): + """Head layers must not use underscore prefix.""" + from mlx_video.models.wan.vae22 import Head22 + head = Head22(8) + assert hasattr(head, "layer_0") # RMS_norm + assert hasattr(head, "layer_2") # CausalConv3d + params = dict(head.parameters()) + for key in params: + assert not key.startswith("_"), f"Head param {key} starts with underscore" + + +class TestUnpatchify: + """Tests for vae22._unpatchify.""" + + def test_basic_shape(self): + from mlx_video.models.wan.vae22 import _unpatchify + x = mx.random.normal((1, 2, 4, 4, 12)) # 12 = 3 * 2 * 2 + out = _unpatchify(x, patch_size=2) + mx.eval(out) + assert out.shape == (1, 2, 8, 8, 3) + + def test_patch_size_1_noop(self): + from mlx_video.models.wan.vae22 import _unpatchify + x = mx.random.normal((1, 2, 4, 4, 3)) + out = _unpatchify(x, patch_size=1) + mx.eval(out) + np.testing.assert_array_equal(np.array(out), np.array(x)) + + def test_preserves_content(self): + """Unpatchify should be a lossless rearrangement.""" + from mlx_video.models.wan.vae22 import _unpatchify + x = mx.arange(48).reshape(1, 1, 2, 2, 12).astype(mx.float32) + out = _unpatchify(x, patch_size=2) + mx.eval(out) + # All elements should be preserved + assert np.array(out).size == 48 + assert set(np.array(out).flatten().tolist()) == set(range(48)) + + +class TestDenormalizeLatents: + """Tests for vae22.denormalize_latents.""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import denormalize_latents + z = mx.random.normal((1, 2, 4, 4, 48)) + out = denormalize_latents(z) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 48) + + def test_custom_mean_std(self): + from mlx_video.models.wan.vae22 import denormalize_latents + z = mx.ones((1, 1, 1, 1, 4)) + mean = mx.array([1.0, 2.0, 3.0, 4.0]) + std = mx.array([0.5, 0.5, 0.5, 0.5]) + out = denormalize_latents(z, mean=mean, std=std) + mx.eval(out) + # z * std + mean = 1*0.5 + [1,2,3,4] = [1.5, 2.5, 3.5, 4.5] + np.testing.assert_allclose(np.array(out).flatten(), [1.5, 2.5, 3.5, 4.5], atol=1e-5) + + def test_uses_default_constants(self): + from mlx_video.models.wan.vae22 import VAE22_MEAN, VAE22_STD, denormalize_latents + # Should not raise with default constants + z = mx.zeros((1, 1, 1, 1, 48)) + out = denormalize_latents(z) + mx.eval(out) + # z=0 → result = 0 * std + mean = mean + np.testing.assert_allclose( + np.array(out).flatten(), + np.array(VAE22_MEAN).flatten(), + atol=1e-5, + ) + + +class TestVAE22NormConstants: + """Tests for VAE22_MEAN and VAE22_STD constants.""" + + def test_dimensions(self): + from mlx_video.models.wan.vae22 import VAE22_MEAN, VAE22_STD + mx.eval(VAE22_MEAN, VAE22_STD) + assert VAE22_MEAN.shape == (48,) + assert VAE22_STD.shape == (48,) + + def test_std_positive(self): + from mlx_video.models.wan.vae22 import VAE22_STD + mx.eval(VAE22_STD) + assert (np.array(VAE22_STD) > 0).all() + + +class TestWan22VAEDecoder: + """Tests for the full Wan22VAEDecoder (tiny configuration).""" + + def test_output_shape_small(self): + """Tiny decoder should produce correct spatial/temporal output.""" + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + # Use very small dims to keep test fast + dec = Wan22VAEDecoder(z_dim=4, dim=8, dec_dim=8) + # Latent: [B=1, T=3, H=2, W=2, C=4] + # Expected: temporal 3→5→9→9→9 (two temporal upsamples), spatial 2→4→8→16 + z = mx.random.normal((1, 3, 2, 2, 4)) * 0.1 + out = dec(z) + mx.eval(out) + # Output should have 3 RGB channels and be clipped to [-1, 1] + assert out.shape[-1] == 3 + assert out.ndim == 5 + assert np.array(out).min() >= -1.0 + assert np.array(out).max() <= 1.0 + + def test_output_clipped(self): + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + dec = Wan22VAEDecoder(z_dim=4, dim=8, dec_dim=8) + z = mx.random.normal((1, 2, 2, 2, 4)) * 10.0 # large values + out = dec(z) + mx.eval(out) + assert np.array(out).min() >= -1.0 - 1e-6 + assert np.array(out).max() <= 1.0 + 1e-6 + + +class TestSanitizeWan22VAEWeights: + """Tests for vae22.sanitize_wan22_vae_weights.""" + + def test_skip_encoder(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "encoder.layer.weight": mx.zeros((4,)), + "conv1.weight": mx.zeros((4,)), + "decoder.conv1.bias": mx.zeros((4,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "encoder.layer.weight" not in out + assert "conv1.weight" not in out + assert "decoder.conv1.bias" in out + + def test_sequential_index_remapping(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "decoder.upsamples.0.upsamples.0.residual.0.gamma": mx.ones((8,)), + "decoder.upsamples.0.upsamples.0.residual.6.bias": mx.zeros((8,)), + "decoder.head.0.gamma": mx.ones((4,)), + "decoder.head.2.bias": mx.zeros((12,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "decoder.upsamples.0.upsamples.0.residual.layer_0.gamma" in out + assert "decoder.upsamples.0.upsamples.0.residual.layer_6.bias" in out + assert "decoder.head.layer_0.gamma" in out + assert "decoder.head.layer_2.bias" in out + + def test_resample_conv_remapping(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "decoder.upsamples.1.upsamples.3.resample.1.weight": mx.zeros((8, 8, 3, 3)), + "decoder.upsamples.1.upsamples.3.resample.1.bias": mx.zeros((8,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "decoder.upsamples.1.upsamples.3.resample_weight" in out + assert "decoder.upsamples.1.upsamples.3.resample_bias" in out + + def test_attention_remapping(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + weights = { + "decoder.middle.1.to_qkv.weight": mx.zeros((24, 8, 1, 1)), + "decoder.middle.1.to_qkv.bias": mx.zeros((24,)), + "decoder.middle.1.proj.weight": mx.zeros((8, 8, 1, 1)), + "decoder.middle.1.proj.bias": mx.zeros((8,)), + } + out = sanitize_wan22_vae_weights(weights) + assert "decoder.middle.1.to_qkv_weight" in out + assert "decoder.middle.1.to_qkv_bias" in out + assert "decoder.middle.1.proj_weight" in out + assert "decoder.middle.1.proj_bias" in out + + def test_conv3d_transpose(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + # Conv3d weight: [O, I, D, H, W] → [O, D, H, W, I] + w = mx.zeros((16, 8, 3, 3, 3)) + weights = {"decoder.conv1.weight": w} + out = sanitize_wan22_vae_weights(weights) + assert out["decoder.conv1.weight"].shape == (16, 3, 3, 3, 8) + + def test_conv2d_transpose(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + # Conv2d weight: [O, I, H, W] → [O, H, W, I] + w = mx.zeros((8, 8, 3, 3)) + weights = {"decoder.upsamples.0.upsamples.2.resample.1.weight": w} + out = sanitize_wan22_vae_weights(weights) + key = "decoder.upsamples.0.upsamples.2.resample_weight" + assert out[key].shape == (8, 3, 3, 8) + + def test_gamma_squeeze(self): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + # gamma: (dim, 1, 1, 1) → (dim,) + w = mx.ones((16, 1, 1, 1)) + weights = {"decoder.upsamples.0.upsamples.0.residual.0.gamma": w} + out = sanitize_wan22_vae_weights(weights) + key = "decoder.upsamples.0.upsamples.0.residual.layer_0.gamma" + assert out[key].shape == (16,) + + +class TestUpResidualBlock: + """Tests for vae22.Up_ResidualBlock.""" + + def test_no_upsample(self): + from mlx_video.models.wan.vae22 import Up_ResidualBlock + block = Up_ResidualBlock(8, 8, num_res_blocks=1, temperal_upsample=False, up_flag=False) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + # No upsample: same shape + assert out.shape == (1, 2, 4, 4, 8) + + def test_spatial_upsample(self): + from mlx_video.models.wan.vae22 import Up_ResidualBlock + block = Up_ResidualBlock(8, 4, num_res_blocks=1, temperal_upsample=False, up_flag=True) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + # 2x spatial upsample, no temporal + assert out.shape == (1, 2, 8, 8, 4) + + def test_spatial_temporal_upsample(self): + from mlx_video.models.wan.vae22 import Up_ResidualBlock + block = Up_ResidualBlock(8, 4, num_res_blocks=1, temperal_upsample=True, up_flag=True) + x = mx.random.normal((1, 2, 4, 4, 8)) + out = block(x) + mx.eval(out) + # 2x spatial + 2x temporal + assert out.shape == (1, 4, 8, 8, 4) + + +class TestPatchify: + """Tests for _patchify and _unpatchify round-trip.""" + + def test_roundtrip(self): + from mlx_video.models.wan.vae22 import _patchify, _unpatchify + + x = mx.random.normal((1, 1, 64, 64, 3)) + p = _patchify(x, patch_size=2) + assert p.shape == (1, 1, 32, 32, 12) + back = _unpatchify(p, patch_size=2) + assert back.shape == x.shape + assert float(mx.abs(x - back).max()) == 0.0 + + def test_identity_patch_1(self): + from mlx_video.models.wan.vae22 import _patchify, _unpatchify + + x = mx.random.normal((1, 2, 8, 8, 3)) + assert _patchify(x, patch_size=1).shape == x.shape + assert _unpatchify(x, patch_size=1).shape == x.shape + + +class TestAvgDown3D: + """Tests for AvgDown3D downsampling.""" + + def test_spatial_only(self): + from mlx_video.models.wan.vae22 import AvgDown3D + + down = AvgDown3D(8, 16, factor_t=1, factor_s=2) + x = mx.random.normal((1, 2, 8, 8, 8)) + out = down(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_temporal_and_spatial(self): + from mlx_video.models.wan.vae22 import AvgDown3D + + down = AvgDown3D(8, 16, factor_t=2, factor_s=2) + x = mx.random.normal((1, 4, 8, 8, 8)) + out = down(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_single_frame(self): + from mlx_video.models.wan.vae22 import AvgDown3D + + down = AvgDown3D(8, 8, factor_t=2, factor_s=2) + x = mx.random.normal((1, 1, 8, 8, 8)) + out = down(x) + mx.eval(out) + # T=1 with factor_t=2: pads to T=2 then averages → T=1 + assert out.shape == (1, 1, 4, 4, 8) + + +class TestDownResidualBlock: + """Tests for Down_ResidualBlock.""" + + def test_no_downsample(self): + from mlx_video.models.wan.vae22 import Down_ResidualBlock + + block = Down_ResidualBlock(8, 8, num_res_blocks=1, temperal_downsample=False, down_flag=False) + x = mx.random.normal((1, 2, 8, 8, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 8, 8, 8) + + def test_spatial_downsample(self): + from mlx_video.models.wan.vae22 import Down_ResidualBlock + + block = Down_ResidualBlock(8, 16, num_res_blocks=1, temperal_downsample=False, down_flag=True) + x = mx.random.normal((1, 2, 8, 8, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + def test_spatial_temporal_downsample(self): + from mlx_video.models.wan.vae22 import Down_ResidualBlock + + block = Down_ResidualBlock(8, 16, num_res_blocks=1, temperal_downsample=True, down_flag=True) + x = mx.random.normal((1, 4, 8, 8, 8)) + out = block(x) + mx.eval(out) + assert out.shape == (1, 2, 4, 4, 16) + + +class TestEncoder3d: + """Tests for Encoder3d.""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import Encoder3d + + enc = Encoder3d(dim=16, z_dim=8) + x = mx.random.normal((1, 1, 16, 16, 12)) + mx.eval(enc.parameters()) + out = enc(x) + mx.eval(out) + # 3 spatial downsamples ÷8: 16→2 + assert out.shape == (1, 1, 2, 2, 8) + + def test_multi_frame(self): + from mlx_video.models.wan.vae22 import Encoder3d + + enc = Encoder3d(dim=16, z_dim=8, temperal_downsample=(True, True, False)) + x = mx.random.normal((1, 5, 16, 16, 12)) + mx.eval(enc.parameters()) + out = enc(x) + mx.eval(out) + # T: 5→3 (1st t_down) →2 (2nd t_down), spatial ÷8 + assert out.shape[2:] == (2, 2, 8) + + +class TestWan22VAEEncoder: + """Tests for Wan22VAEEncoder wrapper.""" + + def test_output_shape(self): + from mlx_video.models.wan.vae22 import Wan22VAEEncoder + + enc = Wan22VAEEncoder(z_dim=48, dim=16) + # Input: single image 32×32 (patchify÷2 → 16×16, then 3 spatial ÷8 → 2×2) + img = mx.random.normal((1, 1, 32, 32, 3)) + mx.eval(enc.parameters()) + z = enc(img) + mx.eval(z) + assert z.shape == (1, 1, 2, 2, 48) + + def test_full_dim(self): + from mlx_video.models.wan.vae22 import Wan22VAEEncoder + + enc = Wan22VAEEncoder(z_dim=48, dim=160) + img = mx.random.normal((1, 1, 64, 64, 3)) + mx.eval(enc.parameters()) + z = enc(img) + mx.eval(z) + # 64 / 16 = 4 (vae stride 16×) + assert z.shape == (1, 1, 4, 4, 48) + + +class TestNormalizeLatents: + """Tests for normalize/denormalize latent roundtrip.""" + + def test_roundtrip(self): + from mlx_video.models.wan.vae22 import denormalize_latents, normalize_latents + + z = mx.random.normal((1, 2, 4, 4, 48)) + z_norm = normalize_latents(z) + z_back = denormalize_latents(z_norm) + mx.eval(z_back) + assert float(mx.abs(z - z_back).max()) < 1e-4 + + +class TestVAEEncoderTemporalOrder: + """Tests that VAE encoder uses (False, True, True) temporal downsample order, + matching official Wan2.2 vae2_2.py.""" + + def test_encoder_temporal_downsample_pattern(self): + """Encoder3d with (False, True, True): T=5→5→3→2.""" + from mlx_video.models.wan.vae22 import Encoder3d + enc = Encoder3d(dim=16, z_dim=8, temperal_downsample=(False, True, True)) + x = mx.random.normal((1, 5, 16, 16, 12)) + mx.eval(enc.parameters()) + out = enc(x) + mx.eval(out) + assert out.shape[1] == 2 + + def test_wrapper_uses_correct_pattern(self): + """Wan22VAEEncoder should use (False, True, True) temporal downsample.""" + from mlx_video.models.wan.vae22 import Wan22VAEEncoder, Resample + enc = Wan22VAEEncoder(z_dim=48, dim=16) + down_blocks = enc.encoder.downsamples + found_modes = [] + for block in down_blocks: + for layer in block.downsamples: + if isinstance(layer, Resample): + found_modes.append(layer.mode) + # First spatial-only, then two with temporal + assert found_modes[0] == "downsample2d" + assert any("3d" in m for m in found_modes) + + def test_single_frame_encoder(self): + """Single frame (T=1) should work with (False, True, True) pattern.""" + from mlx_video.models.wan.vae22 import Wan22VAEEncoder + enc = Wan22VAEEncoder(z_dim=48, dim=16) + img = mx.random.normal((1, 1, 32, 32, 3)) + mx.eval(enc.parameters()) + z = enc(img) + mx.eval(z) + assert z.shape[1] == 1 + assert z.shape[-1] == 48 + + def test_wrong_order_gives_different_result(self): + """(True, True, False) vs (False, True, True) produce different outputs.""" + from mlx_video.models.wan.vae22 import Encoder3d + enc_correct = Encoder3d(dim=16, z_dim=8, temperal_downsample=(False, True, True)) + enc_wrong = Encoder3d(dim=16, z_dim=8, temperal_downsample=(True, True, False)) + + x = mx.random.normal((1, 5, 16, 16, 12)) + mx.eval(enc_correct.parameters()) + mx.eval(enc_wrong.parameters()) + + out_correct = enc_correct(x) + out_wrong = enc_wrong(x) + mx.eval(out_correct, out_wrong) + + # Both give T=2 but spatial processing path differs + assert out_correct.shape[1] == 2 + assert out_wrong.shape[1] == 2 + + + diff --git a/tests/wan_test_helpers.py b/tests/wan_test_helpers.py new file mode 100644 index 0000000..6999af1 --- /dev/null +++ b/tests/wan_test_helpers.py @@ -0,0 +1,19 @@ +"""Shared test helpers for Wan test modules.""" + + +def _make_tiny_config(): + """Create a tiny WanModelConfig for testing.""" + from mlx_video.models.wan.config import WanModelConfig + config = WanModelConfig() + # Override to tiny values + config.dim = 64 + config.ffn_dim = 128 + config.num_heads = 4 + config.num_layers = 2 + config.in_dim = 4 + config.out_dim = 4 + config.patch_size = (1, 2, 2) + config.freq_dim = 32 + config.text_dim = 32 + config.text_len = 8 + return config From f4195f0118fb5caf4fbe2eeacfe12e163dcba7a0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 27 Feb 2026 23:43:42 +0100 Subject: [PATCH 04/17] feat(wan): Add I2V-14B dual-model support --- README.md | 39 ++- docs/DIAGNOSTICS.md | 383 ++++++++++++++++++++++++++++ docs/wan22-implementation-notes.md | 42 ++- mlx_video/convert_wan.py | 10 +- mlx_video/generate_wan.py | 142 ++++++++--- mlx_video/models/wan/attention.py | 15 +- mlx_video/models/wan/config.py | 13 + mlx_video/models/wan/loading.py | 19 +- mlx_video/models/wan/model.py | 139 ++++++---- mlx_video/models/wan/rope.py | 78 ++++++ mlx_video/models/wan/scheduler.py | 6 +- mlx_video/models/wan/transformer.py | 26 +- mlx_video/models/wan/vae.py | 279 +++++++++++++++++--- tests/test_wan_i2v.py | 293 +++++++++++++++++++++ 14 files changed, 1332 insertions(+), 152 deletions(-) create mode 100644 docs/DIAGNOSTICS.md create mode 100644 tests/test_wan_i2v.py diff --git a/README.md b/README.md index 2955ffc..751f48a 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Supported models: - [**LTX-2**](https://huggingface.co/Lightricks/LTX-Video) — 19B parameter video generation model from Lightricks - [**Wan2.1**](https://github.com/Wan-Video/Wan2.1) — 1.3B / 14B parameter T2V models (single-model pipeline) -- [**Wan2.2**](https://github.com/Wan-Video/Wan2.2) — 14B parameter T2V model (dual-model pipeline) +- [**Wan2.2**](https://github.com/Wan-Video/Wan2.2) — T2V-14B, TI2V-5B, and I2V-14B models (dual-model pipeline) ## Features @@ -82,13 +82,15 @@ python -m mlx_video.generate \ Both [Wan2.1](https://github.com/Wan-Video/Wan2.1) and [Wan2.2](https://github.com/Wan-Video/Wan2.2) are text-to-video diffusion models built on a DiT (Diffusion Transformer) backbone with a T5 text encoder and 3D VAE. They share the same model architecture — the difference is in the inference pipeline: -| | Wan2.1 | Wan2.2 | -|---|--------|--------| -| **Pipeline** | Single model | Dual model (high-noise + low-noise) | -| **Sizes** | 1.3B, 14B | 14B | -| **Steps** | 50 | 40 | -| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 (low/high noise) | -| **Shift** | 5.0 | 12.0 | +| | Wan2.1 | Wan2.2 T2V-14B | Wan2.2 I2V-14B | +|---|--------|--------|--------| +| **Task** | Text-to-Video | Text-to-Video | Image-to-Video | +| **Pipeline** | Single model | Dual model | Dual model | +| **Sizes** | 1.3B, 14B | 14B | 14B | +| **Steps** | 50 | 40 | 40 | +| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 | 3.5 / 3.5 | +| **Shift** | 5.0 | 12.0 | 5.0 | +| **VAE** | Wan2.1 (z=16) | Wan2.1 (z=16) | Wan2.1 (z=16) + encoder | ### Step 1: Download Weights @@ -117,9 +119,11 @@ Download the original PyTorch checkpoints: # └── high_noise_model/ # safetensors ``` +**Wan2.2 I2V-14B** — same directory structure as Wan2.2 T2V. The conversion script auto-detects I2V-14B from the model's `config.json` (`model_type: "i2v"`, `in_dim: 36`). + ### Step 2: Convert to MLX Format -The conversion script auto-detects whether the checkpoint is Wan2.1 or Wan2.2 based on the directory structure (presence of `low_noise_model/` subdirectory). +The conversion script auto-detects the model version based on the directory structure (presence of `low_noise_model/` subdirectory) and model type (`model_type` in source config.json for I2V vs T2V). ```bash # Auto-detect version @@ -157,6 +161,7 @@ wan_mlx/ ├── config.json # Model configuration ├── t5_encoder.safetensors # T5 UMT5-XXL text encoder ├── vae.safetensors # 3D VAE decoder +├── vae_encoder.safetensors # 3D VAE encoder (I2V-14B only) ├── model.safetensors # (Wan2.1) Single transformer ├── low_noise_model.safetensors # (Wan2.2) Low-noise transformer └── high_noise_model.safetensors # (Wan2.2) High-noise transformer @@ -195,12 +200,27 @@ python -m mlx_video.generate_wan \ The pipeline auto-detects the model version from `config.json` and selects the right pipeline mode (single or dual model). You can also override any parameter via CLI flags. +#### Image-to-Video (I2V-14B) + +```bash +# Generate video from an input image +python -m mlx_video.generate_wan \ + --model-dir wan22_i2v_mlx \ + --prompt "The camera slowly zooms in as the subject begins to move" \ + --image start.png \ + --num-frames 81 \ + --output-path my_video.mp4 +``` + +The I2V-14B model encodes the input image through the Wan2.1 VAE encoder and uses channel concatenation (`y` tensor with 4 mask + 16 image latent channels) to condition generation on the first frame. + #### Generation CLI Options | Option | Default | Description | |--------|---------|-------------| | `--model-dir` | (required) | Path to converted MLX model directory | | `--prompt` | (required) | Text description of the video | +| `--image` | `None` | Input image path (for I2V models) | | `--negative-prompt` | `""` | Negative prompt for guidance | | `--width` | 1280 | Video width | | `--height` | 720 | Video height | @@ -237,6 +257,7 @@ python -m mlx_video.generate_wan \ > **Note**: On Apple Silicon, the 1.3B model fits comfortably in unified memory at bf16. Quantization reduces memory but may not speed up inference for small models. For the 14B model, quantization is essential to fit in memory and will also improve speed. + ### Wan Model Specifications **Transformer (14B)** diff --git a/docs/DIAGNOSTICS.md b/docs/DIAGNOSTICS.md new file mode 100644 index 0000000..18d112b --- /dev/null +++ b/docs/DIAGNOSTICS.md @@ -0,0 +1,383 @@ +# Wan2.2 I2V-14B Diagnostic Report + +This document records the systematic diagnostic methodology used to debug the Wan2.2 I2V-14B (Image-to-Video, 14 billion parameter) pipeline in mlx-video, along with every bug found, its root cause, and fix. + +## Table of Contents + +- [Overview](#overview) +- [Architecture Summary](#architecture-summary) +- [Diagnostic Methodology](#diagnostic-methodology) +- [Bug 1: Text Embedding Cross-Contamination](#bug-1-text-embedding-cross-contamination) +- [Bug 2: VAE Encoder Weights Excluded from Conversion](#bug-2-vae-encoder-weights-excluded-from-conversion) +- [Bug 3: RoPE Frequency Computation](#bug-3-rope-frequency-computation) +- [Bug 4: VAE Encoder Temporal Downsample Order](#bug-4-vae-encoder-temporal-downsample-order) +- [Bug 5: Non-Chunked VAE Encoding](#bug-5-non-chunked-vae-encoding) +- [Verified Correct Components](#verified-correct-components) +- [Performance Optimizations](#performance-optimizations) +- [Open Investigation: CFG Effectiveness](#open-investigation-cfg-effectiveness) +- [Reference Implementation](#reference-implementation) +- [Useful Diagnostic Commands](#useful-diagnostic-commands) + +--- + +## Overview + +The I2V-14B pipeline takes an input image and generates a video using a dual-model diffusion transformer. The initial implementation produced severely broken output — first frame showed the image, subsequent frames degraded to noise, checkerboard artifacts, or flat grey. + +Through a systematic component-by-component comparison against the reference PyTorch implementation, **five bugs** were found and fixed. The approach was to verify each component in isolation numerically, then narrow down failures to the subsystem level. + +### Timeline of Symptoms + +| Stage | Symptom | Root Cause | +|-------|---------|------------| +| Initial | Grey/blurry frames after frame 1 | Non-chunked VAE encoding (Bug 5) | +| After chunked encoding fix | First frame OK, rest degrades to noise | Text embedding cross-contamination (Bug 1) + RoPE frequencies (Bug 3) | +| After text + RoPE fix | Severe 8px checkerboard on frames 4+ | VAE encoder temporal downsample order (Bug 4) | +| After VAE fix | Image in frames 0-3, grey frames 4+ | CFG effectiveness issue (open investigation) | + +--- + +## Architecture Summary + +``` +I2V-14B Pipeline: + Input Image → VAE Encoder → [16, T_lat, H_lat, W_lat] + ↓ + Mask Construction → [4, T_lat, H_lat, W_lat] + ↓ + y = concat(mask, encoded_video) → [20, T_lat, H_lat, W_lat] + ↓ + Noise [16, T_lat, H_lat, W_lat] + y → [36, T_lat, H_lat, W_lat] + ↓ + Dual DiT (40 layers, 5120 dim) × 40 denoising steps + ↓ + Denoised Latent [16, T_lat, H_lat, W_lat] + ↓ + VAE Decoder → Video [3, F, H, W] +``` + +**Key parameters:** +- `in_dim=36` (16 noise + 4 mask + 16 image latents), `out_dim=16` +- Dual model: HIGH noise (t ≥ 900) and LOW noise (t < 900) +- 40 steps, shift=5.0, guide_scale=(3.5, 3.5) +- Uses Wan2.1 VAE (z_dim=16, stride 4×8×8) + +--- + +## Diagnostic Methodology + +### 1. Component-Level Numerical Verification + +Each component was tested in isolation against the reference PyTorch implementation: + +1. **Load identical inputs** (same random seed, same image, same prompt) +2. **Run through reference** (on CPU where possible) and save intermediate tensors as `.npy` +3. **Run through MLX** with the same inputs +4. **Compare outputs** with `np.abs(ours - ref).max()` and relative difference metrics + +Components tested this way: +- RoPE frequency parameters and rotation output +- Time embedding (sinusoidal → MLP → projection) +- Patchify (reshape+Linear vs Conv3d) +- Unpatchify (transpose-based vs einsum) +- Scheduler (UniPC) timesteps and step formulas +- VAE encoder output (frame-by-frame comparison) +- Text embeddings (per-model MLP output) +- Cross-attention K/V cache shapes +- Mask construction values + +### 2. Artifact Analysis + +When visual artifacts appeared, quantitative metrics were used to characterize them: + +- **Checkerboard metric**: Difference between even-indexed and odd-indexed pixels at patch boundaries. Values > 20 indicate visible checkerboard. +- **FFT frequency analysis**: Power at the 8px spatial frequency (matches VAE stride). 3× normal power confirmed VAE-stride-aligned artifacts. +- **Per-frame statistics**: Mean, std, min, max for each decoded video frame to track temporal degradation. +- **Frame difference**: `mean(|frame[i] - frame[i-1]|)` to measure motion vs static content. + +### 3. Isolation Testing + +- **VAE round-trip test**: Encode image+zeros → decode. If clean, VAE decoder is not the source. +- **Single-step model output**: Run one diffusion step and compare cond vs uncond predictions to check CFG effectiveness. +- **Patchify/unpatchify synthetic test**: Pass structured gradient through unpatchify to verify spatial ordering. +- **Resolution sweeps**: Test at 480×272, 640×384, 1280×720 to check resolution dependence. +- **Step count sweeps**: Test at 5, 20, 40 steps to distinguish convergence issues from model bugs. + +### 4. Weight Comparison + +Direct comparison of converted MLX weights against original PyTorch weights: +```python +# Load both weight sets +pt_weights = torch.load("model.safetensors") +mlx_weights = mx.load("model.safetensors") +# Compare each key +for key in pt_weights: + diff = np.abs(np.array(pt_weights[key]) - np.array(mlx_weights[key])).max() +``` +Expected: max diff ≈ 0.001 (bfloat16 rounding). Actual: confirmed for all keys. + +--- + +## Bug 1: Text Embedding Cross-Contamination + +**Symptom:** Model ignores text prompt, generated frames lack semantic content. + +**Root Cause:** For the dual-model architecture (high-noise and low-noise experts), text embeddings were computed using only `low_noise_model.embed_text()` and reused for both models' cross-attention K/V caches. The two models have **different** text embedding MLP weights — 42% relative mean difference in output. + +**How Found:** Compared `text_embedding_0.weight` and `text_embedding_1.weight` between `high_noise_model.safetensors` and `low_noise_model.safetensors`. Found 17.9% and 26.3% relative differences in the weight matrices. + +**Fix:** Compute separate text embeddings per model: +```python +# Before (broken): +context_emb = low_noise_model.embed_text([context, context_null]) +cross_kv = low_noise_model.prepare_cross_kv(context_emb) # used for BOTH models + +# After (correct): +context_emb_low = low_noise_model.embed_text([context, context_null]) +context_emb_high = high_noise_model.embed_text([context, context_null]) +cross_kv_low = low_noise_model.prepare_cross_kv(context_emb_low) +cross_kv_high = high_noise_model.prepare_cross_kv(context_emb_high) +``` + +**File:** `mlx_video/generate_wan.py` (lines 333–349) +**Commit:** `a85b1c21` + +--- + +## Bug 2: VAE Encoder Weights Excluded from Conversion + +**Symptom:** VAE encoder produces constant output regardless of input image (all-zero weights after conversion). + +**Root Cause:** The conversion script only included encoder weights for `model_type == "ti2v"` (TI2V-5B), not for `"i2v"` (I2V-14B). Since `load_vae_encoder()` uses `strict=False`, missing encoder weights were silently ignored, resulting in random initialization. + +**How Found:** Traced through `convert_wan.py` and found `include_encoder = config.model_type == "ti2v"`. Cross-referenced with the fact that I2V-14B also requires a VAE encoder (for image conditioning). + +**Fix:** +```python +# Before: +include_encoder = config.model_type == "ti2v" +# After: +include_encoder = config.model_type in ("ti2v", "i2v") +``` + +**Note:** The user's specific model happened to be manually converted with encoder weights already present, so this fix was preventive for future conversions. + +**File:** `mlx_video/convert_wan.py` (line 424) + +--- + +## Bug 3: RoPE Frequency Computation + +**Symptom:** Progressive 2px checkerboard artifacts on generated frames, increasing with temporal distance from the conditioned frame. + +**Root Cause:** The reference creates **one** frequency table via `rope_params(1024, head_dim=128)` producing 64 frequency exponents, which `rope_apply` then splits into temporal (22), height (21), and width (21) portions. This gives temporal axes LOW frequencies and spatial axes progressively HIGHER frequencies. + +Our code called `rope_params` **three times** with different normalizations: +```python +# WRONG: each axis gets full frequency range [0, 1) +freqs_t = rope_params(1024, d_t=44) # 22 exponents normalized by 44 +freqs_h = rope_params(1024, d_h=42) # 21 exponents normalized by 42 +freqs_w = rope_params(1024, d_w=42) # 21 exponents normalized by 42 +``` + +The max frequency difference was ~1.0 (not a precision issue — a fundamental design bug). This affected **all** Wan models (T2V, I2V, TI2V). + +**How Found:** Line-by-line comparison of `rope_params` usage between reference `model.py` (single call) and our `model.py` (three calls). Printed the actual frequency exponents to confirm the numerical divergence. + +**Fix:** +```python +# Single unified frequency table, split by rope_apply +self.freqs = rope_params(1024, dim // config.num_heads) +``` + +**Impact:** ~35% reduction in checkerboard metric, 55% reduction in FFT 8px-frequency power. + +**File:** `mlx_video/models/wan/model.py` (lines 154–156) +**Commit:** `3da4a637` + +--- + +## Bug 4: VAE Encoder Temporal Downsample Order + +**Symptom:** Massive checkerboard artifacts aligned to VAE spatial stride (8px period). VAE encoder output for frames 1–4 showed decreasing std (0.37→1.19) while reference showed stable std (0.95→1.34). + +**Root Cause:** The VAE encoder has 3 downsampling stages. Two perform spatial+temporal downsampling (`downsample3d`) and one performs spatial-only (`downsample2d`). The order matters: + +``` +Reference: [False, True, True] → stage 0: 2d, stage 1: 3d, stage 2: 3d +Ours: [True, True, False] → stage 0: 3d, stage 1: 3d, stage 2: 2d ← WRONG +``` + +This caused temporal downsampling to happen at the wrong resolution stages (96-dim instead of 384-dim), corrupting temporal feature propagation. + +**How Found:** Installed `einops` in the reference environment and ran the reference PyTorch VAE encoder on CPU. Compared frame-by-frame latent output: +- Frame 0 matched exactly (diff=0.0000) — spatial-only processing was correct +- Frames 1–4 had massive differences — proved temporal processing was broken + +Then traced through the reference `_video_vae()` function and found it sets `temperal_downsample=[False, True, True]`, while our `Encoder3d` class used the wrong default `[True, True, False]`. + +**Fix:** +```python +# In Encoder3d.__init__, change default: +temporal_downsample = [False, True, True] # was [True, True, False] +``` + +**Impact:** Encoder output now matches reference within float32 precision (max_diff=2.2e-5). Checkerboard metric dropped from 60–80 to 0.1–7.7. + +**File:** `mlx_video/models/wan/vae.py` (line 370) +**Commit:** `3da4a637` + +--- + +## Bug 5: Non-Chunked VAE Encoding + +**Symptom:** First 4–5 frames grey, then blurred version of image appears. + +**Root Cause:** The reference VAE encoder uses **chunked encoding** with temporal caching (`feat_cache`): +1. Encode first frame alone (1 frame) +2. Encode remaining frames in chunks of 4, with cached temporal features propagating across chunks +3. Each `CausalConv3d` caches last 2 temporal frames from its output, prepending them to the next chunk's input + +Our original implementation encoded all frames at once with zero-padded causal convolutions. The temporal feature propagation is fundamentally different because: +- Chunked: real features from previous chunks serve as causal context +- Non-chunked: zeros serve as causal context for the start + +**How Found:** Studied the reference `CausalConv3d` caching mechanism (`feat_cache`, `feat_idx`) and traced the temporal dimension through all encoding stages. Confirmed that non-chunked encoding produces different output by comparing tensor shapes and values. + +**Fix:** Implemented full chunked encoding with temporal caching: +- Added `cache_x` parameter to `CausalConv3d.__call__` +- Added `feat_cache`/`feat_idx` propagation to `ResidualBlock`, `Resample`, `Encoder3d` +- Rewrote `WanVAE.encode()` with chunked loop (1-frame first chunk, then 4-frame chunks) +- 24 cache slots across the encoder (1 conv1 + 18 downsamples + 4 middle + 1 head) + +**File:** `mlx_video/models/wan/vae.py` (multiple methods) +**Commit:** `b6a94c4c` + +--- + +## Verified Correct Components + +These components were numerically verified against the reference and are **not** sources of bugs: + +| Component | Method | Max Diff | Notes | +|-----------|--------|----------|-------| +| Weight conversion | Direct tensor comparison | ~0.001 | bfloat16 rounding only | +| RoPE rotation | Standalone comparison (float32 vs float64) | 1.3e-5 | Complex vs real multiplication equivalent | +| Time embedding | Full MLP comparison (sinusoidal→embed→project) | 7e-4 | 0.03% relative | +| Patchify | Conv3d vs reshape+Linear | 3.5e-3 | 0.16% relative | +| Unpatchify | einsum vs transpose(6,0,3,1,4,2,5) | exact | Identical operation | +| Scheduler (UniPC) | Formula-level audit + timestep comparison | exact | Predictor, corrector, lambda, rhos all match | +| Mask construction | Value comparison | exact | [4, T_lat, H_lat, W_lat], first temporal=1 | +| CFG formula | Code audit | — | `uncond + gs * (cond - uncond)` correct order | +| VAE decoder | Round-trip test (encode→decode) | clean | No checkerboard in round-trip output | +| Cross-attention K/V | Shape and value audit | — | Batch dimension preserved correctly | + +--- + +## Performance Optimizations + +Applied alongside bug fixes to improve inference speed: + +### Pre-Computation (Before Diffusion Loop) +- **Cross-attention K/V caching**: Precompute K/V projections for all 40 blocks once +- **RoPE cos/sin precomputation**: Build frequency tensors once instead of per-step broadcast/concat +- **Attention mask precomputation**: Build padding mask once, pass via kwargs +- **Inverse frequency caching**: Store sinusoidal `inv_freq` in `__init__` instead of recomputing +- **Timestep list conversion**: `sched.timesteps.tolist()` before loop to avoid `.item()` sync + +### Per-Step Optimizations +- **Single patchify + broadcast for CFG B=2**: Detect identical batch inputs, patchify once and broadcast instead of duplicating the Linear projection +- **Vectorized RoPE**: When all batch elements share the same grid size, apply rotation to the full batch tensor instead of looping per element +- **Redundant type cast removal**: MLX type promotion handles `bfloat16 * float32 → float32` automatically — removed 240 unnecessary graph nodes per step (6 casts × 40 blocks) +- **Euler scheduler sync fix**: Pre-store sigmas as Python floats to avoid `.item()` evaluation sync + +### TeaCache Integration +- Polynomial rescaling stays in MLX lazy graph (Horner's method) +- Single `.item()` call on the accumulated distance for the skip/compute decision +- Configurable threshold, retention steps, and cutoff steps + +--- + +## Open Investigation: CFG Effectiveness + +**Current symptom:** After all bug fixes, generated video shows the input image in frames 0–3 (latent frame 0), then grey/flat frames for the rest. + +**Finding:** A single forward pass at t=1000 shows cond and uncond predictions are nearly identical (|diff| mean = 0.01–0.035). With `guide_scale=3.5`, the CFG guidance term barely changes anything. + +**Possible causes under investigation:** +1. Cross-attention context flow — both cond and uncond may be receiving equivalent context +2. The model may genuinely produce small cond/uncond differences for I2V (since both share the same y conditioning) +3. The `embed_text` method or `prepare_cross_kv` may not properly separate B=2 batch elements +4. There may be an issue with how cross-attention K/V caches index into batch elements + +**Diagnostic approach:** Compare cross-attention K/V cache values between cond (index 0) and uncond (index 1) to confirm they contain different embeddings. + +--- + +## Reference Implementation + +The reference PyTorch implementation is at `/Users/daniel/Projects/Wan2.2/`: + +| File | Contents | +|------|----------| +| `wan/image2video.py` | I2V pipeline (y construction, mask, diffusion loop) | +| `wan/modules/model.py` | DiT model (forward pass, RoPE, patchify) | +| `wan/modules/vae2_1.py` | VAE encoder/decoder with chunked encoding | +| `wan/utils/fm_solvers_unipc.py` | UniPC scheduler | +| `wan/configs/wan_i2v_A14B.py` | Model configuration | + +Key structural differences between reference and our implementation: +- Reference runs **separate B=1 forward passes** for cond/uncond; we batch as B=2 +- Reference uses `torch.amp.autocast('cuda', dtype=bfloat16)` with explicit float32 blocks; we cast via weight dtype +- Reference uses `Conv3d` for patchify; we use equivalent `reshape + Linear` +- Reference casts timesteps to `int64`; we keep as float (diff < 1.0) + +--- + +## Useful Diagnostic Commands + +### Run I2V-14B generation +```bash +python -m mlx_video.generate_wan \ + --prompt "A woman smiles at camera" \ + --image start.png \ + --model-dir /Volumes/SSD/Wan-AI/Wan2.2-I2V-A14B-MLX \ + --num-frames 17 --steps 40 \ + --height 384 --width 640 \ + --output output_i2v.mp4 +``` + +### Check VAE encoder output +```python +import mlx.core as mx, numpy as np +from mlx_video.models.wan.vae import WanVAE +# Load VAE and encode an image +latents = vae.encode(video_tensor) # [1, 16, T_lat, H_lat, W_lat] +for t in range(latents.shape[2]): + frame = np.array(latents[0, :, t]) + print(f"Frame {t}: mean={frame.mean():.4f} std={frame.std():.4f}") +``` + +### Analyze video frame quality +```python +import cv2, numpy as np +cap = cv2.VideoCapture("output.mp4") +while True: + ret, frame = cap.read() + if not ret: break + # Checkerboard metric: high values indicate patch-boundary artifacts + checker = np.abs(frame[::2, ::2].astype(float) - frame[1::2, 1::2].astype(float)).mean() + print(f"std={frame.std():.1f} checker={checker:.1f}") +``` + +### Compare weights between PyTorch and MLX +```python +import torch, mlx.core as mx, numpy as np +pt = torch.load("model.pt", map_location="cpu") +mlx_w = mx.load("model.safetensors") +for key in sorted(pt.keys()): + if key in mlx_w: + diff = np.abs(pt[key].float().numpy() - np.array(mlx_w[key])).max() + if diff > 0.01: + print(f"LARGE DIFF {key}: {diff:.6f}") +``` diff --git a/docs/wan22-implementation-notes.md b/docs/wan22-implementation-notes.md index a46f6bc..186aabb 100644 --- a/docs/wan22-implementation-notes.md +++ b/docs/wan22-implementation-notes.md @@ -1,6 +1,6 @@ # Wan2.2 MLX Implementation Notes -> Learnings and key decisions from porting Wan2.2 (TI2V-5B / T2V-14B / T2V-1.3B) to Apple MLX. +> Learnings and key decisions from porting Wan2.2 (TI2V-5B / T2V-14B / I2V-14B / T2V-1.3B) to Apple MLX. ## Architecture Overview @@ -8,11 +8,12 @@ Wan2.2 is a Diffusion Transformer (DiT) for video generation. Despite early repo ### Key Parameters -| Model | dim | heads | layers | FFN mult | VAE z_dim | VAE stride | -|-------|-----|-------|--------|----------|-----------|------------| -| T2V-14B | 5120 | 40 | 40 | 4×(5120×4/3) | 16 | (4, 8, 8) | -| TI2V-5B | 3072 | 24 | 32 | 4×(3072×4/3) | 48 | (4, 16, 16) | -| T2V-1.3B | 1536 | 12 | 30 | 4×(1536×4/3) | 16 | (4, 8, 8) | +| Model | dim | heads | layers | FFN mult | VAE z_dim | VAE stride | in_dim | +|-------|-----|-------|--------|----------|-----------|------------|--------| +| T2V-14B | 5120 | 40 | 40 | 4×(5120×4/3) | 16 | (4, 8, 8) | 16 | +| I2V-14B | 5120 | 40 | 40 | 4×(5120×4/3) | 16 | (4, 8, 8) | 36 | +| TI2V-5B | 3072 | 24 | 32 | 4×(3072×4/3) | 48 | (4, 16, 16) | 48 | +| T2V-1.3B | 1536 | 12 | 30 | 4×(1536×4/3) | 16 | (4, 8, 8) | 16 | ### Codebase Structure (~3900 lines of Wan2.2 code) @@ -139,9 +140,11 @@ Default shifts: T2V-14B uses 5.0, TI2V-5B uses 3.0, T2V-1.3B uses 3.0. --- -## Image-to-Video (I2V) Pipeline +## Image-to-Video (I2V) Pipelines -### Per-Token Timesteps +Wan2.2 supports two distinct I2V approaches: + +### TI2V-5B: Per-Token Timestep Masking I2V conditions on a reference first frame by giving first-frame latent patches a timestep of 0 (clean) while other patches get the current diffusion timestep: @@ -152,7 +155,7 @@ t_tokens = mask_tokens * current_timestep # first-frame → t=0 The model receives 2D timestep input `[B, L]` instead of scalar, enabling per-token noise levels. -### Mask Re-application +#### Mask Re-application After each scheduler step, the first-frame latent is re-injected to prevent drift: @@ -160,7 +163,7 @@ After each scheduler step, the first-frame latent is re-injected to prevent drif latents = (1.0 - mask) * z_img + mask * latents ``` -### VAE Encoder Temporal Downsample Order +#### VAE Encoder Temporal Downsample Order The Wan2.2 VAE encoder has `temporal_downsample = (False, True, True)`: - Stage 0: Spatial-only downsampling @@ -168,6 +171,22 @@ The Wan2.2 VAE encoder has `temporal_downsample = (False, True, True)`: This was incorrectly set to `(True, True, False)` initially, causing wrong spatial processing paths. +### I2V-14B: Channel Concatenation + +The I2V-14B model uses a fundamentally different approach — channel concatenation via a `y` tensor: + +1. **Encode image**: Resize to target (H, W), create video tensor with image as first frame + zeros → VAE encode through Wan2.1 encoder → `[16, T_lat, H_lat, W_lat]` +2. **Build mask**: Binary mask with 1 for first frame, 0 for rest → rearranged to `[4, T_lat, H_lat, W_lat]` +3. **Construct y**: `y = concat([mask_4ch, encoded_16ch])` → `[20, T_lat, H_lat, W_lat]` +4. **Channel concat in model**: Before patchify, `x = concat([noise_16ch, y_20ch])` → 36 channels matching `in_dim=36` + +Key differences from TI2V-5B: +- Uses **Wan2.1 VAE** (z_dim=16, stride 4,8,8), not Wan2.2 VAE +- Requires the **VAE encoder** (for encoding the reference image) +- Uses **scalar timesteps** (same as T2V) — no per-token masking +- **Dual model** pipeline with boundary=0.900 +- Both conditional and unconditional predictions receive the same `y` tensor + --- ## Dimension Constraints @@ -233,7 +252,7 @@ The T2V-14B uses dual models (high-noise and low-noise). The conversion script s ## Testing Strategy -260 tests across 9 files, all running in ~4 seconds: +332 tests across 10 files, all running in ~5 seconds: | File | Focus | |------|-------| @@ -246,6 +265,7 @@ The T2V-14B uses dual models (high-noise and low-noise). The conversion script s | test_wan_scheduler.py | All 3 schedulers, cross-scheduler coherence | | test_wan_convert.py | Weight sanitization and conversion | | test_wan_generate.py | End-to-end pipeline, I2V masks, dimension alignment | +| test_wan_i2v.py | I2V-14B config, y parameter, VAE encoder, mask construction | Tests use a tiny config (`dim=64, heads=2, layers=2`) for fast execution. Cross-scheduler coherence tests verify that all three schedulers produce similar outputs from the same noise. diff --git a/mlx_video/convert_wan.py b/mlx_video/convert_wan.py index e9db2aa..f3f9037 100644 --- a/mlx_video/convert_wan.py +++ b/mlx_video/convert_wan.py @@ -316,6 +316,14 @@ def convert_wan_checkpoint( def _detect_config(): """Detect config from source config.json or transformer weight shapes.""" if is_dual: + # Check source config.json for model_type (I2V vs T2V) + src_cfg_path = checkpoint_dir / "high_noise_model" / "config.json" + if src_cfg_path.exists(): + with open(src_cfg_path) as f: + src_config = json.load(f) + src_model_type = src_config.get("model_type", "t2v") + if src_model_type == "i2v" or src_config.get("in_dim") == 36: + return WanModelConfig.wan22_i2v_14b() return WanModelConfig.wan22_t2v_14b() # Try reading source config.json first (most reliable) @@ -413,7 +421,7 @@ def convert_wan_checkpoint( weights = load_torch_weights(str(vae_path)) if is_wan22_vae: from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights - include_encoder = config.model_type == "ti2v" + include_encoder = config.model_type in ("ti2v", "i2v") weights = sanitize_wan22_vae_weights(weights, include_encoder=include_encoder) else: weights = sanitize_wan_vae_weights(weights) diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index 37501fe..1bd4fe7 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -245,24 +245,71 @@ def generate_video( z_img = None i2v_mask = None i2v_mask_tokens = None + y_i2v = None + is_i2v_channel_concat = is_i2v and config.model_type == "i2v" + is_i2v_mask_blend = is_i2v and config.model_type != "i2v" if is_i2v: print(f"\n{Colors.BLUE}Encoding input image...{Colors.RESET}") t_img = time.time() - img_tensor = preprocess_image(image, width, height) - mx.eval(img_tensor) vae_path = model_dir / "vae.safetensors" - vae_enc = load_vae_encoder(vae_path, config) - z_img = vae_enc(img_tensor) # [1, 1, H_lat, W_lat, z_dim] - mx.eval(z_img) - # Convert to channels-first: [z_dim, 1, H_lat, W_lat] - z_img = z_img[0].transpose(3, 0, 1, 2) + if is_i2v_channel_concat: + # I2V-14B: encode full video (first frame = image, rest = zeros) + # and construct y tensor with mask + encoded latents + from PIL import Image - # Build I2V mask - i2v_mask, i2v_mask_tokens = build_i2v_mask(target_shape, config.patch_size) + img = Image.open(image).convert("RGB") + scale = max(width / img.width, height / img.height) + img = img.resize((round(img.width * scale), round(img.height * scale)), Image.LANCZOS) + x1, y1 = (img.width - width) // 2, (img.height - height) // 2 + img = img.crop((x1, y1, x1 + width, y1 + height)) + img_arr = mx.array(np.array(img, dtype=np.float32) / 255.0 * 2.0 - 1.0) # [H, W, 3] + img_chw = img_arr.transpose(2, 0, 1) # [3, H, W] + + # Build video: first frame = image, rest = zeros -> [3, F, H, W] + # Chunked encoding processes 1-frame + 4-frame chunks with temporal caching + video = mx.concatenate([ + img_chw[:, None, :, :], + mx.zeros((3, num_frames - 1, height, width)), + ], axis=1) + + # Encode through Wan2.1 VAE -> [1, z_dim, T_lat, H_lat, W_lat] + vae_enc = load_vae_encoder(vae_path, config) + z_video = vae_enc.encode(video[None]) # [1, 16, T_lat, H_lat, W_lat] + mx.eval(z_video) + z_video = z_video[0] # [16, T_lat, H_lat, W_lat] + + # Build mask: 1 for first frame, 0 for rest -> rearrange to [4, T_lat, H, W] + msk = mx.ones((1, num_frames, h_latent, w_latent)) + msk = mx.concatenate([msk[:, :1], mx.zeros((1, num_frames - 1, h_latent, w_latent))], axis=1) + # Repeat first frame 4x, concat rest: [1, 4 + (F-1), H_lat, W_lat] + msk = mx.concatenate([ + mx.repeat(msk[:, :1], 4, axis=1), + msk[:, 1:], + ], axis=1) + # Reshape to [1, T_lat, 4, H_lat, W_lat] then transpose -> [4, T_lat, H_lat, W_lat] + msk = msk.reshape(1, msk.shape[1] // 4, 4, h_latent, w_latent) + msk = msk.transpose(0, 2, 1, 3, 4)[0] # [4, T_lat, H_lat, W_lat] + + # y = concat([mask, encoded_video]) -> [20, T_lat, H_lat, W_lat] + y_i2v = mx.concatenate([msk, z_video], axis=0) + mx.eval(y_i2v) + + del vae_enc, img_arr, img_chw, video, z_video, msk + else: + # TI2V-5B: encode single image, blend with noise via mask + img_tensor = preprocess_image(image, width, height) + mx.eval(img_tensor) + + vae_enc = load_vae_encoder(vae_path, config) + z_img = vae_enc(img_tensor) # [1, 1, H_lat, W_lat, z_dim] + mx.eval(z_img) + z_img = z_img[0].transpose(3, 0, 1, 2) # [z_dim, 1, H_lat, W_lat] + i2v_mask, i2v_mask_tokens = build_i2v_mask(target_shape, config.patch_size) + + del vae_enc, img_tensor - del vae_enc, img_tensor gc.collect(); mx.clear_cache() print(f"{Colors.DIM} Image encoding: {time.time() - t_img:.1f}s{Colors.RESET}") @@ -282,23 +329,40 @@ def generate_video( print(f"{Colors.DIM} Models loaded: {time.time() - t2:.1f}s{Colors.RESET}") # Precompute text embeddings once (avoids redundant MLP in every step) - ref_model = single_model if not is_dual else low_noise_model - context_emb = ref_model.embed_text([context, context_null]) - mx.eval(context_emb) - context_cond = context_emb[0:1] # [1, text_len, dim] - context_uncond = context_emb[1:2] # [1, text_len, dim] - # Stack for batched CFG: [2, text_len, dim] - context_cfg = mx.concatenate([context_cond, context_uncond], axis=0) + # Each model has its own text_embedding weights, so dual models need separate embeddings + if is_dual: + context_emb_low = low_noise_model.embed_text([context, context_null]) + context_emb_high = high_noise_model.embed_text([context, context_null]) + mx.eval(context_emb_low, context_emb_high) + context_cfg_low = mx.concatenate([context_emb_low[0:1], context_emb_low[1:2]], axis=0) + context_cfg_high = mx.concatenate([context_emb_high[0:1], context_emb_high[1:2]], axis=0) + else: + context_emb = single_model.embed_text([context, context_null]) + mx.eval(context_emb) + context_cfg = mx.concatenate([context_emb[0:1], context_emb[1:2]], axis=0) # Precompute cross-attention K/V caches (constant across all steps) if is_dual: - cross_kv_low = low_noise_model.prepare_cross_kv(context_cfg) - cross_kv_high = high_noise_model.prepare_cross_kv(context_cfg) + cross_kv_low = low_noise_model.prepare_cross_kv(context_cfg_low) + cross_kv_high = high_noise_model.prepare_cross_kv(context_cfg_high) mx.eval(cross_kv_low, cross_kv_high) else: cross_kv = single_model.prepare_cross_kv(context_cfg) mx.eval(cross_kv) + # Precompute RoPE frequencies (grid sizes are constant across all steps) + f_grid = t_latent // patch_size[0] + h_grid = h_latent // patch_size[1] + w_grid = w_latent // patch_size[2] + cfg_grid_sizes = [(f_grid, h_grid, w_grid), (f_grid, h_grid, w_grid)] + if is_dual: + rope_cos_sin_low = low_noise_model.prepare_rope(cfg_grid_sizes) + rope_cos_sin_high = high_noise_model.prepare_rope(cfg_grid_sizes) + mx.eval(rope_cos_sin_low, rope_cos_sin_high) + else: + rope_cos_sin = ref_model.prepare_rope(cfg_grid_sizes) + mx.eval(rope_cos_sin) + # Setup scheduler _schedulers = { "euler": FlowMatchEulerScheduler, @@ -312,9 +376,8 @@ def generate_video( # Generate initial noise noise = mx.random.normal(target_shape) - # I2V: blend first-frame latent into noise - if is_i2v: - # Broadcast z_img [z_dim, 1, H, W] across T for first-frame conditioning + # I2V initialization: TI2V-5B blends image with noise, I2V-14B uses pure noise + if is_i2v_mask_blend: latents = (1.0 - i2v_mask) * z_img + i2v_mask * noise else: latents = noise @@ -326,26 +389,32 @@ def generate_video( print(f"\n{Colors.GREEN}Denoising ({steps} steps)...{Colors.RESET}") t3 = time.time() - for i, t in enumerate(tqdm(range(steps), desc="Diffusion")): - timestep_val = sched.timesteps[i].item() + # Pre-convert timesteps to Python list to avoid .item() sync each step + timestep_list = sched.timesteps.tolist() - # Select model, guide scale, and cached K/V + for i, t in enumerate(tqdm(range(steps), desc="Diffusion")): + timestep_val = timestep_list[i] + + # Select model, guide scale, cached K/V, and precomputed RoPE if is_dual: if timestep_val >= boundary: model = high_noise_model gs = guide_scale[1] kv = cross_kv_high + rcs = rope_cos_sin_high else: model = low_noise_model gs = guide_scale[0] kv = cross_kv_low + rcs = rope_cos_sin_low else: model = single_model gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] kv = cross_kv + rcs = rope_cos_sin - # Build per-token timesteps for I2V (first-frame patches get t=0) - if is_i2v: + # Build per-token timesteps for TI2V-5B (first-frame patches get t=0) + if is_i2v_mask_blend: t_tokens = i2v_mask_tokens * timestep_val # [1, L] # Pad to seq_len if needed pad_len = seq_len - t_tokens.shape[1] @@ -358,22 +427,31 @@ def generate_video( else: t_batch = mx.array([timestep_val, timestep_val]) + # I2V-14B: pass y conditioning to model (same y for cond and uncond) + y_arg = [y_i2v, y_i2v] if is_i2v_channel_concat else None + # CFG: batch cond + uncond into single B=2 forward pass + ctx = context_cfg if not is_dual else ( + context_cfg_high if timestep_val >= boundary else context_cfg_low + ) preds = model( [latents, latents], t=t_batch, - context=context_cfg, + context=ctx, seq_len=seq_len, cross_kv_caches=kv, + y=y_arg, + rope_cos_sin=rcs, ) noise_pred_cond, noise_pred_uncond = preds[0], preds[1] # Classifier-free guidance + scheduler step noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) + latents = sched.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) - # I2V: re-apply mask to keep first frame frozen - if is_i2v: + # TI2V-5B: re-apply mask to keep first frame frozen + if is_i2v_mask_blend: latents = (1.0 - i2v_mask) * z_img + i2v_mask * latents # Release temporaries before eval to free memory for graph execution @@ -385,9 +463,11 @@ def generate_video( # Free transformer models and text embeddings if is_dual: del low_noise_model, high_noise_model, cross_kv_low, cross_kv_high + del context_cfg_low, context_cfg_high else: del single_model, cross_kv - del model, kv, context, context_null, context_cfg + del context_cfg + del model, kv, context, context_null gc.collect(); mx.clear_cache() # Load VAE and decode diff --git a/mlx_video/models/wan/attention.py b/mlx_video/models/wan/attention.py index 0cab5bb..e3fe24a 100644 --- a/mlx_video/models/wan/attention.py +++ b/mlx_video/models/wan/attention.py @@ -67,6 +67,8 @@ class WanSelfAttention(nn.Module): seq_lens: list, grid_sizes: list, freqs: mx.array, + rope_cos_sin: tuple | None = None, + attn_mask: mx.array | None = None, ) -> mx.array: b, s, _ = x.shape n, d = self.num_heads, self.head_dim @@ -87,19 +89,18 @@ class WanSelfAttention(nn.Module): v = self.v(x_w).reshape(b, s, n, d) # RoPE in float32 for precision (official uses float64) - q = rope_apply(q.astype(mx.float32), grid_sizes, freqs) - k = rope_apply(k.astype(mx.float32), grid_sizes, freqs) + q = rope_apply(q.astype(mx.float32), grid_sizes, freqs, precomputed_cos_sin=rope_cos_sin) + k = rope_apply(k.astype(mx.float32), grid_sizes, freqs, precomputed_cos_sin=rope_cos_sin) # Cast back to weight dtype for efficient attention (matching official q.to(v.dtype)) q = q.astype(w_dtype).transpose(0, 2, 1, 3) k = k.astype(w_dtype).transpose(0, 2, 1, 3) v = v.transpose(0, 2, 1, 3) - # Build attention mask from seq_lens - max_len = s - mask = None - if any(sl < max_len for sl in seq_lens): - mask = mx.zeros((b, 1, 1, max_len), dtype=q.dtype) + # Use precomputed mask or build from seq_lens + mask = attn_mask + if mask is None and any(sl < s for sl in seq_lens): + mask = mx.zeros((b, 1, 1, s), dtype=q.dtype) for i, sl in enumerate(seq_lens): mask[i, :, :, sl:] = -1e9 diff --git a/mlx_video/models/wan/config.py b/mlx_video/models/wan/config.py index cae72d2..08370d4 100644 --- a/mlx_video/models/wan/config.py +++ b/mlx_video/models/wan/config.py @@ -91,6 +91,19 @@ class WanModelConfig(BaseModelConfig): """Wan2.2 T2V 14B: dual model, 40 layers, dim=5120 (default).""" return cls() + @classmethod + def wan22_i2v_14b(cls) -> "WanModelConfig": + """Wan2.2 I2V 14B: dual model, image-to-video, 40 layers, dim=5120.""" + return cls( + model_type="i2v", + in_dim=36, + out_dim=16, + dual_model=True, + boundary=0.900, + sample_shift=5.0, + sample_guide_scale=(3.5, 3.5), + ) + @classmethod def wan22_ti2v_5b(cls) -> "WanModelConfig": """Wan2.2 TI2V 5B: text+image to video, 30 layers, dim=3072.""" diff --git a/mlx_video/models/wan/loading.py b/mlx_video/models/wan/loading.py index 8acc770..4ef795b 100644 --- a/mlx_video/models/wan/loading.py +++ b/mlx_video/models/wan/loading.py @@ -87,16 +87,23 @@ def load_vae_decoder(model_path: Path, config=None): def load_vae_encoder(model_path: Path, config=None): """Load VAE encoder for I2V image encoding. - Only supports Wan2.2 (vae_z_dim=48). + For Wan2.2 TI2V (vae_z_dim=48), uses Wan22VAEEncoder. + For Wan2.1/I2V-14B (vae_z_dim=16), uses WanVAE with encoder=True. """ - from mlx_video.models.wan.vae22 import Wan22VAEEncoder + if config is not None and config.vae_z_dim == 16: + from mlx_video.models.wan.vae import WanVAE + + vae = WanVAE(z_dim=16, encoder=True) + else: + from mlx_video.models.wan.vae22 import Wan22VAEEncoder + + vae = Wan22VAEEncoder(z_dim=config.vae_z_dim if config else 48) - encoder = Wan22VAEEncoder(z_dim=config.vae_z_dim) weights = mx.load(str(model_path)) weights = {k: v.astype(mx.float32) for k, v in weights.items()} - encoder.load_weights(list(weights.items()), strict=False) - mx.eval(encoder.parameters()) - return encoder + vae.load_weights(list(weights.items()), strict=False) + mx.eval(vae.parameters()) + return vae def _clean_text(text: str) -> str: diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index f3689ec..b253fb3 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -6,7 +6,7 @@ import numpy as np from .attention import WanLayerNorm from .config import WanModelConfig -from .rope import rope_params +from .rope import rope_params, rope_precompute_cos_sin from .transformer import WanAttentionBlock @@ -38,7 +38,7 @@ class Head(nn.Module): proj_dim = math.prod(patch_size) * out_dim self.norm = WanLayerNorm(dim, eps) self.head = nn.Linear(dim, proj_dim) - self.modulation = mx.random.normal((1, 2, dim)) * (dim**-0.5) + self.modulation = (mx.random.normal((1, 2, dim)) * (dim**-0.5)).astype(mx.float32) def __call__(self, x: mx.array, e: mx.array) -> mx.array: """ @@ -48,14 +48,13 @@ class Head(nn.Module): """ if e.ndim == 2: e = e[:, None, :] # [B, 1, dim] - e_f32 = e.astype(mx.float32) - # modulation [1, 2, dim] broadcasts with e [B, 1/L, dim] via unsqueeze - mod = self.modulation.astype(mx.float32)[:, None, :, :] + e_f32[:, :, None, :] # [B, L_e, 2, dim] + # modulation already float32; e already float32 from model forward + mod = self.modulation[:, None, :, :] + e[:, :, None, :] # [B, L_e, 2, dim] e0 = mod[:, :, 0, :] # [B, L_e, dim] shift e1 = mod[:, :, 1, :] # [B, L_e, dim] scale - x_norm = self.norm(x).astype(mx.float32) - x_mod = x_norm * (1 + e1) + e0 # broadcasts over L if L_e==1 - return self.head(x_mod.astype(x.dtype)) + x_norm = self.norm(x) + x_mod = x_norm * (1 + e1) + e0 # type promotion handles bf16→f32 + return self.head(x_mod.astype(self.head.weight.dtype)) class WanModel(nn.Module): @@ -109,17 +108,16 @@ class WanModel(nn.Module): # Output head self.head = Head(dim, config.out_dim, config.patch_size, config.eps) - # Precompute RoPE frequencies - d = dim // config.num_heads - d_t = d - 4 * (d // 6) - d_h = 2 * (d // 6) - d_w = 2 * (d // 6) - # Each rope_params returns [1024, d_x//2, 2] - freqs_t = rope_params(1024, d_t) - freqs_h = rope_params(1024, d_h) - freqs_w = rope_params(1024, d_w) - # Concatenate along the frequency dimension: [1024, d//2, 2] - self.freqs = mx.concatenate([freqs_t, freqs_h, freqs_w], axis=1) + # Precompute RoPE frequencies — single table, split by rope_apply + # Reference computes one rope_params(head_dim) and splits into t/h/w. + self.freqs = rope_params(1024, dim // config.num_heads) + + # Precompute sinusoidal inv_freq for time embedding + half = config.freq_dim // 2 + self._inv_freq = mx.power( + 10000.0, -mx.arange(half).astype(mx.float32) / half + ) + def _patchify(self, x: mx.array) -> tuple: """Convert video tensor to patch embeddings. @@ -215,6 +213,21 @@ class WanModel(nn.Module): kv_caches.append(block.cross_attn.prepare_kv(context)) return kv_caches + def prepare_rope(self, grid_sizes: list) -> tuple: + """Pre-compute RoPE cos/sin for constant grid sizes. + + Call once before the diffusion loop when grid sizes don't change + across steps. Eliminates per-step broadcast/concat overhead. + + Args: + grid_sizes: List of (F, H, W) tuples per batch element + + Returns: + (cos_f, sin_f) precomputed frequency tensors + """ + w_dtype = self.patch_embedding_proj.weight.dtype + return rope_precompute_cos_sin(grid_sizes, self.freqs, dtype=w_dtype) + def __call__( self, x_list: list, @@ -222,6 +235,8 @@ class WanModel(nn.Module): context: list | mx.array, seq_len: int, cross_kv_caches: list | None = None, + y: list | None = None, + rope_cos_sin: tuple | None = None, ) -> list: """Forward pass. @@ -233,42 +248,70 @@ class WanModel(nn.Module): seq_len: Maximum sequence length for padding cross_kv_caches: Optional list of (k, v) tuples from prepare_cross_kv(), one per block. + y: Optional list of conditioning tensors for I2V [C_y, F, H, W]. + Channel-concatenated with x before patchify. + rope_cos_sin: Optional precomputed (cos, sin) from prepare_rope(). Returns: List of denoised tensors [C, F, H, W] """ - # Patchify each video - patches = [] - grid_sizes = [] - seq_lens_list = [] - for vid in x_list: - p, gs = self._patchify(vid) # [1, L, dim] - patches.append(p) - grid_sizes.append(gs) - seq_lens_list.append(p.shape[1]) + # Detect identical inputs (CFG B=2) to avoid duplicate patchify work. + # Check BEFORE I2V concat since concat creates new array objects. + batch_size = len(x_list) + all_same = batch_size > 1 and all( + x_list[i] is x_list[0] for i in range(1, batch_size) + ) + if all_same and y is not None: + all_same = all(y[i] is y[0] for i in range(1, len(y))) - # Pad and batch - batch_size = len(patches) - x = mx.concatenate( - [ - mx.concatenate( + # I2V: channel-concatenate conditioning y with noise x + if y is not None: + x_list = [mx.concatenate([u, v], axis=0) for u, v in zip(x_list, y)] + + if all_same: + # Patchify once and broadcast — saves a Linear projection per step + p, gs = self._patchify(x_list[0]) # [1, L, dim] + grid_sizes = [gs] * batch_size + seq_lens_list = [p.shape[1]] * batch_size + # Pad and broadcast + if p.shape[1] < seq_len: + p = mx.concatenate( [p, mx.zeros((1, seq_len - p.shape[1], self.dim), dtype=p.dtype)], axis=1, ) - if p.shape[1] < seq_len - else p - for p in patches - ], - axis=0, - ) # [B, seq_len, dim] + x = mx.broadcast_to(p, (batch_size,) + p.shape[1:]) + else: + patches = [] + grid_sizes = [] + seq_lens_list = [] + for vid in x_list: + p, gs = self._patchify(vid) # [1, L, dim] + patches.append(p) + grid_sizes.append(gs) + seq_lens_list.append(p.shape[1]) + x = mx.concatenate( + [ + mx.concatenate( + [p, mx.zeros((1, seq_len - p.shape[1], self.dim), dtype=p.dtype)], + axis=1, + ) + if p.shape[1] < seq_len + else p + for p in patches + ], + axis=0, + ) # [B, seq_len, dim] - # Time embedding + # Time embedding (use cached inv_freq to avoid recomputing each step) if t.ndim == 0: t = t[None] + pos = t.astype(mx.float32) + sinusoid = pos[..., None] * self._inv_freq + sin_emb = mx.concatenate([mx.cos(sinusoid), mx.sin(sinusoid)], axis=-1) + if t.ndim == 1: # Standard T2V: scalar timestep per batch element [B] - sin_emb = sinusoidal_embedding_1d(self.freq_dim, t) # [B, freq_dim] e = self.time_embedding_1( self.time_embedding_act(self.time_embedding_0(sin_emb)) ) # [B, dim] @@ -278,7 +321,6 @@ class WanModel(nn.Module): e = e.astype(mx.float32) else: # I2V: per-token timesteps [B, L] - sin_emb = sinusoidal_embedding_1d(self.freq_dim, t) # [B, L, freq_dim] e = self.time_embedding_1( self.time_embedding_act(self.time_embedding_0(sin_emb)) ) # [B, L, dim] @@ -298,7 +340,15 @@ class WanModel(nn.Module): else: context_batch = self.embed_text(context) - # Run transformer blocks + # Pre-compute attention mask from seq_lens (constant across all blocks) + attn_mask = None + w_dtype = self.patch_embedding_proj.weight.dtype + if any(sl < seq_len for sl in seq_lens_list): + attn_mask = mx.zeros((batch_size, 1, 1, seq_len), dtype=w_dtype) + for i, sl in enumerate(seq_lens_list): + attn_mask[i, :, :, sl:] = -1e9 + + kwargs = dict( e=e0, seq_lens=seq_lens_list, @@ -306,8 +356,11 @@ class WanModel(nn.Module): freqs=self.freqs, context=context_batch, context_lens=None, + rope_cos_sin=rope_cos_sin, + attn_mask=attn_mask, ) + # Run transformer blocks for i, block in enumerate(self.blocks): kv = cross_kv_caches[i] if cross_kv_caches is not None else None x = block(x, cross_kv_cache=kv, **kwargs) diff --git a/mlx_video/models/wan/rope.py b/mlx_video/models/wan/rope.py index 0983031..d992607 100644 --- a/mlx_video/models/wan/rope.py +++ b/mlx_video/models/wan/rope.py @@ -28,6 +28,7 @@ def rope_apply( x: mx.array, grid_sizes: list, freqs: mx.array, + precomputed_cos_sin: tuple | None = None, ) -> mx.array: """Apply 3-way factorized RoPE to Q or K tensor. @@ -35,10 +36,48 @@ def rope_apply( x: Shape [B, L, num_heads, head_dim] grid_sizes: List of (F, H, W) tuples per batch element freqs: Precomputed cos/sin, shape [1024, d//2, 2] split into 3 parts + precomputed_cos_sin: Optional (cos, sin) from rope_precompute_cos_sin() """ b, s, n, d = x.shape half_d = d // 2 + if precomputed_cos_sin is not None: + cos_f, sin_f = precomputed_cos_sin + # Check if all batch elements have the same grid (common for CFG B=2) + f0, h0, w0 = grid_sizes[0] + seq_len = f0 * h0 * w0 + all_same_grid = all( + grid_sizes[i] == grid_sizes[0] for i in range(1, b) + ) if b > 1 else True + + if all_same_grid: + # Vectorized path: apply RoPE to all batch elements at once + x_seq = x[:, :seq_len].reshape(b, seq_len, n, half_d, 2) + x_real = x_seq[..., 0] + x_imag = x_seq[..., 1] + out_real = x_real * cos_f - x_imag * sin_f + out_imag = x_real * sin_f + x_imag * cos_f + x_rotated = mx.stack([out_real, out_imag], axis=-1).reshape(b, seq_len, n, d) + if seq_len < s: + x_rotated = mx.concatenate([x_rotated, x[:, seq_len:]], axis=1) + return x_rotated + else: + # Per-element path for mixed grid sizes + outputs = [] + for i in range(b): + f, h, w = grid_sizes[i] + sl = f * h * w + x_i = x[i, :sl].reshape(sl, n, half_d, 2) + x_real = x_i[..., 0] + x_imag = x_i[..., 1] + out_real = x_real * cos_f - x_imag * sin_f + out_imag = x_real * sin_f + x_imag * cos_f + x_rotated = mx.stack([out_real, out_imag], axis=-1).reshape(sl, n, d) + if sl < s: + x_rotated = mx.concatenate([x_rotated, x[i, sl:]], axis=0) + outputs.append(x_rotated) + return mx.stack(outputs) + # Cast freqs to input dtype to prevent float32 promotion cascade if freqs.dtype != x.dtype: freqs = freqs.astype(x.dtype) @@ -98,3 +137,42 @@ def rope_apply( outputs.append(x_rotated) return mx.stack(outputs) + + +def rope_precompute_cos_sin( + grid_sizes: list, freqs: mx.array, dtype: type = mx.float32 +) -> tuple: + """Precompute cos/sin frequency tensors for constant grid sizes. + + Call once before the diffusion loop. Pass result as precomputed_cos_sin + to rope_apply to skip per-step broadcast/concat. + + Args: + grid_sizes: List of (F, H, W) tuples (must be same for all batch elements) + freqs: Precomputed frequencies [1024, d//2, 2] + dtype: Target dtype for the output tensors + + Returns: + (cos_f, sin_f) each [seq_len, 1, half_d] + """ + if freqs.dtype != dtype: + freqs = freqs.astype(dtype) + + f, h, w = grid_sizes[0] + seq_len = f * h * w + half_d = freqs.shape[1] + + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + d_w = half_d // 3 + + freqs_t = freqs[:, :d_t] + freqs_h = freqs[:, d_t : d_t + d_h] + freqs_w = freqs[:, d_t + d_h : d_t + d_h + d_w] + + ft = mx.broadcast_to(freqs_t[:f].reshape(f, 1, 1, d_t, 2), (f, h, w, d_t, 2)) + fh = mx.broadcast_to(freqs_h[:h].reshape(1, h, 1, d_h, 2), (f, h, w, d_h, 2)) + fw = mx.broadcast_to(freqs_w[:w].reshape(1, 1, w, d_w, 2), (f, h, w, d_w, 2)) + + freqs_i = mx.concatenate([ft, fh, fw], axis=3).reshape(seq_len, 1, half_d, 2) + return freqs_i[..., 0], freqs_i[..., 1] diff --git a/mlx_video/models/wan/scheduler.py b/mlx_video/models/wan/scheduler.py index 946707c..1ea6b98 100644 --- a/mlx_video/models/wan/scheduler.py +++ b/mlx_video/models/wan/scheduler.py @@ -34,6 +34,8 @@ class FlowMatchEulerScheduler: sigmas = _compute_sigmas(num_steps, shift) self.sigmas = mx.array(sigmas) self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) + # Store as Python floats to avoid .item() sync in step() + self._sigmas_float = sigmas.tolist() self._step_index = 0 def step( @@ -43,9 +45,7 @@ class FlowMatchEulerScheduler: sample: mx.array, ) -> mx.array: """Euler step: x_next = x + (sigma_next - sigma_cur) * v.""" - dt = float(self.sigmas[self._step_index + 1].item()) - float( - self.sigmas[self._step_index].item() - ) + dt = self._sigmas_float[self._step_index + 1] - self._sigmas_float[self._step_index] x_next = sample + dt * model_output self._step_index += 1 return x_next diff --git a/mlx_video/models/wan/transformer.py b/mlx_video/models/wan/transformer.py index 7611638..c85c90e 100644 --- a/mlx_video/models/wan/transformer.py +++ b/mlx_video/models/wan/transformer.py @@ -35,8 +35,8 @@ class WanAttentionBlock(nn.Module): self.norm2 = WanLayerNorm(dim, eps) self.ffn = WanFFN(dim, ffn_dim) - # Learned modulation: 6 vectors for scale/shift/gate - self.modulation = mx.random.normal((1, 6, dim)) * (dim**-0.5) + # Learned modulation: 6 vectors for scale/shift/gate (kept in float32 for precision) + self.modulation = (mx.random.normal((1, 6, dim)) * (dim**-0.5)).astype(mx.float32) def __call__( self, @@ -48,10 +48,11 @@ class WanAttentionBlock(nn.Module): context: mx.array, context_lens: list | None = None, cross_kv_cache: tuple | None = None, + rope_cos_sin: tuple | None = None, + attn_mask: mx.array | None = None, ) -> mx.array: - # Modulation in float32 (matching official torch.amp.autocast float32) - e_f32 = e.astype(mx.float32) - mod = self.modulation.astype(mx.float32) + e_f32 + # Modulation in float32 (e is already float32 from model forward) + mod = self.modulation + e e0 = mod[:, :, 0, :] # shift for self-attn e1 = mod[:, :, 1, :] # scale for self-attn e2 = mod[:, :, 2, :] # gate for self-attn @@ -59,19 +60,20 @@ class WanAttentionBlock(nn.Module): e4 = mod[:, :, 4, :] # scale for ffn e5 = mod[:, :, 5, :] # gate for ffn - # Self-attention with modulation (norm output in float32) - x_mod = self.norm1(x).astype(mx.float32) * (1 + e1) + e0 - y = self.self_attn(x_mod, seq_lens, grid_sizes, freqs) - x = x.astype(mx.float32) + y.astype(mx.float32) * e2 + # Self-attention with modulation + # Type promotion handles bf16→f32 automatically when multiplied with f32 modulation + x_mod = self.norm1(x) * (1 + e1) + e0 + y = self.self_attn(x_mod, seq_lens, grid_sizes, freqs, rope_cos_sin=rope_cos_sin, attn_mask=attn_mask) + x = x + y * e2 # Cross-attention (no modulation, just norm) x_cross = self.norm3(x) if self.norm3 is not None else x x = x + self.cross_attn(x_cross, context, context_lens, kv_cache=cross_kv_cache) - # FFN with modulation (norm output in float32) - x_mod = self.norm2(x).astype(mx.float32) * (1 + e4) + e3 + # FFN with modulation + x_mod = self.norm2(x) * (1 + e4) + e3 y = self.ffn(x_mod) - x = x + y.astype(mx.float32) * e5 + x = x + y * e5 return x diff --git a/mlx_video/models/wan/vae.py b/mlx_video/models/wan/vae.py index aeac5a1..fe8ccaf 100644 --- a/mlx_video/models/wan/vae.py +++ b/mlx_video/models/wan/vae.py @@ -43,7 +43,9 @@ class CausalConv3d(nn.Module): self.kernel_size = kernel_size self.stride = stride - self._causal_pad_t = 2 * padding[0] + # Causal padding: match reference formula dilation*(k-1) + (1-stride) + # With dilation=1: k-stride (pads left only, no future context) + self._causal_pad_t = kernel_size[0] - stride[0] self._pad_h = padding[1] self._pad_w = padding[2] @@ -51,12 +53,17 @@ class CausalConv3d(nn.Module): self.weight = mx.zeros((out_channels, kernel_size[0], kernel_size[1], kernel_size[2], in_channels)) self.bias = mx.zeros((out_channels,)) - def __call__(self, x: mx.array) -> mx.array: + def __call__(self, x: mx.array, cache_x: mx.array = None) -> mx.array: """x: [B, C, T, H, W] (channel-first)""" b, c, t, h, w = x.shape - if self._causal_pad_t > 0: - pad_t = mx.zeros((b, c, self._causal_pad_t, h, w), dtype=x.dtype) + causal_pad = self._causal_pad_t + if cache_x is not None and causal_pad > 0: + x = mx.concatenate([cache_x, x], axis=2) + causal_pad = max(0, causal_pad - cache_x.shape[2]) + + if causal_pad > 0: + pad_t = mx.zeros((b, c, causal_pad, h, w), dtype=x.dtype) x = mx.concatenate([pad_t, x], axis=2) if self._pad_h > 0 or self._pad_w > 0: @@ -136,12 +143,35 @@ class ResidualBlock(nn.Module): ] self.shortcut = CausalConv3d(in_dim, out_dim, 1) if in_dim != out_dim else None - def __call__(self, x: mx.array) -> mx.array: + def __call__(self, x: mx.array, feat_cache=None, feat_idx=None) -> mx.array: h = x if self.shortcut is None else self.shortcut(x) - x = nn.silu(self.residual[0](x)) - x = self.residual[2](x) - x = nn.silu(self.residual[3](x)) - x = self.residual[6](x) + + if feat_cache is not None: + # First conv: norm -> silu -> [cache] -> conv + x = nn.silu(self.residual[0](x)) + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:] + if cache_x.shape[2] < CACHE_T and feat_cache[idx] is not None: + cache_x = mx.concatenate([feat_cache[idx][:, :, -1:], cache_x], axis=2) + x = self.residual[2](x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + + # Second conv: norm -> silu -> [cache] -> conv + x = nn.silu(self.residual[3](x)) + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:] + if cache_x.shape[2] < CACHE_T and feat_cache[idx] is not None: + cache_x = mx.concatenate([feat_cache[idx][:, :, -1:], cache_x], axis=2) + x = self.residual[6](x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = nn.silu(self.residual[0](x)) + x = self.residual[2](x) + x = nn.silu(self.residual[3](x)) + x = self.residual[6](x) + return x + h @@ -180,23 +210,31 @@ class AttentionBlock(nn.Module): class Resample(nn.Module): - """Upsample block matching original Wan VAE structure. + """Resample block matching original Wan VAE structure. - Uses `resample` list with [None, Conv2d] to match original - nn.Sequential(Upsample, Conv2d) where index 1 has the conv params. + Supports both upsampling (decoder) and downsampling (encoder). + Uses list-based param storage to match original nn.Sequential key hierarchy. """ def __init__(self, dim: int, mode: str): super().__init__() - assert mode in ("upsample2d", "upsample3d") + assert mode in ("upsample2d", "upsample3d", "downsample2d", "downsample3d") self.mode = mode self.dim = dim - # resample.0 = Upsample (no params), resample.1 = Conv2d - self.resample = [None, nn.Conv2d(dim, dim // 2, 3, padding=1)] - if mode == "upsample3d": - self.time_conv = CausalConv3d(dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) - def __call__(self, x: mx.array) -> mx.array: + if mode.startswith("upsample"): + # resample.0 = Upsample (no params), resample.1 = Conv2d + self.resample = [None, nn.Conv2d(dim, dim // 2, 3, padding=1)] + if mode == "upsample3d": + self.time_conv = CausalConv3d(dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) + else: + # resample.0 = ZeroPad2d (no params), resample.1 = Conv2d(stride=2) + self.resample = [None, nn.Conv2d(dim, dim, 3, stride=2)] + if mode == "downsample3d": + self.time_conv = CausalConv3d( + dim, dim, (3, 1, 1), stride=(2, 1, 1), padding=(0, 0, 0)) + + def __call__(self, x: mx.array, feat_cache=None, feat_idx=None) -> mx.array: """x: [B, C, T, H, W]""" b, c, t, h, w = x.shape @@ -204,17 +242,43 @@ class Resample(nn.Module): # Temporal upsample via learned conv x_t = self.time_conv(x) # [B, 2C, T, H, W] x_t = x_t.reshape(b, 2, c, t, h, w) - # Interleave along time: [B, C, 2T, H, W] x = mx.stack([x_t[:, 0], x_t[:, 1]], axis=3).reshape(b, c, t * 2, h, w) t = t * 2 - # Per-frame spatial upsample: nearest 2x + Conv2d - x = x.transpose(0, 2, 3, 4, 1).reshape(b * t, h, w, c) # [BT, H, W, C] - x = mx.repeat(x, 2, axis=1) - x = mx.repeat(x, 2, axis=2) - x = self.resample[1](x) # Conv2d [BT, 2H, 2W, C//2] - c_out = x.shape[-1] - return x.reshape(b, t, h * 2, w * 2, c_out).transpose(0, 4, 1, 2, 3) + if self.mode.startswith("upsample"): + # Per-frame spatial upsample: nearest 2x + Conv2d + x = x.transpose(0, 2, 3, 4, 1).reshape(b * t, h, w, c) # [BT, H, W, C] + x = mx.repeat(x, 2, axis=1) + x = mx.repeat(x, 2, axis=2) + x = self.resample[1](x) # Conv2d [BT, 2H, 2W, C//2] + c_out = x.shape[-1] + return x.reshape(b, t, h * 2, w * 2, c_out).transpose(0, 4, 1, 2, 3) + else: + # Per-frame spatial downsample: ZeroPad(0,1,0,1) + Conv2d(stride=2) + x = x.transpose(0, 2, 3, 4, 1).reshape(b * t, h, w, c) # [BT, H, W, C] + x = mx.pad(x, [(0, 0), (0, 1), (0, 1), (0, 0)]) # ZeroPad2d(0,1,0,1) + x = self.resample[1](x) # Conv2d stride=2 + c_out = x.shape[-1] + h_out, w_out = x.shape[1], x.shape[2] + x = x.reshape(b, t, h_out, w_out, c_out).transpose(0, 4, 1, 2, 3) + + if self.mode == "downsample3d": + if feat_cache is not None: + idx = feat_idx[0] + if feat_cache[idx] is None: + # First chunk: save x, skip time_conv + feat_cache[idx] = x + feat_idx[0] += 1 + else: + # Subsequent chunks: use cached frame as temporal context + cache_x = x[:, :, -1:] + x = self.time_conv( + x, cache_x=feat_cache[idx][:, :, -1:]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.time_conv(x) + return x class Decoder3d(nn.Module): @@ -284,10 +348,108 @@ class Decoder3d(nn.Module): return x -class WanVAE(nn.Module): - """Wan2.1 VAE wrapper with per-channel normalization.""" +class Encoder3d(nn.Module): + """3D VAE Encoder matching Wan2.1 architecture. - def __init__(self, z_dim: int = 16): + Mirror of Decoder3d with downsampling instead of upsampling. + Uses flat lists to match original PyTorch nn.Sequential weight key hierarchy. + """ + + def __init__( + self, + dim: int = 96, + z_dim: int = 16, + dim_mult: list = None, + num_res_blocks: int = 2, + temporal_downsample: list = None, + ): + super().__init__() + if dim_mult is None: + dim_mult = [1, 2, 4, 4] + if temporal_downsample is None: + temporal_downsample = [False, True, True] + + dims = [dim * u for u in [1] + dim_mult] + + self.conv1 = CausalConv3d(3, dims[0], 3, padding=1) + + # Flat downsample list matching original nn.Sequential indexing + downsamples = [] + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + for _ in range(num_res_blocks): + downsamples.append(ResidualBlock(in_dim, out_dim)) + in_dim = out_dim + if i != len(dim_mult) - 1: + mode = "downsample3d" if temporal_downsample[i] else "downsample2d" + downsamples.append(Resample(out_dim, mode=mode)) + self.downsamples = downsamples + + # Middle: [ResBlock, AttentionBlock, ResBlock] + self.middle = [ + ResidualBlock(dims[-1], dims[-1]), + AttentionBlock(dims[-1]), + ResidualBlock(dims[-1], dims[-1]), + ] + + # Output head: [RMS_norm, SiLU (no params), CausalConv3d] + self.head = [ + RMS_norm(dims[-1], images=False), + None, # SiLU + CausalConv3d(dims[-1], z_dim, 3, padding=1), + ] + + def __call__(self, x: mx.array, feat_cache=None, feat_idx=None) -> mx.array: + """x: [B, 3, T, H, W] -> [B, z_dim, T_lat, H_lat, W_lat]""" + if feat_cache is not None: + # conv1 with caching + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:] + if cache_x.shape[2] < CACHE_T and feat_cache[idx] is not None: + cache_x = mx.concatenate( + [feat_cache[idx][:, :, -1:], cache_x], axis=2) + x = self.conv1(x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv1(x) + + for layer in self.downsamples: + if feat_cache is not None and isinstance(layer, (ResidualBlock, Resample)): + x = layer(x, feat_cache=feat_cache, feat_idx=feat_idx) + else: + x = layer(x) + + for layer in self.middle: + if feat_cache is not None and isinstance(layer, ResidualBlock): + x = layer(x, feat_cache=feat_cache, feat_idx=feat_idx) + else: + x = layer(x) + + if feat_cache is not None: + # Head: norm -> silu -> [cache] -> conv + x = nn.silu(self.head[0](x)) + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:] + if cache_x.shape[2] < CACHE_T and feat_cache[idx] is not None: + cache_x = mx.concatenate( + [feat_cache[idx][:, :, -1:], cache_x], axis=2) + x = self.head[2](x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = nn.silu(self.head[0](x)) + x = self.head[2](x) + + return x + + +class WanVAE(nn.Module): + """Wan2.1 VAE wrapper with per-channel normalization. + + Supports both encode (for I2V) and decode (for all models). + """ + + def __init__(self, z_dim: int = 16, encoder: bool = False): super().__init__() self.z_dim = z_dim self.mean = mx.array(VAE_MEAN) @@ -297,6 +459,65 @@ class WanVAE(nn.Module): self.conv2 = CausalConv3d(z_dim, z_dim, 1) self.decoder = Decoder3d(dim=96, z_dim=z_dim) + if encoder: + self.encoder = Encoder3d(dim=96, z_dim=z_dim * 2) + self.conv1 = CausalConv3d(z_dim * 2, z_dim * 2, 1) + + def encode(self, x: mx.array) -> mx.array: + """Encode video to normalized latent using chunked encoding. + + Uses chunked encoding with temporal caching to match reference behavior. + First frame encoded alone, then 4-frame chunks with cached context. + + Args: + x: Video [B, 3, T, H, W] in [-1, 1] + + Returns: + Normalized latent [B, z_dim, T_lat, H_lat, W_lat] + """ + # Count cacheable CausalConv3d slots in encoder + num_slots = self._count_encoder_cache_slots() + feat_cache = [None] * num_slots + + t = x.shape[2] + num_chunks = 1 + (t - 1) // 4 + + out = None + for i in range(num_chunks): + feat_idx = [0] + if i == 0: + chunk = x[:, :, :1] + else: + chunk = x[:, :, 1 + 4 * (i - 1) : 1 + 4 * i] + + chunk_out = self.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) + + if out is None: + out = chunk_out + else: + out = mx.concatenate([out, chunk_out], axis=2) + + mu, _ = mx.split(self.conv1(out), 2, axis=1) + + # Normalize: (mu - mean) * inv_std + mean = self.mean.reshape(1, -1, 1, 1, 1) + inv_std = self.inv_std.reshape(1, -1, 1, 1, 1) + return (mu - mean) * inv_std + + def _count_encoder_cache_slots(self) -> int: + """Count CausalConv3d that participate in chunked encoding cache.""" + count = 1 # encoder.conv1 + for layer in self.encoder.downsamples: + if isinstance(layer, ResidualBlock): + count += 2 # two convs in residual path + elif isinstance(layer, Resample) and layer.mode == "downsample3d": + count += 1 # time_conv + for layer in self.encoder.middle: + if isinstance(layer, ResidualBlock): + count += 2 + count += 1 # encoder.head CausalConv3d + return count + def decode(self, z: mx.array) -> mx.array: """Decode latent to video. diff --git a/tests/test_wan_i2v.py b/tests/test_wan_i2v.py new file mode 100644 index 0000000..53077a0 --- /dev/null +++ b/tests/test_wan_i2v.py @@ -0,0 +1,293 @@ +"""Tests for Wan2.2 I2V-14B support.""" + +import mlx.core as mx +import numpy as np +import pytest + +from wan_test_helpers import _make_tiny_config + + +def _make_tiny_i2v_config(): + """Create a tiny I2V-14B config for testing.""" + config = _make_tiny_config() + config.model_type = "i2v" + config.in_dim = 9 # 4 noise + 4 image + 1 mask (scaled down from 16+16+4=36) + config.out_dim = 4 + config.vae_z_dim = 4 + config.vae_stride = (4, 8, 8) + config.dual_model = True + config.boundary = 0.900 + config.sample_shift = 5.0 + config.sample_guide_scale = (3.5, 3.5) + config.teacache_coefficients = None + return config + + +class TestI2VConfig: + """Test I2V-14B config preset.""" + + def test_wan22_i2v_14b_preset(self): + from mlx_video.models.wan.config import WanModelConfig + + config = WanModelConfig.wan22_i2v_14b() + assert config.model_type == "i2v" + assert config.in_dim == 36 + assert config.out_dim == 16 + assert config.dim == 5120 + assert config.num_layers == 40 + assert config.dual_model is True + assert config.boundary == 0.900 + assert config.sample_shift == 5.0 + assert config.sample_guide_scale == (3.5, 3.5) + assert config.vae_stride == (4, 8, 8) + assert config.vae_z_dim == 16 + assert config.teacache_coefficients is None + + def test_i2v_vs_t2v_differences(self): + from mlx_video.models.wan.config import WanModelConfig + + i2v = WanModelConfig.wan22_i2v_14b() + t2v = WanModelConfig.wan22_t2v_14b() + + assert i2v.model_type == "i2v" + assert t2v.model_type == "t2v" + assert i2v.in_dim == 36 and t2v.in_dim == 16 + assert i2v.boundary == 0.900 and t2v.boundary == 0.875 + assert i2v.sample_shift == 5.0 and t2v.sample_shift == 12.0 + + def test_i2v_serialization_roundtrip(self): + from mlx_video.models.wan.config import WanModelConfig + + config = WanModelConfig.wan22_i2v_14b() + d = config.to_dict() + restored = WanModelConfig.from_dict(d) + assert restored.model_type == "i2v" + assert restored.in_dim == 36 + assert restored.boundary == 0.900 + + +class TestModelYParameter: + """Test y parameter channel concatenation in WanModel.""" + + def test_forward_without_y(self): + """Standard T2V forward pass (no y) still works.""" + from mlx_video.models.wan.model import WanModel + + config = _make_tiny_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + x_list = [mx.random.normal((C, F, H, W))] + t = mx.array([500.0]) + context = [mx.random.normal((6, config.text_dim))] + + out = model(x_list, t, context, seq_len) + mx.eval(out[0]) + assert out[0].shape == (C, F, H, W) + + def test_forward_with_y(self): + """I2V forward pass with y channel concatenation.""" + from mlx_video.models.wan.model import WanModel + + config = _make_tiny_i2v_config() + model = WanModel(config) + + C_noise = 4 # noise channels + C_y = 5 # mask (1) + image (4) + F, H, W = 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + x_list = [mx.random.normal((C_noise, F, H, W))] + y_list = [mx.random.normal((C_y, F, H, W))] + t = mx.array([500.0]) + context = [mx.random.normal((6, config.text_dim))] + + out = model(x_list, t, context, seq_len, y=y_list) + mx.eval(out[0]) + # Output should match noise channels (out_dim), not concatenated in_dim + assert out[0].shape == (config.out_dim, F, H, W) + + def test_y_none_is_noop(self): + """Passing y=None should be identical to not passing y.""" + from mlx_video.models.wan.model import WanModel + + config = _make_tiny_config() + model = WanModel(config) + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + mx.random.seed(42) + x = mx.random.normal((C, F, H, W)) + t = mx.array([500.0]) + ctx = [mx.random.normal((6, config.text_dim))] + + out1 = model([x], t, ctx, seq_len)[0] + out2 = model([x], t, ctx, seq_len, y=None)[0] + mx.eval(out1, out2) + assert mx.allclose(out1, out2, atol=1e-5).item() + + def test_batched_cfg_with_y(self): + """Batched CFG (B=2) with y should work.""" + from mlx_video.models.wan.model import WanModel + + config = _make_tiny_i2v_config() + model = WanModel(config) + + C_noise, C_y = 4, 5 + F, H, W = 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + latents = mx.random.normal((C_noise, F, H, W)) + y = mx.random.normal((C_y, F, H, W)) + t = mx.array([500.0, 500.0]) + ctx = [mx.random.normal((6, config.text_dim)), mx.random.normal((6, config.text_dim))] + + out = model([latents, latents], t, ctx, seq_len, y=[y, y]) + mx.eval(out[0], out[1]) + assert len(out) == 2 + assert out[0].shape == (config.out_dim, F, H, W) + assert out[1].shape == (config.out_dim, F, H, W) + + +class TestVAEEncoder: + """Test Wan2.1 VAE encoder.""" + + def test_encoder3d_instantiation(self): + from mlx_video.models.wan.vae import Encoder3d + + enc = Encoder3d(dim=32, z_dim=8) # z_dim=8 (will output 8ch, but WanVAE wraps with z*2) + assert enc.conv1 is not None + assert len(enc.downsamples) > 0 + assert len(enc.middle) == 3 + + def test_encoder3d_output_shape(self): + """Encoder should downsample spatially by 8x and temporally by 4x.""" + from mlx_video.models.wan.vae import Encoder3d + + enc = Encoder3d(dim=32, z_dim=8) + # Random input: [B=1, 3, T=5, H=32, W=32] + x = mx.random.normal((1, 3, 5, 32, 32)) + out = enc(x) + mx.eval(out) + # With default dim_mult=[1,2,4,4] and temporal_downsample=[True,True,False]: + # Spatial: 32 -> 16 -> 8 -> 4 (3 spatial downsamples) + # Temporal: 5 -> 3 -> 2 (2 temporal downsamples: downsample3d stride 2) + assert out.shape[0] == 1 + assert out.shape[1] == 8 # z_dim + assert out.shape[3] == 32 // 8 # spatial /8 + assert out.shape[4] == 32 // 8 + + def test_wan_vae_encode(self): + """WanVAE with encoder=True should produce normalized latents.""" + from mlx_video.models.wan.vae import WanVAE + + vae = WanVAE(z_dim=16, encoder=True) + # Input: [B=1, 3, T=5, H=32, W=32] + x = mx.random.normal((1, 3, 5, 32, 32)) + z = vae.encode(x) + mx.eval(z) + assert z.shape[0] == 1 + assert z.shape[1] == 16 # z_dim + + def test_wan_vae_encoder_flag(self): + """WanVAE without encoder flag should not have encoder attribute.""" + from mlx_video.models.wan.vae import WanVAE + + vae_no_enc = WanVAE(z_dim=4, encoder=False) + assert not hasattr(vae_no_enc, 'encoder') + + vae_enc = WanVAE(z_dim=4, encoder=True) + assert hasattr(vae_enc, 'encoder') + + +class TestResampleDownsample: + """Test downsample modes in Resample.""" + + def test_downsample2d(self): + from mlx_video.models.wan.vae import Resample + + r = Resample(dim=16, mode="downsample2d") + x = mx.random.normal((1, 16, 2, 8, 8)) + out = r(x) + mx.eval(out) + # Spatial /2, temporal unchanged, channels same + assert out.shape == (1, 16, 2, 4, 4) + + def test_downsample3d(self): + from mlx_video.models.wan.vae import Resample + + r = Resample(dim=16, mode="downsample3d") + x = mx.random.normal((1, 16, 4, 8, 8)) + out = r(x) + mx.eval(out) + # Spatial /2, temporal /2, channels same + assert out.shape == (1, 16, 2, 4, 4) + + def test_upsample2d_still_works(self): + from mlx_video.models.wan.vae import Resample + + r = Resample(dim=16, mode="upsample2d") + x = mx.random.normal((1, 16, 2, 4, 4)) + out = r(x) + mx.eval(out) + assert out.shape == (1, 8, 2, 8, 8) + + def test_upsample3d_still_works(self): + from mlx_video.models.wan.vae import Resample + + r = Resample(dim=16, mode="upsample3d") + x = mx.random.normal((1, 16, 2, 4, 4)) + out = r(x) + mx.eval(out) + assert out.shape == (1, 8, 4, 8, 8) + + +class TestI2VMaskConstruction: + """Test mask construction for I2V-14B.""" + + def test_mask_shape(self): + """I2V-14B mask should have 4 channels with correct temporal structure.""" + num_frames = 81 + h_latent, w_latent = 10, 18 # example latent dims + t_latent = (num_frames - 1) // 4 + 1 # = 21 + + # Build mask following reference logic + msk = mx.ones((1, num_frames, h_latent, w_latent)) + msk = mx.concatenate([msk[:, :1], mx.zeros((1, num_frames - 1, h_latent, w_latent))], axis=1) + msk = mx.concatenate([mx.repeat(msk[:, :1], 4, axis=1), msk[:, 1:]], axis=1) + msk = msk.reshape(1, msk.shape[1] // 4, 4, h_latent, w_latent) + msk = msk.transpose(0, 2, 1, 3, 4)[0] # [4, T_lat, H_lat, W_lat] + + assert msk.shape == (4, t_latent, h_latent, w_latent) + + def test_mask_values(self): + """First temporal position should be 1, rest 0.""" + num_frames = 9 + h_latent, w_latent = 4, 4 + t_latent = (num_frames - 1) // 4 + 1 # = 3 + + msk = mx.ones((1, num_frames, h_latent, w_latent)) + msk = mx.concatenate([msk[:, :1], mx.zeros((1, num_frames - 1, h_latent, w_latent))], axis=1) + msk = mx.concatenate([mx.repeat(msk[:, :1], 4, axis=1), msk[:, 1:]], axis=1) + msk = msk.reshape(1, msk.shape[1] // 4, 4, h_latent, w_latent) + msk = msk.transpose(0, 2, 1, 3, 4)[0] + + mx.eval(msk) + # First temporal position: all 4 channels should be 1 + assert mx.all(msk[:, 0] == 1.0).item() + # Rest: all should be 0 + assert mx.all(msk[:, 1:] == 0.0).item() + + def test_y_tensor_shape(self): + """y = concat([mask_4ch, encoded_video_16ch]) should be 20 channels.""" + mask = mx.zeros((4, 5, 10, 18)) + encoded = mx.zeros((16, 5, 10, 18)) + y = mx.concatenate([mask, encoded], axis=0) + assert y.shape == (20, 5, 10, 18) From dbab95ec4527432a34d80182c0eedf4e09729c81 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 28 Feb 2026 11:20:36 +0100 Subject: [PATCH 05/17] fix(wan): Fix RoPE frequency construction --- docs/DIAGNOSTICS.md | 70 ++++--- mlx_video/models/wan/model.py | 12 +- tests/test_wan_rope_freqs.py | 334 ++++++++++++++++++++++++++++++++++ 3 files changed, 386 insertions(+), 30 deletions(-) create mode 100644 tests/test_wan_rope_freqs.py diff --git a/docs/DIAGNOSTICS.md b/docs/DIAGNOSTICS.md index 18d112b..246ee0d 100644 --- a/docs/DIAGNOSTICS.md +++ b/docs/DIAGNOSTICS.md @@ -9,12 +9,13 @@ This document records the systematic diagnostic methodology used to debug the Wa - [Diagnostic Methodology](#diagnostic-methodology) - [Bug 1: Text Embedding Cross-Contamination](#bug-1-text-embedding-cross-contamination) - [Bug 2: VAE Encoder Weights Excluded from Conversion](#bug-2-vae-encoder-weights-excluded-from-conversion) -- [Bug 3: RoPE Frequency Computation](#bug-3-rope-frequency-computation) +- [Bug 3: RoPE Frequency Computation (original)](#bug-3-rope-frequency-computation-original) +- [Bug 6: RoPE Frequency Distribution (Bug 3 Fix Was Wrong)](#bug-6-rope-frequency-distribution-bug-3-fix-was-wrong) - [Bug 4: VAE Encoder Temporal Downsample Order](#bug-4-vae-encoder-temporal-downsample-order) - [Bug 5: Non-Chunked VAE Encoding](#bug-5-non-chunked-vae-encoding) - [Verified Correct Components](#verified-correct-components) - [Performance Optimizations](#performance-optimizations) -- [Open Investigation: CFG Effectiveness](#open-investigation-cfg-effectiveness) +- [Resolved: CFG Effectiveness](#resolved-cfg-effectiveness-was-open-investigation) - [Reference Implementation](#reference-implementation) - [Useful Diagnostic Commands](#useful-diagnostic-commands) @@ -166,34 +167,57 @@ include_encoder = config.model_type in ("ti2v", "i2v") --- -## Bug 3: RoPE Frequency Computation +## Bug 3: RoPE Frequency Computation (original) **Symptom:** Progressive 2px checkerboard artifacts on generated frames, increasing with temporal distance from the conditioned frame. -**Root Cause:** The reference creates **one** frequency table via `rope_params(1024, head_dim=128)` producing 64 frequency exponents, which `rope_apply` then splits into temporal (22), height (21), and width (21) portions. This gives temporal axes LOW frequencies and spatial axes progressively HIGHER frequencies. +**Root Cause (original):** Our original code called `rope_params` three times but applied them incorrectly (per-axis in the model init, then rope_apply did NOT split). This was initially "fixed" by switching to a single `rope_params(1024, head_dim=128)` call, which reduced checkerboard but introduced Bug 6 (see below). + +**File:** `mlx_video/models/wan/model.py` +**Commit:** `3da4a637` + +--- + +## Bug 6: RoPE Frequency Distribution (Bug 3 Fix Was Wrong) + +**Symptom:** I2V generates input image in frames 0–3, colorful checkerboard on frame 4, then grey frames. CFG cond/uncond predictions nearly identical. Model cannot produce coherent motion. + +**Root Cause:** The Bug 3 "fix" replaced three separate `rope_params` calls with a single `rope_params(1024, 128)`. But the reference (`wan/modules/model.py` lines 400–405) actually uses **three separate calls with different dimension normalizations**, concatenated: -Our code called `rope_params` **three times** with different normalizations: ```python -# WRONG: each axis gets full frequency range [0, 1) -freqs_t = rope_params(1024, d_t=44) # 22 exponents normalized by 44 -freqs_h = rope_params(1024, d_h=42) # 21 exponents normalized by 42 -freqs_w = rope_params(1024, d_w=42) # 21 exponents normalized by 42 +# Reference (CORRECT): +d = dim // num_heads # 128 +self.freqs = torch.cat([ + rope_params(1024, d - 4 * (d // 6)), # rope_params(1024, 44) + rope_params(1024, 2 * (d // 6)), # rope_params(1024, 42) + rope_params(1024, 2 * (d // 6)) # rope_params(1024, 42) +], dim=1) ``` -The max frequency difference was ~1.0 (not a precision issue — a fundamental design bug). This affected **all** Wan models (T2V, I2V, TI2V). +Each axis gets its own full frequency range [θ^0, θ^(-~0.95)]. The single-call approach gave: +- Temporal: low frequencies only [1.0 → 0.049] +- Height: medium frequencies only [0.042 → 0.002] (should start at 1.0!) +- Width: high frequencies only [0.002 → 0.0001] (should start at 1.0!) -**How Found:** Line-by-line comparison of `rope_params` usage between reference `model.py` (single call) and our `model.py` (three calls). Printed the actual frequency exponents to confirm the numerical divergence. +The height/width position encoding was essentially destroyed — nearby spatial positions were indistinguishable (max diff 0.958 for height, 0.998 for width vs reference). + +**How Found:** Direct line-by-line comparison of `WanModel.__init__` freq construction between reference `wan/modules/model.py` and our `models/wan/model.py`. Numerical verification confirmed the three-call approach gives each axis a full [0, ~1) exponent range, while the single-call monotonically assigns low→high across axes. **Fix:** ```python -# Single unified frequency table, split by rope_apply -self.freqs = rope_params(1024, dim // config.num_heads) +d = dim // config.num_heads +self.freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), +], axis=1) ``` -**Impact:** ~35% reduction in checkerboard metric, 55% reduction in FFT 8px-frequency power. +**Verification:** Max diff vs reference cos/sin: 0.00000000 (exact float32 match). -**File:** `mlx_video/models/wan/model.py` (lines 154–156) -**Commit:** `3da4a637` +**Impact:** Affects ALL Wan models (T2V, I2V, TI2V). Resolves the "Open Investigation: CFG Effectiveness" issue — the model could not produce meaningful cond/uncond differences because it couldn't encode spatial positions. + +**File:** `mlx_video/models/wan/model.py` (line 155) --- @@ -298,19 +322,11 @@ Applied alongside bug fixes to improve inference speed: --- -## Open Investigation: CFG Effectiveness +## Resolved: CFG Effectiveness (was Open Investigation) -**Current symptom:** After all bug fixes, generated video shows the input image in frames 0–3 (latent frame 0), then grey/flat frames for the rest. +**Symptom:** Generated video shows the input image in frames 0–3 (latent frame 0), then grey/flat frames for the rest. Cond and uncond predictions were nearly identical. -**Finding:** A single forward pass at t=1000 shows cond and uncond predictions are nearly identical (|diff| mean = 0.01–0.035). With `guide_scale=3.5`, the CFG guidance term barely changes anything. - -**Possible causes under investigation:** -1. Cross-attention context flow — both cond and uncond may be receiving equivalent context -2. The model may genuinely produce small cond/uncond differences for I2V (since both share the same y conditioning) -3. The `embed_text` method or `prepare_cross_kv` may not properly separate B=2 batch elements -4. There may be an issue with how cross-attention K/V caches index into batch elements - -**Diagnostic approach:** Compare cross-attention K/V cache values between cond (index 0) and uncond (index 1) to confirm they contain different embeddings. +**Resolution:** This was caused by Bug 6 (incorrect RoPE frequency distribution). The single `rope_params(1024, 128)` call gave height frequencies starting at 0.042 and width at 0.002 (instead of 1.0 for both), making the model unable to encode spatial positions. This caused the transformer to produce nearly identical outputs regardless of text conditioning, explaining the tiny cond/uncond differences. --- diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index b253fb3..a196c05 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -108,9 +108,15 @@ class WanModel(nn.Module): # Output head self.head = Head(dim, config.out_dim, config.patch_size, config.eps) - # Precompute RoPE frequencies — single table, split by rope_apply - # Reference computes one rope_params(head_dim) and splits into t/h/w. - self.freqs = rope_params(1024, dim // config.num_heads) + # Precompute RoPE frequencies — three separate tables concatenated. + # Reference computes three rope_params with different dim normalizations + # so each axis (temporal/height/width) gets its own full frequency range. + d = dim // config.num_heads + self.freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) # Precompute sinusoidal inv_freq for time embedding half = config.freq_dim // 2 diff --git a/tests/test_wan_rope_freqs.py b/tests/test_wan_rope_freqs.py new file mode 100644 index 0000000..9e41c5a --- /dev/null +++ b/tests/test_wan_rope_freqs.py @@ -0,0 +1,334 @@ +"""Tests for Wan RoPE frequency construction (Bug 6 regression tests). + +These tests verify that the RoPE frequency table is built correctly by +concatenating three separate rope_params calls with different dimension +normalizations, matching the reference implementation. + +Background: The reference Wan model constructs RoPE frequencies as: + d = dim // num_heads (128 for all Wan models) + freqs = cat([ + rope_params(1024, d - 4*(d//6)), # temporal (dim=44, 22 freqs) + rope_params(1024, 2*(d//6)), # height (dim=42, 21 freqs) + rope_params(1024, 2*(d//6)), # width (dim=42, 21 freqs) + ]) + +A previous incorrect fix used a single rope_params(1024, 128) call, which +gave height/width axes only medium/high frequencies instead of full-range. +This destroyed spatial position encoding and caused grey/artifact output. +""" + +import mlx.core as mx +import numpy as np +import pytest + + +class TestRoPEFrequencyConstruction: + """Verify WanModel builds RoPE frequencies matching the reference.""" + + def _get_model_freqs(self, dim=64, num_heads=4): + """Instantiate a tiny WanModel and return its .freqs tensor.""" + from mlx_video.models.wan.config import WanModelConfig + from mlx_video.models.wan.model import WanModel + + config = WanModelConfig() + config.dim = dim + config.ffn_dim = dim * 2 + config.num_heads = num_heads + config.num_layers = 1 + config.in_dim = 4 + config.out_dim = 4 + config.freq_dim = 32 + config.text_dim = 32 + config.text_len = 8 + model = WanModel(config) + mx.eval(model.freqs) + return model.freqs, dim // num_heads + + def test_freqs_shape(self): + """Freqs should be [1024, head_dim//2, 2] regardless of construction.""" + freqs, head_dim = self._get_model_freqs(dim=64, num_heads=4) + assert freqs.shape == (1024, head_dim // 2, 2) + + def test_three_call_vs_single_call_differ(self): + """Three separate rope_params calls must differ from single call.""" + from mlx_video.models.wan.rope import rope_params + + d = 128 # head_dim for all Wan models + # Reference: three separate calls + correct = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + # Wrong: single call + wrong = rope_params(1024, d) + mx.eval(correct, wrong) + + assert correct.shape == wrong.shape + diff = np.abs(np.array(correct) - np.array(wrong)).max() + assert diff > 0.1, f"Three-call and single-call should differ significantly, got max diff {diff}" + + def test_each_axis_starts_at_frequency_one(self): + """Each axis (temporal/height/width) should have cos=1, sin=0 at position 0. + + This verifies each axis gets its own independent frequency range + starting from theta^0 = 1.0 (i.e., exponent 0/dim). + """ + from mlx_video.models.wan.rope import rope_params + + d = 128 + freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + mx.eval(freqs) + f = np.array(freqs) + + half_d = d // 2 # 64 + d_t = half_d - 2 * (half_d // 3) # 22 + d_h = half_d // 3 # 21 + + # At position 0, cos=1 and sin=0 for ALL frequency components + np.testing.assert_allclose(f[0, :, 0], 1.0, atol=1e-6, err_msg="cos at pos 0") + np.testing.assert_allclose(f[0, :, 1], 0.0, atol=1e-6, err_msg="sin at pos 0") + + # At position 1, each axis should have its FIRST frequency near cos(1/theta^0)=cos(1) + # Temporal axis first freq + np.testing.assert_allclose(f[1, 0, 0], np.cos(1.0), atol=1e-5, + err_msg="temporal[0] cos at pos 1") + # Height axis first freq (starts at index d_t) + np.testing.assert_allclose(f[1, d_t, 0], np.cos(1.0), atol=1e-5, + err_msg="height[0] cos at pos 1") + # Width axis first freq (starts at index d_t + d_h) + np.testing.assert_allclose(f[1, d_t + d_h, 0], np.cos(1.0), atol=1e-5, + err_msg="width[0] cos at pos 1") + + def test_height_width_frequencies_identical(self): + """Height and width axes should have identical frequency tables. + + Both use rope_params(1024, 2*(d//6)) = rope_params(1024, 42). + """ + from mlx_video.models.wan.rope import rope_params + + d = 128 + d_h_dim = 2 * (d // 6) # 42 + freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, d_h_dim), + rope_params(1024, d_h_dim), + ], axis=1) + mx.eval(freqs) + f = np.array(freqs) + + half_d = d // 2 + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + + height_freqs = f[:, d_t:d_t + d_h] + width_freqs = f[:, d_t + d_h:] + np.testing.assert_array_equal(height_freqs, width_freqs) + + def test_frequency_range_per_axis(self): + """Each axis should span a full frequency range, not a slice of one range. + + With three-call construction, the inverse frequency at index 0 of each + axis should be 1.0 (theta^0). A single-call approach would give height + starting at ~0.04 and width at ~0.002 instead of 1.0. + """ + from mlx_video.models.wan.rope import rope_params + + d = 128 + freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + mx.eval(freqs) + f = np.array(freqs) + + half_d = d // 2 + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + + # At position 1, the first frequency component of each axis should + # have significant magnitude (cos ≈ 0.54), not near-zero + pos1_t = f[1, 0, 0] # temporal first freq + pos1_h = f[1, d_t, 0] # height first freq + pos1_w = f[1, d_t + d_h, 0] # width first freq + + assert pos1_t > 0.5, f"Temporal first freq at pos 1 should be >0.5, got {pos1_t}" + assert pos1_h > 0.5, f"Height first freq at pos 1 should be >0.5, got {pos1_h}" + assert pos1_w > 0.5, f"Width first freq at pos 1 should be >0.5, got {pos1_w}" + + def test_model_freqs_match_manual_construction(self): + """WanModel.freqs should match manually constructed three-call freqs.""" + from mlx_video.models.wan.rope import rope_params + + freqs_model, head_dim = self._get_model_freqs(dim=64, num_heads=4) + d = head_dim # 16 + freqs_manual = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + mx.eval(freqs_model, freqs_manual) + np.testing.assert_array_equal( + np.array(freqs_model), np.array(freqs_manual), + err_msg="WanModel.freqs should use three-call construction" + ) + + def test_model_freqs_14b_dimensions(self): + """Verify freq dimensions for 14B-scale head_dim=128.""" + from mlx_video.models.wan.rope import rope_params + + d = 128 + freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), # dim=44 → 22 freq pairs + rope_params(1024, 2 * (d // 6)), # dim=42 → 21 freq pairs + rope_params(1024, 2 * (d // 6)), # dim=42 → 21 freq pairs + ], axis=1) + mx.eval(freqs) + + assert freqs.shape == (1024, 64, 2) + # Verify the split dimensions used by rope_apply + half_d = 64 + d_t = half_d - 2 * (half_d // 3) + d_h = half_d // 3 + d_w = half_d // 3 + assert (d_t, d_h, d_w) == (22, 21, 21) + assert d_t + d_h + d_w == half_d + + +class TestRoPEFrequencyMatchesReference: + """Cross-validate MLX RoPE against PyTorch reference implementation.""" + + @pytest.fixture + def has_torch(self): + try: + import torch + return True + except ImportError: + pytest.skip("PyTorch not installed") + + def test_freqs_match_pytorch_reference(self, has_torch): + """Numerically compare MLX and PyTorch frequency tables.""" + import torch + from mlx_video.models.wan.rope import rope_params + + d = 128 + + # PyTorch reference (from wan/modules/model.py) + def pt_rope_params(max_seq_len, dim, theta=10000): + freqs = torch.outer( + torch.arange(max_seq_len), + 1.0 / torch.pow(theta, torch.arange(0, dim, 2).to(torch.float64).div(dim))) + freqs = torch.polar(torch.ones_like(freqs), freqs) + return freqs + + ref = torch.cat([ + pt_rope_params(1024, d - 4 * (d // 6)), + pt_rope_params(1024, 2 * (d // 6)), + pt_rope_params(1024, 2 * (d // 6)), + ], dim=1) + + # MLX + ours = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + mx.eval(ours) + + our_cos = np.array(ours[:, :, 0]) + our_sin = np.array(ours[:, :, 1]) + ref_cos = ref.real.float().numpy() + ref_sin = ref.imag.float().numpy() + + np.testing.assert_allclose(our_cos, ref_cos, atol=1e-6, + err_msg="cos mismatch vs PyTorch reference") + np.testing.assert_allclose(our_sin, ref_sin, atol=1e-6, + err_msg="sin mismatch vs PyTorch reference") + + +class TestRoPEApplyWithCorrectFreqs: + """Test that rope_apply produces correct rotations with three-call freqs.""" + + def test_different_spatial_positions_get_different_rotations(self): + """Adjacent height/width positions must produce different RoPE rotations. + + This is the key property that was broken by the single-call bug: + height/width frequencies were too low to distinguish nearby positions. + """ + from mlx_video.models.wan.rope import rope_params, rope_apply + + d = 128 + freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + + B, N = 1, 4 + F, H, W = 1, 4, 4 + L = F * H * W + # Use a constant input so differences come purely from RoPE + x = mx.ones((B, L, N, d)) + out = rope_apply(x, [(F, H, W)], freqs) + mx.eval(out) + out_np = np.array(out[0]) + + # Position (0,0,0) vs (0,1,0) — different height + pos_00 = out_np[0 * H * W + 0 * W + 0] # (f=0, h=0, w=0) + pos_10 = out_np[0 * H * W + 1 * W + 0] # (f=0, h=1, w=0) + height_diff = np.abs(pos_00 - pos_10).max() + + # Position (0,0,0) vs (0,0,1) — different width + pos_01 = out_np[0 * H * W + 0 * W + 1] # (f=0, h=0, w=1) + width_diff = np.abs(pos_00 - pos_01).max() + + # Max diff should be >0.5 for both axes. With the bug, height was ~0.04 + # and width was ~0.002. With correct freqs, both are ~1.3. + assert height_diff > 0.5, ( + f"Adjacent height positions should differ significantly, got {height_diff:.4f}" + ) + assert width_diff > 0.5, ( + f"Adjacent width positions should differ significantly, got {width_diff:.4f}" + ) + # Height and width should have identical frequency tables → same diffs + np.testing.assert_allclose(height_diff, width_diff, rtol=1e-5, + err_msg="Height and width should use identical frequency tables") + + def test_precomputed_matches_online(self): + """rope_precompute_cos_sin + rope_apply should match non-precomputed path.""" + from mlx_video.models.wan.rope import ( + rope_apply, + rope_params, + rope_precompute_cos_sin, + ) + + d = 128 + freqs = mx.concatenate([ + rope_params(1024, d - 4 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + rope_params(1024, 2 * (d // 6)), + ], axis=1) + + B, N = 2, 4 + F, H, W = 2, 3, 4 + L = F * H * W + grids = [(F, H, W), (F, H, W)] + + x = mx.random.normal((B, L, N, d)) + + # Online (no precomputed) + out_online = rope_apply(x, grids, freqs) + # Precomputed + cos_sin = rope_precompute_cos_sin(grids, freqs) + out_precomp = rope_apply(x, grids, freqs, precomputed_cos_sin=cos_sin) + mx.eval(out_online, out_precomp) + + np.testing.assert_allclose( + np.array(out_online), np.array(out_precomp), atol=1e-5, + err_msg="Precomputed and online RoPE should match" + ) From 849cc45d8442e518bd0237916814b400db32b857 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 28 Feb 2026 14:11:13 +0100 Subject: [PATCH 06/17] feat(wan): Add LoRA with improved quantization pipeline --- README.md | 18 +- mlx_video/convert_wan.py | 235 ++++++++++++++-- mlx_video/generate_wan.py | 250 ++++++++++++----- mlx_video/lora/__init__.py | 25 ++ mlx_video/lora/apply.py | 393 +++++++++++++++++++++++++++ mlx_video/lora/loader.py | 122 +++++++++ mlx_video/lora/types.py | 74 +++++ mlx_video/models/wan/attention.py | 21 +- mlx_video/models/wan/loading.py | 26 +- mlx_video/models/wan/model.py | 14 +- mlx_video/models/wan/text_encoder.py | 2 +- mlx_video/models/wan/transformer.py | 8 +- mlx_video/models/wan/vae22.py | 10 + tests/test_wan_convert.py | 72 +++++ tests/test_wan_i2v.py | 279 +++++++++++++++++++ tests/test_wan_lora.py | 334 +++++++++++++++++++++++ tests/test_wan_vae.py | 80 ++++++ 17 files changed, 1852 insertions(+), 111 deletions(-) create mode 100644 mlx_video/lora/__init__.py create mode 100644 mlx_video/lora/apply.py create mode 100644 mlx_video/lora/loader.py create mode 100644 mlx_video/lora/types.py create mode 100644 tests/test_wan_lora.py diff --git a/README.md b/README.md index 751f48a..f3a05a6 100644 --- a/README.md +++ b/README.md @@ -82,15 +82,15 @@ python -m mlx_video.generate \ Both [Wan2.1](https://github.com/Wan-Video/Wan2.1) and [Wan2.2](https://github.com/Wan-Video/Wan2.2) are text-to-video diffusion models built on a DiT (Diffusion Transformer) backbone with a T5 text encoder and 3D VAE. They share the same model architecture — the difference is in the inference pipeline: -| | Wan2.1 | Wan2.2 T2V-14B | Wan2.2 I2V-14B | -|---|--------|--------|--------| -| **Task** | Text-to-Video | Text-to-Video | Image-to-Video | -| **Pipeline** | Single model | Dual model | Dual model | -| **Sizes** | 1.3B, 14B | 14B | 14B | -| **Steps** | 50 | 40 | 40 | -| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 | 3.5 / 3.5 | -| **Shift** | 5.0 | 12.0 | 5.0 | -| **VAE** | Wan2.1 (z=16) | Wan2.1 (z=16) | Wan2.1 (z=16) + encoder | +| | Wan2.1 | Wan2.2 T2V-14B | Wan2.2 I2V-14B | Wan2.2 TI2V-5B | +|---|--------|--------|--------|--------| +| **Task** | Text-to-Video | Text-to-Video | Image-to-Video | Text+Image-to-Video | +| **Pipeline** | Single model | Dual model | Dual model | Single model | +| **Sizes** | 1.3B, 14B | 14B | 14B | 5B | +| **Steps** | 50 | 40 | 40 | 40 | +| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 | 3.5 / 3.5 | 5.0 (fixed) | +| **Shift** | 5.0 | 12.0 | 5.0 | 5.0 | +| **VAE** | Wan2.1 (z=16) | Wan2.1 (z=16) | Wan2.1 (z=16) + encoder | Wan2.2 (z=48) | ### Step 1: Download Weights diff --git a/mlx_video/convert_wan.py b/mlx_video/convert_wan.py index f3f9037..a7930c1 100644 --- a/mlx_video/convert_wan.py +++ b/mlx_video/convert_wan.py @@ -1,13 +1,16 @@ """Weight conversion for Wan2.2 models (PyTorch -> MLX).""" +import gc import logging from pathlib import Path -from typing import Dict +from typing import Dict, List, Optional, Tuple import mlx.core as mx import mlx.utils import numpy as np +logger = logging.getLogger(__name__) + def load_torch_weights(path: str) -> Dict[str, mx.array]: """Load PyTorch .pth weights and convert to MLX arrays. @@ -88,6 +91,7 @@ def sanitize_wan_transformer_weights(weights: Dict[str, mx.array]) -> Dict[str, etc. """ sanitized = {} + consumed = set() for key, value in weights.items(): new_key = key @@ -99,36 +103,43 @@ def sanitize_wan_transformer_weights(weights: Dict[str, mx.array]) -> Dict[str, value = value.reshape(value.shape[0], -1) new_key = "patch_embedding_proj.weight" sanitized[new_key] = value + consumed.add(key) continue if key == "patch_embedding.bias": new_key = "patch_embedding_proj.bias" sanitized[new_key] = value + consumed.add(key) continue # Text embedding Sequential: 0=Linear, 1=GELU(no params), 2=Linear if key.startswith("text_embedding.0."): new_key = key.replace("text_embedding.0.", "text_embedding_0.") sanitized[new_key] = value + consumed.add(key) continue if key.startswith("text_embedding.2."): new_key = key.replace("text_embedding.2.", "text_embedding_1.") sanitized[new_key] = value + consumed.add(key) continue # Time embedding Sequential: 0=Linear, 1=SiLU(no params), 2=Linear if key.startswith("time_embedding.0."): new_key = key.replace("time_embedding.0.", "time_embedding_0.") sanitized[new_key] = value + consumed.add(key) continue if key.startswith("time_embedding.2."): new_key = key.replace("time_embedding.2.", "time_embedding_1.") sanitized[new_key] = value + consumed.add(key) continue # Time projection Sequential: 0=SiLU(no params), 1=Linear if key.startswith("time_projection.1."): new_key = key.replace("time_projection.1.", "time_projection.") sanitized[new_key] = value + consumed.add(key) continue # FFN: Sequential(Linear, GELU, Linear) -> ffn.{0,2} -> ffn.fc1, ffn.fc2 @@ -137,9 +148,15 @@ def sanitize_wan_transformer_weights(weights: Dict[str, mx.array]) -> Dict[str, # Skip the freqs buffer (we compute it in the model) if key == "freqs": + consumed.add(key) continue sanitized[new_key] = value + consumed.add(key) + + unconsumed = set(weights.keys()) - consumed + if unconsumed: + logger.warning("Unconsumed transformer weight keys: %s", sorted(unconsumed)) return sanitized @@ -171,6 +188,7 @@ def sanitize_wan_t5_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array] norm.weight """ sanitized = {} + consumed = set() for key, value in weights.items(): new_key = key @@ -179,6 +197,11 @@ def sanitize_wan_t5_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array] new_key = new_key.replace(".ffn.gate.0.", ".ffn.gate_proj.") sanitized[new_key] = value + consumed.add(key) + + unconsumed = set(weights.keys()) - consumed + if unconsumed: + logger.warning("Unconsumed T5 weight keys: %s", sorted(unconsumed)) return sanitized @@ -189,6 +212,7 @@ def sanitize_wan_vae_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array Handles Conv3d and Conv2d weight transpositions for MLX format. """ sanitized = {} + consumed = set() for key, value in weights.items(): new_key = key @@ -206,10 +230,78 @@ def sanitize_wan_vae_weights(weights: Dict[str, mx.array]) -> Dict[str, mx.array # Need to adapt naming for our simplified structure sanitized[new_key] = value + consumed.add(key) + + unconsumed = set(weights.keys()) - consumed + if unconsumed: + logger.warning("Unconsumed VAE weight keys: %s", sorted(unconsumed)) return sanitized +def _load_lora_configs( + lora_configs: List[Tuple[str, float]], +) -> Dict[str, list]: + """Load LoRA weights from config tuples, returning module_to_loras dict. + + Shared between weight-merging and runtime-wrapping paths. + """ + from mlx_video.lora import LoRAConfig, load_multiple_loras + from mlx_video.utils import Colors + + print(f"\n{Colors.CYAN}Loading {len(lora_configs)} LoRA(s)...{Colors.RESET}") + + configs = [] + for lora_path, strength in lora_configs: + try: + config = LoRAConfig(path=lora_path, strength=strength) + configs.append(config) + print(f" - {Path(lora_path).name} (strength: {strength})") + except Exception as e: + print(f"{Colors.RED}Error loading LoRA {lora_path}: {e}{Colors.RESET}") + raise + + module_to_loras = load_multiple_loras(configs) + + if not module_to_loras: + print(f"{Colors.YELLOW}Warning: No LoRA weights matched model layers{Colors.RESET}") + + return module_to_loras + + +def load_and_apply_loras( + model_weights: Dict[str, mx.array], + lora_configs: Optional[List[Tuple[str, float]]] = None, + verbose: bool = False, + quantization_bits: int = 0, +) -> Dict[str, mx.array]: + """Load and apply LoRA weights to model weights by merging into weight dict. + + For non-quantized (bf16) models. For quantized models, use apply_loras_to_model(). + """ + from mlx_video.lora import apply_loras_to_weights + from mlx_video.utils import Colors + + if not lora_configs: + return model_weights + + module_to_loras = _load_lora_configs(lora_configs) + if not module_to_loras: + return model_weights + + print(f"{Colors.GREEN}Applying LoRAs to {len(module_to_loras)} modules...{Colors.RESET}") + if verbose: + print(f" Model has {len(model_weights)} weight keys") + + modified_weights = apply_loras_to_weights( + model_weights, module_to_loras, verbose=verbose, quantization_bits=quantization_bits + ) + + print(f"{Colors.GREEN}✓ LoRAs applied successfully{Colors.RESET}") + + return modified_weights + + def convert_wan_checkpoint( checkpoint_dir: str, output_dir: str, @@ -464,30 +556,45 @@ def _quantize_saved_model( is_dual: bool, bits: int, group_size: int, + source_dir: Path = None, ): - """Load saved bf16 model, quantize, and re-save.""" + """Load saved bf16 model, quantize, and re-save. + + Args: + output_dir: Directory to write quantized weights to. + config: WanModelConfig for creating the model. + is_dual: Whether this is a dual-expert model. + bits: Quantization bits. + group_size: Quantization group size. + source_dir: Directory to read bf16 weights from. Defaults to output_dir. + """ import json import mlx.nn as nn from mlx_video.models.wan.model import WanModel - model_files = [] + if source_dir is None: + source_dir = output_dir + + model_names = [] if is_dual: for name in ["low_noise_model.safetensors", "high_noise_model.safetensors"]: - p = output_dir / name - if p.exists(): - model_files.append(p) + if (source_dir / name).exists(): + model_names.append(name) else: - p = output_dir / "model.safetensors" - if p.exists(): - model_files.append(p) + if (source_dir / "model.safetensors").exists(): + model_names.append("model.safetensors") - for model_path in model_files: - print(f" Quantizing {model_path.name}...") + for name in model_names: + print(f" Quantizing {name}...") model = WanModel(config) - weights = mx.load(str(model_path)) + weights = mx.load(str(source_dir / name)) model.load_weights(list(weights.items()), strict=False) + mx.eval(model.parameters()) + del weights + gc.collect() + mx.clear_cache() # Apply quantization to targeted layers nn.quantize( @@ -499,10 +606,30 @@ def _quantize_saved_model( # Save quantized weights weights_dict = dict(mlx.utils.tree_flatten(model.parameters())) - mx.save_safetensors(str(model_path), weights_dict) + + # Validate: check for NaN/Inf in bias tensors (corruption canary) + bad_keys = [] + for k, v in weights_dict.items(): + if k.endswith(".bias") and not k.endswith(".biases"): + mx.eval(v) + if mx.any(mx.isnan(v)).item() or mx.any(mx.isinf(v)).item(): + bad_keys.append(k) + if bad_keys: + raise RuntimeError( + f"Quantization produced corrupted weights in {model_path.name}: " + f"{len(bad_keys)} bias tensors contain NaN/Inf " + f"(e.g. {bad_keys[0]}). Try re-running with more available memory." + ) + + mx.save_safetensors(str(output_dir / name), weights_dict) n_quantized = sum(1 for k in weights_dict if ".scales" in k) print(f" {n_quantized} layers quantized, {len(weights_dict)} tensors saved") + # Free model before processing next file + del model, weights_dict + gc.collect() + mx.clear_cache() + # Update config.json with quantization metadata config_path = output_dir / "config.json" with open(config_path) as f: @@ -516,6 +643,68 @@ def _quantize_saved_model( print(f" Updated config.json with quantization metadata") +def quantize_mlx_model( + mlx_model_dir: str, + output_dir: str, + bits: int = 4, + group_size: int = 64, +): + """Quantize an already-converted MLX model (skips PyTorch conversion). + + Args: + mlx_model_dir: Path to existing MLX model directory (bf16/fp16). + output_dir: Path to output quantized model directory. + bits: Quantization bits (4 or 8). + group_size: Quantization group size (32, 64, or 128). + """ + import json + import shutil + + src = Path(mlx_model_dir) + dst = Path(output_dir) + + config_path = src / "config.json" + if not config_path.exists(): + raise FileNotFoundError(f"No config.json found in {src}") + + with open(config_path) as f: + cfg = json.load(f) + + if cfg.get("quantization"): + raise ValueError( + f"Model at {src} is already quantized " + f"({cfg['quantization']['bits']}-bit). Use a bf16/fp16 source." + ) + + # Detect dual vs single expert + is_dual = (src / "low_noise_model.safetensors").exists() and ( + src / "high_noise_model.safetensors" + ).exists() + + # Build model config + from mlx_video.models.wan.config import WanModelConfig + + config_dict = {k: v for k, v in cfg.items() if k in WanModelConfig.__dataclass_fields__} + for key in ("patch_size", "vae_stride", "window_size", "sample_guide_scale"): + if key in config_dict and isinstance(config_dict[key], list): + config_dict[key] = tuple(config_dict[key]) + config = WanModelConfig(**config_dict) + + # Copy non-transformer files to output dir (skip large model weights) + transformer_files = {"low_noise_model.safetensors", "high_noise_model.safetensors", "model.safetensors"} + if dst.resolve() != src.resolve(): + dst.mkdir(parents=True, exist_ok=True) + for f in src.iterdir(): + if f.is_file() and f.name not in transformer_files: + shutil.copy2(f, dst / f.name) + print(f"Copied non-transformer files from {src} to {dst}") + + print(f"Quantizing transformer weights ({bits}-bit, group_size={group_size})...") + _quantize_saved_model(dst, config, is_dual, bits, group_size, source_dir=src) + + print(f"\nQuantization complete! Output: {dst}") + + if __name__ == "__main__": import argparse @@ -551,6 +740,11 @@ if __name__ == "__main__": action="store_true", help="Quantize transformer weights for faster inference", ) + parser.add_argument( + "--quantize-only", + action="store_true", + help="Quantize an already-converted MLX model (skips PyTorch conversion)", + ) parser.add_argument( "--bits", type=int, @@ -566,7 +760,14 @@ if __name__ == "__main__": help="Quantization group size (default: 64)", ) args = parser.parse_args() - convert_wan_checkpoint( - args.checkpoint_dir, args.output_dir, args.dtype, args.model_version, - quantize=args.quantize, bits=args.bits, group_size=args.group_size, - ) + + if args.quantize_only: + quantize_mlx_model( + args.checkpoint_dir, args.output_dir, + bits=args.bits, group_size=args.group_size, + ) + else: + convert_wan_checkpoint( + args.checkpoint_dir, args.output_dir, args.dtype, args.model_version, + quantize=args.quantize, bits=args.bits, group_size=args.group_size, + ) diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index 1bd4fe7..a1875d5 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -43,6 +43,10 @@ def generate_video( seed: int = -1, output_path: str = "output.mp4", scheduler: str = "unipc", + loras: list | None = None, + loras_high: list | None = None, + loras_low: list | None = None, + ): """Generate video using Wan pipeline (supports T2V and I2V). @@ -60,6 +64,10 @@ def generate_video( seed: Random seed (-1 for random) output_path: Output video path scheduler: Solver type: 'euler', 'dpm++', or 'unipc' (default) + loras: Optional list of (path, strength) tuples applied to all models + loras_high: Optional list of (path, strength) tuples for high-noise model only + loras_low: Optional list of (path, strength) tuples for low-noise model only + """ import json @@ -156,6 +164,12 @@ def generate_video( parts = [float(x) for x in guide_scale.split(",")] guide_scale = tuple(parts) if len(parts) > 1 else parts[0] + # Detect CFG-disabled mode (guide_scale=1.0 for all models → skip uncond pass for 2x speedup) + if isinstance(guide_scale, tuple): + cfg_disabled = all(gs <= 1.0 for gs in guide_scale) + else: + cfg_disabled = guide_scale <= 1.0 + # Validate frame count assert (num_frames - 1) % 4 == 0, f"num_frames must be 4n+1, got {num_frames}" @@ -181,6 +195,8 @@ def generate_video( print(f" Neg prompt: {neg_display}") print(f" Size: {width}x{height}, Frames: {num_frames}") print(f" Steps: {steps}, Guide: {guide_scale}, Shift: {shift}, Solver: {scheduler}") + if cfg_disabled: + print(f" CFG: disabled (guide_scale≤1 → B=1 fast path, 2x denoising speedup)") print(f"{Colors.RESET}") # Seed @@ -233,8 +249,12 @@ def generate_video( # Encode prompts print(f"{Colors.BLUE}Encoding text...{Colors.RESET}") context = encode_text(t5_encoder, tokenizer, prompt, config.text_len) - context_null = encode_text(t5_encoder, tokenizer, neg_prompt_resolved, config.text_len) - mx.eval(context, context_null) + if cfg_disabled: + context_null = None + mx.eval(context) + else: + context_null = encode_text(t5_encoder, tokenizer, neg_prompt_resolved, config.text_len) + mx.eval(context, context_null) # Free T5 from memory del t5_encoder @@ -319,48 +339,78 @@ def generate_video( print(f"{Colors.DIM} Using {quantization['bits']}-bit quantized weights (group_size={quantization['group_size']}){Colors.RESET}") t2 = time.time() + # Merge per-model LoRAs with shared LoRAs + _loras_low = (loras or []) + (loras_low or []) or None + _loras_high = (loras or []) + (loras_high or []) or None + _loras_single = loras + if is_dual: low_noise_path = model_dir / "low_noise_model.safetensors" high_noise_path = model_dir / "high_noise_model.safetensors" - low_noise_model = load_wan_model(low_noise_path, config, quantization) - high_noise_model = load_wan_model(high_noise_path, config, quantization) + low_noise_model = load_wan_model(low_noise_path, config, quantization, loras=_loras_low) + high_noise_model = load_wan_model(high_noise_path, config, quantization, loras=_loras_high) else: - single_model = load_wan_model(model_dir / "model.safetensors", config, quantization) + single_model = load_wan_model(model_dir / "model.safetensors", config, quantization, loras=_loras_single) print(f"{Colors.DIM} Models loaded: {time.time() - t2:.1f}s{Colors.RESET}") # Precompute text embeddings once (avoids redundant MLP in every step) # Each model has its own text_embedding weights, so dual models need separate embeddings - if is_dual: - context_emb_low = low_noise_model.embed_text([context, context_null]) - context_emb_high = high_noise_model.embed_text([context, context_null]) - mx.eval(context_emb_low, context_emb_high) - context_cfg_low = mx.concatenate([context_emb_low[0:1], context_emb_low[1:2]], axis=0) - context_cfg_high = mx.concatenate([context_emb_high[0:1], context_emb_high[1:2]], axis=0) + if cfg_disabled: + # No CFG: only compute cond embeddings (B=1 forward pass, 2x faster) + if is_dual: + context_emb_low = low_noise_model.embed_text([context]) + context_emb_high = high_noise_model.embed_text([context]) + mx.eval(context_emb_low, context_emb_high) + context_cond_low = context_emb_low[0:1] + context_cond_high = context_emb_high[0:1] + else: + context_emb = single_model.embed_text([context]) + mx.eval(context_emb) + context_cond = context_emb[0:1] else: - context_emb = single_model.embed_text([context, context_null]) - mx.eval(context_emb) - context_cfg = mx.concatenate([context_emb[0:1], context_emb[1:2]], axis=0) + if is_dual: + context_emb_low = low_noise_model.embed_text([context, context_null]) + context_emb_high = high_noise_model.embed_text([context, context_null]) + mx.eval(context_emb_low, context_emb_high) + context_cfg_low = mx.concatenate([context_emb_low[0:1], context_emb_low[1:2]], axis=0) + context_cfg_high = mx.concatenate([context_emb_high[0:1], context_emb_high[1:2]], axis=0) + else: + context_emb = single_model.embed_text([context, context_null]) + mx.eval(context_emb) + context_cfg = mx.concatenate([context_emb[0:1], context_emb[1:2]], axis=0) # Precompute cross-attention K/V caches (constant across all steps) - if is_dual: - cross_kv_low = low_noise_model.prepare_cross_kv(context_cfg_low) - cross_kv_high = high_noise_model.prepare_cross_kv(context_cfg_high) - mx.eval(cross_kv_low, cross_kv_high) + if cfg_disabled: + if is_dual: + cross_kv_low = low_noise_model.prepare_cross_kv(context_cond_low) + cross_kv_high = high_noise_model.prepare_cross_kv(context_cond_high) + mx.eval(cross_kv_low, cross_kv_high) + else: + cross_kv = single_model.prepare_cross_kv(context_cond) + mx.eval(cross_kv) else: - cross_kv = single_model.prepare_cross_kv(context_cfg) - mx.eval(cross_kv) + if is_dual: + cross_kv_low = low_noise_model.prepare_cross_kv(context_cfg_low) + cross_kv_high = high_noise_model.prepare_cross_kv(context_cfg_high) + mx.eval(cross_kv_low, cross_kv_high) + else: + cross_kv = single_model.prepare_cross_kv(context_cfg) + mx.eval(cross_kv) # Precompute RoPE frequencies (grid sizes are constant across all steps) f_grid = t_latent // patch_size[0] h_grid = h_latent // patch_size[1] w_grid = w_latent // patch_size[2] - cfg_grid_sizes = [(f_grid, h_grid, w_grid), (f_grid, h_grid, w_grid)] + if cfg_disabled: + rope_grid_sizes = [(f_grid, h_grid, w_grid)] + else: + rope_grid_sizes = [(f_grid, h_grid, w_grid), (f_grid, h_grid, w_grid)] if is_dual: - rope_cos_sin_low = low_noise_model.prepare_rope(cfg_grid_sizes) - rope_cos_sin_high = high_noise_model.prepare_rope(cfg_grid_sizes) + rope_cos_sin_low = low_noise_model.prepare_rope(rope_grid_sizes) + rope_cos_sin_high = high_noise_model.prepare_rope(rope_grid_sizes) mx.eval(rope_cos_sin_low, rope_cos_sin_high) else: - rope_cos_sin = ref_model.prepare_rope(cfg_grid_sizes) + rope_cos_sin = ref_model.prepare_rope(rope_grid_sizes) mx.eval(rope_cos_sin) # Setup scheduler @@ -395,58 +445,86 @@ def generate_video( for i, t in enumerate(tqdm(range(steps), desc="Diffusion")): timestep_val = timestep_list[i] - # Select model, guide scale, cached K/V, and precomputed RoPE + # Select model, cached K/V, and precomputed RoPE if is_dual: if timestep_val >= boundary: model = high_noise_model - gs = guide_scale[1] kv = cross_kv_high rcs = rope_cos_sin_high else: model = low_noise_model - gs = guide_scale[0] kv = cross_kv_low rcs = rope_cos_sin_low else: model = single_model - gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] kv = cross_kv rcs = rope_cos_sin - # Build per-token timesteps for TI2V-5B (first-frame patches get t=0) - if is_i2v_mask_blend: - t_tokens = i2v_mask_tokens * timestep_val # [1, L] - # Pad to seq_len if needed - pad_len = seq_len - t_tokens.shape[1] - if pad_len > 0: - t_tokens = mx.concatenate( - [t_tokens, mx.full((1, pad_len), timestep_val)], axis=1 - ) - # Batch for CFG: both cond and uncond get same timesteps - t_batch = mx.concatenate([t_tokens, t_tokens], axis=0) # [2, L] + if cfg_disabled: + # No CFG: B=1 forward pass (2x faster than B=2 CFG batch) + if is_i2v_mask_blend: + t_tokens = i2v_mask_tokens * timestep_val + pad_len = seq_len - t_tokens.shape[1] + if pad_len > 0: + t_tokens = mx.concatenate( + [t_tokens, mx.full((1, pad_len), timestep_val)], axis=1 + ) + t_batch = t_tokens # [1, L] + else: + t_batch = mx.array([timestep_val]) + + y_arg = [y_i2v] if is_i2v_channel_concat else None + + if is_dual: + ctx = context_cond_high if timestep_val >= boundary else context_cond_low + else: + ctx = context_cond + preds = model( + [latents], + t=t_batch, + context=ctx, + seq_len=seq_len, + cross_kv_caches=kv, + y=y_arg, + rope_cos_sin=rcs, + ) + noise_pred = preds[0] + del preds else: - t_batch = mx.array([timestep_val, timestep_val]) + # CFG: batch cond + uncond into single B=2 forward pass + if is_dual: + gs = guide_scale[1] if timestep_val >= boundary else guide_scale[0] + else: + gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] - # I2V-14B: pass y conditioning to model (same y for cond and uncond) - y_arg = [y_i2v, y_i2v] if is_i2v_channel_concat else None + if is_i2v_mask_blend: + t_tokens = i2v_mask_tokens * timestep_val + pad_len = seq_len - t_tokens.shape[1] + if pad_len > 0: + t_tokens = mx.concatenate( + [t_tokens, mx.full((1, pad_len), timestep_val)], axis=1 + ) + t_batch = mx.concatenate([t_tokens, t_tokens], axis=0) + else: + t_batch = mx.array([timestep_val, timestep_val]) - # CFG: batch cond + uncond into single B=2 forward pass - ctx = context_cfg if not is_dual else ( - context_cfg_high if timestep_val >= boundary else context_cfg_low - ) - preds = model( - [latents, latents], - t=t_batch, - context=ctx, - seq_len=seq_len, - cross_kv_caches=kv, - y=y_arg, - rope_cos_sin=rcs, - ) - noise_pred_cond, noise_pred_uncond = preds[0], preds[1] + y_arg = [y_i2v, y_i2v] if is_i2v_channel_concat else None - # Classifier-free guidance + scheduler step - noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) + ctx = context_cfg if not is_dual else ( + context_cfg_high if timestep_val >= boundary else context_cfg_low + ) + preds = model( + [latents, latents], + t=t_batch, + context=ctx, + seq_len=seq_len, + cross_kv_caches=kv, + y=y_arg, + rope_cos_sin=rcs, + ) + noise_pred_cond, noise_pred_uncond = preds[0], preds[1] + noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) + del noise_pred_cond, noise_pred_uncond, preds latents = sched.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) @@ -455,7 +533,7 @@ def generate_video( latents = (1.0 - i2v_mask) * z_img + i2v_mask * latents # Release temporaries before eval to free memory for graph execution - del noise_pred_cond, noise_pred_uncond, noise_pred, preds + del noise_pred mx.eval(latents) print(f"{Colors.DIM} Denoising: {time.time() - t3:.1f}s{Colors.RESET}") @@ -463,11 +541,19 @@ def generate_video( # Free transformer models and text embeddings if is_dual: del low_noise_model, high_noise_model, cross_kv_low, cross_kv_high - del context_cfg_low, context_cfg_high + if cfg_disabled: + del context_cond_low, context_cond_high + else: + del context_cfg_low, context_cfg_high else: del single_model, cross_kv - del context_cfg - del model, kv, context, context_null + if cfg_disabled: + del context_cond + else: + del context_cfg + del model, kv, context + if context_null is not None: + del context_null gc.collect(); mx.clear_cache() # Load VAE and decode @@ -478,25 +564,36 @@ def generate_video( is_wan22_vae = config.vae_z_dim == 48 + # Warm-up: prepend a copy of the first latent frame to provide temporal + # context for the real first frame. Causal convolutions in the VAE decoder + # pad with zeros on the left, so the first few output frames have degraded + # quality (no temporal context). By duplicating the first latent, the real + # first frame sees its own features as left context instead of zeros. + # We trim the extra output frames after decoding. + warmup_trim = vae_stride[0] # 4 frames per latent temporal position + latents_for_decode = mx.concatenate([latents[:, 0:1], latents], axis=1) + if is_wan22_vae: from mlx_video.models.wan.vae22 import denormalize_latents # latents: [C, T, H, W] → [1, T, H, W, C] (channels-last for Wan2.2 VAE) - z = latents.transpose(1, 2, 3, 0)[None] # [1, T, H, W, C] + z = latents_for_decode.transpose(1, 2, 3, 0)[None] # [1, T+1, H, W, C] z = denormalize_latents(z) video = vae(z) # [1, T', H', W', 3] mx.eval(video) print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") video = np.array(video[0]) # [T', H', W', 3] + video = video[warmup_trim:] # Trim warm-up frames video = (video + 1.0) / 2.0 video = np.clip(video * 255.0, 0, 255).astype(np.uint8) else: - video = vae.decode(latents[None]) # [1, 3, T, H, W] + video = vae.decode(latents_for_decode[None]) # [1, 3, T+1*4, H, W] mx.eval(video) print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") - video = np.array(video[0]) # [3, T, H, W] + video = np.array(video[0]) # [3, T', H, W] + video = video[:, warmup_trim:] # Trim warm-up frames (channels-first) video = (video + 1.0) / 2.0 video = np.clip(video * 255.0, 0, 255).astype(np.uint8) video = video.transpose(1, 2, 3, 0) # [T, H, W, 3] @@ -529,6 +626,19 @@ def main(): choices=["euler", "dpm++", "unipc"], help="Diffusion solver: euler (1st order), dpm++ (2nd order), unipc (2nd order PC, default/official)", ) + parser.add_argument( + "--lora", nargs=2, action="append", metavar=("PATH", "STRENGTH"), + help="Apply a LoRA to all models (repeatable). Format: --lora path.safetensors 0.8", + ) + parser.add_argument( + "--lora-high", nargs=2, action="append", metavar=("PATH", "STRENGTH"), + help="Apply a LoRA to high-noise model only (dual-model, repeatable)", + ) + parser.add_argument( + "--lora-low", nargs=2, action="append", metavar=("PATH", "STRENGTH"), + help="Apply a LoRA to low-noise model only (dual-model, repeatable)", + ) + args = parser.parse_args() # Parse guide scale @@ -542,6 +652,12 @@ def main(): if args.no_negative_prompt: neg_prompt = "" + # Parse LoRA configs: convert [path, strength_str] → (path, float) + def _parse_lora_args(lora_list): + if not lora_list: + return None + return [(path, float(strength)) for path, strength in lora_list] + generate_video( model_dir=args.model_dir, prompt=args.prompt, @@ -556,6 +672,10 @@ def main(): seed=args.seed, output_path=args.output_path, scheduler=args.scheduler, + loras=_parse_lora_args(args.lora), + loras_high=_parse_lora_args(args.lora_high), + loras_low=_parse_lora_args(args.lora_low), + ) diff --git a/mlx_video/lora/__init__.py b/mlx_video/lora/__init__.py new file mode 100644 index 0000000..4c0d81b --- /dev/null +++ b/mlx_video/lora/__init__.py @@ -0,0 +1,25 @@ +"""LoRA support for mlx-video.""" + +from mlx_video.lora.apply import ( + LoRALinear, + apply_lora_to_linear, + apply_loras_to_model, + apply_loras_to_weights, +) +from mlx_video.lora.loader import ( + load_lora_weights, + load_multiple_loras, +) +from mlx_video.lora.types import AppliedLoRA, LoRAConfig, LoRAWeights + +__all__ = [ + "LoRAConfig", + "LoRAWeights", + "AppliedLoRA", + "load_lora_weights", + "load_multiple_loras", + "apply_lora_to_linear", + "apply_loras_to_weights", + "apply_loras_to_model", + "LoRALinear", +] diff --git a/mlx_video/lora/apply.py b/mlx_video/lora/apply.py new file mode 100644 index 0000000..97b694e --- /dev/null +++ b/mlx_video/lora/apply.py @@ -0,0 +1,393 @@ +"""Apply LoRA weights to model layers.""" + +from typing import Dict, List, Tuple + +import mlx.core as mx +import mlx.nn as nn + +from mlx_video.lora.types import LoRAWeights + + +def apply_lora_to_linear( + linear_weight: mx.array, + lora_weights_and_strengths: List[Tuple[LoRAWeights, float]], +) -> mx.array: + """Apply one or more LoRAs to a linear layer weight. + + Args: + linear_weight: Original weight matrix [out_features, in_features] + lora_weights_and_strengths: List of (LoRAWeights, strength) tuples + + Returns: + Modified weight with LoRA deltas applied (preserves original dtype) + """ + orig_dtype = linear_weight.dtype + modified_weight = linear_weight + + for weights, strength in lora_weights_and_strengths: + scale = weights.scale + # Compute delta in float32 for precision, then cast back to avoid + # promoting model weights (e.g. bfloat16 → float32 causes ~1.5x slowdown) + delta = (weights.lora_B @ weights.lora_A) * (scale * strength) + modified_weight = modified_weight + delta.astype(orig_dtype) + + return modified_weight + + +def _normalize_wan_lora_key(lora_key: str, model_keys: set) -> str: + """Normalize LoRA module name to match Wan2.2 MLX model weight keys. + + Handles: + - Stripping common prefixes (diffusion_model., model., etc.) + - FFN key mapping: ffn.0 → ffn.fc1, ffn.2 → ffn.fc2 + - Embedding key mapping: text_embedding.0 → text_embedding_0, etc. + - Time projection: time_projection.1 → time_projection + - Patch embedding: patch_embedding → patch_embedding_proj + + Args: + lora_key: Original LoRA module name + model_keys: Set of all model weight keys + + Returns: + Normalized key that matches model weights + """ + # Try the key as-is first + if f"{lora_key}.weight" in model_keys or lora_key in model_keys: + return lora_key + + # Common prefixes to strip + prefixes_to_strip = [ + "model.diffusion_model.", + "diffusion_model.", + "base_model.model.", + "model.", + ] + + candidates = [lora_key] + for prefix in prefixes_to_strip: + if lora_key.startswith(prefix): + candidates.append(lora_key[len(prefix):]) + + for candidate in candidates: + # Try as-is + if f"{candidate}.weight" in model_keys or candidate in model_keys: + return candidate + + # Apply Wan2.2 key transformations + transformed = candidate + + # FFN: ffn.0 → ffn.fc1, ffn.2 → ffn.fc2 + transformed = transformed.replace(".ffn.0.", ".ffn.fc1.") + transformed = transformed.replace(".ffn.2.", ".ffn.fc2.") + if transformed.endswith(".ffn.0"): + transformed = transformed[:-len(".ffn.0")] + ".ffn.fc1" + if transformed.endswith(".ffn.2"): + transformed = transformed[:-len(".ffn.2")] + ".ffn.fc2" + + # Text embedding: text_embedding.0 → text_embedding_0 + transformed = transformed.replace("text_embedding.0.", "text_embedding_0.") + transformed = transformed.replace("text_embedding.2.", "text_embedding_1.") + if transformed.endswith("text_embedding.0"): + transformed = transformed[:-len("text_embedding.0")] + "text_embedding_0" + if transformed.endswith("text_embedding.2"): + transformed = transformed[:-len("text_embedding.2")] + "text_embedding_1" + + # Time embedding: time_embedding.0 → time_embedding_0 + transformed = transformed.replace("time_embedding.0.", "time_embedding_0.") + transformed = transformed.replace("time_embedding.2.", "time_embedding_1.") + if transformed.endswith("time_embedding.0"): + transformed = transformed[:-len("time_embedding.0")] + "time_embedding_0" + if transformed.endswith("time_embedding.2"): + transformed = transformed[:-len("time_embedding.2")] + "time_embedding_1" + + # Time projection: time_projection.1 → time_projection + transformed = transformed.replace("time_projection.1.", "time_projection.") + if transformed.endswith("time_projection.1"): + transformed = transformed[:-len("time_projection.1")] + "time_projection" + + # Patch embedding: patch_embedding → patch_embedding_proj + if "patch_embedding" in transformed and "patch_embedding_proj" not in transformed: + transformed = transformed.replace("patch_embedding", "patch_embedding_proj") + + if f"{transformed}.weight" in model_keys or transformed in model_keys: + return transformed + + # Return best attempt with prefix stripped + for prefix in prefixes_to_strip: + if lora_key.startswith(prefix): + return lora_key[len(prefix):] + + return lora_key + + +# Also support LTX-style key normalization +def _normalize_ltx_lora_key(lora_key: str, model_keys: set) -> str: + """Normalize LoRA module name to match LTX MLX model weight keys.""" + if f"{lora_key}.weight" in model_keys or lora_key in model_keys: + return lora_key + + prefixes_to_strip = [ + "model.diffusion_model.", + "diffusion_model.", + "model.", + ] + + for prefix in prefixes_to_strip: + if lora_key.startswith(prefix): + normalized = lora_key[len(prefix):] + + if f"{normalized}.weight" in model_keys or normalized in model_keys: + return normalized + + transformed = normalized + if transformed.endswith(".to_out.0"): + transformed = transformed[:-len(".to_out.0")] + ".to_out" + transformed = transformed.replace(".to_out.0.", ".to_out.") + transformed = transformed.replace(".ff.net.0.proj.", ".ff.proj_in.") + transformed = transformed.replace(".ff.net.0.proj", ".ff.proj_in") + transformed = transformed.replace(".ff.net.2.", ".ff.proj_out.") + transformed = transformed.replace(".ff.net.2", ".ff.proj_out") + transformed = transformed.replace(".audio_ff.net.0.proj.", ".audio_ff.proj_in.") + transformed = transformed.replace(".audio_ff.net.0.proj", ".audio_ff.proj_in") + transformed = transformed.replace(".audio_ff.net.2.", ".audio_ff.proj_out.") + transformed = transformed.replace(".audio_ff.net.2", ".audio_ff.proj_out") + + if f"{transformed}.weight" in model_keys or transformed in model_keys: + return transformed + + # Try transformations on the original key + transformed = lora_key + if transformed.endswith(".to_out.0"): + transformed = transformed[:-len(".to_out.0")] + ".to_out" + transformed = transformed.replace(".to_out.0.", ".to_out.") + transformed = transformed.replace(".ff.net.0.proj.", ".ff.proj_in.") + transformed = transformed.replace(".ff.net.0.proj", ".ff.proj_in") + transformed = transformed.replace(".ff.net.2.", ".ff.proj_out.") + transformed = transformed.replace(".ff.net.2", ".ff.proj_out") + + if f"{transformed}.weight" in model_keys or transformed in model_keys: + return transformed + + for prefix in prefixes_to_strip: + if lora_key.startswith(prefix): + return lora_key[len(prefix):] + + return lora_key + + +def _normalize_lora_key(lora_key: str, model_keys: set) -> str: + """Normalize LoRA module name to match model weight keys. + + Auto-detects whether to use Wan2.2 or LTX key normalization based + on the presence of architecture-specific keys in the model. + """ + # Detect model architecture from keys + is_wan = any("self_attn.q.weight" in k for k in model_keys) + + if is_wan: + return _normalize_wan_lora_key(lora_key, model_keys) + else: + return _normalize_ltx_lora_key(lora_key, model_keys) + + +def apply_loras_to_weights( + model_weights: Dict[str, mx.array], + module_to_loras: Dict[str, List[Tuple[LoRAWeights, float]]], + verbose: bool = False, + quantization_bits: int = 0, +) -> Dict[str, mx.array]: + """Apply LoRAs to model weights. + + Args: + model_weights: Original model state dictionary + module_to_loras: Dictionary mapping module names to lists of + (LoRAWeights, strength) tuples + verbose: If True, print detailed debug information + quantization_bits: If >0, weights are quantized at this bit width. + Quantized layers are dequantized before LoRA application + and re-quantized after. + + Returns: + New state dictionary with LoRA-modified weights + """ + modified_weights = dict(model_weights) + model_keys = set(model_weights.keys()) + + applied_count = 0 + skipped_count = 0 + skipped_modules = [] + + for module_name, loras in module_to_loras.items(): + normalized_name = _normalize_lora_key(module_name, model_keys) + weight_key = f"{normalized_name}.weight" + + if weight_key not in modified_weights: + if normalized_name not in modified_weights: + skipped_count += 1 + skipped_modules.append(module_name) + if verbose and skipped_count <= 5: + print(f" DEBUG: '{module_name}' -> '{normalized_name}' -> NOT FOUND") + similar = [ + k + for k in list(model_keys)[:1000] + if normalized_name.split(".")[-1] in k + ][:3] + if similar: + print(f" Similar keys: {similar}") + continue + weight_key = normalized_name + + original_weight = modified_weights[weight_key] + + # Handle quantized weights: dequantize → apply delta → re-quantize + scales_key = f"{normalized_name}.scales" + biases_key = f"{normalized_name}.biases" + is_quantized = ( + original_weight.dtype == mx.uint32 + and scales_key in modified_weights + and biases_key in modified_weights + ) + + if is_quantized: + scales = modified_weights[scales_key] + biases = modified_weights[biases_key] + group_size = (original_weight.shape[-1] * 32) // (scales.shape[-1] * quantization_bits) + dequantized = mx.dequantize( + original_weight, scales, biases, group_size=group_size, bits=quantization_bits + ) + modified = apply_lora_to_linear(dequantized, loras) + # Re-quantize with same parameters + new_w, new_scales, new_biases = mx.quantize(modified, group_size=group_size, bits=quantization_bits) + modified_weights[weight_key] = new_w + modified_weights[scales_key] = new_scales + modified_weights[biases_key] = new_biases + else: + modified_weights[weight_key] = apply_lora_to_linear(original_weight, loras) + + applied_count += 1 + + if applied_count > 0: + print(f" ✓ Applied to {applied_count} modules") + if skipped_count > 0: + print(f" ⚠ Skipped {skipped_count} incompatible modules") + + return modified_weights + + +class LoRALinear(nn.Module): + """Linear layer with on-the-fly LoRA application. + + Wraps nn.Linear or nn.QuantizedLinear, computing LoRA delta at runtime: + output = base_linear(x) + (x @ lora_A.T @ lora_B.T) * scale * strength + """ + + def __init__( + self, + linear: nn.Module, + lora_weights_and_strengths: List[Tuple[LoRAWeights, float]], + ): + super().__init__() + self.linear = linear + self.lora_weights_and_strengths = lora_weights_and_strengths + + def __call__(self, x: mx.array) -> mx.array: + output = self.linear(x) + for weights, strength in self.lora_weights_and_strengths: + scale = weights.scale + lora_out = x @ weights.lora_A.T @ weights.lora_B.T + output = output + (scale * strength * lora_out) + return output + + +def apply_loras_to_model( + model: nn.Module, + module_to_loras: Dict[str, List[Tuple[LoRAWeights, float]]], + verbose: bool = False, +) -> int: + """Apply LoRAs to a model by merging into weights. + + For QuantizedLinear layers: dequantizes to bf16, merges LoRA delta, and + replaces with a regular nn.Linear (no per-step overhead, no re-quantization + precision loss). Non-LoRA layers stay quantized. + + For nn.Linear layers: merges LoRA delta directly into the weight. + + Args: + model: The model to apply LoRAs to + module_to_loras: Dictionary mapping module names to (LoRAWeights, strength) lists + verbose: Print debug info + + Returns: + Number of modules modified + """ + # Build a set of model module paths for key normalization + module_paths = set() + for name, _ in model.named_modules(): + module_paths.add(name) + module_paths.add(f"{name}.weight") + + # Map LoRA keys → model module paths + lora_to_module = {} + for lora_key in module_to_loras: + normalized = _normalize_lora_key(lora_key, module_paths) + if normalized.endswith(".weight"): + normalized = normalized[: -len(".weight")] + lora_to_module[lora_key] = normalized + + applied_count = 0 + dequant_count = 0 + skipped = [] + + for lora_key, loras in module_to_loras.items(): + module_path = lora_to_module[lora_key] + parts = module_path.split(".") + + # Traverse to the parent module + parent = model + try: + for part in parts[:-1]: + parent = getattr(parent, part) if not part.isdigit() else parent[int(part)] + leaf_name = parts[-1] + target = getattr(parent, leaf_name) if not leaf_name.isdigit() else parent[int(leaf_name)] + except (AttributeError, IndexError, TypeError): + skipped.append(lora_key) + if verbose: + print(f" DEBUG: '{lora_key}' -> '{module_path}' -> module not found") + continue + + if isinstance(target, nn.QuantizedLinear): + # Dequantize → merge LoRA → replace with bf16 Linear + weight = mx.dequantize( + target.weight, target.scales, target.biases, + group_size=target.group_size, bits=target.bits, + ) + merged = apply_lora_to_linear(weight, loras) + new_linear = nn.Linear(merged.shape[1], merged.shape[0]) + new_linear.weight = merged + if "bias" in target: + new_linear.bias = target.bias + if leaf_name.isdigit(): + parent[int(leaf_name)] = new_linear + else: + setattr(parent, leaf_name, new_linear) + dequant_count += 1 + applied_count += 1 + elif isinstance(target, nn.Linear): + # Merge directly into weight + target.weight = apply_lora_to_linear(target.weight, loras) + applied_count += 1 + else: + skipped.append(lora_key) + if verbose: + print(f" DEBUG: '{module_path}' is {type(target).__name__}, not Linear") + continue + + if applied_count > 0: + msg = f" ✓ Applied to {applied_count} modules" + if dequant_count > 0: + msg += f" ({dequant_count} dequantized to bf16)" + print(msg) + if skipped: + print(f" ⚠ Skipped {len(skipped)} incompatible modules") + + return applied_count diff --git a/mlx_video/lora/loader.py b/mlx_video/lora/loader.py new file mode 100644 index 0000000..adf11b1 --- /dev/null +++ b/mlx_video/lora/loader.py @@ -0,0 +1,122 @@ +"""LoRA weight loading utilities.""" + +import re +from pathlib import Path +from typing import Dict, List, Optional + +import mlx.core as mx + +from mlx_video.lora.types import LoRAConfig, LoRAWeights + + +def load_lora_weights(lora_path: Path) -> Dict[str, LoRAWeights]: + """Load LoRA weights from a safetensors file. + + Supports both key conventions: + - {module_name}.lora_A.weight / {module_name}.lora_B.weight + - {module_name}.lora_down.weight / {module_name}.lora_up.weight + + Args: + lora_path: Path to the LoRA safetensors file + + Returns: + Dictionary mapping module names to LoRAWeights objects + + Raises: + FileNotFoundError: If the LoRA file doesn't exist + ValueError: If the LoRA file format is invalid + """ + if not lora_path.exists(): + raise FileNotFoundError(f"LoRA file not found: {lora_path}") + + all_weights = mx.load(str(lora_path)) + + # Group weights by module name, handling both naming conventions + lora_weights = {} + module_names = set() + + for key in all_weights.keys(): + # Format 1: {module}.lora_A.weight / {module}.lora_B.weight + match = re.match(r"(.+)\.lora_([AB])\.weight$", key) + if match: + module_names.add(match.group(1)) + continue + # Format 2: {module}.lora_down.weight / {module}.lora_up.weight + match = re.match(r"(.+)\.lora_(down|up)\.weight$", key) + if match: + module_names.add(match.group(1)) + + for module_name in module_names: + # Try both key conventions + key_a = f"{module_name}.lora_A.weight" + key_b = f"{module_name}.lora_B.weight" + if key_a not in all_weights or key_b not in all_weights: + key_a = f"{module_name}.lora_down.weight" + key_b = f"{module_name}.lora_up.weight" + if key_a not in all_weights or key_b not in all_weights: + continue + + lora_a = all_weights[key_a] + lora_b = all_weights[key_b] + + if lora_a.ndim != 2 or lora_b.ndim != 2: + raise ValueError( + f"Invalid LoRA shape for {module_name}: " + f"lora_A={lora_a.shape}, lora_B={lora_b.shape}" + ) + + rank = lora_a.shape[0] + if lora_b.shape[1] != rank: + raise ValueError( + f"LoRA rank mismatch for {module_name}: " + f"lora_A rank={rank}, lora_B rank={lora_b.shape[1]}" + ) + + # Check for per-module alpha stored as a scalar tensor + alpha_key = f"{module_name}.alpha" + if alpha_key in all_weights: + alpha = float(all_weights[alpha_key].item()) + else: + alpha = float(rank) + + lora_weights[module_name] = LoRAWeights( + lora_A=lora_a, + lora_B=lora_b, + rank=rank, + alpha=alpha, + module_name=module_name, + ) + + if not lora_weights: + raise ValueError(f"No valid LoRA weights found in {lora_path}") + + return lora_weights + + +def load_multiple_loras( + configs: List[LoRAConfig], +) -> Dict[str, List[tuple]]: + """Load multiple LoRA configurations. + + Args: + configs: List of LoRAConfig objects + + Returns: + Dictionary mapping module names to lists of (LoRAWeights, strength) tuples. + """ + module_to_loras: Dict[str, list] = {} + + for config in configs: + lora_weights = load_lora_weights(config.path) + + for module_name, weights in lora_weights.items(): + if config.target_modules is not None: + if module_name not in config.target_modules: + continue + + if module_name not in module_to_loras: + module_to_loras[module_name] = [] + + module_to_loras[module_name].append((weights, config.strength)) + + return module_to_loras diff --git a/mlx_video/lora/types.py b/mlx_video/lora/types.py new file mode 100644 index 0000000..c1aa3cc --- /dev/null +++ b/mlx_video/lora/types.py @@ -0,0 +1,74 @@ +"""Data structures for LoRA support.""" + +from dataclasses import dataclass +from pathlib import Path +from typing import Optional + +import mlx.core as mx + + +@dataclass +class LoRAWeights: + """Container for LoRA weight matrices. + + Attributes: + lora_A: Low-rank matrix A of shape [rank, in_features] + lora_B: Low-rank matrix B of shape [out_features, rank] + rank: Rank of the LoRA decomposition + alpha: LoRA scaling parameter (default: rank) + module_name: Target module name in the model + """ + + lora_A: mx.array + lora_B: mx.array + rank: int + alpha: float + module_name: str + + @property + def scale(self) -> float: + """Compute the scale factor: alpha / rank.""" + return self.alpha / self.rank + + +@dataclass +class LoRAConfig: + """Configuration for a single LoRA. + + Attributes: + path: Path to the LoRA safetensors file + strength: Strength/weight to apply this LoRA (typically 0.0-2.0) + target_modules: Optional list of module names to apply LoRA to. + If None, applies to all available modules in the LoRA. + """ + + path: Path + strength: float = 1.0 + target_modules: Optional[list[str]] = None + + def __post_init__(self): + """Validate and normalize the configuration.""" + self.path = Path(self.path) + if not self.path.exists(): + raise FileNotFoundError(f"LoRA file not found: {self.path}") + if self.strength < 0: + raise ValueError(f"LoRA strength must be non-negative, got {self.strength}") + + +@dataclass +class AppliedLoRA: + """Represents a LoRA applied to a specific module. + + Attributes: + weights: The LoRA weight matrices + strength: Application strength for this LoRA + """ + + weights: LoRAWeights + strength: float + + def compute_delta(self) -> mx.array: + """Compute the weight delta: strength * scale * (lora_B @ lora_A).""" + scale = self.weights.scale + delta = self.weights.lora_B @ self.weights.lora_A + return scale * self.strength * delta diff --git a/mlx_video/models/wan/attention.py b/mlx_video/models/wan/attention.py index e3fe24a..b0a6f2f 100644 --- a/mlx_video/models/wan/attention.py +++ b/mlx_video/models/wan/attention.py @@ -4,6 +4,15 @@ import mlx.nn as nn from .rope import rope_apply +def _linear_dtype(layer) -> mx.Dtype: + """Get the compute dtype of a linear layer, handling QuantizedLinear and LoRA wrappers.""" + # Unwrap LoRA wrapper to get the underlying linear layer + inner = getattr(layer, "linear", layer) + if isinstance(inner, nn.QuantizedLinear): + return inner.scales.dtype + return inner.weight.dtype + + class WanRMSNorm(nn.Module): """RMS normalization with learnable scale.""" @@ -73,8 +82,8 @@ class WanSelfAttention(nn.Module): b, s, _ = x.shape n, d = self.num_heads, self.head_dim - # Cast to weight dtype for efficient matmul (bfloat16 matching official autocast) - w_dtype = self.q.weight.dtype + # Cast to compute dtype for efficient matmul (bfloat16 matching official autocast) + w_dtype = _linear_dtype(self.q) x_w = x.astype(w_dtype) q = self.q(x_w) @@ -154,8 +163,8 @@ class WanCrossAttention(nn.Module): """ b = context.shape[0] n, d = self.num_heads, self.head_dim - # Cast to weight dtype for efficient matmul - w_dtype = self.k.weight.dtype + # Cast to compute dtype for efficient matmul + w_dtype = _linear_dtype(self.k) ctx = context.astype(w_dtype) k = self.k(ctx) if self.norm_k is not None: @@ -174,8 +183,8 @@ class WanCrossAttention(nn.Module): b = x.shape[0] n, d = self.num_heads, self.head_dim - # Cast to weight dtype for efficient matmul (bfloat16 matching official autocast) - w_dtype = self.q.weight.dtype + # Cast to compute dtype for efficient matmul (bfloat16 matching official autocast) + w_dtype = _linear_dtype(self.q) q = self.q(x.astype(w_dtype)) if self.norm_q is not None: q = self.norm_q(q) diff --git a/mlx_video/models/wan/loading.py b/mlx_video/models/wan/loading.py index 4ef795b..35e3d12 100644 --- a/mlx_video/models/wan/loading.py +++ b/mlx_video/models/wan/loading.py @@ -6,14 +6,15 @@ import mlx.core as mx import mlx.nn as nn -def load_wan_model(model_path: Path, config, quantization: dict | None = None): - """Load and initialize WanModel, with optional quantization support. +def load_wan_model(model_path: Path, config, quantization: dict | None = None, loras: list | None = None): + """Load and initialize WanModel, with optional quantization and LoRA support. Args: model_path: Path to model safetensors file config: WanModelConfig quantization: Optional dict with 'bits' and 'group_size' keys. If provided, creates QuantizedLinear stubs before loading. + loras: Optional list of (lora_path, strength) tuples to apply. """ from mlx_video.models.wan.model import WanModel @@ -30,6 +31,27 @@ def load_wan_model(model_path: Path, config, quantization: dict | None = None): ) weights = mx.load(str(model_path)) + + # Apply LoRAs: dequantize+merge for quantized models, weight merge for bf16 + if loras: + if quantization: + # Dequantize LoRA-targeted layers, merge delta, replace with bf16 Linear. + # Non-LoRA layers stay 4-bit. Zero per-step overhead. + from mlx_video.convert_wan import _load_lora_configs + from mlx_video.lora import apply_loras_to_model + + model.load_weights(list(weights.items()), strict=False) + mx.eval(model.parameters()) + module_to_loras = _load_lora_configs(loras) + apply_loras_to_model(model, module_to_loras) + mx.eval(model.parameters()) + return model + else: + # Weight merging: fold LoRA into bf16 weights before loading + from mlx_video.convert_wan import load_and_apply_loras + + weights = load_and_apply_loras(dict(weights), loras) + model.load_weights(list(weights.items()), strict=False) mx.eval(model.parameters()) return model diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index a196c05..e6a3a40 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -4,7 +4,7 @@ import mlx.core as mx import mlx.nn as nn import numpy as np -from .attention import WanLayerNorm +from .attention import WanLayerNorm, _linear_dtype from .config import WanModelConfig from .rope import rope_params, rope_precompute_cos_sin from .transformer import WanAttentionBlock @@ -54,7 +54,7 @@ class Head(nn.Module): e1 = mod[:, :, 1, :] # [B, L_e, dim] scale x_norm = self.norm(x) x_mod = x_norm * (1 + e1) + e0 # type promotion handles bf16→f32 - return self.head(x_mod.astype(self.head.weight.dtype)) + return self.head(x_mod.astype(_linear_dtype(self.head))) class WanModel(nn.Module): @@ -79,7 +79,7 @@ class WanModel(nn.Module): # Text embedding MLP self.text_embedding_0 = nn.Linear(config.text_dim, dim) - self.text_embedding_act = nn.GELU(approx="precise") + self.text_embedding_act = nn.GELU(approx="tanh") self.text_embedding_1 = nn.Linear(dim, dim) # Time embedding MLP @@ -149,7 +149,7 @@ class WanModel(nn.Module): # Project and cast to model dtype to prevent float32 cascade from input latents patches = self.patch_embedding_proj(x) # [L, dim] - patches = patches.astype(self.patch_embedding_proj.weight.dtype) + patches = patches.astype(_linear_dtype(self.patch_embedding_proj)) patches = patches[None, :, :] # [1, L, dim] return patches, (f_out, h_out, w_out) @@ -186,7 +186,7 @@ class WanModel(nn.Module): Returns: Embedded context [B, text_len, dim] in model dtype """ - model_dtype = self.patch_embedding_proj.weight.dtype + model_dtype = _linear_dtype(self.patch_embedding_proj) context_padded = [] for ctx in context: pad_len = self.text_len - ctx.shape[0] @@ -231,7 +231,7 @@ class WanModel(nn.Module): Returns: (cos_f, sin_f) precomputed frequency tensors """ - w_dtype = self.patch_embedding_proj.weight.dtype + w_dtype = _linear_dtype(self.patch_embedding_proj) return rope_precompute_cos_sin(grid_sizes, self.freqs, dtype=w_dtype) def __call__( @@ -348,7 +348,7 @@ class WanModel(nn.Module): # Pre-compute attention mask from seq_lens (constant across all blocks) attn_mask = None - w_dtype = self.patch_embedding_proj.weight.dtype + w_dtype = _linear_dtype(self.patch_embedding_proj) if any(sl < seq_len for sl in seq_lens_list): attn_mask = mx.zeros((batch_size, 1, 1, seq_len), dtype=w_dtype) for i, sl in enumerate(seq_lens_list): diff --git a/mlx_video/models/wan/text_encoder.py b/mlx_video/models/wan/text_encoder.py index d325ed5..b81a072 100644 --- a/mlx_video/models/wan/text_encoder.py +++ b/mlx_video/models/wan/text_encoder.py @@ -146,7 +146,7 @@ class T5FeedForward(nn.Module): self.dim = dim self.dim_ffn = dim_ffn self.gate_proj = nn.Linear(dim, dim_ffn, bias=False) - self.gate_act = nn.GELU(approx="precise") + self.gate_act = nn.GELU(approx="tanh") self.fc1 = nn.Linear(dim, dim_ffn, bias=False) self.fc2 = nn.Linear(dim_ffn, dim, bias=False) diff --git a/mlx_video/models/wan/transformer.py b/mlx_video/models/wan/transformer.py index c85c90e..857bcae 100644 --- a/mlx_video/models/wan/transformer.py +++ b/mlx_video/models/wan/transformer.py @@ -1,7 +1,7 @@ import mlx.core as mx import mlx.nn as nn -from .attention import WanCrossAttention, WanLayerNorm, WanSelfAttention +from .attention import WanCrossAttention, WanLayerNorm, WanSelfAttention, _linear_dtype class WanAttentionBlock(nn.Module): @@ -84,10 +84,10 @@ class WanFFN(nn.Module): def __init__(self, dim: int, ffn_dim: int): super().__init__() self.fc1 = nn.Linear(dim, ffn_dim) - self.act = nn.GELU(approx="precise") + self.act = nn.GELU(approx="tanh") self.fc2 = nn.Linear(ffn_dim, dim) def __call__(self, x: mx.array) -> mx.array: - # Cast to weight dtype for efficient matmul (bfloat16 matching official autocast) - x_w = x.astype(self.fc1.weight.dtype) + # Cast to compute dtype for efficient matmul (bfloat16 matching official autocast) + x_w = x.astype(_linear_dtype(self.fc1)) return self.fc2(self.act(self.fc1(x_w))) diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py index 36fe8e4..8c31d3b 100644 --- a/mlx_video/models/wan/vae22.py +++ b/mlx_video/models/wan/vae22.py @@ -7,12 +7,15 @@ Weight keys mirror the PyTorch checkpoint hierarchy so only tensor format conversion (channels-first → channels-last) is needed. """ +import logging import math import mlx.core as mx import mlx.nn as nn import numpy as np +logger = logging.getLogger(__name__) + CACHE_T = 2 # Per-channel normalization for z_dim=48 latent space @@ -774,11 +777,13 @@ def sanitize_wan22_vae_weights(weights: dict, include_encoder: bool = False) -> Maps PyTorch nn.Sequential indices to our named layers. """ sanitized = {} + consumed = set() for key, value in weights.items(): # Skip encoder and conv1 unless requested if not include_encoder: if key.startswith("encoder.") or key.startswith("conv1."): + consumed.add(key) continue new_key = key @@ -832,5 +837,10 @@ def sanitize_wan22_vae_weights(weights: dict, include_encoder: bool = False) -> value = mx.array(np.array(value).squeeze()) sanitized[new_key] = value + consumed.add(key) + + unconsumed = set(weights.keys()) - consumed + if unconsumed: + logger.warning("Unconsumed Wan2.2 VAE weight keys: %s", sorted(unconsumed)) return sanitized diff --git a/tests/test_wan_convert.py b/tests/test_wan_convert.py index 8b1213c..81630ce 100644 --- a/tests/test_wan_convert.py +++ b/tests/test_wan_convert.py @@ -1,5 +1,7 @@ """Tests for Wan weight conversion utilities.""" +import logging + import mlx.core as mx import numpy as np import pytest @@ -94,6 +96,27 @@ class TestSanitizeTransformerWeights: for key in weights: assert key in out + def test_no_unconsumed_keys(self, caplog): + from mlx_video.convert_wan import sanitize_wan_transformer_weights + weights = { + "patch_embedding.weight": mx.random.normal((5120, 16, 1, 2, 2)), + "patch_embedding.bias": mx.random.normal((5120,)), + "text_embedding.0.weight": mx.zeros((64, 32)), + "text_embedding.2.weight": mx.zeros((64, 64)), + "time_embedding.0.weight": mx.zeros((64, 32)), + "time_embedding.2.weight": mx.zeros((64, 64)), + "time_projection.1.weight": mx.zeros((384, 64)), + "blocks.0.ffn.0.weight": mx.zeros((128, 64)), + "blocks.0.ffn.2.weight": mx.zeros((64, 128)), + "blocks.0.self_attn.q.weight": mx.zeros((64, 64)), + "blocks.0.modulation": mx.zeros((1, 6, 64)), + "head.head.weight": mx.zeros((64, 64)), + "freqs": mx.zeros((1024, 64, 2)), + } + with caplog.at_level(logging.WARNING, logger="mlx_video.convert_wan"): + sanitize_wan_transformer_weights(weights) + assert "Unconsumed" not in caplog.text + class TestSanitizeT5Weights: def test_gate_rename(self): @@ -119,6 +142,19 @@ class TestSanitizeT5Weights: for key in weights: assert key in out + def test_no_unconsumed_keys(self, caplog): + from mlx_video.convert_wan import sanitize_wan_t5_weights + weights = { + "token_embedding.weight": mx.zeros((100, 64)), + "blocks.0.ffn.gate.0.weight": mx.zeros((128, 64)), + "blocks.0.ffn.fc1.weight": mx.zeros((128, 64)), + "blocks.0.ffn.fc2.weight": mx.zeros((64, 128)), + "norm.weight": mx.zeros((64,)), + } + with caplog.at_level(logging.WARNING, logger="mlx_video.convert_wan"): + sanitize_wan_t5_weights(weights) + assert "Unconsumed" not in caplog.text + class TestSanitizeVAEWeights: def test_conv3d_transpose(self): @@ -161,6 +197,18 @@ class TestSanitizeVAEWeights: assert out["linear.weight"].shape == (8, 4) assert out["norm.weight"].shape == (8,) + def test_no_unconsumed_keys(self, caplog): + from mlx_video.convert_wan import sanitize_wan_vae_weights + weights = { + "decoder.conv1.weight": mx.zeros((8, 4, 3, 3, 3)), + "decoder.proj.weight": mx.zeros((16, 8, 3, 3)), + "decoder.norm.weight": mx.zeros((64,)), + "decoder.bias": mx.zeros((16,)), + } + with caplog.at_level(logging.WARNING, logger="mlx_video.convert_wan"): + sanitize_wan_vae_weights(weights) + assert "Unconsumed" not in caplog.text + # --------------------------------------------------------------------------- # Wan2.1 Conversion Tests @@ -233,3 +281,27 @@ class TestSanitizeEncoderWeights: assert "encoder.conv1.weight" in out assert "conv1.weight" in out assert "conv2.weight" in out + + def test_no_unconsumed_keys(self, caplog): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + + weights = { + "encoder.conv1.weight": mx.zeros((8, 1, 3, 3, 3)), + "conv1.weight": mx.zeros((8, 1, 1, 1, 8)), + "conv2.weight": mx.zeros((8, 1, 1, 1, 8)), + } + with caplog.at_level(logging.WARNING, logger="mlx_video.models.wan.vae22"): + sanitize_wan22_vae_weights(weights, include_encoder=True) + assert "Unconsumed" not in caplog.text + + def test_no_unconsumed_keys_exclude_encoder(self, caplog): + from mlx_video.models.wan.vae22 import sanitize_wan22_vae_weights + + weights = { + "encoder.conv1.weight": mx.zeros((8, 1, 3, 3, 3)), + "conv1.weight": mx.zeros((8, 1, 1, 1, 8)), + "conv2.weight": mx.zeros((8, 1, 1, 1, 8)), + } + with caplog.at_level(logging.WARNING, logger="mlx_video.models.wan.vae22"): + sanitize_wan22_vae_weights(weights, include_encoder=False) + assert "Unconsumed" not in caplog.text diff --git a/tests/test_wan_i2v.py b/tests/test_wan_i2v.py index 53077a0..1843715 100644 --- a/tests/test_wan_i2v.py +++ b/tests/test_wan_i2v.py @@ -291,3 +291,282 @@ class TestI2VMaskConstruction: encoded = mx.zeros((16, 5, 10, 18)) y = mx.concatenate([mask, encoded], axis=0) assert y.shape == (20, 5, 10, 18) + + +# --------------------------------------------------------------------------- +# Integration: I2V end-to-end pipeline +# --------------------------------------------------------------------------- + + +class TestI2VEndToEndPipeline: + """Full I2V pipeline: image → preprocess → VAE encode → y tensor → denoise → VAE decode.""" + + def test_full_i2v_pipeline(self): + """End-to-end I2V: synthetic image → VAE encode → build y → denoise → VAE decode.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + from mlx_video.models.wan.vae import WanVAE + + mx.random.seed(0) + + # --- Tiny I2V model config (z_dim=16 to match VAE normalization stats) --- + config = _make_tiny_i2v_config() + config.vae_z_dim = 16 + config.out_dim = 16 # must match VAE z_dim for decode + config.in_dim = 16 + 4 + 16 # noise(out_dim=16) + mask(4) + image(z_dim=16) = 36 + model = WanModel(config) + + # --- Tiny VAE (with encoder) --- + vae = WanVAE(z_dim=config.vae_z_dim, encoder=True) + + # --- Synthetic image: [B=1, 3, T=1, H=32, W=32] in [-1, 1] --- + height, width = 32, 32 + num_frames = 5 # small temporal extent + img = mx.random.uniform(-1, 1, (1, 3, 1, height, width)) + + # Build video: first frame = image, rest = zeros -> [1, 3, F, H, W] + video = mx.concatenate([ + img, + mx.zeros((1, 3, num_frames - 1, height, width)), + ], axis=2) + + # --- VAE encode --- + z_video = vae.encode(video) # [1, z_dim, T_lat, H_lat, W_lat] + mx.eval(z_video) + assert z_video.ndim == 5 + assert z_video.shape[1] == config.vae_z_dim + + z_video = z_video[0] # [z_dim, T_lat, H_lat, W_lat] + t_latent = z_video.shape[1] + h_latent = z_video.shape[2] + w_latent = z_video.shape[3] + + # --- Build I2V mask (4 channels) --- + msk = mx.ones((1, num_frames, h_latent, w_latent)) + msk = mx.concatenate([msk[:, :1], mx.zeros((1, num_frames - 1, h_latent, w_latent))], axis=1) + msk = mx.concatenate([mx.repeat(msk[:, :1], 4, axis=1), msk[:, 1:]], axis=1) + msk = msk.reshape(1, msk.shape[1] // 4, 4, h_latent, w_latent) + msk = msk.transpose(0, 2, 1, 3, 4)[0] # [4, T_lat, H_lat, W_lat] + + # --- Build y tensor: [mask(4ch) + encoded(z_dim ch)] --- + y_i2v = mx.concatenate([msk, z_video], axis=0) + mx.eval(y_i2v) + assert y_i2v.shape[0] == 4 + config.vae_z_dim + + # --- Denoising loop (2 steps) --- + C_noise = config.out_dim # noise channels + pt, ph, pw = config.patch_size + seq_len = (t_latent // pt) * (h_latent // ph) * (w_latent // pw) + + sched = FlowMatchEulerScheduler() + num_steps = 2 + sched.set_timesteps(num_steps, shift=config.sample_shift) + + latents = mx.random.normal((C_noise, t_latent, h_latent, w_latent)) + context = mx.random.normal((4, config.text_dim)) + + for i in range(num_steps): + t_val = sched.timesteps[i].item() + pred = model( + [latents], + mx.array([t_val]), + [context], + seq_len, + y=[y_i2v], + )[0] + latents = sched.step(pred[None], t_val, latents[None]).squeeze(0) + mx.eval(latents) + + assert latents.shape == (C_noise, t_latent, h_latent, w_latent) + assert not mx.any(mx.isnan(latents)).item(), "NaN in denoised latents" + assert not mx.any(mx.isinf(latents)).item(), "Inf in denoised latents" + + # --- VAE decode --- + decoded = vae.decode(latents[None]) # [1, 3, T_out, H_out, W_out] + mx.eval(decoded) + assert decoded.ndim == 5 + assert decoded.shape[0] == 1 + assert decoded.shape[1] == 3 # RGB output + assert not mx.any(mx.isnan(decoded)).item(), "NaN in decoded video" + assert not mx.any(mx.isinf(decoded)).item(), "Inf in decoded video" + # VAE decode clips to [-1, 1] + assert float(decoded.max()) <= 1.0 + assert float(decoded.min()) >= -1.0 + + +class TestDualModelSwitching: + """Test dual-model selection logic: high_noise vs low_noise based on boundary.""" + + def test_model_selection_by_timestep(self): + """Verify high_noise model used for timesteps >= boundary, low_noise otherwise.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(1) + config = _make_tiny_i2v_config() + assert config.dual_model is True + + high_noise_model = WanModel(config) + low_noise_model = WanModel(config) + + boundary = config.boundary * config.num_train_timesteps # 0.9 * 1000 = 900 + + C_noise = config.out_dim # 4 + C_y = config.in_dim - config.out_dim # 9 - 4 = 5 + F, H, W = 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + num_steps = 5 + sched.set_timesteps(num_steps, shift=config.sample_shift) + + guide_scale = config.sample_guide_scale # (3.5, 3.5) + assert isinstance(guide_scale, tuple) and len(guide_scale) == 2 + + latents = mx.random.normal((C_noise, F, H, W)) + y_i2v = mx.random.normal((C_y, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + + high_used_steps = [] + low_used_steps = [] + + timestep_list = sched.timesteps.tolist() + for i in range(num_steps): + timestep_val = timestep_list[i] + + if timestep_val >= boundary: + model = high_noise_model + gs = guide_scale[1] + high_used_steps.append(i) + else: + model = low_noise_model + gs = guide_scale[0] + low_used_steps.append(i) + + # CFG pass: cond + uncond + preds = model( + [latents, latents], + mx.array([timestep_val, timestep_val]), + [context, context], + seq_len, + y=[y_i2v, y_i2v], + ) + noise_pred_cond, noise_pred_uncond = preds[0], preds[1] + noise_pred = noise_pred_uncond + gs * (noise_pred_cond - noise_pred_uncond) + + latents = sched.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) + mx.eval(latents) + + # With shift=5.0, early timesteps should be high (>=900), later ones low + assert len(high_used_steps) > 0, "High-noise model was never selected" + assert len(low_used_steps) > 0, "Low-noise model was never selected" + # High-noise steps should come before low-noise steps (timesteps decrease) + if high_used_steps and low_used_steps: + assert max(high_used_steps) < min(low_used_steps) or \ + min(high_used_steps) < max(low_used_steps), \ + "Model switching should happen during the loop" + + assert latents.shape == (C_noise, F, H, W) + assert not mx.any(mx.isnan(latents)).item() + + def test_guide_scale_tuple_applied_per_model(self): + """Verify (low_gs, high_gs) tuple applies different scales per model.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(2) + config = _make_tiny_i2v_config() + config.sample_guide_scale = (2.0, 5.0) # distinct values + + model = WanModel(config) + boundary = config.boundary * config.num_train_timesteps + + C_noise = config.out_dim + F, H, W = 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + sched.set_timesteps(5, shift=config.sample_shift) + + latents = mx.random.normal((C_noise, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + guide_scale = config.sample_guide_scale + C_y = config.in_dim - config.out_dim # y channels + y_i2v = mx.random.normal((C_y, F, H, W)) + + # Track which guide scale was used at each step + gs_per_step = [] + + timestep_list = sched.timesteps.tolist() + for i in range(5): + timestep_val = timestep_list[i] + + if timestep_val >= boundary: + gs = guide_scale[1] # high_gs = 5.0 + else: + gs = guide_scale[0] # low_gs = 2.0 + gs_per_step.append(gs) + + pred = model( + [latents, latents], + mx.array([timestep_val, timestep_val]), + [context, context], + seq_len, + y=[y_i2v, y_i2v], + ) + noise_pred = pred[1] + gs * (pred[0] - pred[1]) + latents = sched.step(noise_pred[None], timestep_val, latents[None]).squeeze(0) + mx.eval(latents) + + # Verify both guide scales were used + assert 5.0 in gs_per_step, "High guide scale (5.0) was never used" + assert 2.0 in gs_per_step, "Low guide scale (2.0) was never used" + # High gs should appear first (high timesteps come first) + first_high = gs_per_step.index(5.0) + last_low = len(gs_per_step) - 1 - gs_per_step[::-1].index(2.0) + assert first_high < last_low, "High gs steps should precede low gs steps" + + def test_single_model_fallback_with_tuple_guide_scale(self): + """When dual_model=False, guide_scale tuple should use first element.""" + from mlx_video.models.wan.model import WanModel + from mlx_video.models.wan.scheduler import FlowMatchEulerScheduler + + mx.random.seed(3) + config = _make_tiny_config() + config.dual_model = False + config.sample_guide_scale = (3.0, 5.0) + + model = WanModel(config) + guide_scale = config.sample_guide_scale + + C, F, H, W = config.in_dim, 1, 4, 4 + pt, ph, pw = config.patch_size + seq_len = (F // pt) * (H // ph) * (W // pw) + + sched = FlowMatchEulerScheduler() + sched.set_timesteps(3, shift=3.0) + + latents = mx.random.normal((C, F, H, W)) + context = mx.random.normal((4, config.text_dim)) + + # Mimic generate_wan.py single-model logic: + # gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] + gs = guide_scale if isinstance(guide_scale, (int, float)) else guide_scale[0] + assert gs == 3.0, "Single model should use first element of guide_scale tuple" + + for i in range(3): + t_val = sched.timesteps[i].item() + pred = model( + [latents, latents], + mx.array([t_val, t_val]), + [context, context], + seq_len, + ) + noise_pred = pred[1] + gs * (pred[0] - pred[1]) + latents = sched.step(noise_pred[None], t_val, latents[None]).squeeze(0) + mx.eval(latents) + + assert latents.shape == (C, F, H, W) + assert not mx.any(mx.isnan(latents)).item() diff --git a/tests/test_wan_lora.py b/tests/test_wan_lora.py new file mode 100644 index 0000000..1670d84 --- /dev/null +++ b/tests/test_wan_lora.py @@ -0,0 +1,334 @@ +"""Tests for LoRA loading and application.""" + +import tempfile +from pathlib import Path + +import mlx.core as mx +import numpy as np +import pytest + + +class TestLoRATypes: + """Test LoRA data structures.""" + + def test_lora_weights_scale(self): + from mlx_video.lora.types import LoRAWeights + + w = LoRAWeights( + lora_A=mx.zeros((16, 64)), + lora_B=mx.zeros((128, 16)), + rank=16, + alpha=32.0, + module_name="test", + ) + assert w.scale == 2.0 + + def test_lora_weights_scale_default(self): + from mlx_video.lora.types import LoRAWeights + + w = LoRAWeights( + lora_A=mx.zeros((16, 64)), + lora_B=mx.zeros((128, 16)), + rank=16, + alpha=16.0, + module_name="test", + ) + assert w.scale == 1.0 + + def test_applied_lora_delta(self): + from mlx_video.lora.types import AppliedLoRA, LoRAWeights + + lora_a = mx.ones((2, 4)) + lora_b = mx.ones((8, 2)) + w = LoRAWeights(lora_A=lora_a, lora_B=lora_b, rank=2, alpha=2.0, module_name="test") + applied = AppliedLoRA(weights=w, strength=0.5) + delta = applied.compute_delta() + # scale=1.0, strength=0.5, B@A = [[2,2,2,2]]*8 (each row sum of 2 ones) + expected = 0.5 * mx.ones((8, 4)) * 2.0 + assert mx.allclose(delta, expected).item() + + +class TestLoRALoader: + """Test LoRA weight loading from safetensors.""" + + def _make_lora_file(self, tmp_dir, module_names, rank=4, in_dim=64, out_dim=128, key_format="AB"): + """Helper to create a mock LoRA safetensors file.""" + weights = {} + for name in module_names: + if key_format == "AB": + weights[f"{name}.lora_A.weight"] = mx.random.normal((rank, in_dim)) + weights[f"{name}.lora_B.weight"] = mx.random.normal((out_dim, rank)) + else: + weights[f"{name}.lora_down.weight"] = mx.random.normal((rank, in_dim)) + weights[f"{name}.lora_up.weight"] = mx.random.normal((out_dim, rank)) + path = Path(tmp_dir) / "test_lora.safetensors" + mx.save_safetensors(str(path), weights) + return path + + def test_load_lora_a_b_format(self): + from mlx_video.lora.loader import load_lora_weights + + with tempfile.TemporaryDirectory() as tmp: + path = self._make_lora_file(tmp, ["blocks.0.self_attn.q"], key_format="AB") + lora_weights = load_lora_weights(path) + assert "blocks.0.self_attn.q" in lora_weights + w = lora_weights["blocks.0.self_attn.q"] + assert w.rank == 4 + assert w.alpha == 4.0 # default: alpha == rank + assert w.lora_A.shape == (4, 64) + assert w.lora_B.shape == (128, 4) + + def test_load_lora_down_up_format(self): + from mlx_video.lora.loader import load_lora_weights + + with tempfile.TemporaryDirectory() as tmp: + path = self._make_lora_file( + tmp, ["blocks.0.self_attn.q"], key_format="down_up" + ) + lora_weights = load_lora_weights(path) + assert "blocks.0.self_attn.q" in lora_weights + + def test_load_multiple_modules(self): + from mlx_video.lora.loader import load_lora_weights + + modules = [ + "blocks.0.self_attn.q", + "blocks.0.self_attn.k", + "blocks.0.ffn.fc1", + ] + with tempfile.TemporaryDirectory() as tmp: + path = self._make_lora_file(tmp, modules) + lora_weights = load_lora_weights(path) + assert len(lora_weights) == 3 + for name in modules: + assert name in lora_weights + + def test_load_with_alpha(self): + from mlx_video.lora.loader import load_lora_weights + + with tempfile.TemporaryDirectory() as tmp: + weights = { + "test.lora_A.weight": mx.random.normal((8, 64)), + "test.lora_B.weight": mx.random.normal((128, 8)), + "test.alpha": mx.array(16.0), + } + path = Path(tmp) / "lora.safetensors" + mx.save_safetensors(str(path), weights) + lora_weights = load_lora_weights(path) + assert lora_weights["test"].alpha == 16.0 + assert lora_weights["test"].rank == 8 + assert lora_weights["test"].scale == 2.0 + + def test_file_not_found(self): + from mlx_video.lora.loader import load_lora_weights + + with pytest.raises(FileNotFoundError): + load_lora_weights(Path("/nonexistent/lora.safetensors")) + + +class TestWanKeyNormalization: + """Test Wan2.2 LoRA key normalization.""" + + def _wan_model_keys(self): + """Simulate typical Wan2.2 MLX model weight keys.""" + keys = set() + for i in range(2): + for layer in ["self_attn.q", "self_attn.k", "self_attn.v", "self_attn.o", + "cross_attn.q", "cross_attn.k", "cross_attn.v", "cross_attn.o"]: + keys.add(f"blocks.{i}.{layer}.weight") + keys.add(f"blocks.{i}.ffn.fc1.weight") + keys.add(f"blocks.{i}.ffn.fc2.weight") + keys.add("text_embedding_0.weight") + keys.add("text_embedding_1.weight") + keys.add("time_embedding_0.weight") + keys.add("time_embedding_1.weight") + keys.add("time_projection.weight") + keys.add("patch_embedding_proj.weight") + return keys + + def test_direct_match(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + assert _normalize_wan_lora_key("blocks.0.self_attn.q", keys) == "blocks.0.self_attn.q" + + def test_strip_diffusion_model_prefix(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + result = _normalize_wan_lora_key("diffusion_model.blocks.0.self_attn.q", keys) + assert result == "blocks.0.self_attn.q" + + def test_strip_model_prefix(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + result = _normalize_wan_lora_key("model.diffusion_model.blocks.0.self_attn.k", keys) + assert result == "blocks.0.self_attn.k" + + def test_ffn_key_mapping(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + assert _normalize_wan_lora_key("blocks.0.ffn.0", keys) == "blocks.0.ffn.fc1" + assert _normalize_wan_lora_key("blocks.0.ffn.2", keys) == "blocks.0.ffn.fc2" + + def test_text_embedding_mapping(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + assert _normalize_wan_lora_key("text_embedding.0", keys) == "text_embedding_0" + assert _normalize_wan_lora_key("text_embedding.2", keys) == "text_embedding_1" + + def test_time_embedding_mapping(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + assert _normalize_wan_lora_key("time_embedding.0", keys) == "time_embedding_0" + assert _normalize_wan_lora_key("time_embedding.2", keys) == "time_embedding_1" + + def test_time_projection_mapping(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + assert _normalize_wan_lora_key("time_projection.1", keys) == "time_projection" + + def test_patch_embedding_mapping(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + assert _normalize_wan_lora_key("patch_embedding", keys) == "patch_embedding_proj" + + def test_combined_prefix_and_ffn(self): + from mlx_video.lora.apply import _normalize_wan_lora_key + + keys = self._wan_model_keys() + result = _normalize_wan_lora_key("diffusion_model.blocks.1.ffn.0", keys) + assert result == "blocks.1.ffn.fc1" + + +class TestApplyLoRA: + """Test LoRA delta application to weights.""" + + def test_preserves_bfloat16_dtype(self): + """LoRA delta must not promote bfloat16 weights to float32.""" + from mlx_video.lora.apply import apply_lora_to_linear + from mlx_video.lora.types import LoRAWeights + + original = mx.ones((8, 4), dtype=mx.bfloat16) + # LoRA weights in float32 (typical when loaded from safetensors) + lora_a = mx.ones((2, 4), dtype=mx.float32) * 0.1 + lora_b = mx.ones((8, 2), dtype=mx.float32) * 0.1 + w = LoRAWeights(lora_A=lora_a, lora_B=lora_b, rank=2, alpha=2.0, module_name="test") + result = apply_lora_to_linear(original, [(w, 1.0)]) + assert result.dtype == mx.bfloat16, f"Expected bfloat16, got {result.dtype}" + + def test_preserves_float16_dtype(self): + from mlx_video.lora.apply import apply_lora_to_linear + from mlx_video.lora.types import LoRAWeights + + original = mx.ones((8, 4), dtype=mx.float16) + lora_a = mx.ones((2, 4), dtype=mx.float32) * 0.1 + lora_b = mx.ones((8, 2), dtype=mx.float32) * 0.1 + w = LoRAWeights(lora_A=lora_a, lora_B=lora_b, rank=2, alpha=2.0, module_name="test") + result = apply_lora_to_linear(original, [(w, 1.0)]) + assert result.dtype == mx.float16, f"Expected float16, got {result.dtype}" + + def test_apply_single_lora(self): + from mlx_video.lora.apply import apply_lora_to_linear + from mlx_video.lora.types import LoRAWeights + + original = mx.ones((8, 4)) + lora_a = mx.ones((2, 4)) * 0.1 + lora_b = mx.ones((8, 2)) * 0.1 + w = LoRAWeights(lora_A=lora_a, lora_B=lora_b, rank=2, alpha=2.0, module_name="test") + result = apply_lora_to_linear(original, [(w, 1.0)]) + # delta = 1.0 * (B @ A) = ones(8,2)*0.1 @ ones(2,4)*0.1 = 0.02 * ones(8,4) + expected = original + 0.02 * mx.ones((8, 4)) + assert mx.allclose(result, expected, atol=1e-6).item() + + def test_apply_multiple_loras(self): + from mlx_video.lora.apply import apply_lora_to_linear + from mlx_video.lora.types import LoRAWeights + + original = mx.zeros((8, 4)) + w1 = LoRAWeights( + lora_A=mx.ones((2, 4)), + lora_B=mx.ones((8, 2)), + rank=2, alpha=2.0, module_name="a", + ) + w2 = LoRAWeights( + lora_A=mx.ones((2, 4)) * 2, + lora_B=mx.ones((8, 2)) * 2, + rank=2, alpha=4.0, module_name="b", + ) + result = apply_lora_to_linear(original, [(w1, 1.0), (w2, 0.5)]) + # w1 delta: 1.0 * 1.0 * (ones(8,2) @ ones(2,4)) = 2 * ones(8,4) + # w2 delta: 2.0 * 0.5 * (2*ones(8,2) @ 2*ones(2,4)) = 1.0 * 8*ones(8,4) = 8 + delta1 = mx.ones((8, 4)) * 2.0 + delta2 = mx.ones((8, 4)) * 8.0 + expected = delta1 + delta2 + assert mx.allclose(result, expected, atol=1e-5).item() + + def test_apply_loras_to_weights_dict(self): + from mlx_video.lora.apply import apply_loras_to_weights + from mlx_video.lora.types import LoRAWeights + + model_weights = { + "blocks.0.self_attn.q.weight": mx.ones((128, 64)), + "blocks.0.self_attn.k.weight": mx.ones((128, 64)), + "blocks.0.ffn.fc1.weight": mx.ones((256, 64)), + } + w = LoRAWeights( + lora_A=mx.ones((4, 64)) * 0.01, + lora_B=mx.ones((128, 4)) * 0.01, + rank=4, alpha=4.0, module_name="blocks.0.self_attn.q", + ) + module_to_loras = {"blocks.0.self_attn.q": [(w, 1.0)]} + result = apply_loras_to_weights(model_weights, module_to_loras) + # Only q should be modified + assert not mx.array_equal( + result["blocks.0.self_attn.q.weight"], + model_weights["blocks.0.self_attn.q.weight"], + ).item() + assert mx.array_equal( + result["blocks.0.self_attn.k.weight"], + model_weights["blocks.0.self_attn.k.weight"], + ).item() + + +class TestEndToEnd: + """End-to-end LoRA loading and application.""" + + def test_load_and_apply_loras(self): + from mlx_video.convert_wan import load_and_apply_loras + + with tempfile.TemporaryDirectory() as tmp: + # Create mock LoRA safetensors + rank = 4 + weights = { + "blocks.0.self_attn.q.lora_A.weight": mx.random.normal((rank, 64)), + "blocks.0.self_attn.q.lora_B.weight": mx.random.normal((128, rank)), + } + lora_path = Path(tmp) / "test.safetensors" + mx.save_safetensors(str(lora_path), weights) + + # Create mock model weights + model_weights = { + "blocks.0.self_attn.q.weight": mx.ones((128, 64)), + "blocks.0.self_attn.k.weight": mx.ones((128, 64)), + } + + result = load_and_apply_loras( + model_weights, [(str(lora_path), 1.0)] + ) + + # q weight should be modified, k unchanged + assert not mx.array_equal( + result["blocks.0.self_attn.q.weight"], + model_weights["blocks.0.self_attn.q.weight"], + ).item() + assert mx.array_equal( + result["blocks.0.self_attn.k.weight"], + model_weights["blocks.0.self_attn.k.weight"], + ).item() diff --git a/tests/test_wan_vae.py b/tests/test_wan_vae.py index 2d7fefb..cd2cf94 100644 --- a/tests/test_wan_vae.py +++ b/tests/test_wan_vae.py @@ -868,4 +868,84 @@ class TestVAEEncoderTemporalOrder: assert out_wrong.shape[1] == 2 +# --------------------------------------------------------------------------- +# VAE Encode → Decode Round-Trip Tests +# --------------------------------------------------------------------------- + + +class TestVAE21RoundTrip: + """Encode→decode round-trip for Wan 2.1 VAE (channels-first).""" + + def test_encode_decode_shape_and_values(self): + """Encoder3d → Decoder3d: output shape matches input, values are finite.""" + from mlx_video.models.wan.vae import Decoder3d, Encoder3d + + z_dim = 4 + dim = 8 + # No temporal up/downsampling to keep the test simple + enc = Encoder3d( + dim=dim, z_dim=z_dim, temporal_downsample=[False, False, False] + ) + dec = Decoder3d( + dim=dim, z_dim=z_dim, temporal_upsample=[False, False, False] + ) + mx.eval(enc.parameters(), dec.parameters()) + + # [B=1, C=3, T=1, H=8, W=8] + x = mx.random.normal((1, 3, 1, 8, 8)) * 0.5 + + z = enc(x) + mx.eval(z) + # 3 spatial downsamples (÷8): H=1, W=1 + assert z.shape == (1, z_dim, 1, 1, 1) + + x_hat = dec(z) + mx.eval(x_hat) + # 3 spatial upsamples (×8): should recover original shape + assert x_hat.shape == x.shape + + out_np = np.array(x_hat) + assert np.all(np.isfinite(out_np)) + assert np.abs(out_np).max() < 1000 + + +class TestVAE22RoundTrip: + """Encode→decode round-trip for Wan 2.2 VAE (channels-last).""" + + def test_encode_decode_shape_and_values(self): + """Wan22VAEEncoder → Wan22VAEDecoder: shapes consistent, values in range.""" + from mlx_video.models.wan.vae22 import ( + Wan22VAEDecoder, + Wan22VAEEncoder, + denormalize_latents, + ) + + enc = Wan22VAEEncoder(z_dim=48, dim=16) + dec = Wan22VAEDecoder(z_dim=48, dec_dim=8) + mx.eval(enc.parameters(), dec.parameters()) + + # [B=1, T=1, H=32, W=32, C=3] + img = mx.random.normal((1, 1, 32, 32, 3)) * 0.5 + + z_norm = enc(img) + mx.eval(z_norm) + # patchify(÷2) + 3 spatial downsamples(÷8) = ÷16 + assert z_norm.shape == (1, 1, 2, 2, 48) + + z = denormalize_latents(z_norm) + out = dec(z) + mx.eval(out) + + # 3 spatial upsamples(×8) + unpatchify(×2) = ×16 + assert out.shape[0] == 1 # batch + assert out.shape[2] == 32 # H recovered + assert out.shape[3] == 32 # W recovered + assert out.shape[-1] == 3 # RGB + + out_np = np.array(out) + assert np.all(np.isfinite(out_np)) + assert out_np.min() >= -1.0 - 1e-6 + assert out_np.max() <= 1.0 + 1e-6 + + From 9597b7c9c5ba771047ee62e028b779f67c236f3b Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 1 Mar 2026 18:15:25 +0100 Subject: [PATCH 07/17] perf(wan): Add mx.compile and fix first-frame artifacts --- mlx_video/generate_wan.py | 47 ++++++++++++++++++----------- mlx_video/models/wan/model.py | 17 +++++------ mlx_video/models/wan/transformer.py | 23 ++++++++------ mlx_video/models/wan/vae22.py | 3 +- 4 files changed, 52 insertions(+), 38 deletions(-) diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index a1875d5..f1f0275 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -173,6 +173,13 @@ def generate_video( # Validate frame count assert (num_frames - 1) % 4 == 0, f"num_frames must be 4n+1, got {num_frames}" + # For T2V: generate 1 extra latent frame so the VAE's causal zero-padding + # artifacts land on throwaway frames. The reference Wan2.2 speech2video.py + # uses a similar "drop_first_motion" approach (drops 3 pixel frames). + # For I2V the reference image provides real first-frame content, so no extra needed. + extra_frames = config.vae_stride[0] if not is_i2v else 0 + gen_frames = num_frames + extra_frames + version_str = f"Wan{config.model_version}" mode_str = "dual-model" if is_dual else "single-model" pipeline_str = "Image-to-Video" if is_i2v else "Text-to-Video" @@ -223,7 +230,7 @@ def generate_video( # Compute target latent shape z_dim = config.vae_z_dim - t_latent = (num_frames - 1) // vae_stride[0] + 1 + t_latent = (gen_frames - 1) // vae_stride[0] + 1 h_latent = height // vae_stride[1] w_latent = width // vae_stride[2] target_shape = (z_dim, t_latent, h_latent, w_latent) @@ -234,6 +241,8 @@ def generate_video( ) print(f"{Colors.DIM} Latent shape: {target_shape}") + if extra_frames > 0: + print(f" Generating {extra_frames} extra pixel frames to absorb VAE boundary artifacts") print(f" Sequence length: {seq_len}{Colors.RESET}") # Load T5 encoder @@ -439,6 +448,15 @@ def generate_video( print(f"\n{Colors.GREEN}Denoising ({steps} steps)...{Colors.RESET}") t3 = time.time() + # Compile model forward for faster denoising + models_to_compile = ( + [high_noise_model, low_noise_model] if is_dual else [single_model] + ) + for m in models_to_compile: + m._compiled = mx.compile(m) + + + # Pre-convert timesteps to Python list to avoid .item() sync each step timestep_list = sched.timesteps.tolist() @@ -460,6 +478,9 @@ def generate_video( kv = cross_kv rcs = rope_cos_sin + # Use compiled forward when available (faster after first trace) + _call = getattr(model, '_compiled', model) + if cfg_disabled: # No CFG: B=1 forward pass (2x faster than B=2 CFG batch) if is_i2v_mask_blend: @@ -479,7 +500,7 @@ def generate_video( ctx = context_cond_high if timestep_val >= boundary else context_cond_low else: ctx = context_cond - preds = model( + preds = _call( [latents], t=t_batch, context=ctx, @@ -513,7 +534,7 @@ def generate_video( ctx = context_cfg if not is_dual else ( context_cfg_high if timestep_val >= boundary else context_cfg_low ) - preds = model( + preds = _call( [latents, latents], t=t_batch, context=ctx, @@ -564,36 +585,28 @@ def generate_video( is_wan22_vae = config.vae_z_dim == 48 - # Warm-up: prepend a copy of the first latent frame to provide temporal - # context for the real first frame. Causal convolutions in the VAE decoder - # pad with zeros on the left, so the first few output frames have degraded - # quality (no temporal context). By duplicating the first latent, the real - # first frame sees its own features as left context instead of zeros. - # We trim the extra output frames after decoding. - warmup_trim = vae_stride[0] # 4 frames per latent temporal position - latents_for_decode = mx.concatenate([latents[:, 0:1], latents], axis=1) - if is_wan22_vae: from mlx_video.models.wan.vae22 import denormalize_latents # latents: [C, T, H, W] → [1, T, H, W, C] (channels-last for Wan2.2 VAE) - z = latents_for_decode.transpose(1, 2, 3, 0)[None] # [1, T+1, H, W, C] + z = latents.transpose(1, 2, 3, 0)[None] z = denormalize_latents(z) - video = vae(z) # [1, T', H', W', 3] + video = vae(z) mx.eval(video) print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") video = np.array(video[0]) # [T', H', W', 3] - video = video[warmup_trim:] # Trim warm-up frames + # Trim extra frames generated for zero-padding warmup + if extra_frames > 0: + video = video[extra_frames:] video = (video + 1.0) / 2.0 video = np.clip(video * 255.0, 0, 255).astype(np.uint8) else: - video = vae.decode(latents_for_decode[None]) # [1, 3, T+1*4, H, W] + video = vae.decode(latents[None]) mx.eval(video) print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") video = np.array(video[0]) # [3, T', H, W] - video = video[:, warmup_trim:] # Trim warm-up frames (channels-first) video = (video + 1.0) / 2.0 video = np.clip(video * 255.0, 0, 255).astype(np.uint8) video = video.transpose(1, 2, 3, 0) # [T, H, W, 3] diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index e6a3a40..5f2e391 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -48,13 +48,14 @@ class Head(nn.Module): """ if e.ndim == 2: e = e[:, None, :] # [B, 1, dim] - # modulation already float32; e already float32 from model forward - mod = self.modulation[:, None, :, :] + e[:, :, None, :] # [B, L_e, 2, dim] + # Compute modulation in float32 for precision, cast to working dtype + w_dtype = _linear_dtype(self.head) + mod = (self.modulation[:, None, :, :] + e[:, :, None, :]).astype(w_dtype) e0 = mod[:, :, 0, :] # [B, L_e, dim] shift e1 = mod[:, :, 1, :] # [B, L_e, dim] scale x_norm = self.norm(x) - x_mod = x_norm * (1 + e1) + e0 # type promotion handles bf16→f32 - return self.head(x_mod.astype(_linear_dtype(self.head))) + x_mod = x_norm * (1 + e1) + e0 + return self.head(x_mod) class WanModel(nn.Module): @@ -322,18 +323,14 @@ class WanModel(nn.Module): self.time_embedding_act(self.time_embedding_0(sin_emb)) ) # [B, dim] e0 = self.time_projection(self.time_projection_act(e)) # [B, dim*6] - # Keep e and e0 in float32 — official asserts float32 for modulation - e0 = e0.reshape(batch_size, 1, 6, self.dim).astype(mx.float32) - e = e.astype(mx.float32) + e0 = e0.reshape(batch_size, 1, 6, self.dim) else: # I2V: per-token timesteps [B, L] e = self.time_embedding_1( self.time_embedding_act(self.time_embedding_0(sin_emb)) ) # [B, L, dim] e0 = self.time_projection(self.time_projection_act(e)) # [B, L, dim*6] - # Keep e and e0 in float32 — official asserts float32 for modulation - e0 = e0.reshape(batch_size, -1, 6, self.dim).astype(mx.float32) - e = e.astype(mx.float32) + e0 = e0.reshape(batch_size, -1, 6, self.dim) # Text embedding: skip MLP if context is already embedded (mx.array) if isinstance(context, mx.array): diff --git a/mlx_video/models/wan/transformer.py b/mlx_video/models/wan/transformer.py index 857bcae..59aa651 100644 --- a/mlx_video/models/wan/transformer.py +++ b/mlx_video/models/wan/transformer.py @@ -51,17 +51,20 @@ class WanAttentionBlock(nn.Module): rope_cos_sin: tuple | None = None, attn_mask: mx.array | None = None, ) -> mx.array: - # Modulation in float32 (e is already float32 from model forward) - mod = self.modulation + e - e0 = mod[:, :, 0, :] # shift for self-attn - e1 = mod[:, :, 1, :] # scale for self-attn - e2 = mod[:, :, 2, :] # gate for self-attn - e3 = mod[:, :, 3, :] # shift for ffn - e4 = mod[:, :, 4, :] # scale for ffn - e5 = mod[:, :, 5, :] # gate for ffn + # Modulation: compute in float32 for precision, cast to working dtype + # to avoid promoting the full hidden state (seq_len × dim) to float32 + w_dtype = _linear_dtype(self.self_attn.q) + mod = (self.modulation + e).astype(w_dtype) + e0, e1, e2, e3, e4, e5 = ( + mod[:, :, 0, :], # shift for self-attn + mod[:, :, 1, :], # scale for self-attn + mod[:, :, 2, :], # gate for self-attn + mod[:, :, 3, :], # shift for ffn + mod[:, :, 4, :], # scale for ffn + mod[:, :, 5, :], # gate for ffn + ) - # Self-attention with modulation - # Type promotion handles bf16→f32 automatically when multiplied with f32 modulation + # Self-attention with modulation (hidden state stays in w_dtype) x_mod = self.norm1(x) * (1 + e1) + e0 y = self.self_attn(x_mod, seq_lens, grid_sizes, freqs, rope_cos_sin=rope_cos_sin, attn_mask=attn_mask) x = x + y * e2 diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py index 8c31d3b..a0f7234 100644 --- a/mlx_video/models/wan/vae22.py +++ b/mlx_video/models/wan/vae22.py @@ -81,7 +81,8 @@ class CausalConv3d(nn.Module): y = mx.conv_general(x_flat, w2d) + self.bias return y.reshape(B, T, y.shape[1], y.shape[2], -1) - # Causal temporal padding (left only) + # Causal temporal padding (left only) — zeros match the reference + # implementation and what the model was trained with. if self._causal_pad_t > 0: pad_t = mx.zeros((B, self._causal_pad_t, H, W, C)) x = mx.concatenate([pad_t, x], axis=1) From 9bdda9f22e55acae5019d68bdeee200fb0680bb5 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 4 Mar 2026 14:32:45 +0100 Subject: [PATCH 08/17] feat(wan): Add tiled VAE decoding and fix TI2V quality --- mlx_video/generate_wan.py | 87 +++++++--- mlx_video/models/ltx/video_vae/tiling.py | 21 ++- mlx_video/models/wan/model.py | 12 +- mlx_video/models/wan/transformer.py | 9 +- mlx_video/models/wan/vae.py | 53 ++++++ mlx_video/models/wan/vae22.py | 61 +++++++ tests/test_wan_tiling.py | 198 +++++++++++++++++++++++ 7 files changed, 407 insertions(+), 34 deletions(-) create mode 100644 tests/test_wan_tiling.py diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index f1f0275..10a76d1 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -46,8 +46,10 @@ def generate_video( loras: list | None = None, loras_high: list | None = None, loras_low: list | None = None, - + tiling: str = "auto", + no_compile: bool = False, ): + """Generate video using Wan pipeline (supports T2V and I2V). Args: @@ -67,6 +69,13 @@ def generate_video( loras: Optional list of (path, strength) tuples applied to all models loras_high: Optional list of (path, strength) tuples for high-noise model only loras_low: Optional list of (path, strength) tuples for low-noise model only + tiling: Tiling mode for VAE decoding. Options: + - "auto": Automatically determine tiling based on video size (default) + - "none": Disable tiling + - "default", "aggressive", "conservative": Preset tiling configs + - "spatial": Spatial tiling only + - "temporal": Temporal tiling only + no_compile: If True, skip mx.compile on models (useful for debugging) """ import json @@ -173,12 +182,7 @@ def generate_video( # Validate frame count assert (num_frames - 1) % 4 == 0, f"num_frames must be 4n+1, got {num_frames}" - # For T2V: generate 1 extra latent frame so the VAE's causal zero-padding - # artifacts land on throwaway frames. The reference Wan2.2 speech2video.py - # uses a similar "drop_first_motion" approach (drops 3 pixel frames). - # For I2V the reference image provides real first-frame content, so no extra needed. - extra_frames = config.vae_stride[0] if not is_i2v else 0 - gen_frames = num_frames + extra_frames + gen_frames = num_frames version_str = f"Wan{config.model_version}" mode_str = "dual-model" if is_dual else "single-model" @@ -241,8 +245,6 @@ def generate_video( ) print(f"{Colors.DIM} Latent shape: {target_shape}") - if extra_frames > 0: - print(f" Generating {extra_frames} extra pixel frames to absorb VAE boundary artifacts") print(f" Sequence length: {seq_len}{Colors.RESET}") # Load T5 encoder @@ -419,7 +421,7 @@ def generate_video( rope_cos_sin_high = high_noise_model.prepare_rope(rope_grid_sizes) mx.eval(rope_cos_sin_low, rope_cos_sin_high) else: - rope_cos_sin = ref_model.prepare_rope(rope_grid_sizes) + rope_cos_sin = single_model.prepare_rope(rope_grid_sizes) mx.eval(rope_cos_sin) # Setup scheduler @@ -448,12 +450,13 @@ def generate_video( print(f"\n{Colors.GREEN}Denoising ({steps} steps)...{Colors.RESET}") t3 = time.time() - # Compile model forward for faster denoising - models_to_compile = ( - [high_noise_model, low_noise_model] if is_dual else [single_model] - ) - for m in models_to_compile: - m._compiled = mx.compile(m) + if not no_compile: + models_to_compile = ( + [high_noise_model, low_noise_model] if is_dual else [single_model] + ) + for m in models_to_compile: + m._compiled = mx.compile(m) + @@ -585,24 +588,53 @@ def generate_video( is_wan22_vae = config.vae_z_dim == 48 + # Select tiling configuration + from mlx_video.models.ltx.video_vae.tiling import TilingConfig + + if tiling == "none": + tiling_config = None + elif tiling == "auto": + tiling_config = TilingConfig.auto(height, width, num_frames) + elif tiling == "default": + tiling_config = TilingConfig.default() + elif tiling == "aggressive": + tiling_config = TilingConfig.aggressive() + elif tiling == "conservative": + tiling_config = TilingConfig.conservative() + elif tiling == "spatial": + tiling_config = TilingConfig.spatial_only() + elif tiling == "temporal": + tiling_config = TilingConfig.temporal_only() + else: + print(f"{Colors.YELLOW} Unknown tiling mode '{tiling}', using auto{Colors.RESET}") + tiling_config = TilingConfig.auto(height, width, num_frames) + + if tiling_config is not None: + spatial_info = f"{tiling_config.spatial_config.tile_size_in_pixels}px" if tiling_config.spatial_config else "none" + temporal_info = f"{tiling_config.temporal_config.tile_size_in_frames}f" if tiling_config.temporal_config else "none" + print(f"{Colors.DIM} Tiling ({tiling}): spatial={spatial_info}, temporal={temporal_info}{Colors.RESET}") + if is_wan22_vae: from mlx_video.models.wan.vae22 import denormalize_latents # latents: [C, T, H, W] → [1, T, H, W, C] (channels-last for Wan2.2 VAE) z = latents.transpose(1, 2, 3, 0)[None] z = denormalize_latents(z) - video = vae(z) + if tiling_config is not None: + video = vae.decode_tiled(z, tiling_config) + else: + video = vae(z) mx.eval(video) print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") video = np.array(video[0]) # [T', H', W', 3] - # Trim extra frames generated for zero-padding warmup - if extra_frames > 0: - video = video[extra_frames:] video = (video + 1.0) / 2.0 video = np.clip(video * 255.0, 0, 255).astype(np.uint8) else: - video = vae.decode(latents[None]) + if tiling_config is not None: + video = vae.decode_tiled(latents[None], tiling_config) + else: + video = vae.decode(latents[None]) mx.eval(video) print(f"{Colors.DIM} VAE decode: {time.time() - t4:.1f}s{Colors.RESET}") @@ -651,6 +683,17 @@ def main(): "--lora-low", nargs=2, action="append", metavar=("PATH", "STRENGTH"), help="Apply a LoRA to low-noise model only (dual-model, repeatable)", ) + parser.add_argument( + "--tiling", + type=str, + default="auto", + choices=["auto", "none", "default", "aggressive", "conservative", "spatial", "temporal"], + help="VAE tiling mode to reduce memory during decoding (default: auto)", + ) + parser.add_argument( + "--no-compile", action="store_true", + help="Disable mx.compile on models (for debugging)", + ) args = parser.parse_args() @@ -688,6 +731,8 @@ def main(): loras=_parse_lora_args(args.lora), loras_high=_parse_lora_args(args.lora_high), loras_low=_parse_lora_args(args.lora_low), + tiling=args.tiling, + no_compile=args.no_compile, ) diff --git a/mlx_video/models/ltx/video_vae/tiling.py b/mlx_video/models/ltx/video_vae/tiling.py index 72d32e4..512edff 100644 --- a/mlx_video/models/ltx/video_vae/tiling.py +++ b/mlx_video/models/ltx/video_vae/tiling.py @@ -283,6 +283,7 @@ def decode_with_tiling( spatial_scale: int = 32, temporal_scale: int = 8, causal: bool = False, + causal_temporal: bool = True, timestep: Optional[mx.array] = None, chunked_conv: bool = False, on_frames_ready: Optional[Callable[[mx.array, int], None]] = None, @@ -296,6 +297,10 @@ def decode_with_tiling( spatial_scale: Spatial scale factor (32 for LTX VAE: 8x upsample + 4x unpatchify). temporal_scale: Temporal scale factor (8 for LTX VAE). causal: Whether to use causal convolutions. + causal_temporal: Whether the decoder uses causal temporal mapping where + T input frames produce 1+(T-1)*scale output frames. When False, uses + simple scaling where T frames produce T*scale output frames. + Default True (LTX behavior). Set False for non-causal decoders (e.g. Wan2.1). timestep: Optional timestep for conditioning. chunked_conv: Whether to use chunked conv mode for upsampling (reduces memory). on_frames_ready: Optional callback called with (frames, start_idx) when frames are finalized. @@ -310,7 +315,7 @@ def decode_with_tiling( b, c, f_latent, h_latent, w_latent = latents.shape # Compute output shape - out_f = 1 + (f_latent - 1) * temporal_scale + out_f = (1 + (f_latent - 1) * temporal_scale) if causal_temporal else (f_latent * temporal_scale) out_h = h_latent * spatial_scale out_w = w_latent * spatial_scale @@ -332,7 +337,10 @@ def decode_with_tiling( temporal_overlap = 0 # Compute intervals for each dimension - temporal_intervals = split_in_temporal(temporal_tile_size, temporal_overlap, f_latent) + if causal_temporal: + temporal_intervals = split_in_temporal(temporal_tile_size, temporal_overlap, f_latent) + else: + temporal_intervals = split_in_spatial(temporal_tile_size, temporal_overlap, f_latent) height_intervals = split_in_spatial(spatial_tile_size, spatial_overlap, h_latent) width_intervals = split_in_spatial(spatial_tile_size, spatial_overlap, w_latent) @@ -355,7 +363,10 @@ def decode_with_tiling( t_right = temporal_intervals.right_ramps[t_idx] # Map temporal coordinates - out_t_slice, t_mask = map_temporal_slice(t_start, t_end, t_left, t_right, temporal_scale) + if causal_temporal: + out_t_slice, t_mask = map_temporal_slice(t_start, t_end, t_left, t_right, temporal_scale) + else: + out_t_slice, t_mask = map_spatial_slice(t_start, t_end, t_left, t_right, temporal_scale) for h_idx in range(num_h_tiles): h_start = height_intervals.starts[h_idx] @@ -461,8 +472,10 @@ def decode_with_tiling( # Map to output frame index (first frame of next tile's contribution) if next_tile_start_latent == 0: next_tile_start_out = 0 - else: + elif causal_temporal: next_tile_start_out = 1 + (next_tile_start_latent - 1) * temporal_scale + else: + next_tile_start_out = next_tile_start_latent * temporal_scale # We need to track how many frames we've already emitted if not hasattr(decode_with_tiling, '_emitted_frames'): diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index 5f2e391..4f7dfd0 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -48,9 +48,8 @@ class Head(nn.Module): """ if e.ndim == 2: e = e[:, None, :] # [B, 1, dim] - # Compute modulation in float32 for precision, cast to working dtype - w_dtype = _linear_dtype(self.head) - mod = (self.modulation[:, None, :, :] + e[:, :, None, :]).astype(w_dtype) + # Compute modulation in float32 (matching reference's autocast(float32)) + mod = self.modulation[:, None, :, :] + e[:, :, None, :] # float32 e0 = mod[:, :, 0, :] # [B, L_e, dim] shift e1 = mod[:, :, 1, :] # [B, L_e, dim] scale x_norm = self.norm(x) @@ -120,10 +119,13 @@ class WanModel(nn.Module): ], axis=1) # Precompute sinusoidal inv_freq for time embedding + # Use numpy float64 for precision (matches reference torch.float64), + # then store as float32 since MLX GPU doesn't support float64. half = config.freq_dim // 2 - self._inv_freq = mx.power( - 10000.0, -mx.arange(half).astype(mx.float32) / half + inv_freq_np = np.power( + 10000.0, -np.arange(half, dtype=np.float64) / half ) + self._inv_freq = mx.array(inv_freq_np.astype(np.float32)) def _patchify(self, x: mx.array) -> tuple: diff --git a/mlx_video/models/wan/transformer.py b/mlx_video/models/wan/transformer.py index 59aa651..7186b82 100644 --- a/mlx_video/models/wan/transformer.py +++ b/mlx_video/models/wan/transformer.py @@ -51,10 +51,11 @@ class WanAttentionBlock(nn.Module): rope_cos_sin: tuple | None = None, attn_mask: mx.array | None = None, ) -> mx.array: - # Modulation: compute in float32 for precision, cast to working dtype - # to avoid promoting the full hidden state (seq_len × dim) to float32 - w_dtype = _linear_dtype(self.self_attn.q) - mod = (self.modulation + e).astype(w_dtype) + # Modulation: compute in float32 for precision, matching the reference + # which keeps residual x in float32 via torch.amp.autocast(dtype=float32). + # By keeping modulation in float32, type promotion ensures the residual + # stream stays float32 throughout all 30 layers (gate * output + x → float32). + mod = self.modulation + e # float32 e0, e1, e2, e3, e4, e5 = ( mod[:, :, 0, :], # shift for self-attn mod[:, :, 1, :], # scale for self-attn diff --git a/mlx_video/models/wan/vae.py b/mlx_video/models/wan/vae.py index fe8ccaf..f4d83e7 100644 --- a/mlx_video/models/wan/vae.py +++ b/mlx_video/models/wan/vae.py @@ -534,3 +534,56 @@ class WanVAE(nn.Module): x = self.conv2(z) out = self.decoder(x) return mx.clip(out, -1, 1) + + def decode_tiled(self, z: mx.array, tiling_config=None) -> mx.array: + """Decode latent to video using tiling to reduce memory usage. + + Splits the latent tensor into overlapping spatial/temporal tiles, + decodes each tile independently, and blends them with trapezoidal + masks. Reuses the LTX-2 tiling infrastructure. + + Args: + z: Normalized latent [B, z_dim, T, H, W] + tiling_config: Optional TilingConfig. If None, uses default. + + Returns: + Video [B, 3, T_out, H_out, W_out] clamped to [-1, 1] + """ + from mlx_video.models.ltx.video_vae.tiling import TilingConfig, decode_with_tiling + + if tiling_config is None: + tiling_config = TilingConfig.default() + + # Check if tiling is actually needed + _, _, f, h, w = z.shape + needs_tiling = False + if tiling_config.spatial_config is not None: + s_tile = tiling_config.spatial_config.tile_size_in_pixels // 8 + if h > s_tile or w > s_tile: + needs_tiling = True + if tiling_config.temporal_config is not None: + t_tile = tiling_config.temporal_config.tile_size_in_frames // 4 + if f > t_tile: + needs_tiling = True + + if not needs_tiling: + return self.decode(z) + + # Denormalize once (small tensor), then tile the denormalized latents + mean = self.mean.reshape(1, -1, 1, 1, 1) + inv_std = self.inv_std.reshape(1, -1, 1, 1, 1) + z_denorm = z / inv_std + mean + + def tile_decode(tile_latents, **kwargs): + x = self.conv2(tile_latents) + out = self.decoder(x) + return mx.clip(out, -1, 1) + + return decode_with_tiling( + decoder_fn=tile_decode, + latents=z_denorm, + tiling_config=tiling_config, + spatial_scale=8, # 3× spatial 2× upsamples = 8× + temporal_scale=4, # 2× temporal upsamples × 2 = 4× + causal_temporal=False, # Wan2.1 uses non-causal temporal (T → 4T) + ) diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py index a0f7234..48058f6 100644 --- a/mlx_video/models/wan/vae22.py +++ b/mlx_video/models/wan/vae22.py @@ -709,6 +709,67 @@ class Wan22VAEDecoder(nn.Module): return mx.clip(out, -1.0, 1.0) + def decode_tiled(self, z, tiling_config=None): + """Decode latents using tiling to reduce memory usage. + + Splits the latent tensor into overlapping spatial/temporal tiles, + decodes each tile independently, and blends them with trapezoidal + masks. Reuses the LTX-2 tiling infrastructure with channels-first + adapter (future: refactor tiling.py to be layout-agnostic). + + Args: + z: [B, T, H, W, C=48] latent tensor (already denormalized) + tiling_config: Optional TilingConfig. If None, uses default. + + Returns: + video: [B, T', H', W', 3] decoded RGB in [-1, 1] + """ + from mlx_video.models.ltx.video_vae.tiling import TilingConfig, decode_with_tiling + + if tiling_config is None: + tiling_config = TilingConfig.default() + + # Check if tiling is actually needed + b, t, h_px, w_px, c = z.shape + # Latent dimensions (before conv2/decoder upsampling) + h_lat, w_lat = h_px, w_px + needs_tiling = False + if tiling_config.spatial_config is not None: + s_tile = tiling_config.spatial_config.tile_size_in_pixels // 16 + if h_lat > s_tile or w_lat > s_tile: + needs_tiling = True + if tiling_config.temporal_config is not None: + t_tile = tiling_config.temporal_config.tile_size_in_frames // 4 + if t > t_tile: + needs_tiling = True + + if not needs_tiling: + return self(z) + + # Transpose to channels-first for decode_with_tiling: [B,T,H,W,C] → [B,C,T,H,W] + z_cf = z.transpose(0, 4, 1, 2, 3) + + # Tile decoder: receives (B,C,T,H,W) channels-first, returns (B,3,T',H',W') + def tile_decode(tile_latents, **kwargs): + tile_cl = tile_latents.transpose(0, 2, 3, 4, 1) # → [B,T,H,W,C] + x = self.conv2(tile_cl) + out = self.decoder(x, first_chunk=True) + out = _unpatchify(out, patch_size=2) + out = mx.clip(out, -1.0, 1.0) + return out.transpose(0, 4, 1, 2, 3) # → [B,3,T',H',W'] + + result_cf = decode_with_tiling( + decoder_fn=tile_decode, + latents=z_cf, + tiling_config=tiling_config, + spatial_scale=16, # 8× conv upsample + 2× unpatchify + temporal_scale=4, # two 2× temporal upsamples (first_chunk=True → causal) + causal_temporal=True, + ) + + # Back to channels-last: [B,3,T',H',W'] → [B,T',H',W',3] + return result_cf.transpose(0, 2, 3, 4, 1) + def denormalize_latents(z, mean=None, std=None): """Denormalize latents: z = z / (1/std) + mean.""" diff --git a/tests/test_wan_tiling.py b/tests/test_wan_tiling.py new file mode 100644 index 0000000..3353dd4 --- /dev/null +++ b/tests/test_wan_tiling.py @@ -0,0 +1,198 @@ +"""Tests for Wan VAE tiled decoding.""" + +import mlx.core as mx +import numpy as np +import pytest + +from mlx_video.models.ltx.video_vae.tiling import ( + TilingConfig, + decode_with_tiling, + split_in_spatial, + split_in_temporal, +) + + +class TestNonCausalTemporal: + """Tests for the causal_temporal=False path in decode_with_tiling.""" + + def test_split_spatial_for_temporal(self): + """Non-causal temporal should use split_in_spatial (no causal shift).""" + intervals = split_in_spatial(8, 2, 20) + # No causal adjustment: starts should be evenly spaced + assert intervals.starts[0] == 0 + for i in range(1, len(intervals.starts)): + assert intervals.starts[i] == intervals.starts[i - 1] + (8 - 2) + + def test_causal_vs_noncausal_output_size(self): + """Causal temporal gives 1+(T-1)*S frames, non-causal gives T*S.""" + mx.random.seed(42) + b, c, t, h, w = 1, 4, 4, 4, 4 + latents = mx.random.normal((b, c, t, h, w)) + scale = 4 + + # Simple passthrough decoder: just repeat along dimensions + def dummy_decoder_causal(x, **kwargs): + b, c, t, h, w = x.shape + out_t = 1 + (t - 1) * scale + out_h = h * scale + out_w = w * scale + return mx.ones((b, 3, out_t, out_h, out_w)) + + def dummy_decoder_noncausal(x, **kwargs): + b, c, t, h, w = x.shape + out_t = t * scale + out_h = h * scale + out_w = w * scale + return mx.ones((b, 3, out_t, out_h, out_w)) + + config = TilingConfig.spatial_only(tile_size=128, overlap=64) + + # Causal: 1 + (4-1)*4 = 13 + out_causal = decode_with_tiling( + dummy_decoder_causal, latents, config, + spatial_scale=scale, temporal_scale=scale, causal_temporal=True, + ) + mx.eval(out_causal) + assert out_causal.shape[2] == 1 + (t - 1) * scale # 13 + + # Non-causal: 4*4 = 16 + out_noncausal = decode_with_tiling( + dummy_decoder_noncausal, latents, config, + spatial_scale=scale, temporal_scale=scale, causal_temporal=False, + ) + mx.eval(out_noncausal) + assert out_noncausal.shape[2] == t * scale # 16 + + +class TestWan22TiledDecoding: + """Tests for Wan2.2 VAE tiled decoding.""" + + def _make_small_wan22_decoder(self): + """Create a small Wan2.2 decoder for testing.""" + from mlx_video.models.wan.vae22 import Wan22VAEDecoder + + # Use very small dimensions for fast testing + vae = Wan22VAEDecoder(z_dim=48, dim=16, dec_dim=16) + mx.eval(vae.parameters()) + return vae + + def test_decode_tiled_output_shape(self): + """Tiled decode should produce same shape as non-tiled.""" + mx.random.seed(42) + vae = self._make_small_wan22_decoder() + + # Small input: [B=1, T=3, H=2, W=2, C=48] + z = mx.random.normal((1, 3, 2, 2, 48)) + mx.eval(z) + + # Non-tiled + out_regular = vae(z) + mx.eval(out_regular) + + # Tiled (force tiling with very small tile sizes) + # Use spatial tile=32px (2 latent @ scale 16) and temporal=8 frames (2 latent @ scale 4) + config = TilingConfig( + spatial_config=None, # Don't tile spatially (input is tiny) + temporal_config=None, # Don't tile temporally (input is tiny) + ) + # With no tiling config, decode_tiled should fall through to regular decode + out_tiled = vae.decode_tiled(z, tiling_config=TilingConfig.default()) + mx.eval(out_tiled) + + # Both should produce the same shape + assert out_regular.shape == out_tiled.shape, ( + f"Shape mismatch: regular={out_regular.shape} vs tiled={out_tiled.shape}" + ) + + def test_decode_tiled_falls_through_when_small(self): + """When input is smaller than tile size, decode_tiled should produce same output as __call__.""" + mx.random.seed(42) + vae = self._make_small_wan22_decoder() + + # Input smaller than any tile size + z = mx.random.normal((1, 2, 2, 2, 48)) + mx.eval(z) + + out_regular = vae(z) + mx.eval(out_regular) + + out_tiled = vae.decode_tiled(z, tiling_config=TilingConfig.default()) + mx.eval(out_tiled) + + np.testing.assert_allclose( + np.array(out_regular), np.array(out_tiled), + rtol=1e-4, atol=1e-4, + err_msg="Tiled decode should match regular decode for small inputs", + ) + + +class TestWan21TiledDecoding: + """Tests for Wan2.1 VAE tiled decoding.""" + + def _make_small_wan21_vae(self): + """Create a small Wan2.1 VAE for testing.""" + from mlx_video.models.wan.vae import WanVAE + + vae = WanVAE(z_dim=16) + mx.eval(vae.parameters()) + return vae + + def test_decode_tiled_output_shape(self): + """Tiled decode should produce correct output shape.""" + mx.random.seed(42) + vae = self._make_small_wan21_vae() + + # [B=1, C=16, T=3, H=4, W=4] + z = mx.random.normal((1, 16, 3, 4, 4)) + mx.eval(z) + + out_regular = vae.decode(z) + mx.eval(out_regular) + + out_tiled = vae.decode_tiled(z, tiling_config=TilingConfig.default()) + mx.eval(out_tiled) + + assert out_regular.shape == out_tiled.shape, ( + f"Shape mismatch: regular={out_regular.shape} vs tiled={out_tiled.shape}" + ) + + def test_decode_tiled_falls_through_when_small(self): + """When input is smaller than tile size, decode_tiled should produce same output as decode.""" + mx.random.seed(42) + vae = self._make_small_wan21_vae() + + z = mx.random.normal((1, 16, 2, 4, 4)) + mx.eval(z) + + out_regular = vae.decode(z) + mx.eval(out_regular) + + out_tiled = vae.decode_tiled(z, tiling_config=TilingConfig.default()) + mx.eval(out_tiled) + + np.testing.assert_allclose( + np.array(out_regular), np.array(out_tiled), + rtol=1e-4, atol=1e-4, + err_msg="Tiled decode should match regular decode for small inputs", + ) + + +class TestWan21TemporalScale: + """Verify Wan2.1 decoder temporal output is T*4 (non-causal).""" + + def test_wan21_decoder_temporal_output(self): + """Wan2.1 Decoder3d should produce T*4 temporal output (non-causal doubling).""" + from mlx_video.models.wan.vae import Decoder3d + + # Small decoder for fast test + dec = Decoder3d(dim=16, z_dim=4, dim_mult=[1, 1, 1, 1], num_res_blocks=1, + temporal_upsample=[True, True, False]) + mx.eval(dec.parameters()) + + x = mx.random.normal((1, 4, 3, 4, 4)) # T=3 + mx.eval(x) + out = dec(x) + mx.eval(out) + + # With two temporal 2× upsamples: T=3 → 6 → 12 + assert out.shape[2] == 3 * 4, f"Expected T=12, got T={out.shape[2]}" From 967218b7c18c3e15fb8ff0ad6b658389792df33c Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 6 Mar 2026 20:46:43 +0100 Subject: [PATCH 09/17] feat(wan): Add diagnostic scripts and porting guide --- docs/PORTING-GUIDE.md | 911 ++++++++++++++++++++++++++++++++ scripts/video/compare_videos.py | 306 +++++++++++ scripts/video/video_quality.py | 348 ++++++++++++ 3 files changed, 1565 insertions(+) create mode 100644 docs/PORTING-GUIDE.md create mode 100644 scripts/video/compare_videos.py create mode 100644 scripts/video/video_quality.py diff --git a/docs/PORTING-GUIDE.md b/docs/PORTING-GUIDE.md new file mode 100644 index 0000000..5c44f94 --- /dev/null +++ b/docs/PORTING-GUIDE.md @@ -0,0 +1,911 @@ +# Porting Diffusion Video Models to MLX: Lessons Learned + +A practical guide distilled from porting Wan2.1/2.2 (1.3B–14B) and Helios 14B DiT +video generation models from PyTorch to MLX on Apple Silicon. These lessons apply +broadly to any diffusion-based video (or image) model port. + +--- + +## Table of Contents + +1. [Debugging Methodology](#1-debugging-methodology) +2. [Precision & Dtype Pitfalls](#2-precision--dtype-pitfalls) +3. [MLX-Specific Gotchas](#3-mlx-specific-gotchas) +4. [Autoregressive Chunk Boundaries](#4-autoregressive-chunk-boundaries) +5. [VAE Decoder Artifacts](#5-vae-decoder-artifacts) +6. [Scheduler & Timestep Issues](#6-scheduler--timestep-issues) +7. [Weight Conversion](#7-weight-conversion) +8. [Text Conditioning Failures](#8-text-conditioning-failures) +9. [Position Encodings (RoPE)](#9-position-encodings-rope) +10. [Multi-Stage / Pyramid Pipelines](#10-multi-stage--pyramid-pipelines) +11. [Common Symptoms → Root Causes](#11-common-symptoms--root-causes) +12. [Verification Checklist](#12-verification-checklist) +13. [Diagnostic Tools](#13-diagnostic-tools) + +--- + +## 1. Debugging Methodology + +### Component isolation first + +Never debug the full pipeline. Test each component in isolation: + +1. **Text encoder** — Does it produce embeddings with reasonable statistics? (std > 0.01) +2. **Scheduler** — Do sigma/timestep values match the reference exactly? +3. **Transformer** — Does a single forward pass match the reference? (cosine similarity > 0.999) +4. **VAE decoder** — Feed reference latents into your VAE. Does the output look correct? + +If every component matches individually but the pipeline fails, the bug is in +**orchestration** — how components are wired together. + +### Statistical fingerprinting + +Track per-step statistics through the diffusion loop: + +```python +# After each denoising step +print(f"step {i}: mean={latent.mean():.6f} std={latent.std():.6f} " + f"min={latent.min():.4f} max={latent.max():.4f}") +``` + +**What to look for:** +- **Progressive mean drift** (e.g., -0.002 → -0.040 → -0.123) signals accumulating errors +- **Collapsing std** (std dropping toward 0) signals broken conditioning or wrong noise schedule +- **Exploding values** signal wrong sigma scaling or scheduler formula + +### Cross-framework numerical comparison + +The most powerful debugging tool: save intermediate tensors from your MLX pipeline, +feed them to the PyTorch reference, compare outputs. + +```python +# In MLX pipeline, save inputs before transformer call +mx.save("debug_inputs.npz", {"latent": latent, "timestep": t, "text_emb": text_emb}) + +# In PyTorch script, load and compare +inputs = np.load("debug_inputs.npz") +mlx_out = np.load("debug_output.npz")["flow"] +pt_out = reference_model(torch.from_numpy(inputs["latent"]), ...) +cos_sim = F.cosine_similarity(pt_out.flatten(), torch.from_numpy(mlx_out).flatten(), dim=0) +# cos_sim > 0.999 = model is correct; bug is elsewhere +# cos_sim < 0.99 = model has a bug; compare per-layer +``` + +### Ablation testing + +When a pipeline has multiple "fixes" or features, disable them one at a time: + +- **Frozen history**: Fix history to the same value for all chunks → proves whether + history propagation is the source of drift/zoom +- **Single chunk**: Generate only 1 chunk → isolates per-chunk quality from + multi-chunk interaction bugs +- **Disable post-processing**: Remove cross-fade, blending, corrections → reveals + what the raw model output looks like + +### Use reference on same hardware + +Run the PyTorch reference on the same device (MPS for Apple Silicon). CUDA and MPS +produce different numerical results due to different float handling. Comparing your +MLX output against a CUDA reference adds noise to the comparison. + +```python +# MPS may not support float64 — patch the reference: +original_linspace = torch.linspace +def patched_linspace(*args, **kwargs): + kwargs.pop("dtype", None) + return original_linspace(*args, dtype=torch.float32, **kwargs) +torch.linspace = patched_linspace +``` + +--- + +## 2. Precision & Dtype Pitfalls + +### The #1 source of subtle bugs + +Precision issues caused the most insidious bugs in our port. They don't cause +crashes — they cause progressive quality degradation that's hard to attribute. + +### Residual connections MUST be float32 + +**Bug**: Progressive zoom/shrinking across autoregressive chunks. + +**Root cause**: Residual additions (`x = x + attn_out`) in bfloat16. With 7-bit +mantissa, high-frequency spatial detail is systematically truncated. Over 144 +residual ops × 6+ model calls per chunk, detail is progressively smoothed away. + +**Fix**: Promote to float32 for the addition: +```python +# BAD — bfloat16 accumulation +x = x + attn_out + +# GOOD — match reference's .float() pattern +x = (x.astype(mx.float32) + attn_out).astype(weight_dtype) +``` + +**Rule**: If the reference uses `.float()` anywhere, copy that pattern exactly. It's +there for a reason, even if a quick test seems to work without it. + +### Scheduler computations need high precision + +Diffusion schedulers involve: +- `x0 = xt - sigma * flow` — catastrophic cancellation near sigma ≈ 1 +- `log(sigma)` and `exp()` — sensitive to small precision differences + +Some references use float64 for these computations. MLX GPU doesn't support float64, +so use float32 and accept small numerical differences, but **never** use bfloat16 +for scheduler math. + +### Dtype propagation is invisible + +Track dtype through your pipeline. A single bfloat16 intermediate can silently +downcast everything downstream: + +```python +# This looks harmless but if model output is bfloat16: +result = noise - sigma * model_output # result is bfloat16! + +# Fix: explicit cast +result = (noise.astype(mx.float32) - sigma * model_output.astype(mx.float32)) +``` + +### Type promotion rules differ across frameworks + +- PyTorch: bfloat16 + float32 → float32 +- MLX: bfloat16 + float32 → float32 (same, but verify) +- NumPy: no bfloat16 support + +Always check what your framework does and match the reference's implicit promotations. + +### Float32 for VAE decoding + +**Bug** (Wan2.2): VAE decode in bfloat16 produced visibly worse quality than reference. + +Official Wan2.2 runs VAE decode in `torch.float` (float32), but our converted weights +were bfloat16. The VAE has many sequential layers where precision loss compounds. + +**Fix**: Upcast VAE weights to float32 at load time. The VAE runs once per generation, +so the performance impact is negligible compared to the transformer. + +### Modulation/gate vectors need float32 + +**Bug** (Wan2.2): Quality degradation from bfloat16 modulation across 30 blocks × 50 steps. + +The official Wan2.2 explicitly uses `torch.amp.autocast('cuda', dtype=torch.float32)` +for time embeddings, modulation parameters, norm outputs before modulation, and gate ops. + +**Fix**: Keep modulation in float32, cast to working dtype only when applying to the +hidden state: +```python +# Modulation computed in float32 +e0 = self.modulation(time_emb) # float32 +scale, shift, gate = e0.split(3, axis=-1) + +# Cast to bfloat16 only for the matmul with hidden state +x = (x * (1 + scale.astype(x.dtype)) + shift.astype(x.dtype)) +``` + +### Map PyTorch autocast zones precisely + +PyTorch models use nested `torch.amp.autocast` scopes to switch precision. Map these +exactly: +- **Outer scope** (`bfloat16`): attention QKV projections, FFN matmuls +- **Inner scope** (`float32`): modulation, gates, norms, RoPE +- **Residual stream**: float32 (the "backbone" between blocks) + +```python +# Wan2.2 dtype flow (matches official): +# Modulation/gates: float32 (explicit) +# QKV/FFN linear projections: bfloat16 (weight dtype) +# RoPE: float32 (official uses float64, MLX lacks float64) +# Attention Q/K: cast back to bfloat16 after RoPE +# Residual stream: float32 +``` + +### Float32 promotion cascades kill performance + +**Bug** (Wan2.2): ~2x slowdown from accidental float32 promotion. + +A single float32 tensor (e.g., time embedding) flowing into bfloat16 operations +promotes the entire computation graph to float32. In Wan2.2: +- Time embedding MLP output (float32) fed into transformer → all layers float32 +- RoPE frequencies (float32) applied to Q/K → all attention float32 + +**Fix**: Cast intermediate results to model dtype at promotion boundaries: +```python +# After time embedding MLP (float32), cast before feeding to transformer +time_emb = time_mlp(t).astype(model_dtype) + +# After RoPE (float32), cast Q/K back to attention dtype +q = rope_apply(q, freqs).astype(v.dtype) +``` + +--- + +## 3. MLX-Specific Gotchas + +### Underscore-prefixed attributes are invisible + +**Bug** (Wan2.2): 87 of 110 VAE weights silently dropped during loading. + +MLX's `nn.Module.parameters()` and `nn.Module.load_weights()` **skip** attributes +whose names start with underscore. If you name a layer `self._layer_0`, its weights +will never be loaded or saved. + +```python +# BAD — weights silently ignored +self._layer_0 = nn.Linear(...) # nn.Module skips _prefixed attrs + +# GOOD +self.layer_0 = nn.Linear(...) +``` + +This is especially insidious because there's no error — the model loads, runs, and +produces output. The output is just garbage because most weights are random. + +### nn.Sequential indexing vs named children + +PyTorch's `nn.Sequential` uses integer indices (`sequential.0.weight`), while MLX's +module hierarchy uses named attributes. When mirroring a PyTorch module structure, +you need explicit key sanitization: + +```python +def sanitize_key(key): + # PyTorch: "decoder.middle.0.residual.1.weight" + # MLX: "decoder.middle.layer_0.residual.layer_1.weight" + key = re.sub(r'\.(\d+)', lambda m: f'.layer_{m.group(1)}', key) + return key +``` + +### Reshape axis ordering differs from PyTorch + +**Bug** (Wan2.2): Green checkerboard pattern from VAE attention. + +`[B,C,T,H,W]` cannot be directly reshaped to `[BT,C,H,W]` because in memory C +comes before T. PyTorch's `reshape` works because it handles non-contiguous tensors. +MLX requires explicit transpose first: + +```python +# BAD — mixes channels with time +x = x.reshape(B*T, C, H, W) # Corrupts spatial layout + +# GOOD — make B,T adjacent first +x = x.transpose(0, 2, 1, 3, 4) # [B,T,C,H,W] +x = x.reshape(B*T, C, H, W) # Now correct +``` + +### Patchify channel ordering + +**Bug** (Wan2.2): Solid green video output from wrong patchify order. + +When converting a Conv3d patchify to a manual reshape+linear, the dimension ordering +in the reshape must match the Conv3d weight layout. Conv3d expects `[C, pt, ph, pw]` +(channels slowest), but a naive reshape produces `[pt, ph, pw, C]` (channels fastest): + +```python +# BAD — channel scrambling +patches = x.reshape(B, F', H', W', pt, ph, pw, C) + +# GOOD — match Conv3d weight layout +patches = x.reshape(B, F', pt, H', ph, W', pw, C) +patches = patches.transpose(0, 1, 3, 5, 7, 2, 4, 6) # [B, F', H', W', C, pt, ph, pw] +``` + +Verify numerically: the fixed version should match Conv3d output to ~1e-6. + +### mx.zeros / padding inherits dtype + +Use dtype-aware `mx.zeros` for padding and concatenation to avoid promotion: + +```python +# BAD — default float32 padding promotes bfloat16 input +pad = mx.zeros((B, pad_len, C)) # float32! +x = mx.concatenate([pad, x], axis=1) # x promoted to float32 + +# GOOD — match input dtype +pad = mx.zeros((B, pad_len, C), dtype=x.dtype) +x = mx.concatenate([pad, x], axis=1) # stays bfloat16 +``` + +### Use mx.fast kernels + +Replace manual implementations with fused MLX kernels where possible: + +```python +# Manual RMS norm → mx.fast.rms_norm +# Manual LayerNorm → mx.fast.layer_norm +# Manual attention → mx.fast.scaled_dot_product_attention +``` + +These are faster and handle precision internally. + +--- + +## 4. Autoregressive Chunk Boundaries + +For models that generate long videos by autoregressively extending chunks (Helios, +CogVideoX, etc.), chunk boundaries are the primary source of visual artifacts. + +### Don't add post-processing the reference doesn't have + +**Bug**: Added pixel cross-fade to smooth boundaries → caused 40% sharpness drop. + +The reference pipeline used **no cross-fade at all**. The first frame of each new +chunk is intentionally a sharp reconstruction conditioned on history. Blending it with +the previous chunk's tail (which has different content) creates blur. + +**Rule**: Before adding smoothing/blending, verify the reference doesn't do it. +Reference simplicity is usually correct. + +### First-frame artifacts are common + +The first pixel frame of each non-first chunk is typically a distorted reconstruction +of the conditioning frame. In many models, this is expected behavior: + +- **Fix**: Drop the first frame from each chunk +- **Verify frame math**: If 33 raw frames at 16fps → drop 1 → 32 frames = exactly 2 seconds + +### History conditioning errors compound + +Small errors in how history is prepared, sliced, patchified, or position-encoded +will compound across chunks. The error is invisible in chunk 1, small in chunk 2, +and catastrophic by chunk 5. + +**Debug strategy**: Generate with frozen history (same history for every chunk). +If the artifact disappears, the bug is in history handling. + +--- + +## 5. VAE Decoder Artifacts + +### Causal temporal convolutions cause boundary warmup + +Video VAEs (WanVAE, CogVideoX-VAE) use causal temporal convolutions. When decoding +each chunk independently, the first few frames lack temporal context (only zero +padding), causing: + +- **~7% contrast drop** in first frames of each chunk +- **Spatial brightness redistribution** (face darkens, background brightens) + +This is inherent to the architecture. The reference has the same effect but at +lower magnitude. + +### Post-processing to fix VAE warmup + +Two-stage correction applied to first N frames of each non-first chunk: + +```python +# Stage 1: Spatially-varying brightness correction +# Downsample reference (previous chunk's last frame) and current frame +ref_small = cv2.resize(ref_frame, (w//16, h//16), interpolation=cv2.INTER_AREA) +cur_small = cv2.resize(cur_frame, (w//16, h//16), interpolation=cv2.INTER_AREA) +diff_small = ref_small - cur_small +diff_full = cv2.resize(diff_small, (w, h), interpolation=cv2.INTER_LINEAR) +corrected = cur_frame + ramp * diff_full # ramp: 1.0 → 0.0 over N frames + +# Stage 2: Per-channel contrast matching +for c in range(3): + ref_std = np.std(ref_frame[:,:,c]) + cur_std = np.std(corrected[:,:,c]) + scale = 1.0 + ramp * (ref_std / (cur_std + 1e-6) - 1.0) + corrected[:,:,c] = (corrected[:,:,c] - mean) * scale + mean +``` + +### VAE overlap decode does NOT work + +**Attempted**: Prepend previous chunk's last latent frames to give the decoder +temporal context. + +**Result**: Made things **worse** (22% contrast drop vs 7%). The causal convolutions +see conflicting content from different chunks and create larger artifacts than +zero-padding. + +**Lesson**: Overlap only works when tiles contain the same content from the same +denoising process (e.g., spatial tiling). It fails for temporal chunks with +different content. + +### Per-chunk VAE decoding is correct + +Decode each chunk's latents independently, not concatenated. Concatenating all chunks +and decoding together lets boundary discontinuities propagate through temporal +convolutions, creating worse artifacts. + +### First-frame quality: causal padding strategies + +Multiple approaches were tried for the first-frame quality issue in Wan VAE: + +| Approach | Result | +|----------|--------| +| Zero padding (default) | First ~4 frames degraded, but matches training | +| Replicate padding | Fixes artifacts but causes color intensity bias (conv applies all kernel weights to same value) | +| Warmup frame prepend | Helps motion but warmup frame itself has artifacts | +| Mirror-reflect warmup | Best compromise — varied context without zeros, no intensity bias | + +**Lesson**: Don't assume "replicate padding is better than zero padding." The model +was trained with zero padding; changing it shifts the gain. Instead, prepend warmup +frames and trim them after decoding. + +### RMS_norm vs L2 normalization + +**Bug** (Wan2.2): Garbled output from incorrect normalization. + +A PyTorch class named `RMS_norm` actually uses `F.normalize` (L2 norm: `x / ||x||_2`), +not RMS normalization (`x / sqrt(mean(x²))`). The difference is a factor of `sqrt(C)`, +causing values to explode through the decoder. + +**Lesson**: Don't trust class names — read the actual implementation. + +### Temporal frame count: causal boundary effects + +**Bug** (Wan2.2): VAE produced 12 frames instead of 9 for a 9-frame input. + +PyTorch reference processes frames one-by-one with caching, skipping temporal conv for +the first chunk. All-at-once decoding produces extra frames from zero-padded causal +context. + +**Fix**: Use `first_chunk=True` flag to trim causal boundary frames, matching the +reference's chunked behavior. + +### Chunked VAE encoding for I2V + +**Bug** (Wan2.2 I2V-14B): Incorrect latents from non-chunked encoding. + +Non-chunked encoding with causal zero-padding produces incorrect latents because +temporal features don't propagate correctly without caching. The reference uses chunked +encoding (1+4+4+... frames) with persistent temporal cache. + +**Fix**: Implement chunked encoding with `feat_cache` propagation through CausalConv3d, +ResidualBlock, and Resample layers. + +--- + +## 6. Scheduler & Timestep Issues + +### Copy formulas exactly + +Even small differences in scheduler formulas compound over many steps: + +```python +# Dynamic time shifting — reference uses specific formula +mu = 0.5 + shift * 0.5 # NOT shift * 0.6 or any other constant + +# Euler step +x_next = x + (sigma_next - sigma) * flow # order matters: next - current +``` + +### Verify sigma schedules numerically + +Print and compare sigma values at each step: + +```python +# Reference +sigmas_ref = [1.0, 0.99375, 0.9875, ...] + +# Your implementation +sigmas = scheduler.get_sigmas(steps) +for i, (r, m) in enumerate(zip(sigmas_ref, sigmas)): + assert abs(r - m) < 1e-6, f"Step {i}: ref={r}, mlx={m}" +``` + +### Timestep embedding precision + +Integer vs float timesteps matter. Some models expect `timestep=999` (int), others +expect `timestep=0.999` (float). Wrong type can silently produce wrong embeddings +with reasonable-looking but incorrect statistics. + +### Boundary conditions: ±inf at sigma endpoints + +**Bug** (Wan2.2): Greenish/yellow constant output from DPM++/UniPC schedulers. + +The `lambda(sigma)` function must return `-inf` at `sigma=1.0` (pure noise) and `+inf` +at `sigma=0.0` (clean signal). Our implementation returned `0.0`, causing massive x0 +overscaling on the first denoising step. + +PyTorch naturally computes `torch.log(0) = -inf`, and `math.expm1(-inf) = -1.0` +handles the formulas correctly. Reproduce this behavior explicitly: + +```python +def _lambda(self, sigma): + if sigma >= 1.0: + return float('-inf') + if sigma <= 0.0: + return float('inf') + return -math.log(sigma / (1 - sigma)) +``` + +### UniPC corrector coefficients + +**Bug** (Wan2.2): Accumulated artifacts across 47+ steps from wrong polynomial weights. + +The UniPC corrector must compute `rhos_c` via `linalg.solve` for order ≥ 2. Hardcoded +`0.5` was 7× too large for the history weight (actual: ~0.08), causing massive +overweighting of history corrections. + +--- + +## 7. Weight Conversion + +### Always verify statistically + +After converting weights from PyTorch to MLX format: + +```python +for name in mlx_weights: + pt = pytorch_weights[map_name(name)] + mx_val = np.array(mlx_weights[name]) + pt_val = pt.numpy() + cos_sim = np.dot(mx_val.flat, pt_val.flat) / ( + np.linalg.norm(mx_val) * np.linalg.norm(pt_val) + 1e-10 + ) + if cos_sim < 0.9999: + print(f"MISMATCH: {name} cos_sim={cos_sim:.6f}") +``` + +### Conv3d → Linear reshaping + +When converting 3D convolutions to linear layers (common for MLX which prefers +linear ops), the flattening order must match: + +```python +# PyTorch Conv3d weight: (out_ch, in_ch, kT, kH, kW) +# Flatten to Linear: (out_ch, in_ch * kT * kH * kW) +# The reshape order MUST match how the input is patchified +``` + +### Sanitization functions + +Write explicit weight sanitization that maps reference key names to your key names. +Don't rely on automatic matching — key naming conventions differ between frameworks. + +### Module structure must mirror reference for direct loading + +**Bug** (Wan2.2): Rewrote entire VAE module hierarchy to match PyTorch `nn.Sequential` +structure. ResidualBlock needed `None` gaps at specific indices to match the original +`nn.Sequential(RMSNorm, SiLU, Conv3d, ...)` indexing. + +When possible, structure your modules to accept reference weights directly without +sanitization. This eliminates an entire class of bugs. + +### Save VAE weights in float32 + +Even if the model uses bfloat16 for the transformer, save VAE weights in float32. +bfloat16 → float32 roundtrip loses precision that cannot be recovered by load-time +upcast. + +### Temporal downsample/upsample order + +**Bug** (Wan2.2): `temporal_downsample=[True, True, False]` but reference uses +`[False, True, True]`. Stage 0 created a `time_conv` with random weights (no matching +file key), and Stage 2 missed its `time_conv` (weights silently dropped). + +Always verify boolean flags for each stage by inspecting the actual weight file keys. + +### Silent weight drops are the worst bugs + +When `load_weights()` with `strict=False` silently skips keys that don't match, you +get a model with random weights for those layers. This produces output that looks +"almost right" but is subtly wrong. Always log which keys were loaded vs skipped: + +```python +loaded_keys = set() +for key, value in weights: + if key in model_params: + loaded_keys.add(key) +# Check for missing +expected = set(model_params.keys()) +missing = expected - loaded_keys +if missing: + print(f"WARNING: {len(missing)} weights not loaded: {list(missing)[:5]}...") +``` + +--- + +## 8. Text Conditioning Failures + +### Symptom: model predicts noise back to itself + +If the model output correlates > 0.8 with its input noise, text conditioning is +likely broken. The model has learned nothing from the prompt and is just returning +its input. + +### Check embedding statistics + +```python +text_emb = text_encoder(prompt) +print(f"text_emb: mean={text_emb.mean():.4f} std={text_emb.std():.4f}") +# std < 0.01 → embeddings are collapsed → broken encoder or wrong weights +# std > 10.0 → embeddings are exploding → wrong normalization +``` + +### Verify with ablation + +```python +# Generate with real text +output_text = denoise(latent, text_emb=real_embeddings) +# Generate with zeros +output_zero = denoise(latent, text_emb=mx.zeros_like(real_embeddings)) +# Compare +text_influence = np.mean(np.abs(output_text - output_zero)) +print(f"Text influence: {text_influence:.4f}") # Should be > 0 (typically 30-60% of output) +``` + +### Text preprocessing must match exactly + +**Bug** (Wan2.2): Patchy-blurry output from wrong negative prompt tokenization. + +The official Wan2.2 tokenizer applies `ftfy.fix_text` + `html.unescape` + whitespace +normalization before tokenization. Without this, fullwidth Chinese commas (U+FF0C) +tokenize differently from ASCII commas (U+002C), causing **27 different token IDs** +in the negative prompt. This made CFG's unconditional prediction wrong. + +**Fix**: Apply the same text cleaning pipeline as the reference: +```python +import ftfy +import html +import re + +def clean_text(text): + text = ftfy.fix_text(text) + text = html.unescape(text) + text = re.sub(r'\s+', ' ', text).strip() + return text +``` + +### T5 encoder precision + +**Bug** (Wan2.2): Quality degradation from bfloat16 T5 attention. + +T5 uses **no scaling** in attention (no `1/sqrt(d)` factor), so attention logits can +be very large. bfloat16 softmax loses significant precision across 24 encoder layers. + +**Fix**: Compute T5 QK^T and softmax in float32. The T5 encoder only runs once per +generation, so the performance impact is negligible. + +### Dual-model text embeddings + +**Bug** (Wan2.2 I2V-14B): Low/high noise models have different `text_embedding` weights +(~42% relative difference). Using one model's embeddings for both caused incorrect +text conditioning for the high-noise model that handles critical early denoising steps. + +**Fix**: Compute separate text embeddings for each model in dual-model setups. + +--- + +## 9. Position Encodings (RoPE) + +### Multi-scale consistency + +In pyramid/multi-resolution models, RoPE must be computed consistently across scales. +If the model operates at 1/4 resolution in an early stage, the position grid must +reflect the actual spatial dimensions, not the final target dimensions. + +### History vs current chunk + +When conditioning on history from a previous chunk, the position encoding for +history frames must match what the model saw during training. Mismatches between +history and current-chunk position encodings can cause subtle spatial distortions +that compound across chunks. + +### Factorized RoPE + +3D video models often use factorized RoPE (separate temporal, height, width +frequencies). Verify each axis independently: + +```python +# Compare temporal frequencies +assert np.allclose(mlx_rope_t, ref_rope_t, atol=1e-5) +# Compare spatial frequencies +assert np.allclose(mlx_rope_h, ref_rope_h, atol=1e-5) +assert np.allclose(mlx_rope_w, ref_rope_w, atol=1e-5) +``` + +### Per-axis frequency construction + +**Bug** (Wan2.2): Grey/artifact-filled output from wrong frequency distribution. + +The reference uses three separate `rope_params()` calls with different dimension +normalizations (e.g., 44, 42, 42 for Wan) so each axis gets its own full frequency +range. Consolidating into a single `rope_params(head_dim)` call and splitting gave +height frequencies starting at 0.042 and width at 0.002 (should be 1.0 for both). + +**Fix** (and subsequent revert): This bug was introduced as a "fix" for a previous +RoPE issue, then had to be reverted. The lesson: RoPE changes have far-reaching effects. +Always verify with actual generation, not just numerical comparison of frequencies. + +**Lesson**: Read the reference's frequency construction very carefully. Don't +"simplify" three separate calls into one unless you verify the frequency distribution +matches exactly. + +--- + +## 10. Multi-Stage / Pyramid Pipelines + +### Each stage is a potential failure point + +Pyramid pipelines (generate at low res, upsample, refine at high res) multiply the +number of things that can go wrong: + +- Downsampling method (bilinear vs area) must match reference +- Energy compensation factors (e.g., ×2 after bilinear downsample) must be present +- Alpha/beta noise mixing coefficients are stage-dependent +- Frame indices and history resolution change per stage + +### Test single-stage first + +If the model works at full resolution for a single stage but fails in the pyramid, +the bug is in stage orchestration — typically in how latents are passed between +stages or how position encodings adapt to different resolutions. + +### Integration bugs are the hardest + +We verified every Helios component matched the reference individually, but the +pyramid still produced uniform color. The bug was in dtype handling during stage +transitions. Integration bugs only appear when components interact. + +--- + +## 11. Common Symptoms → Root Causes + +| Symptom | Likely Root Causes | +|---------|-------------------| +| **Pure noise output** | Wrong sigma schedule, broken text conditioning, incorrect weight mapping | +| **Uniform color** | Model predicting noise back; text embeddings collapsed; wrong timestep format | +| **Progressive zoom/shrink** | bfloat16 residuals truncating high-freq detail; RoPE mismatch across chunks | +| **Brightness jumps at boundaries** | VAE causal warmup; cross-fade blending misaligned content | +| **Color drift across chunks** | Dtype in scheduler step; history normalization missing | +| **Blur at boundaries** | Cross-fade enabled; latent blending; wrong VAE decode order | +| **Grid/checker patterns** | Patchify channel ordering bug; latent blend artifacts; reshape axis error | +| **Green/magenta tint** | VAE weight key mismatch; wrong denormalization constants; cv2 YUV color matrix | +| **Mean drift across steps** | bfloat16 accumulation; wrong scheduler formula; missing energy compensation | +| **Garbled/scrambled output** | Silent weight drops (underscore prefix, wrong key mapping); RMS vs L2 norm | +| **Greenish-yellow constant** | Scheduler boundary condition (log(0) not returning -inf); x0 overscaling | +| **~2x slower than expected** | Float32 promotion cascade from single mistyped intermediate | +| **Extra output frames** | Causal padding producing extra temporal frames; missing `first_chunk` trim | +| **Grey/artifact output** | RoPE frequency construction wrong (per-axis vs single-call) | +| **Patchy-blurry with CFG** | Text preprocessing mismatch (fullwidth vs ASCII chars → wrong tokenization) | +| **I2V temporal mismatch** | Non-chunked VAE encoding vs reference's chunked encoding with temporal cache | + +--- + +## 12. Verification Checklist + +Use this checklist when porting a new diffusion video model: + +### Model +- [ ] Weight conversion: all keys mapped, cosine similarity > 0.9999 +- [ ] No silent weight drops (log loaded vs expected keys) +- [ ] Single forward pass matches reference (cos_sim > 0.999) +- [ ] Residual connections use float32 accumulation +- [ ] Attention computation matches reference precision +- [ ] Modulation/gate vectors in float32 (if reference uses autocast) +- [ ] No underscore-prefixed module attributes (MLX ignores them) + +### Scheduler +- [ ] Sigma values match reference at every step (diff < 1e-6) +- [ ] Timestep format correct (int vs float, scale factor) +- [ ] Dynamic shifting formula copied exactly +- [ ] Step function returns correct dtype (float32) +- [ ] Boundary conditions: lambda(-inf) at sigma=1, lambda(+inf) at sigma=0 +- [ ] Higher-order coefficients computed (not hardcoded) for UniPC/DPM++ + +### Text Encoder +- [ ] Embedding statistics reasonable (0.01 < std < 10) +- [ ] Text influence > 0 (ablation test) +- [ ] Tokenization matches (special tokens, padding, max length) +- [ ] Text preprocessing matches (ftfy, html unescape, whitespace normalization) +- [ ] T5/CLIP attention precision (float32 softmax if no 1/sqrt(d) scaling) +- [ ] Separate embeddings for dual-model setups (if applicable) + +### VAE +- [ ] Denormalization constants match training pipeline +- [ ] Per-chunk decoding (not concatenated) +- [ ] Temporal frame count correct (account for causal padding) +- [ ] Weight keys mapped correctly (encoder vs decoder) +- [ ] Weights stored/loaded in float32 (not bfloat16) +- [ ] Temporal downsample/upsample order matches reference +- [ ] RMS_norm vs L2_norm: check actual implementation, not class name +- [ ] Chunked encoding for I2V (if applicable) +- [ ] Reshape axis ordering correct ([B,C,T,H,W] → transpose before reshape) + +### Pipeline Orchestration +- [ ] Position encodings consistent across stages/chunks +- [ ] History slicing and conditioning correct +- [ ] Noise generation matches (distribution, correlation structure) +- [ ] Multi-chunk output visually consistent (no progressive degradation) +- [ ] Dimension auto-alignment (divisible by patch_size × vae_stride) +- [ ] Dtype-aware padding (mx.zeros with explicit dtype) + +### Output +- [ ] Frame count matches expected (account for warmup/trim) +- [ ] FPS correct +- [ ] Color range [0, 255] uint8 for video +- [ ] No first-frame duplication artifacts +- [ ] Video codec correct (imageio/libx264 preferred over cv2/mp4v on macOS) + +### Performance +- [ ] No float32 promotion cascades (check with profiler) +- [ ] Using mx.fast kernels (rms_norm, layer_norm, sdpa) +- [ ] Time embedding computed once per sample (not per position) +- [ ] Memory cleanup (delete temporaries before mx.eval) + +--- + +## 13. Diagnostic Tools + +### General video diagnostics (`scripts/video/`) + +| Script | Purpose | +|--------|---------| +| `compare_videos.py` | PSNR, SSIM, temporal coherence, color fidelity between two videos | +| `video_quality.py` | Sharpness, stability, defect detection, chunk boundary analysis | + +```bash +# Quick quality check +python scripts/video/video_quality.py output.mp4 --chunk-size 32 + +# Compare against reference +python scripts/video/compare_videos.py reference.mp4 output.mp4 --diff-video diff.mp4 +``` + +### Model-specific diagnostics (`scripts/helios/`) + +| Script | Purpose | +|--------|---------| +| `analyze_boundaries.py` | Detailed boundary quality metrics for Helios | +| `run_reference.py` | Run PyTorch reference on MPS | +| `compare_pipelines.py` | Compare scheduler/pipeline mechanics | +| `compare_models.py` | Cross-framework model output comparison | + +### Inline debugging pattern + +Add temporary debug output to the diffusion loop: + +```python +for i, sigma in enumerate(sigmas): + flow = model(latent, sigma, text_emb) + latent = scheduler.step(latent, flow, sigma, sigma_next) + + # Debug: track statistics + print(f"[step {i}] sigma={sigma:.4f} " + f"latent: mean={latent.mean():.6f} std={latent.std():.6f} " + f"flow: mean={flow.mean():.6f} std={flow.std():.6f}") + + # Debug: save for cross-framework comparison + if os.environ.get("DEBUG"): + mx.save(f"/tmp/debug_step_{i}.npz", { + "latent": latent, "flow": flow, "sigma": mx.array(sigma) + }) +``` + +--- + +## Key Takeaways + +1. **Precision is the #1 bug source** — bfloat16 residuals, scheduler math, type + promotion, modulation vectors. Copy the reference's `.float()` and `autocast` zones. + +2. **Don't add what the reference doesn't have** — cross-fade, overlap decode, + temporal blending. If the reference works without it, you probably have a bug + elsewhere. + +3. **Silent failures are the hardest bugs** — underscore-prefixed weights, `strict=False` + weight loading, wrong normalization class names. Always verify weight load counts + and output statistics. + +4. **Component isolation → integration testing** — verify each part matches, then + debug their interaction. + +5. **Statistical comparison beats visual inspection** — mean drift, contrast ratios, + and cosine similarity catch bugs before they're visible. + +6. **Autoregressive errors compound** — a 1% error per chunk becomes 10% by chunk 10. + Fix precision first, add corrections second. + +7. **MLX has unique pitfalls** — underscore attribute names, reshape axis ordering, + dtype-unaware padding, and float32 promotion cascades. Know your framework. + +8. **Text preprocessing matters** — Unicode normalization, fullwidth chars, HTML entities. + A single mismatched comma can break CFG guidance. + +9. **VAE is deceptively complex** — causal padding, temporal frame counts, chunked vs + batch processing, norm implementations. Budget significant debugging time for VAE. diff --git a/scripts/video/compare_videos.py b/scripts/video/compare_videos.py new file mode 100644 index 0000000..1d18804 --- /dev/null +++ b/scripts/video/compare_videos.py @@ -0,0 +1,306 @@ +#!/usr/bin/env python3 +"""Compare two videos frame-by-frame with quality metrics. + +Useful for validating MLX ports against reference PyTorch implementations. +Reports PSNR, SSIM, per-frame differences, temporal coherence, and color +fidelity. Optionally saves a side-by-side diff video. + +Usage: + # Basic comparison + python scripts/video/compare_videos.py reference.mp4 test.mp4 + + # Save side-by-side diff visualization + python scripts/video/compare_videos.py ref.mp4 test.mp4 --diff-video diff.mp4 + + # Compare only first 64 frames + python scripts/video/compare_videos.py ref.mp4 test.mp4 --max-frames 64 + + # Adjust SSIM window size (default: 7) + python scripts/video/compare_videos.py ref.mp4 test.mp4 --ssim-win 11 +""" + +import argparse +import sys + +import cv2 +import numpy as np + + +def load_video(path, max_frames=None): + """Load video frames as float32 numpy arrays (0-255 range).""" + cap = cv2.VideoCapture(path) + if not cap.isOpened(): + print(f"Error: cannot open {path}") + sys.exit(1) + + fps = cap.get(cv2.CAP_PROP_FPS) + frames = [] + while True: + ret, frame = cap.read() + if not ret: + break + frames.append(frame.astype(np.float32)) + if max_frames and len(frames) >= max_frames: + break + cap.release() + return frames, fps + + +def compute_psnr(a, b): + """Peak Signal-to-Noise Ratio between two frames.""" + mse = np.mean((a - b) ** 2) + if mse == 0: + return float("inf") + return 10 * np.log10(255.0**2 / mse) + + +def compute_ssim(a, b, win_size=7): + """Structural Similarity Index (per-channel, averaged). + + Uses the standard SSIM formula with default constants. + """ + C1 = (0.01 * 255) ** 2 + C2 = (0.03 * 255) ** 2 + + kernel = cv2.getGaussianKernel(win_size, 1.5) + window = kernel @ kernel.T + + ssim_channels = [] + for c in range(a.shape[2]): + ac, bc = a[:, :, c], b[:, :, c] + mu_a = cv2.filter2D(ac, -1, window) + mu_b = cv2.filter2D(bc, -1, window) + + mu_a_sq = mu_a**2 + mu_b_sq = mu_b**2 + mu_ab = mu_a * mu_b + + sigma_a_sq = cv2.filter2D(ac**2, -1, window) - mu_a_sq + sigma_b_sq = cv2.filter2D(bc**2, -1, window) - mu_b_sq + sigma_ab = cv2.filter2D(ac * bc, -1, window) - mu_ab + + num = (2 * mu_ab + C1) * (2 * sigma_ab + C2) + den = (mu_a_sq + mu_b_sq + C1) * (sigma_a_sq + sigma_b_sq + C2) + ssim_map = num / den + ssim_channels.append(np.mean(ssim_map)) + + return np.mean(ssim_channels) + + +def temporal_coherence(frames): + """Mean frame-to-frame difference (lower = smoother).""" + if len(frames) < 2: + return 0.0 + diffs = [] + for i in range(1, len(frames)): + diffs.append(np.mean(np.abs(frames[i] - frames[i - 1]))) + return np.mean(diffs) + + +def color_histogram_distance(a, b, bins=64): + """Chi-squared distance between color histograms.""" + dist = 0.0 + for c in range(3): + ha, _ = np.histogram(a[:, :, c], bins=bins, range=(0, 256)) + hb, _ = np.histogram(b[:, :, c], bins=bins, range=(0, 256)) + ha = ha.astype(np.float64) / (ha.sum() + 1e-10) + hb = hb.astype(np.float64) / (hb.sum() + 1e-10) + dist += np.sum((ha - hb) ** 2 / (ha + hb + 1e-10)) / 2 + return dist / 3 + + +def make_diff_frame(a, b, scale=5.0): + """Create a heatmap visualization of the absolute difference.""" + diff = np.mean(np.abs(a - b), axis=2) + diff_scaled = np.clip(diff * scale, 0, 255).astype(np.uint8) + heatmap = cv2.applyColorMap(diff_scaled, cv2.COLORMAP_JET) + return heatmap + + +def analyze(ref_frames, test_frames, ssim_win=7): + """Compute per-frame and aggregate metrics.""" + n = min(len(ref_frames), len(test_frames)) + + psnrs = [] + ssims = [] + mean_diffs = [] + max_diffs = [] + color_dists = [] + + for i in range(n): + r, t = ref_frames[i], test_frames[i] + psnrs.append(compute_psnr(r, t)) + ssims.append(compute_ssim(r, t, ssim_win)) + absdiff = np.abs(r - t) + mean_diffs.append(np.mean(absdiff)) + max_diffs.append(np.max(absdiff)) + color_dists.append(color_histogram_distance(r, t)) + + ref_tc = temporal_coherence(ref_frames[:n]) + test_tc = temporal_coherence(test_frames[:n]) + + return { + "num_frames": n, + "psnr": np.array(psnrs), + "ssim": np.array(ssims), + "mean_diff": np.array(mean_diffs), + "max_diff": np.array(max_diffs), + "color_dist": np.array(color_dists), + "ref_temporal_coherence": ref_tc, + "test_temporal_coherence": test_tc, + } + + +def print_report(results, ref_path, test_path): + """Print a formatted comparison report.""" + n = results["num_frames"] + psnr = results["psnr"] + ssim = results["ssim"] + md = results["mean_diff"] + mx = results["max_diff"] + cd = results["color_dist"] + + print("=" * 72) + print("VIDEO COMPARISON REPORT") + print("=" * 72) + print(f" Reference: {ref_path}") + print(f" Test: {test_path}") + print(f" Frames compared: {n}") + print() + + print("AGGREGATE METRICS") + print("-" * 40) + print(f" PSNR (dB): mean={np.mean(psnr):6.2f} min={np.min(psnr):6.2f} max={np.max(psnr):6.2f}") + print(f" SSIM: mean={np.mean(ssim):.4f} min={np.min(ssim):.4f} max={np.max(ssim):.4f}") + print(f" Mean diff: mean={np.mean(md):6.2f} min={np.min(md):6.2f} max={np.max(md):6.2f}") + print(f" Max diff: mean={np.mean(mx):6.1f} min={np.min(mx):6.1f} max={np.max(mx):6.1f}") + print(f" Color dist: mean={np.mean(cd):.4f} min={np.min(cd):.4f} max={np.max(cd):.4f}") + print() + + print("TEMPORAL COHERENCE (mean frame-to-frame diff, lower = smoother)") + print("-" * 40) + print(f" Reference: {results['ref_temporal_coherence']:.2f}") + print(f" Test: {results['test_temporal_coherence']:.2f}") + ratio = results["test_temporal_coherence"] / (results["ref_temporal_coherence"] + 1e-10) + print(f" Ratio: {ratio:.2f}x {'(test is smoother)' if ratio < 1 else '(test is jerkier)' if ratio > 1.05 else '(similar)'}") + print() + + # Identify worst frames + print("WORST FRAMES (by PSNR)") + print("-" * 40) + worst_idx = np.argsort(psnr)[:5] + for i in worst_idx: + print(f" Frame {i:4d}: PSNR={psnr[i]:6.2f} dB SSIM={ssim[i]:.4f} mean_diff={md[i]:.2f}") + print() + + # Quality assessment + mean_psnr = np.mean(psnr) + mean_ssim = np.mean(ssim) + print("QUALITY ASSESSMENT") + print("-" * 40) + if mean_psnr > 40: + grade = "Excellent" + elif mean_psnr > 35: + grade = "Good" + elif mean_psnr > 30: + grade = "Fair" + elif mean_psnr > 25: + grade = "Poor" + else: + grade = "Very different" + print(f" Overall: {grade} (PSNR={mean_psnr:.1f} dB, SSIM={mean_ssim:.4f})") + if mean_psnr < 30: + print(" ⚠ Videos differ significantly — likely a bug or different generation seed") + print("=" * 72) + + +def save_diff_video(ref_frames, test_frames, output_path, fps, scale=5.0): + """Save a side-by-side video: reference | test | diff heatmap.""" + n = min(len(ref_frames), len(test_frames)) + h, w = ref_frames[0].shape[:2] + + fourcc = cv2.VideoWriter_fourcc(*"mp4v") + out = cv2.VideoWriter(output_path, fourcc, fps, (w * 3, h)) + + for i in range(n): + r = ref_frames[i].astype(np.uint8) + t = test_frames[i].astype(np.uint8) + d = make_diff_frame(ref_frames[i], test_frames[i], scale) + combined = np.hstack([r, t, d]) + out.write(combined) + + out.release() + print(f"Diff video saved to {output_path}") + + +def main(): + parser = argparse.ArgumentParser( + description="Compare two videos frame-by-frame with quality metrics" + ) + parser.add_argument("reference", help="Path to reference video") + parser.add_argument("test", help="Path to test video") + parser.add_argument( + "--diff-video", help="Save side-by-side diff visualization to this path" + ) + parser.add_argument( + "--max-frames", type=int, help="Compare only first N frames" + ) + parser.add_argument( + "--ssim-win", type=int, default=7, help="SSIM window size (default: 7)" + ) + parser.add_argument( + "--diff-scale", + type=float, + default=5.0, + help="Diff heatmap amplification (default: 5.0)", + ) + parser.add_argument( + "--csv", help="Export per-frame metrics to CSV file" + ) + args = parser.parse_args() + + print(f"Loading reference: {args.reference}") + ref_frames, ref_fps = load_video(args.reference, args.max_frames) + print(f" → {len(ref_frames)} frames, {ref_fps:.1f} fps, {ref_frames[0].shape[1]}x{ref_frames[0].shape[0]}") + + print(f"Loading test: {args.test}") + test_frames, test_fps = load_video(args.test, args.max_frames) + print(f" → {len(test_frames)} frames, {test_fps:.1f} fps, {test_frames[0].shape[1]}x{test_frames[0].shape[0]}") + + if ref_frames[0].shape != test_frames[0].shape: + print(f"Warning: resolution mismatch {ref_frames[0].shape} vs {test_frames[0].shape}") + print("Resizing test frames to match reference...") + h, w = ref_frames[0].shape[:2] + test_frames = [ + cv2.resize(f, (w, h), interpolation=cv2.INTER_LANCZOS4) + for f in test_frames + ] + + print("Computing metrics...") + results = analyze(ref_frames, test_frames, args.ssim_win) + print() + print_report(results, args.reference, args.test) + + if args.diff_video: + save_diff_video(ref_frames, test_frames, args.diff_video, ref_fps, args.diff_scale) + + if args.csv: + import csv + + with open(args.csv, "w", newline="") as f: + writer = csv.writer(f) + writer.writerow(["frame", "psnr", "ssim", "mean_diff", "max_diff", "color_dist"]) + for i in range(results["num_frames"]): + writer.writerow([ + i, + f"{results['psnr'][i]:.4f}", + f"{results['ssim'][i]:.6f}", + f"{results['mean_diff'][i]:.4f}", + f"{results['max_diff'][i]:.1f}", + f"{results['color_dist'][i]:.6f}", + ]) + print(f"Per-frame metrics saved to {args.csv}") + + +if __name__ == "__main__": + main() diff --git a/scripts/video/video_quality.py b/scripts/video/video_quality.py new file mode 100644 index 0000000..f756b5a --- /dev/null +++ b/scripts/video/video_quality.py @@ -0,0 +1,348 @@ +#!/usr/bin/env python3 +"""Analyze quality of a single generated video. + +Reports sharpness, temporal stability, color distribution, motion smoothness, +chunk boundary artifacts, and common generation defects. Useful for quick +quality checks during model porting and debugging. + +Usage: + # Basic analysis + python scripts/video/video_quality.py output.mp4 + + # With chunk boundary analysis (e.g., 32 frames/chunk) + python scripts/video/video_quality.py output.mp4 --chunk-size 32 + + # Detailed per-frame CSV export + python scripts/video/video_quality.py output.mp4 --csv metrics.csv + + # Analyze specific frame range + python scripts/video/video_quality.py output.mp4 --start 0 --end 64 +""" + +import argparse +import sys + +import cv2 +import numpy as np + + +def load_video(path, start=0, end=None): + """Load video frames as float32 numpy arrays (0-255 range).""" + cap = cv2.VideoCapture(path) + if not cap.isOpened(): + print(f"Error: cannot open {path}") + sys.exit(1) + + fps = cap.get(cv2.CAP_PROP_FPS) + total = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) + + if start > 0: + cap.set(cv2.CAP_PROP_POS_FRAMES, start) + + frames = [] + idx = start + while True: + ret, frame = cap.read() + if not ret: + break + frames.append(frame.astype(np.float32)) + idx += 1 + if end and idx >= end: + break + cap.release() + return frames, fps, total + + +def sharpness_laplacian(frame): + """Laplacian variance — higher means sharper.""" + gray = cv2.cvtColor(frame.astype(np.uint8), cv2.COLOR_BGR2GRAY) + return cv2.Laplacian(gray, cv2.CV_64F).var() + + +def sharpness_gradient(frame): + """Mean gradient magnitude — higher means more edges/detail.""" + gray = cv2.cvtColor(frame.astype(np.uint8), cv2.COLOR_BGR2GRAY).astype(np.float32) + gx = cv2.Sobel(gray, cv2.CV_32F, 1, 0, ksize=3) + gy = cv2.Sobel(gray, cv2.CV_32F, 0, 1, ksize=3) + return np.mean(np.sqrt(gx**2 + gy**2)) + + +def color_stats(frame): + """Per-channel mean and std in BGR order.""" + means = [np.mean(frame[:, :, c]) for c in range(3)] + stds = [np.std(frame[:, :, c]) for c in range(3)] + return means, stds + + +def detect_uniform_color(frame, std_threshold=15.0): + """Detect if frame is near-uniform (common failure mode).""" + return np.std(frame) < std_threshold + + +def detect_noise(frame, threshold=200.0): + """High Laplacian variance with low gradient can indicate noise.""" + lap = sharpness_laplacian(frame) + grad = sharpness_gradient(frame) + # Noise has high variance but less coherent edges + return lap > threshold and grad < 5.0 + + +def frame_difference(a, b): + """Mean absolute pixel difference between frames.""" + return np.mean(np.abs(a - b)) + + +def optical_flow_magnitude(prev, curr): + """Mean optical flow magnitude (Farneback method).""" + prev_gray = cv2.cvtColor(prev.astype(np.uint8), cv2.COLOR_BGR2GRAY) + curr_gray = cv2.cvtColor(curr.astype(np.uint8), cv2.COLOR_BGR2GRAY) + flow = cv2.calcOpticalFlowFarneback( + prev_gray, curr_gray, None, 0.5, 3, 15, 3, 5, 1.2, 0 + ) + mag = np.sqrt(flow[..., 0] ** 2 + flow[..., 1] ** 2) + return np.mean(mag), np.max(mag) + + +def analyze_video(frames, chunk_size=None, compute_flow=False): + """Compute per-frame and aggregate quality metrics.""" + n = len(frames) + + metrics = { + "sharpness_lap": [], + "sharpness_grad": [], + "brightness": [], + "contrast": [], + "color_mean_b": [], + "color_mean_g": [], + "color_mean_r": [], + "frame_diff": [], + "is_uniform": [], + "is_noisy": [], + } + if compute_flow: + metrics["flow_mean"] = [] + metrics["flow_max"] = [] + + for i in range(n): + f = frames[i] + metrics["sharpness_lap"].append(sharpness_laplacian(f)) + metrics["sharpness_grad"].append(sharpness_gradient(f)) + metrics["brightness"].append(np.mean(f)) + metrics["contrast"].append(np.std(f)) + means, _ = color_stats(f) + metrics["color_mean_b"].append(means[0]) + metrics["color_mean_g"].append(means[1]) + metrics["color_mean_r"].append(means[2]) + metrics["is_uniform"].append(detect_uniform_color(f)) + metrics["is_noisy"].append(detect_noise(f)) + + if i > 0: + metrics["frame_diff"].append(frame_difference(frames[i - 1], f)) + if compute_flow: + fm, fmx = optical_flow_magnitude(frames[i - 1], f) + metrics["flow_mean"].append(fm) + metrics["flow_max"].append(fmx) + else: + metrics["frame_diff"].append(0.0) + if compute_flow: + metrics["flow_mean"].append(0.0) + metrics["flow_max"].append(0.0) + + # Convert to arrays + for k in metrics: + metrics[k] = np.array(metrics[k]) + + # Chunk boundary analysis + if chunk_size and n > chunk_size: + boundaries = list(range(chunk_size, n, chunk_size)) + boundary_metrics = [] + for b in boundaries: + if b < n and b > 0: + pre = metrics["frame_diff"][b - 1] if b > 1 else metrics["frame_diff"][1] + at = metrics["frame_diff"][b] + ratio = at / (pre + 1e-10) + brightness_jump = metrics["brightness"][b] - metrics["brightness"][b - 1] + contrast_jump = ( + (metrics["contrast"][b] - metrics["contrast"][b - 1]) + / (metrics["contrast"][b - 1] + 1e-10) + * 100 + ) + sharpness_jump = ( + (metrics["sharpness_lap"][b] - metrics["sharpness_lap"][b - 1]) + / (metrics["sharpness_lap"][b - 1] + 1e-10) + * 100 + ) + boundary_metrics.append( + { + "frame": b, + "diff_ratio": ratio, + "brightness_jump": brightness_jump, + "contrast_jump_pct": contrast_jump, + "sharpness_jump_pct": sharpness_jump, + } + ) + metrics["boundaries"] = boundary_metrics + + return metrics + + +def print_report(metrics, path, fps, total_frames, frames_analyzed): + """Print a formatted quality report.""" + sl = metrics["sharpness_lap"] + sg = metrics["sharpness_grad"] + br = metrics["brightness"] + ct = metrics["contrast"] + fd = metrics["frame_diff"] + + print("=" * 72) + print("VIDEO QUALITY REPORT") + print("=" * 72) + print(f" File: {path}") + print(f" Total frames: {total_frames} Analyzed: {frames_analyzed} FPS: {fps:.1f}") + duration = total_frames / fps if fps > 0 else 0 + print(f" Duration: {duration:.1f}s") + print() + + # Defect detection + n_uniform = int(np.sum(metrics["is_uniform"])) + n_noisy = int(np.sum(metrics["is_noisy"])) + if n_uniform > 0 or n_noisy > 0: + print("⚠ DEFECTS DETECTED") + print("-" * 40) + if n_uniform: + frames_list = np.where(metrics["is_uniform"])[0][:10] + print(f" Uniform/blank frames: {n_uniform} — frames {list(frames_list)}{'...' if n_uniform > 10 else ''}") + if n_noisy: + frames_list = np.where(metrics["is_noisy"])[0][:10] + print(f" Noisy frames: {n_noisy} — frames {list(frames_list)}{'...' if n_noisy > 10 else ''}") + print() + + print("SHARPNESS") + print("-" * 40) + print(f" Laplacian var: mean={np.mean(sl):8.1f} min={np.min(sl):8.1f} max={np.max(sl):8.1f} std={np.std(sl):.1f}") + print(f" Gradient mag: mean={np.mean(sg):8.2f} min={np.min(sg):8.2f} max={np.max(sg):8.2f} std={np.std(sg):.2f}") + if np.std(sl) / (np.mean(sl) + 1e-10) > 0.3: + print(" ⚠ High sharpness variation — possible blur artifacts") + print() + + print("BRIGHTNESS & CONTRAST") + print("-" * 40) + print(f" Brightness: mean={np.mean(br):6.1f} min={np.min(br):6.1f} max={np.max(br):6.1f} std={np.std(br):.2f}") + print(f" Contrast (std): mean={np.mean(ct):6.1f} min={np.min(ct):6.1f} max={np.max(ct):6.1f} std={np.std(ct):.2f}") + if np.std(br) > 3.0: + print(" ⚠ Brightness instability — may indicate chunk boundary artifacts") + print() + + print("COLOR DISTRIBUTION (BGR)") + print("-" * 40) + print(f" Blue: mean={np.mean(metrics['color_mean_b']):6.1f} std={np.std(metrics['color_mean_b']):.2f}") + print(f" Green: mean={np.mean(metrics['color_mean_g']):6.1f} std={np.std(metrics['color_mean_g']):.2f}") + print(f" Red: mean={np.mean(metrics['color_mean_r']):6.1f} std={np.std(metrics['color_mean_r']):.2f}") + print() + + print("TEMPORAL STABILITY") + print("-" * 40) + fd_nz = fd[1:] # skip first frame (always 0) + if len(fd_nz) > 0: + print(f" Frame diff: mean={np.mean(fd_nz):6.2f} min={np.min(fd_nz):6.2f} max={np.max(fd_nz):6.2f} std={np.std(fd_nz):.2f}") + if np.std(fd_nz) / (np.mean(fd_nz) + 1e-10) > 0.5: + print(" ⚠ High diff variance — jitter or discontinuities") + if "flow_mean" in metrics: + fm = metrics["flow_mean"][1:] + print(f" Optical flow: mean={np.mean(fm):6.2f} max_frame={np.max(metrics['flow_max'][1:]):.1f}") + print() + + # Chunk boundaries + if "boundaries" in metrics and metrics["boundaries"]: + print("CHUNK BOUNDARIES") + print("-" * 40) + print(f" {'Frame':>6} {'Diff ratio':>10} {'Brightness':>10} {'Contrast %':>10} {'Sharpness %':>11}") + for bm in metrics["boundaries"]: + print( + f" {bm['frame']:6d}" + f" {bm['diff_ratio']:10.2f}x" + f" {bm['brightness_jump']:+10.1f}" + f" {bm['contrast_jump_pct']:+10.1f}%" + f" {bm['sharpness_jump_pct']:+11.1f}%" + ) + avg_ratio = np.mean([b["diff_ratio"] for b in metrics["boundaries"]]) + if avg_ratio > 2.0: + print(f" ⚠ Boundary diff ratio {avg_ratio:.1f}x — visible chunk transitions") + print() + + # Overall grade + print("OVERALL ASSESSMENT") + print("-" * 40) + issues = [] + if n_uniform > 0: + issues.append("uniform/blank frames") + if n_noisy > 0: + issues.append("noisy frames") + if np.std(br) > 3.0: + issues.append("brightness flicker") + if np.std(sl) / (np.mean(sl) + 1e-10) > 0.3: + issues.append("sharpness variation") + if "boundaries" in metrics and metrics["boundaries"]: + avg_ratio = np.mean([b["diff_ratio"] for b in metrics["boundaries"]]) + if avg_ratio > 2.0: + issues.append("chunk boundary artifacts") + if issues: + print(f" Issues found: {', '.join(issues)}") + else: + print(" ✓ No significant quality issues detected") + print("=" * 72) + + +def main(): + parser = argparse.ArgumentParser( + description="Analyze quality of a single generated video" + ) + parser.add_argument("video", help="Path to video file") + parser.add_argument( + "--chunk-size", + type=int, + help="Frames per chunk for boundary analysis (e.g., 32)", + ) + parser.add_argument( + "--start", type=int, default=0, help="Start frame (default: 0)" + ) + parser.add_argument("--end", type=int, help="End frame (default: all)") + parser.add_argument( + "--flow", + action="store_true", + help="Compute optical flow (slower but more detailed)", + ) + parser.add_argument("--csv", help="Export per-frame metrics to CSV") + args = parser.parse_args() + + print(f"Loading: {args.video}") + frames, fps, total = load_video(args.video, args.start, args.end) + h, w = frames[0].shape[:2] + print(f" → {len(frames)} frames, {fps:.1f} fps, {w}x{h}") + + print("Analyzing...") + metrics = analyze_video(frames, args.chunk_size, args.flow) + print() + print_report(metrics, args.video, fps, total, len(frames)) + + if args.csv: + import csv + + keys = [ + "sharpness_lap", "sharpness_grad", "brightness", "contrast", + "color_mean_b", "color_mean_g", "color_mean_r", "frame_diff", + ] + if args.flow: + keys += ["flow_mean", "flow_max"] + + with open(args.csv, "w", newline="") as f: + writer = csv.writer(f) + writer.writerow(["frame"] + keys) + for i in range(len(frames)): + row = [i] + [f"{metrics[k][i]:.4f}" for k in keys] + writer.writerow(row) + print(f"Per-frame metrics saved to {args.csv}") + + +if __name__ == "__main__": + main() From 061ae4407cdbb627bc67653d167c4bc67485259c Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 9 Mar 2026 20:47:37 +0100 Subject: [PATCH 10/17] feat(wan): Add chunked VAE encoding and TI2V-5B support --- mlx_video/generate_wan.py | 41 +++++- mlx_video/models/wan/config.py | 11 +- mlx_video/models/wan/vae22.py | 235 +++++++++++++++++++++++++-------- 3 files changed, 223 insertions(+), 64 deletions(-) diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index 10a76d1..14358b7 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -29,13 +29,37 @@ from mlx_video.utils import Colors _build_i2v_mask = build_i2v_mask +def _best_output_size(w, h, dw, dh, max_area): + """Compute the best output resolution that fits within max_area while + preserving the input aspect ratio and satisfying alignment constraints. + Matches the reference implementation's best_output_size(). + """ + ratio = w / h + ow = (max_area * ratio) ** 0.5 + oh = max_area / ow + + # Option 1: process width first + ow1 = int(ow // dw * dw) + oh1 = int(max_area / ow1 // dh * dh) + ratio1 = ow1 / oh1 + + # Option 2: process height first + oh2 = int(oh // dh * dh) + ow2 = int(max_area / oh2 // dw * dw) + ratio2 = ow2 / oh2 + + if max(ratio / ratio1, ratio1 / ratio) < max(ratio / ratio2, ratio2 / ratio): + return ow1, oh1 + return ow2, oh2 + + def generate_video( model_dir: str, prompt: str, negative_prompt: str | None = None, image: str | None = None, width: int = 1280, - height: int = 720, + height: int = 704, num_frames: int = 81, steps: int = None, guide_scale: str | float | tuple = None, @@ -232,6 +256,15 @@ def generate_video( width = align_w print(f"{Colors.DIM} Aligned {old_w}x{old_h} → {width}x{height} (must be divisible by {align_w}x{align_h}){Colors.RESET}") + # Enforce max_area constraint (model-specific resolution limit) + if config.max_area > 0 and height * width > config.max_area: + old_h, old_w = height, width + width, height = _best_output_size(width, height, align_w, align_h, config.max_area) + print( + f"{Colors.YELLOW} ⚠ Resolution {old_w}x{old_h} exceeds model's max area " + f"({config.max_area:,}px). Adjusted → {width}x{height}{Colors.RESET}" + ) + # Compute target latent shape z_dim = config.vae_z_dim t_latent = (gen_frames - 1) // vae_stride[0] + 1 @@ -334,7 +367,7 @@ def generate_video( mx.eval(img_tensor) vae_enc = load_vae_encoder(vae_path, config) - z_img = vae_enc(img_tensor) # [1, 1, H_lat, W_lat, z_dim] + z_img = vae_enc.encode(img_tensor) # [1, 1, H_lat, W_lat, z_dim] mx.eval(z_img) z_img = z_img[0].transpose(3, 0, 1, 2) # [z_dim, 1, H_lat, W_lat] i2v_mask, i2v_mask_tokens = build_i2v_mask(target_shape, config.patch_size) @@ -658,8 +691,8 @@ def main(): help="Negative prompt for CFG (default: official Chinese prompt from config)") parser.add_argument("--no-negative-prompt", action="store_true", help="Disable negative prompt (use empty string instead of config default)") - parser.add_argument("--width", type=int, default=1280, help="Video width") - parser.add_argument("--height", type=int, default=720, help="Video height") + parser.add_argument("--width", type=int, default=1280, help="Video width (default: 1280)") + parser.add_argument("--height", type=int, default=704, help="Video height (default: 704; 720p models use 704)") parser.add_argument("--num-frames", type=int, default=81, help="Number of frames (must be 4n+1)") parser.add_argument("--steps", type=int, default=None, help="Number of diffusion steps (default: from config)") parser.add_argument("--guide-scale", type=str, default=None, help="Guidance scale: single float or low,high pair") diff --git a/mlx_video/models/wan/config.py b/mlx_video/models/wan/config.py index 08370d4..5e51f3b 100644 --- a/mlx_video/models/wan/config.py +++ b/mlx_video/models/wan/config.py @@ -45,7 +45,8 @@ class WanModelConfig(BaseModelConfig): "杂乱的背景,三条腿,背景人很多,倒着走" ) - # T5 + # Resolution constraints + max_area: int = 0 # 0 = no limit; e.g. 704*1280 for TI2V-5B t5_vocab_size: int = 256384 t5_dim: int = 4096 t5_dim_attn: int = 4096 @@ -102,7 +103,8 @@ class WanModelConfig(BaseModelConfig): boundary=0.900, sample_shift=5.0, sample_guide_scale=(3.5, 3.5), - ) + max_area=704 * 1280, + @classmethod def wan22_ti2v_5b(cls) -> "WanModelConfig": @@ -120,7 +122,8 @@ class WanModelConfig(BaseModelConfig): dual_model=False, boundary=0.0, sample_shift=5.0, - sample_steps=50, + sample_steps=40, sample_guide_scale=5.0, sample_fps=24, - ) + max_area=704 * 1280, + diff --git a/mlx_video/models/wan/vae22.py b/mlx_video/models/wan/vae22.py index 48058f6..72a4f04 100644 --- a/mlx_video/models/wan/vae22.py +++ b/mlx_video/models/wan/vae22.py @@ -56,9 +56,11 @@ class CausalConv3d(nn.Module): self.kernel_size = kernel_size self.stride = stride - # Causal temporal padding: always kernel_size-1 on the left. - # This matches the official CausalConv3d which pads (kernel[0]-1, 0, ...). - self._causal_pad_t = kernel_size[0] - 1 + # Causal temporal padding: matches the reference CausalConv3d(nn.Conv3d) + # which converts symmetric padding to causal: 2*padding[0] on the left. + # For most convs (kernel=3, padding=1): 2*1 = 2 (same as kernel-1). + # For downsample time_conv (kernel=3, padding=0): 2*0 = 0 (NO padding). + self._causal_pad_t = 2 * padding[0] self._pad_h = padding[1] self._pad_w = padding[2] @@ -68,7 +70,7 @@ class CausalConv3d(nn.Module): )) self.bias = mx.zeros((out_channels,)) - def __call__(self, x): + def __call__(self, x, cache_x=None): # x: [B, T, H, W, C] B, T, H, W, C = x.shape kd, kh, kw = self.kernel_size @@ -81,10 +83,15 @@ class CausalConv3d(nn.Module): y = mx.conv_general(x_flat, w2d) + self.bias return y.reshape(B, T, y.shape[1], y.shape[2], -1) - # Causal temporal padding (left only) — zeros match the reference - # implementation and what the model was trained with. - if self._causal_pad_t > 0: - pad_t = mx.zeros((B, self._causal_pad_t, H, W, C)) + # Causal temporal padding: prepend cached frames if available, + # then zero-pad any remaining positions. + pad_needed = self._causal_pad_t + if cache_x is not None and pad_needed > 0: + x = mx.concatenate([cache_x, x], axis=1) + pad_needed -= cache_x.shape[1] + + if pad_needed > 0: + pad_t = mx.zeros((B, pad_needed, H, W, C), dtype=x.dtype) x = mx.concatenate([pad_t, x], axis=1) # Spatial padding @@ -144,9 +151,9 @@ class ResidualBlock(nn.Module): else None ) - def __call__(self, x): + def __call__(self, x, feat_cache=None, feat_idx=None): h = self.shortcut(x) if self.shortcut is not None else x - return self.residual(x) + h + return self.residual(x, feat_cache, feat_idx) + h class ResidualBlockLayers(nn.Module): @@ -169,14 +176,34 @@ class ResidualBlockLayers(nn.Module): # Index 6: CausalConv3d self.layer_6 = CausalConv3d(out_dim, out_dim, 3, padding=1) - def __call__(self, x): + def _conv_with_cache(self, conv, x, feat_cache, feat_idx): + """Apply CausalConv3d with temporal caching for chunked encoding.""" + idx = feat_idx[0] + # Save last CACHE_T frames before conv (for next chunk's context) + cache_x = x[:, -CACHE_T:] + if cache_x.shape[1] < 2 and feat_cache[idx] is not None: + cache_x = mx.concatenate( + [feat_cache[idx][:, -1:], cache_x], axis=1 + ) + out = conv(x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + return out + + def __call__(self, x, feat_cache=None, feat_idx=None): x = self.layer_0(x) x = nn.silu(x) - x = self.layer_2(x) + if feat_cache is not None: + x = self._conv_with_cache(self.layer_2, x, feat_cache, feat_idx) + else: + x = self.layer_2(x) mx.eval(x) # Eval between convolutions to limit graph size x = self.layer_3(x) x = nn.silu(x) - x = self.layer_6(x) + if feat_cache is not None: + x = self._conv_with_cache(self.layer_6, x, feat_cache, feat_idx) + else: + x = self.layer_6(x) return x @@ -344,53 +371,34 @@ class Resample(nn.Module): x = mx.pad(x, [(0, 0), (0, 1), (0, 1), (0, 0)]) return mx.conv_general(x, self.resample_weight, stride=(2, 2)) + self.resample_bias - def __call__(self, x, first_chunk=False): + def __call__(self, x, first_chunk=False, feat_cache=None, feat_idx=None): # x: [B, T, H, W, C] B, T, H, W, C = x.shape + # --- Temporal upsample (before spatial, matching reference) --- if self.mode == "upsample3d": if first_chunk and T > 1: - # Match official chunked behavior: the first frame bypasses - # time_conv entirely (only spatial upsample). Remaining frames - # go through time_conv with causal zero-padding, which - # naturally gives each frame the same limited temporal context - # as the official frame-by-frame decode with caching. - first_frame = x[:, 0:1] # [B, 1, H, W, C] - rest = x[:, 1:] # [B, T-1, H, W, C] - - # time_conv on remaining frames (causal pad gives zero context - # before rest[0], matching the official "Rep" cache path) - tc_out = self.time_conv(rest) # [B, T-1, H, W, 2C] + first_frame = x[:, 0:1] + rest = x[:, 1:] + tc_out = self.time_conv(rest) tc_out = tc_out.reshape(B, T - 1, H, W, 2, C) stream0 = tc_out[:, :, :, :, 0, :] stream1 = tc_out[:, :, :, :, 1, :] interleaved = mx.stack([stream0, stream1], axis=2) interleaved = interleaved.reshape(B, (T - 1) * 2, H, W, C) - - # first_frame (1) + interleaved (2*(T-1)) = 2T-1 frames x = mx.concatenate([first_frame, interleaved], axis=1) - elif self.mode == "upsample3d": - # Non-first-chunk or single frame: time_conv all frames - tc_out = self.time_conv(x) # [B, T, H, W, 2C] + else: + tc_out = self.time_conv(x) tc_out = tc_out.reshape(B, T, H, W, 2, C) stream0 = tc_out[:, :, :, :, 0, :] stream1 = tc_out[:, :, :, :, 1, :] x = mx.stack([stream0, stream1], axis=2) x = x.reshape(B, T * 2, H, W, C) - - mx.eval(x) - T = x.shape[1] - - if self.mode == "downsample3d" and T > 1: - # Temporal downsample via strided CausalConv3d - # Skip for T=1 (single frame) — matches official chunked encoding - # where first chunk stores cache but doesn't apply time_conv - x = self.time_conv(x) mx.eval(x) T = x.shape[1] + # --- Spatial operation (all modes, matching reference line 152-155) --- if self.mode in ("upsample2d", "upsample3d"): - # Spatial upsample in temporal chunks to limit peak memory chunk_size = 8 chunks = [] for t_start in range(0, T, chunk_size): @@ -400,18 +408,36 @@ class Resample(nn.Module): x_chunk = self._conv2d(x_chunk) mx.eval(x_chunk) chunks.append(x_chunk) - x = mx.concatenate(chunks, axis=0) H2, W2 = x.shape[1], x.shape[2] x = x.reshape(B, T, H2, W2, C) elif self.mode in ("downsample2d", "downsample3d"): - # Spatial downsample: per-frame strided Conv2d x_flat = x.reshape(B * T, H, W, C) x_flat = self._downsample_conv2d(x_flat) mx.eval(x_flat) H2, W2 = x_flat.shape[1], x_flat.shape[2] x = x_flat.reshape(B, T, H2, W2, C) + # --- Temporal downsample (after spatial, matching reference line 157-168) --- + if self.mode == "downsample3d": + if feat_cache is not None: + idx = feat_idx[0] + if feat_cache[idx] is None: + # First chunk: store spatially-downsampled result, skip time_conv + feat_cache[idx] = x + feat_idx[0] += 1 + else: + # Subsequent chunks: prepend cached last frame, apply time_conv + save_x = x[:, -1:] + x = self.time_conv( + mx.concatenate([feat_cache[idx][:, -1:], x], axis=1) + ) + feat_cache[idx] = save_x + feat_idx[0] += 1 + elif T > 1: + x = self.time_conv(x) + mx.eval(x) + return x @@ -488,12 +514,20 @@ class Down_ResidualBlock(nn.Module): self.downsamples = blocks - def __call__(self, x): + def __call__(self, x, feat_cache=None, feat_idx=None): x_shortcut = self.avg_shortcut(x) mx.eval(x_shortcut) for module in self.downsamples: - x = module(x) + if feat_cache is not None: + if isinstance(module, ResidualBlock): + x = module(x, feat_cache, feat_idx) + elif isinstance(module, Resample): + x = module(x, feat_cache=feat_cache, feat_idx=feat_idx) + else: + x = module(x) + else: + x = module(x) mx.eval(x) return x + x_shortcut @@ -597,18 +631,51 @@ class Encoder3d(nn.Module): # Output head: RMS_norm → SiLU → CausalConv3d → z_dim channels self.head = Head22(out_dim, out_channels=z_dim) - def __call__(self, x): + def __call__(self, x, feat_cache=None, feat_idx=None): # x: [B, T, H, W, 12] (patchified) - x = self.conv1(x) + if feat_cache is not None: + return self._forward_cached(x, feat_cache, feat_idx) + + # No cache: internally chunk as 1+4+4+... (matches reference behavior) + num_convs = _count_conv3d(self) + internal_cache = [None] * num_convs + T = x.shape[1] + starts = [0] + list(range(1, T, 4)) + ends = starts[1:] + [T] + outputs = [] + for s, e in zip(starts, ends): + if s >= e: + continue + feat_idx_local = [0] + out = self._forward_cached(x[:, s:e], internal_cache, feat_idx_local) + outputs.append(out) + mx.eval(internal_cache) + if len(outputs) == 1: + return outputs[0] + return mx.concatenate(outputs, axis=1) + + def _forward_cached(self, x, feat_cache, feat_idx): + idx = feat_idx[0] + cache_x = x[:, -CACHE_T:] + if cache_x.shape[1] < 2 and feat_cache[idx] is not None: + cache_x = mx.concatenate( + [feat_cache[idx][:, -1:], cache_x], axis=1 + ) + x = self.conv1(x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 for layer in self.downsamples: - x = layer(x) + x = layer(x, feat_cache, feat_idx) for layer in self.middle: - x = layer(x) + if isinstance(layer, ResidualBlock): + x = layer(x, feat_cache, feat_idx) + else: + x = layer(x) mx.eval(x) - x = self.head(x) + x = self.head(x, feat_cache, feat_idx) return x @@ -626,13 +693,38 @@ class Head22(nn.Module): # Index 2: CausalConv3d self.layer_2 = CausalConv3d(dim, out_channels, 3, padding=1) - def __call__(self, x): + def __call__(self, x, feat_cache=None, feat_idx=None): x = self.layer_0(x) x = nn.silu(x) - x = self.layer_2(x) + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, -CACHE_T:] + if cache_x.shape[1] < 2 and feat_cache[idx] is not None: + cache_x = mx.concatenate( + [feat_cache[idx][:, -1:], cache_x], axis=1 + ) + x = self.layer_2(x, cache_x=feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.layer_2(x) return x +def _count_conv3d(module): + """Count all CausalConv3d instances in a module tree (for cache sizing).""" + count = 0 + if isinstance(module, CausalConv3d): + count += 1 + for child in module.children().values(): + if isinstance(child, list): + for item in child: + count += _count_conv3d(item) + elif isinstance(child, nn.Module): + count += _count_conv3d(child) + return count + + class Wan22VAEEncoder(nn.Module): """Full Wan2.2 VAE encoder with patchify and normalization.""" @@ -649,8 +741,11 @@ class Wan22VAEEncoder(nn.Module): temperal_downsample=(False, True, True), ) - def __call__(self, img): - """Encode image/video to latent space. + def encode(self, img): + """Encode image/video using chunked encoding (1+4+4+... pattern). + + This matches the reference implementation's chunked encoding with + persistent temporal cache, which is critical for correct I2V latents. Args: img: [B, T, H, W, 3] image/video in [-1, 1] @@ -658,11 +753,28 @@ class Wan22VAEEncoder(nn.Module): Returns: mu: [B, T_lat, H_lat, W_lat, z_dim] normalized latent """ - # Patchify: [B, T, H, W, 3] → [B, T, H/2, W/2, 12] x = _patchify(img, patch_size=2) + T = x.shape[1] - # Encoder: [B, T, H/2, W/2, 12] → [B, T', H', W', z_dim*2] - out = self.encoder(x) + # Initialize temporal cache (one slot per CausalConv3d in encoder) + num_convs = _count_conv3d(self.encoder) + feat_cache = [None] * num_convs + + # Chunked encoding: first chunk = 1 frame, rest = 4 frames each + num_chunks = 1 + (T - 1) // 4 + out = None + for i in range(num_chunks): + feat_idx = [0] # Reset layer index each chunk (but keep cache) + if i == 0: + chunk = x[:, :1] + else: + chunk = x[:, 1 + 4 * (i - 1):1 + 4 * i] + chunk_out = self.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) + if out is None: + out = chunk_out + else: + out = mx.concatenate([out, chunk_out], axis=1) + mx.eval(out) # conv1 (pointwise) + split into mu, log_var out = self.conv1(out) @@ -672,6 +784,17 @@ class Wan22VAEEncoder(nn.Module): mu = normalize_latents(mu) return mu + def __call__(self, img): + """Encode image/video to latent space (delegates to chunked encode). + + Args: + img: [B, T, H, W, 3] image/video in [-1, 1] + + Returns: + mu: [B, T_lat, H_lat, W_lat, z_dim] normalized latent + """ + return self.encode(img) + class Wan22VAEDecoder(nn.Module): """Full Wan2.2 VAE decoder with normalization and unpatchify.""" From afd15018b7b9928b04aa8f63305db42a54f19dd4 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 11 Mar 2026 07:32:35 +0100 Subject: [PATCH 11/17] chore: Cleanup -- reorganize README and docs --- .github/copilot-instructions.md | 158 -------- .github/skills/fast-mlx/SKILL.md | 26 -- .../fast-mlx/references/fast-mlx-guide.md | 350 ------------------ README.md | 134 +------ mlx_video/models/wan/README.md | 157 ++++++++ .../models/wan/docs}/DIAGNOSTICS.md | 0 .../models/wan/docs/IMPLEMENTATION_NOTES.md | 0 7 files changed, 161 insertions(+), 664 deletions(-) delete mode 100644 .github/copilot-instructions.md delete mode 100644 .github/skills/fast-mlx/SKILL.md delete mode 100644 .github/skills/fast-mlx/references/fast-mlx-guide.md create mode 100644 mlx_video/models/wan/README.md rename {docs => mlx_video/models/wan/docs}/DIAGNOSTICS.md (100%) rename docs/wan22-implementation-notes.md => mlx_video/models/wan/docs/IMPLEMENTATION_NOTES.md (100%) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index c42b087..0000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,158 +0,0 @@ -# MLX-Video Copilot Instructions - -## Overview - -MLX-Video is a video/audio generation package using Apple MLX framework. It implements the LTX-2 model (19B parameter DiT) for text-to-video, image-to-video, and audio-video generation, optimized for Apple Silicon. - -## Build, Test, and Lint - -### Testing -```bash -# Install test dependencies first (pytest not in main deps) -pip install pytest - -# Run all tests -python -m pytest tests/ - -# Run specific test file -python -m pytest tests/test_generate_dev.py - -# Run specific test -python -m pytest tests/test_generate_dev.py::TestLTX2Scheduler::test_scheduler_output_shape -``` - -### Linting -Pre-commit hooks configured with: -- **black**: Code formatting -- **isort**: Import sorting (profile: black) -- **autoflake**: Remove unused imports - -```bash -# Run pre-commit manually -pre-commit run --all-files -``` - -### Running Generation -```bash -# Quick test - distilled model (two-stage pipeline) -python -m mlx_video.generate --prompt "test video" --num-frames 33 - -# Dev model with CFG (single-stage, higher quality) -python -m mlx_video.generate_dev --prompt "test video" --steps 40 --cfg-scale 4.0 - -# Audio-video generation -python -m mlx_video.generate_av --prompt "test video" --output-path out.mp4 --output-audio out.wav -``` - -## Architecture - -### Two-Stage Pipeline (Distilled Model) -The distilled model (`generate.py`) uses a two-stage approach for efficiency: -1. **Stage 1**: Generate at half resolution with 8 denoising steps using STAGE_1_SIGMAS -2. **Upsampler**: 2x spatial upsampling via LatentUpsampler -3. **Stage 2**: Refine at full resolution with 3 steps using STAGE_2_SIGMAS -4. **VAE Decoder**: Convert latents to RGB video (tiled decoding for memory efficiency) - -### Single-Stage Pipeline (Dev Model) -The dev model (`generate_dev.py`) uses classifier-free guidance (CFG): -- Full resolution generation with configurable steps (typically 40) -- CFG guidance scale controls prompt adherence vs. diversity -- More flexible but slower than distilled model - -### Core Components - -**DiT Transformer** (`models/ltx/ltx.py`): -- 48 layers, 32 attention heads, 128 dim per head -- Dual modality support: video (3840-dim) and audio (2048-dim) embeddings -- Uses RoPE (Rotary Position Embeddings) in SPLIT mode with double precision -- AdaLN-Zero conditioning blocks inject timestep/text embeddings - -**VAE Architecture**: -- **Video VAE**: 128 latent channels, 8x temporal + 32x spatial compression - - Encoder: `models/ltx/video_vae/encoder.py` - - Decoder: `models/ltx/video_vae/decoder.py` (supports tiled decoding) -- **Audio VAE**: 8 latent channels, mel-spectrogram intermediate - - Decoder: `models/ltx/audio_vae/decoder.py` - - HiFi-GAN vocoder: `models/ltx/audio_vae/vocoder.py` - -**Text Encoder** (`models/ltx/text_encoder.py`): -- Based on Gemma 3 model -- Returns separate embeddings for video (3840-dim) and audio (2048-dim) -- Supports prompt enhancement via `enhance_t2v()` method - -**Tiling System** (`models/ltx/video_vae/tiling.py`): -- Memory-efficient decoding for large videos -- Modes: auto, default (512px/64f), aggressive (256px/32f), conservative (768px/96f) -- Supports streaming via `on_frames_ready` callback - -### Key Patterns - -**Position Grids**: -- Created in pixel space, then converted to latent space internally -- Video: (B, 3, num_patches, 2) with [start, end) bounds for temporal/spatial dims -- Audio: (B, 1, num_patches, 2) for temporal dimension only -- See `create_position_grid()` in generate modules - -**Latent Conditioning** (`conditioning/latent.py`): -- `LatentState` tracks clean latents, noise, and sigma values -- `VideoConditionByLatentIndex` enables I2V by conditioning specific frames -- `apply_denoise_mask()` protects conditioned regions during denoising - -**Weight Loading**: -- `convert.py`: Downloads from HuggingFace, converts PyTorch → MLX format -- Sanitization functions (`sanitize_transformer_weights`, `sanitize_vae_encoder_weights`) adapt keys -- Uses safetensors for efficient loading - -## Key Conventions - -### Model Configuration -- Always use `LTXModelConfig` to instantiate models -- `model_type` determines modality: `VideoOnly`, `AudioOnly`, or `AudioVideo` -- `rope_type=LTXRopeType.SPLIT` and `double_precision_rope=True` are standard - -### Frame Count Requirements -- **Distilled model**: `num_frames = 1 + 8*k` format (e.g., 33, 65, 97) -- **Dev model**: No strict requirement, but odd numbers work better -- Audio frames auto-computed from video duration via `AUDIO_LATENTS_PER_SECOND` - -### Dimension Constraints -- Video height/width must be divisible by 64 (VAE spatial compression) -- Latent dimensions are pixel dimensions divided by 32 - -### Audio Constants -```python -AUDIO_SAMPLE_RATE = 24000 # Output sample rate -AUDIO_LATENT_SAMPLE_RATE = 16000 # VAE internal rate -AUDIO_HOP_LENGTH = 160 # Mel hop length -AUDIO_LATENT_CHANNELS = 8 # Audio latent channels -AUDIO_MEL_BINS = 16 # Mel frequency bins -``` - -### Sigma Schedules -Distilled model uses predefined schedules (no scheduler class): -```python -STAGE_1_SIGMAS = [1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0] -STAGE_2_SIGMAS = [0.909375, 0.725, 0.421875, 0.0] -``` - -Dev model computes schedules via `ltx2_scheduler(steps)` function. - -### Code Style -- Follow black formatting (configured in pre-commit) -- Import sorting: isort with black profile -- Remove unused imports (autoflake) -- Type hints encouraged but not enforced - -### Modality Enum -Use `Modality.VIDEO` and `Modality.AUDIO` from `models/ltx/transformer.py` for multi-modal operations. - -### Video Post-Processing -- `postprocess.py`: Contains utilities for frame normalization and video saving -- Always denormalize latents from [-1, 1] to [0, 255] before saving -- Use opencv-python for video I/O - -## Python Requirements -- Python >= 3.11 -- MLX >= 0.22.0 -- Primary dependencies: numpy, safetensors, transformers, opencv-python, Pillow, mlx-vlm, scipy, librosa -- Package manager: uv recommended for faster installs, pip also supported diff --git a/.github/skills/fast-mlx/SKILL.md b/.github/skills/fast-mlx/SKILL.md deleted file mode 100644 index 333b8f7..0000000 --- a/.github/skills/fast-mlx/SKILL.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: fast-mlx -description: Optimize MLX code for performance and memory. Use when asked to implement or speed up MLX models or algorithms, reduce latency/throughput bottlenecks, tune lazy evaluation, type promotion, fast ops, compilation, memory use, or profiling. ---- - -# Fast MLX - -## Workflow - -- Looks for opportunities to compile functions of mostly elementwise operations. -- For models with fixed shape inputs or where the shapes don't change much, compile the entire graph -- Replace slow implementations with MLX fast ops -- Identify evaluation boundaries and unintended sync points (`mx.eval`, `item()`, NumPy conversions). -- Check dtype promotion and scalar usage; keep precision consistent with intent. -- Review compilation strategy; avoid unnecessary recompiles and closure captures. -- Reduce peak memory via lazy loading order and releasing temporaries before `mx.eval`. -- Suggest profiling steps if the bottleneck is unclear. - -## References - -- Read `references/fast-mlx-guide.md` for detailed tips and examples. Use it as the source of truth. - -## Output expectations - -- Provide concrete code changes with brief rationale -- Call out changes that need user confirmation (e.g., enabling async eval or shapeless compile). diff --git a/.github/skills/fast-mlx/references/fast-mlx-guide.md b/.github/skills/fast-mlx/references/fast-mlx-guide.md deleted file mode 100644 index bc061a1..0000000 --- a/.github/skills/fast-mlx/references/fast-mlx-guide.md +++ /dev/null @@ -1,350 +0,0 @@ -# Making MLX Go Fast - -## Table of Contents - -- [Graph Evaluation](#graph-evaluation) -- [Type Promotion](#type-promotion) -- [Operations](#operations) -- [Compile](#compile) -- [Memory Use](#memory-use) -- [Profiling](#profiling) - -This guide assumes you have some familiarity with MLX and want to make your MLX -model or algorithm as efficient as possible. - -### Graph Evaluation - -Recall, MLX is lazy. When you call an MLX op, no computation actually happens. -You are simply building a graph. The computation happens when you explicitly or -implicitly evaluate an array. Read more about how this works in the -documentation: -https://ml-explore.github.io/mlx/build/html/usage/lazy_evaluation.html - -Evaluating the graph incurs some overhead, so don't do it too frequently. -Conversely you don't want the graph to get too big before evaluating it as this -can also be expensive. Most numerical and machine learning algorithms are -iterative. A good place to evaluate the graph is at the end of each iteration. -Some examples: - -- After an iteration of gradient descent -- After producing one token with a language model -- After taking one denoising step in a diffusion model - -Overly frequent evaluations sometimes happen by accident. For example: - -```python -# output is an mx.array -for x in output: - do_something(x.item()) -``` - -The same thing can be written more explicitly with operations and `mx.eval` as: - -```python -for i in range(len(output)): - x = output[i] - mx.eval(x) - do_something(x.item()) -``` - -Two better options are: - -1. When possible avoid calling `item()` and do everything in MLX. -2. Move the entire output to Python or NumPy first. - -An example of the second approach: - -```python -for x in output.tolist(): - do_something(x) -``` - -#### Asynchronous Evaluation - -For a latency sensitive computation which is run many times, `mx.async_eval` -can be useful. Normally `mx.eval` is synchronous. It returns only when the -computation is complete. Instead `mx.async_eval` asynchronously evaluates the -graph and returns to the main thread immediately. You can use this to pipeline -graph construction with computation like so: - -```python -def generator(): - out = mx.async_eval(my_function()) - - while True: - out_next = mx.async_eval(my_function()) - mx.eval(out) - yield out - out = out_next -``` - -For this to work `my_function()` cannot do any synchronous evaluations (e.g. -calling `mx.eval`, converting to NumPy, etc.). Furthermore, any work done on -`out` that is synchronous and on the same stream can stall the pipeline: - -```python -for out in generator(): - out = out * 2 - # Stalls the pipeline! - mx.eval(out) -``` - -An easy fix for this is to put the pipeline in a separate stream: - -```python -def generator(): - with mx.stream(mx.new_stream(mx.gpu)): - out = mx.async_eval(my_function()) - - while True: - out_next = mx.async_eval(my_function()) - mx.eval(out) - yield out - out = out_next -``` - -### Type Promotion - -One of the most common performance issues comes from accidental up-casting. -Make sure you understand how type promotion works in MLX. The inputs to an MLX -operation are typically promoted to a common type which doesn't lose precision. -For example: - -```python -x = mx.array(1.0, mx.float32) * mx.array(2.0, mx.float16) -``` - -will result in `x` with type `mx.float32`. Similarly: - -```python -x = mx.array(1.0, mx.bfloat16) * mx.array(2.0, mx.float16) -``` - -will result in `x` with type `mx.float32`. A common mistake is to multiply a -half-precision array by a default-typed scalar array which up-casts everything -to `mx.float32`: - -```python -# Warning: x has type mx.float32 -x = my_fp16_array * mx.array(2.0) -``` - -To multiply by a scalar while preserving the input type, use Python scalars. -Python scalars are weakly typed and have more relaxed promotion rules when -used with MLX arrays. - -```python -# Ok, x has type mx.float16 -x = my_fp16_array * 2.0 -``` - -### Operations - -#### Use Fast Ops - -Use `mx.fast` ops when possible: - -- `mx.fast.rms_norm` -- `mx.fast.layer_norm` -- `mx.fast.rope` -- `mx.fast.scaled_dot_product_attention` - -A lot of these operations take a variety of parameters so they can be used for -different variations of the function. For example, the weight and bias -parameters are optional in `mx.fast.layer_norm` so it can be used with -different permutations of inputs. - -#### Precision - -For operations which typically use higher precision there is usually no -need to explicitly upcast. For example, `mx.fast.rms_norm` and -`mx.fast.layer_norm` accumulate in higher precision so it's -wasteful to upcast and downcast into and out of these operations: - -```python -# No need for this! -mx.fast.rms_norm(x.astype(mx.float32), w, b, eps).astype(x.dtype) - -# This is just as good: -mx.fast.rms_norm(x, w, b, eps) -``` - -Similarly, for `mx.softmax` use `precise=True` if you want to do the softmax in -higher precision rather than explicitly casting the input and output. - -#### Misc - -- For vector-matrix multiplication `x @ W.T` is faster than `x @ W`, for - matrix-vector multiplication `W @ x` is faster than `W.T @ x` -- Use `mx.addmm` for `a @ b + c` (e.g. a linear layer with a bias). -- Where it makes sense, use `mx.take_along_axis` and `mx.put_along_axis` - instead of fancy indexing -- Use broadcasting instead of concatenation. For example, prefer `mx.repeat(a, - n)` over `mx.concatenate([a] * n)` - -### Compile - -Compiling graphs with `mx.compile` can make them run a lot faster. But there -are some sharp-edges that are good to be aware of. - -First, be aware of when a function will be recompiled. Recompilation is -relatively expensive and should only be done if there is sufficient work over -which to amortize the cost. - -The default behavior of `mx.compile` is to do a shape-dependent compilation. -This means the function will be recompiled if the shape of any input changes. - -MLX supports a shapeless compilation by passing `shapeless=True` to -`mx.compile`. It's easy to make hard-to-detect mistakes with shapeless -compilation. Make sure to read and understand the documentation and use it -with care: -https://ml-explore.github.io/mlx/build/html/usage/compile.html#shapeless-compilation - -A function will also be recompiled if any constant inputs change: - -```python -@mx.compile -def fun(x, scale): - return scale * x - -fun(x, 3) - -# Recompiles! -fun(x, 4) -``` - -In this case a simple fix is to make `scale` an `mx.array`. - -#### Compiling Closures - -Be careful when compiling a closure where the function encloses any -`mx.array`. - -```python -y = some_function() - -@mx.compile -def fun(x): - return x + y -``` - -Since `y` is not an input to `fun`, the compiled graph will include the entire -computation which produces `y`. Usually you only want to compute `y` one time -and re-use it in the compiled function. Either explicitly pass it as an input -to `fun` or pass it as an implicit input to `mx.compile` like so: - -```python -y = some_function() - -@partial(mx.compile, inputs=[y]) -def fun(x): - return x + y -``` - -### Memory Use - -#### Lazy Loading - -Loading arrays from a file is lazy in MLX: - -```python -weights = mx.load("model.safetensors") -``` - -The above function returns instantly, regardless of the file size. To actually -load the weights into memory, you can do `mx.eval(weights)`. - -Assume the weights are stored on disk in 32-bit precision (i.e. `mx.float32`). -But for your model you only need 16-bit precision: - -```python -weights = mx.load("model.safetensors") -mx.eval(weights) -weights = {k: v.astype(mx.float16) for k, v in weights.items()} -``` - -In the above, the weights will be loaded into memory in full precision and then -cast to 16-bit. This requires memory for all the weights in 32-bit plus memory -for the weights in 16-bit. - -This is much better: - -```python -weights = mx.load("model.safetensors") -weights = {k: v.astype(mx.float16) for k, v in weights.items()} -mx.eval(weights) -``` - -Evaluating after the cast to `mx.float16` reduces peak memory by nearly a -third. That's because all the weights are never fully materialized in 32-bit. -Right after each weight is loaded in 32-bit precision it is cast to 16-bit. -The memory for the 32-bit weight can be reused when loading the next weight. - -Note, MLX is only able to lazy load from a file when it is given to `mx.load` -as a string path. Due to lifetime management issues, lazy loading from file -handles is not supported. So avoid this: - -```python -weights = mx.load(open("model.safetensors", 'rb')) -``` - -#### Release Temporaries - -One way to reduce memory consumption is to avoid holding -temporaries you don't need. This is a typical training loop: - -```python -for x, y in dataset: - loss, grads = nn.value_and_grad(model, loss_fn)(model, x, y) - optimizer.update(model, grads) - mx.eval(model, optimizer.state) -``` - -It's suboptimal since a reference to `grads` is held during the call to -`mx.eval` which keeps the respective memory from being used for any other part -of the computation. - -This is better: - -```python -def step(x, y): - loss, grads = nn.value_and_grad(model, loss_fn)(model, x, y) - optimizer.update(model, grads) - return loss - -for x, y in dataset: - loss = step(x, y) - mx.eval(model, optimizer.state) -``` - -In this case the reference to `grads` is released before `mx.eval` and the -memory can be reused. You can achieve the same goal using `del` as long as it's -before the call to `mx.eval`: - -```python -for x, y in dataset: - loss, grads = nn.value_and_grad(model, loss_fn)(model, x, y) - optimizer.update(model, grads) - del grads - mx.eval(model, optimizer.state) -``` - -#### Misc - -- MLX will cache memory buffers of recently released arrays rather than - returning them to the system. In some cases, especially for variable shape - computations, the cache can get large. To help with this, MLX has some - functions for logging and customizing the behavior of memory allocation: - https://ml-explore.github.io/mlx/build/html/python/metal.html - -### Profiling - -A good first step is to check GPU utilization using, for example, -mactop: https://github.com/context-labs/mactop. If it's not pegged at close -to 100% then there is likely a non-MLX bottleneck somewhere in the program. A -common culprit is data loading or preprocessing. - -If GPU utilization is good, a good next step is to figure out which operations -are taking up so much time. One way to do this is with the Metal debugger. For -that, see the documentation on profiling MLX with the Metal debugger: -https://ml-explore.github.io/mlx/build/html/dev/metal_debugger.html diff --git a/README.md b/README.md index f3a05a6..313cd29 100644 --- a/README.md +++ b/README.md @@ -80,94 +80,13 @@ python -m mlx_video.generate \ ## Wan2.1 / Wan2.2 -Both [Wan2.1](https://github.com/Wan-Video/Wan2.1) and [Wan2.2](https://github.com/Wan-Video/Wan2.2) are text-to-video diffusion models built on a DiT (Diffusion Transformer) backbone with a T5 text encoder and 3D VAE. They share the same model architecture — the difference is in the inference pipeline: +Both [Wan2.1](https://github.com/Wan-Video/Wan2.1) and [Wan2.2](https://github.com/Wan-Video/Wan2.2) are text-to-video diffusion models built on a DiT (Diffusion Transformer) backbone with a T5 text encoder and 3D VAE. -| | Wan2.1 | Wan2.2 T2V-14B | Wan2.2 I2V-14B | Wan2.2 TI2V-5B | -|---|--------|--------|--------|--------| -| **Task** | Text-to-Video | Text-to-Video | Image-to-Video | Text+Image-to-Video | -| **Pipeline** | Single model | Dual model | Dual model | Single model | -| **Sizes** | 1.3B, 14B | 14B | 14B | 5B | -| **Steps** | 50 | 40 | 40 | 40 | -| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 | 3.5 / 3.5 | 5.0 (fixed) | -| **Shift** | 5.0 | 12.0 | 5.0 | 5.0 | -| **VAE** | Wan2.1 (z=16) | Wan2.1 (z=16) | Wan2.1 (z=16) + encoder | Wan2.2 (z=48) | +### Step 0: Download and Convert Weights -### Step 1: Download Weights +See the dedicated Wan2.1/Wan2.2 [README.md](mlx_video/models/wan/README.md) for details. -Download the original PyTorch checkpoints: - -**Wan2.1 (14B)** -```bash -# From https://github.com/Wan-Video/Wan2.1 or HuggingFace -# Expected directory structure: -# wan21_checkpoint/ -# ├── models_t5_umt5-xxl-enc-bf16.pth -# ├── Wan2.1_VAE.pth -# └── diffusion_pytorch_model*.safetensors # single model -``` - -**Wan2.1 (1.3B)** — same structure, smaller transformer weights. - -**Wan2.2 (14B)** -```bash -# From https://github.com/Wan-Video/Wan2.2 or HuggingFace -# Expected directory structure: -# wan22_checkpoint/ -# ├── models_t5_umt5-xxl-enc-bf16.pth -# ├── Wan2.1_VAE.pth -# ├── low_noise_model/ # safetensors -# └── high_noise_model/ # safetensors -``` - -**Wan2.2 I2V-14B** — same directory structure as Wan2.2 T2V. The conversion script auto-detects I2V-14B from the model's `config.json` (`model_type: "i2v"`, `in_dim: 36`). - -### Step 2: Convert to MLX Format - -The conversion script auto-detects the model version based on the directory structure (presence of `low_noise_model/` subdirectory) and model type (`model_type` in source config.json for I2V vs T2V). - -```bash -# Auto-detect version -python -m mlx_video.convert_wan \ - --checkpoint-dir /path/to/wan_checkpoint \ - --output-dir wan_mlx - -# Explicit version -python -m mlx_video.convert_wan \ - --checkpoint-dir /path/to/wan21_checkpoint \ - --output-dir wan21_mlx \ - --model-version 2.1 - -python -m mlx_video.convert_wan \ - --checkpoint-dir /path/to/wan22_checkpoint \ - --output-dir wan22_mlx \ - --model-version 2.2 -``` - -#### Conversion Options - -| Option | Default | Description | -|--------|---------|-------------| -| `--checkpoint-dir` | (required) | Path to original PyTorch checkpoint directory | -| `--output-dir` | `wan_mlx_model` | Output path for MLX model | -| `--dtype` | `bfloat16` | Target dtype (`float16`, `float32`, `bfloat16`) | -| `--model-version` | `auto` | Model version: `2.1`, `2.2`, or `auto` | -| `--quantize` | off | Quantize transformer weights for reduced memory | -| `--bits` | `4` | Quantization bits: `4` or `8` | -| `--group-size` | `64` | Quantization group size: `32`, `64`, or `128` | - -The converter produces: -``` -wan_mlx/ -├── config.json # Model configuration -├── t5_encoder.safetensors # T5 UMT5-XXL text encoder -├── vae.safetensors # 3D VAE decoder -├── vae_encoder.safetensors # 3D VAE encoder (I2V-14B only) -├── model.safetensors # (Wan2.1) Single transformer -├── low_noise_model.safetensors # (Wan2.2) Low-noise transformer -└── high_noise_model.safetensors # (Wan2.2) High-noise transformer -``` - -### Step 3: Generate Video +### Step 1: Generate Video ```bash # Wan2.1 — uses defaults from config (50 steps, shift=5.0, guide=5.0) @@ -231,52 +150,7 @@ The I2V-14B model encodes the input image through the Wan2.1 VAE encoder and use | `--seed` | -1 (random) | Random seed for reproducibility | | `--output-path` | `output.mp4` | Output video path | -### Quantization (Reduced Memory) -Quantize the transformer weights to reduce memory usage by ~3.4x. This is especially useful for the 14B model or memory-constrained devices: - -```bash -# Convert with 4-bit quantization -python -m mlx_video.convert_wan \ - --checkpoint-dir /path/to/Wan2.1-T2V-1.3B \ - --output-dir wan21_mlx_q4 \ - --quantize --bits 4 --group-size 64 - -# Generate with quantized model (auto-detected from config.json) -python -m mlx_video.generate_wan \ - --model-dir wan21_mlx_q4 \ - --prompt "A cat playing piano" -``` - -**What gets quantized**: Self-attention (Q/K/V/O), cross-attention (Q/K/V/O), and FFN (fc1/fc2) — 10 layers × N blocks = ~95% of model weights. Embeddings, norms, and the output head remain in bfloat16 for precision. - -| Model | BF16 Size | 4-bit Size | Notes | -|-------|-----------|------------|-------| -| 1.3B | 2.7 GB | 799 MB | ~3.4x smaller | -| 14B | ~28 GB | ~8 GB | Enables running on 16GB devices | - -> **Note**: On Apple Silicon, the 1.3B model fits comfortably in unified memory at bf16. Quantization reduces memory but may not speed up inference for small models. For the 14B model, quantization is essential to fit in memory and will also improve speed. - - -### Wan Model Specifications - -**Transformer (14B)** -- 40 layers, 40 attention heads, dim 5120, head dim 128 -- 3-way factorized RoPE (temporal + spatial) -- 14.29B parameters - -**Transformer (1.3B, Wan2.1 only)** -- 30 layers, 12 attention heads, dim 1536, head dim 128 -- Same architecture, smaller scale - -**Text Encoder** — UMT5-XXL (5.68B parameters) -- 24 layers, 64 heads, dim 4096, vocab 256K - -**VAE** — 3D causal convolution decoder (72.6M parameters) -- Latent channels: 16 -- Compression: 4× temporal, 8× spatial - ---- ## Requirements diff --git a/mlx_video/models/wan/README.md b/mlx_video/models/wan/README.md new file mode 100644 index 0000000..369e56f --- /dev/null +++ b/mlx_video/models/wan/README.md @@ -0,0 +1,157 @@ + +## Wan2.1 / Wan2.2 + +Both [Wan2.1](https://github.com/Wan-Video/Wan2.1) and [Wan2.2](https://github.com/Wan-Video/Wan2.2) are text-to-video diffusion models built on a DiT (Diffusion Transformer) backbone with a T5 text encoder and 3D VAE. + +They share the same model architecture — the difference is in the inference pipeline: + +| | Wan2.1 | Wan2.2 T2V-14B | Wan2.2 I2V-14B | Wan2.2 TI2V-5B | +|---|--------|--------|--------|--------| +| **Task** | Text-to-Video | Text-to-Video | Image-to-Video | Text+Image-to-Video | +| **Pipeline** | Single model | Dual model | Dual model | Single model | +| **Sizes** | 1.3B, 14B | 14B | 14B | 5B | +| **Steps** | 50 | 40 | 40 | 40 | +| **Guidance** | 5.0 (fixed) | 3.0 / 4.0 | 3.5 / 3.5 | 5.0 (fixed) | +| **Shift** | 5.0 | 12.0 | 5.0 | 5.0 | +| **VAE** | Wan2.1 (z=16) | Wan2.1 (z=16) | Wan2.1 (z=16) + encoder | Wan2.2 (z=48) | + +### Step 1: Download Weights + +Download the original PyTorch checkpoints: + +**Wan2.1 (14B)** +```bash +# From https://github.com/Wan-Video/Wan2.1 or HuggingFace +# Expected directory structure: +# wan21_checkpoint/ +# ├── models_t5_umt5-xxl-enc-bf16.pth +# ├── Wan2.1_VAE.pth +# └── diffusion_pytorch_model*.safetensors # single model +``` + +**Wan2.1 (1.3B)** — same structure, smaller transformer weights. + +**Wan2.2 (14B)** +```bash +# From https://github.com/Wan-Video/Wan2.2 or HuggingFace +# Expected directory structure: +# wan22_checkpoint/ +# ├── models_t5_umt5-xxl-enc-bf16.pth +# ├── Wan2.1_VAE.pth +# ├── low_noise_model/ # safetensors +# └── high_noise_model/ # safetensors +``` + +**Wan2.2 I2V-14B** — same directory structure as Wan2.2 T2V. The conversion script auto-detects I2V-14B from the model's `config.json` (`model_type: "i2v"`, `in_dim: 36`). + +### Step 2: Convert to MLX Format + +The conversion script auto-detects the model version based on the directory structure (presence of `low_noise_model/` subdirectory) and model type (`model_type` in source config.json for I2V vs T2V). + +```bash +# Auto-detect version +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/wan_checkpoint \ + --output-dir wan_mlx + +# Explicit version +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/wan21_checkpoint \ + --output-dir wan21_mlx \ + --model-version 2.1 + +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/wan22_checkpoint \ + --output-dir wan22_mlx \ + --model-version 2.2 +``` + +#### Conversion Options + +| Option | Default | Description | +|--------|---------|-------------| +| `--checkpoint-dir` | (required) | Path to original PyTorch checkpoint directory | +| `--output-dir` | `wan_mlx_model` | Output path for MLX model | +| `--dtype` | `bfloat16` | Target dtype (`float16`, `float32`, `bfloat16`) | +| `--model-version` | `auto` | Model version: `2.1`, `2.2`, or `auto` | +| `--quantize` | off | Quantize transformer weights for reduced memory | +| `--bits` | `4` | Quantization bits: `4` or `8` | +| `--group-size` | `64` | Quantization group size: `32`, `64`, or `128` | + +The converter produces: +``` +wan_mlx/ +├── config.json # Model configuration +├── t5_encoder.safetensors # T5 UMT5-XXL text encoder +├── vae.safetensors # 3D VAE decoder +├── vae_encoder.safetensors # 3D VAE encoder (I2V-14B only) +├── model.safetensors # (Wan2.1) Single transformer +├── low_noise_model.safetensors # (Wan2.2) Low-noise transformer +└── high_noise_model.safetensors # (Wan2.2) High-noise transformer +``` + +### Quantization (Reduced Memory) + +Quantize the transformer weights to reduce memory usage by ~3.4x. This is especially useful for the 14B model or memory-constrained devices: + +```bash +# Convert with 4-bit quantization +python -m mlx_video.convert_wan \ + --checkpoint-dir /path/to/Wan2.1-T2V-1.3B \ + --output-dir wan21_mlx_q4 \ + --quantize --bits 4 --group-size 64 + +# Generate with quantized model (auto-detected from config.json) +python -m mlx_video.generate_wan \ + --model-dir wan21_mlx_q4 \ + --prompt "A cat playing piano" +``` + +**What gets quantized**: Self-attention (Q/K/V/O), cross-attention (Q/K/V/O), and FFN (fc1/fc2) — 10 layers × N blocks = ~95% of model weights. Embeddings, norms, and the output head remain in bfloat16 for precision. + +| Model | BF16 Size | 4-bit Size | Notes | +|-------|-----------|------------|-------| +| 1.3B | 2.7 GB | 799 MB | ~3.4x smaller | +| 14B | ~28 GB | ~8 GB | Enables running on 16GB devices | + +> **Note**: On Apple Silicon, the 1.3B model fits comfortably in unified memory at bf16. Quantization reduces memory but may not speed up inference for small models. For the 14B model, quantization is essential to fit in memory and will also improve speed. + +### Wan Model Specifications + +**Transformer (14B)** +- 40 layers, 40 attention heads, dim 5120, head dim 128 +- 3-way factorized RoPE (temporal + spatial) +- 14.29B parameters + +**Transformer (1.3B, Wan2.1 only)** +- 30 layers, 12 attention heads, dim 1536, head dim 128 +- Same architecture, smaller scale + +**Text Encoder** — UMT5-XXL (5.68B parameters) +- 24 layers, 64 heads, dim 4096, vocab 256K + +**VAE** — 3D causal convolution decoder (72.6M parameters) +- Latent channels: 16 +- Compression: 4× temporal, 8× spatial + +--- + +## LoRA Support + +LoRA's can be used with the `--lora-high` and `--lora-low` command line switches. + +For example, for using the the distilled [Wan2.2-Lightning](https://huggingface.co/lightx2v/Wan2.2-Lightning) LoRA, use the following command. Lightning speeds up generation by using only 4 steps and a CFG scale of 1. + +```bash +python -m mlx_video.generate_wan \ + --model-dir /Volumes/SSD/Wan-AI/Wan2.2-T2V-A14B-MLX \ + --width 480 \ + --height 480 \ + --num-frames 121 \ + --prompt "Two dogs of the poodle breed sitting on a beach wearing sunglasses, close up, cinematic, sunset" \ + --steps 4 \ + --guide-scale 1 \ + --trim-first-frames 1 \ + --lora-high /Volumes/SSD/Wan-AI/lightx2v/Wan2.2-Lightning/Wan2.2-T2V-A14B-4steps-lora-rank64-Seko-V2.0/high_noise_model.safetensors 1 \ + --lora-low /Volumes/SSD/Wan-AI/lightx2v/Wan2.2-Lightning/Wan2.2-T2V-A14B-4steps-lora-rank64-Seko-V2.0/low_noise_model.safetensors 1 + ``` diff --git a/docs/DIAGNOSTICS.md b/mlx_video/models/wan/docs/DIAGNOSTICS.md similarity index 100% rename from docs/DIAGNOSTICS.md rename to mlx_video/models/wan/docs/DIAGNOSTICS.md diff --git a/docs/wan22-implementation-notes.md b/mlx_video/models/wan/docs/IMPLEMENTATION_NOTES.md similarity index 100% rename from docs/wan22-implementation-notes.md rename to mlx_video/models/wan/docs/IMPLEMENTATION_NOTES.md From d207275fea379b4da00a7a6dc3349f7d12717c44 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 11 Mar 2026 07:52:07 +0100 Subject: [PATCH 12/17] fix(wan): Fix scheduler sigma schedule and add debug flags --- mlx_video/generate_wan.py | 48 +++++++++++++++++++++++++++++++ mlx_video/models/wan/model.py | 21 +++++++------- mlx_video/models/wan/scheduler.py | 42 +++++++++++++++++++++------ tests/test_wan_scheduler.py | 44 ++++++++++++++++++---------- 4 files changed, 121 insertions(+), 34 deletions(-) diff --git a/mlx_video/generate_wan.py b/mlx_video/generate_wan.py index 14358b7..6df2e77 100644 --- a/mlx_video/generate_wan.py +++ b/mlx_video/generate_wan.py @@ -72,6 +72,8 @@ def generate_video( loras_low: list | None = None, tiling: str = "auto", no_compile: bool = False, + trim_first_frames: int = 0, + debug_latents: bool = False, ): """Generate video using Wan pipeline (supports T2V and I2V). @@ -100,6 +102,12 @@ def generate_video( - "spatial": Spatial tiling only - "temporal": Temporal tiling only no_compile: If True, skip mx.compile on models (useful for debugging) + trim_first_frames: Number of temporal latent positions to generate extra + and discard from the start. Each position = 4 pixel frames. Use 1 + to fix first-frame artifacts on 14B models (generates 4 extra frames, + discards first 4). Use 2 for more aggressive trimming. Default: 0. + debug_latents: If True, print per-temporal-position latent statistics + after denoising for diagnosing first-frame artifacts. """ import json @@ -207,6 +215,9 @@ def generate_video( assert (num_frames - 1) % 4 == 0, f"num_frames must be 4n+1, got {num_frames}" gen_frames = num_frames + if trim_first_frames > 0: + gen_frames = num_frames + trim_first_frames * 4 + print(f"{Colors.DIM} Trim: generating {gen_frames} frames, will discard first {trim_first_frames * 4}{Colors.RESET}") version_str = f"Wan{config.model_version}" mode_str = "dual-model" if is_dual else "single-model" @@ -595,6 +606,22 @@ def generate_video( print(f"{Colors.DIM} Denoising: {time.time() - t3:.1f}s{Colors.RESET}") + # Diagnostic: per-temporal-position latent statistics + if debug_latents: + lat_np = np.array(latents) # [C, T, H, W] + n_t = lat_np.shape[1] + print(f"\n{Colors.CYAN} Latent diagnostics (shape {lat_np.shape}):{Colors.RESET}") + print(f" {'Pos':>4s} {'Mean':>8s} {'Std':>8s} {'Min':>8s} {'Max':>8s} {'AbsMean':>8s}") + for t_pos in range(min(n_t, 8)): + frame = lat_np[:, t_pos, :, :] + print(f" {t_pos:4d} {frame.mean():8.4f} {frame.std():8.4f} " + f"{frame.min():8.4f} {frame.max():8.4f} {np.abs(frame).mean():8.4f}") + if n_t > 8: + interior = lat_np[:, 4:, :, :] + print(f" {'4+':>4s} {interior.mean():8.4f} {interior.std():8.4f} " + f"{interior.min():8.4f} {interior.max():8.4f} {np.abs(interior).mean():8.4f}") + print() + # Free transformer models and text embeddings if is_dual: del low_noise_model, high_noise_model, cross_kv_low, cross_kv_high @@ -621,6 +648,9 @@ def generate_video( is_wan22_vae = config.vae_z_dim == 48 + # Temporal extend: prepend reflected latent frames to the VAE input so that + # the CausalConv3d zero-padding artifacts fall on the prefix (which we crop). + # This gives the first real frame a full temporal receptive field of real data. # Select tiling configuration from mlx_video.models.ltx.video_vae.tiling import TilingConfig @@ -676,6 +706,12 @@ def generate_video( video = np.clip(video * 255.0, 0, 255).astype(np.uint8) video = video.transpose(1, 2, 3, 0) # [T, H, W, 3] + # Trim first N temporal chunks if requested (avoids first-frame artifacts) + if trim_first_frames > 0: + trim_pixels = trim_first_frames * 4 + video = video[trim_pixels:] + print(f"{Colors.DIM} Trimmed first {trim_pixels} frames ({video.shape[0]} remaining){Colors.RESET}") + save_video(video, output_path, fps=config.sample_fps) print(f"\n{Colors.GREEN}✓ Video saved to {output_path}{Colors.RESET}") print(f"{Colors.DIM} Total time: {time.time() - t1:.1f}s{Colors.RESET}") @@ -727,6 +763,16 @@ def main(): "--no-compile", action="store_true", help="Disable mx.compile on models (for debugging)", ) + parser.add_argument( + "--trim-first-frames", type=int, default=0, metavar="N", + help="Generate N extra temporal chunks (N×4 frames) and discard them from the start. " + "Fixes first-frame color/lighting artifacts on 14B models. Try 1 first (4 frames). " + "Default: 0 (disabled)", + ) + parser.add_argument( + "--debug-latents", action="store_true", + help="Print per-temporal-position latent statistics after denoising (diagnostic)", + ) args = parser.parse_args() @@ -766,6 +812,8 @@ def main(): loras_low=_parse_lora_args(args.lora_low), tiling=args.tiling, no_compile=args.no_compile, + trim_first_frames=args.trim_first_frames, + debug_latents=args.debug_latents, ) diff --git a/mlx_video/models/wan/model.py b/mlx_video/models/wan/model.py index 4f7dfd0..620c7d2 100644 --- a/mlx_video/models/wan/model.py +++ b/mlx_video/models/wan/model.py @@ -118,14 +118,12 @@ class WanModel(nn.Module): rope_params(1024, 2 * (d // 6)), ], axis=1) - # Precompute sinusoidal inv_freq for time embedding - # Use numpy float64 for precision (matches reference torch.float64), - # then store as float32 since MLX GPU doesn't support float64. + # Precompute sinusoidal inv_freq for time embedding. half = config.freq_dim // 2 - inv_freq_np = np.power( - 10000.0, -np.arange(half, dtype=np.float64) / half + self._inv_freq = mx.array( + np.power(10000.0, -np.arange(half, dtype=np.float64) / half + ).astype(np.float32) ) - self._inv_freq = mx.array(inv_freq_np.astype(np.float32)) def _patchify(self, x: mx.array) -> tuple: @@ -311,13 +309,16 @@ class WanModel(nn.Module): axis=0, ) # [B, seq_len, dim] - # Time embedding (use cached inv_freq to avoid recomputing each step) + # Time embedding: sinusoidal from precomputed inv_freq. + # inv_freq was computed in float64 for precision, stored as float32. + # With integer timesteps (matching reference), float32 sin/cos is fine. if t.ndim == 0: t = t[None] - pos = t.astype(mx.float32) - sinusoid = pos[..., None] * self._inv_freq - sin_emb = mx.concatenate([mx.cos(sinusoid), mx.sin(sinusoid)], axis=-1) + sinusoid = t[..., None].astype(mx.float32) * self._inv_freq + sin_emb = mx.concatenate( + [mx.cos(sinusoid), mx.sin(sinusoid)], axis=-1 + ) if t.ndim == 1: # Standard T2V: scalar timestep per batch element [B] diff --git a/mlx_video/models/wan/scheduler.py b/mlx_video/models/wan/scheduler.py index 1ea6b98..15de21b 100644 --- a/mlx_video/models/wan/scheduler.py +++ b/mlx_video/models/wan/scheduler.py @@ -12,13 +12,30 @@ import numpy as np import mlx.core as mx -def _compute_sigmas(num_steps: int, shift: float = 1.0) -> np.ndarray: - """Compute shifted sigma schedule matching official Wan2.2 code. +def _compute_sigmas( + num_steps: int, shift: float = 1.0, num_train_timesteps: int = 1000 +) -> np.ndarray: + """Compute shifted sigma schedule matching official Wan2.2 scheduler. + + The reference creates FlowUniPCMultistepScheduler with shift=1 (identity) + in the constructor, deriving sigma_max/sigma_min from the unshifted + training schedule. Then set_timesteps() builds a linspace between those + unshifted bounds and applies the actual shift once. Returns num_steps+1 values (the last being 0.0 for the terminal state). """ - sigmas = np.linspace(1.0, 0.0, num_steps + 1)[:num_steps] + # sigma bounds from unshifted training schedule (constructor uses shift=1) + alphas = np.linspace(1.0, 1.0 / num_train_timesteps, num_train_timesteps)[ + ::-1 + ] + sigmas_unshifted = 1.0 - alphas + sigma_max = float(sigmas_unshifted[0]) # (N-1)/N + sigma_min = float(sigmas_unshifted[-1]) # 0.0 + + # Interpolate, then apply shift once (matching set_timesteps) + sigmas = np.linspace(sigma_max, sigma_min, num_steps + 1)[:-1] sigmas = shift * sigmas / (1.0 + (shift - 1.0) * sigmas) + return np.append(sigmas, 0.0).astype(np.float32) @@ -31,9 +48,12 @@ class FlowMatchEulerScheduler: self.sigmas = None def set_timesteps(self, num_steps: int, shift: float = 1.0): - sigmas = _compute_sigmas(num_steps, shift) + sigmas = _compute_sigmas(num_steps, shift, self.num_train_timesteps) self.sigmas = mx.array(sigmas) - self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) + # Integer timesteps to match reference (model trained with int timesteps) + self.timesteps = mx.array( + (sigmas[:-1] * self.num_train_timesteps).astype(np.int64).astype(np.float32) + ) # Store as Python floats to avoid .item() sync in step() self._sigmas_float = sigmas.tolist() self._step_index = 0 @@ -73,9 +93,11 @@ class FlowDPMPP2MScheduler: self.sigmas = None def set_timesteps(self, num_steps: int, shift: float = 1.0): - sigmas = _compute_sigmas(num_steps, shift) + sigmas = _compute_sigmas(num_steps, shift, self.num_train_timesteps) self.sigmas = mx.array(sigmas) - self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) + self.timesteps = mx.array( + (sigmas[:-1] * self.num_train_timesteps).astype(np.int64).astype(np.float32) + ) # Store sigmas as Python floats for scalar math self._sigmas_float = sigmas.tolist() self._step_index = 0 @@ -198,9 +220,11 @@ class FlowUniPCScheduler: self.sigmas = None def set_timesteps(self, num_steps: int, shift: float = 1.0): - sigmas = _compute_sigmas(num_steps, shift) + sigmas = _compute_sigmas(num_steps, shift, self.num_train_timesteps) self.sigmas = mx.array(sigmas) - self.timesteps = mx.array(sigmas[:-1] * self.num_train_timesteps) + self.timesteps = mx.array( + (sigmas[:-1] * self.num_train_timesteps).astype(np.int64).astype(np.float32) + ) self._sigmas_float = sigmas.tolist() self._step_index = 0 self._num_steps = num_steps diff --git a/tests/test_wan_scheduler.py b/tests/test_wan_scheduler.py index 6088b26..d16ff49 100644 --- a/tests/test_wan_scheduler.py +++ b/tests/test_wan_scheduler.py @@ -149,10 +149,11 @@ class TestComputeSigmas: sigmas = _compute_sigmas(10, shift=1.0) assert sigmas[-1] == 0.0 - def test_starts_at_one(self): + def test_starts_near_one(self): from mlx_video.models.wan.scheduler import _compute_sigmas sigmas = _compute_sigmas(20, shift=5.0) - np.testing.assert_allclose(sigmas[0], 1.0, atol=1e-6) + # Reference applies shift twice, so sigma[0] ≈ 0.99996 (not exactly 1.0) + np.testing.assert_allclose(sigmas[0], 1.0, atol=1e-3) def test_decreasing(self): from mlx_video.models.wan.scheduler import _compute_sigmas @@ -160,22 +161,33 @@ class TestComputeSigmas: assert np.all(np.diff(sigmas) <= 0) def test_matches_official_wan22(self): - """Sigma schedule should match the official Wan2.2 get_sampling_sigmas.""" + """Sigma schedule should match the official Wan2.2 FlowUniPCMultistepScheduler. + + The reference creates the scheduler with shift=1 (identity) in the + constructor, then passes the actual shift to set_timesteps. This means + sigma_max/sigma_min come from the *unshifted* training schedule, and the + shift is applied only once (single-shift). + """ from mlx_video.models.wan.scheduler import _compute_sigmas - steps, shift = 50, 5.0 - sigmas = _compute_sigmas(steps, shift) - # Official: sigma = linspace(1, 0, steps+1)[:steps]; sigma = shift*sigma/(1+(shift-1)*sigma) - official = np.linspace(1, 0, steps + 1)[:steps] - official = shift * official / (1 + (shift - 1) * official) + steps, shift, N = 50, 5.0, 1000 + sigmas = _compute_sigmas(steps, shift, N) + # Official single-shift: unshifted bounds, then shift once + alphas = np.linspace(1.0, 1.0 / N, N)[::-1] + sigmas_unshifted = 1.0 - alphas + sigma_max = float(sigmas_unshifted[0]) # 0.999 + sigma_min = float(sigmas_unshifted[-1]) # 0.0 + official = np.linspace(sigma_max, sigma_min, steps + 1)[:-1] + official = shift * official / (1.0 + (shift - 1.0) * official) official = np.append(official, 0.0).astype(np.float32) np.testing.assert_allclose(sigmas, official, atol=1e-6) - def test_shift_one_is_linear(self): + def test_shift_one_is_near_linear(self): from mlx_video.models.wan.scheduler import _compute_sigmas sigmas = _compute_sigmas(10, shift=1.0) - # With shift=1, f(sigma)=sigma, so schedule is linear from 1 to 0 + # With shift=1, f(sigma)=sigma, but sigma_max = 0.999 (from alpha schedule) + # so schedule is nearly linear from ~0.999 to 0 expected = np.linspace(1, 0, 11).astype(np.float32) - np.testing.assert_allclose(sigmas, expected, atol=1e-6) + np.testing.assert_allclose(sigmas, expected, atol=2e-3) def test_all_schedulers_same_sigmas(self): """All three schedulers should produce identical sigma schedules.""" @@ -655,10 +667,12 @@ class TestSchedulerCoherence: errors[name] = float(mx.mean(mx.abs(latents)).item()) # Higher-order solvers should not be significantly worse than Euler - assert errors["dpm++"] <= errors["euler"] * 1.5, ( + # (add small epsilon to handle near-zero errors from floating point noise) + eps = 1e-6 + assert errors["dpm++"] <= errors["euler"] * 1.5 + eps, ( f"DPM++ error {errors['dpm++']:.6f} much worse than Euler {errors['euler']:.6f}" ) - assert errors["unipc"] <= errors["euler"] * 1.5, ( + assert errors["unipc"] <= errors["euler"] * 1.5 + eps, ( f"UniPC error {errors['unipc']:.6f} much worse than Euler {errors['euler']:.6f}" ) @@ -746,7 +760,7 @@ class TestSchedulerCoherence: scheds = self._make_schedulers(steps, shift=shift) sigma_next = float(scheds["euler"].sigmas[1].item()) sigma_cur = float(scheds["euler"].sigmas[0].item()) - assert abs(sigma_cur - 1.0) < 1e-6, "First sigma should be ~1.0" + assert abs(sigma_cur - 1.0) < 1e-3, "First sigma should be ~1.0" x0 = sample - sigma_cur * vel expected = sigma_next * sample + (1.0 - sigma_next) * x0 @@ -756,7 +770,7 @@ class TestSchedulerCoherence: result = scheds[name].step(vel, scheds[name].timesteps[0], sample) mx.eval(result) np.testing.assert_allclose( - np.array(result), np.array(expected), atol=1e-5, + np.array(result), np.array(expected), atol=5e-4, err_msg=f"{name} step 0 doesn't match DDIM formula (shift={shift})", ) From 1cf878f5e0ec79676ba8d1ae826a4a386432be54 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 11 Mar 2026 08:14:12 +0100 Subject: [PATCH 13/17] More poodles --- README.md | 22 ++ examples/poodles-wan.gif | Bin 0 -> 5653448 bytes mlx_video/generate_wan.py | 8 +- mlx_video/models/wan/README.md | 10 +- mlx_video/models/wan/config.py | 8 +- mlx_video/models/wan/docs/DIAGNOSTICS.md | 5 - mlx_video/models/wan/model.py | 2 - tests/test_wan_i2v.py | 2 - tests/test_wan_quantization.py | 313 +++++++++++++++++++++++ 9 files changed, 347 insertions(+), 23 deletions(-) create mode 100644 examples/poodles-wan.gif create mode 100644 tests/test_wan_quantization.py diff --git a/README.md b/README.md index 313cd29..6d4fe11 100644 --- a/README.md +++ b/README.md @@ -150,7 +150,29 @@ The I2V-14B model encodes the input image through the Wan2.1 VAE encoder and use | `--seed` | -1 (random) | Random seed for reproducibility | | `--output-path` | `output.mp4` | Output video path | +## LoRA Support +LoRA's can be used with the `--lora-high` and `--lora-low` command line switches. + +For example, for using the the distilled [Wan2.2-Lightning](https://huggingface.co/lightx2v/Wan2.2-Lightning) LoRA, use the following command. Lightning speeds up generation by using only 4 steps and a CFG scale of 1. + +```bash +python -m mlx_video.generate_wan \ + --model-dir /Volumes/SSD/Wan-AI/Wan2.2-T2V-A14B-MLX \ + --width 480 \ + --height 704 \ + --num-frames 41 \ + --prompt "Two dogs of the poodle breed sitting on a beach wearing sunglasses, nodding with their heads, close up, cinematic, sunset" \ + --steps 4 \ + --guide-scale 1 \ + --trim-first-frames 1 \ + --seed 2391784614 \ + --lora-high /Volumes/SSD/Wan-AI/lightx2v/Wan2.2-Lightning/Wan2.2-T2V-A14B-4steps-lora-rank64-Seko-V2.0/high_noise_model.safetensors 1 \ + --lora-low /Volumes/SSD/Wan-AI/lightx2v/Wan2.2-Lightning/Wan2.2-T2V-A14B-4steps-lora-rank64-Seko-V2.0/low_noise_model.safetensors 1 + ``` + +Which results in +![Poodles](examples/poodles-wan.gif) ## Requirements diff --git a/examples/poodles-wan.gif b/examples/poodles-wan.gif new file mode 100644 index 0000000000000000000000000000000000000000..d4f36d2f841652ab2f544ab125ade1d0cd08c4c1 GIT binary patch literal 5653448 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%0D0KA#73xRP(t8 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≀^Mq$oQfMT(#kq68fjB}$w)LHq>j6GW`=#~&!K{A1v42HH{* zL~JEvOEUjJ*im3+L4=lBW&M*3SrKkX7KkB2WX&|*lsJ$#DWd4jKj9G6lQ!^ZBTqyB zz*CY%>r|wXMIM0zQAQuxvyDCbxWr&bTt)SdRU?r^l0E-K3DPz}b`(!V@#v@%L^sM4 zqc;EE%xI%G;;f^ijuqiUPdshrW6zsQLB&*7MRL_uS4!#GW zqSHVV%`{^*8e)fL!7>djl9mM`qJf%;5I8$^Dh@aZA*u~%g^s#Ypofa3O{n02`l_q= zh(ixJto2z>KL6yJ>p!0@<62>u#Rk|Vu9#x1D~lM*+p@a>_iS$eJeQj$pycKpbD-2m z$a2ql3!Sv^kw@Kl*oBuJc;9`8E=1?WcinZ-?Wn-+})WC|rU4F4(Vx z7Z%*nf);KVO)?Be^N+*RFv{RG|BwX{PmM-nqKX}-NKiK|7R1n(H^x}wKki7hBRKz9 zA{moC8HM!HlO<`zB$F!XOmj)w7&$YLI7S4HJ1IA`j!!lwUFJ{!n0e+uXLd?!pWx&Z zPd;%fwM{-;5BVn7UcbX9O@8`WQJ`RngU>u{qg~porGZlp+<}(*8Qyr0R=3-z`JLKo zY@c>oIkK*8TH%Ec-u7vT<3l&wrk%#xJpasdRMrr^sVi7cf7WZS#ArjzKg0wEkz%gg zQd@7X+;(hl&}xDkv=IHq3AD@obFH+LFc;mn!OxrDA<-!kU-9)F?_Tleop;@Q@4f4t zBJxsFJanAQ+tDWgc7zv1uN3IkfpUf4Q82?WIPgEWl+-Z%5kqt_qa<4VC|UnwaXe7P z1FeW+K}r@Qc+luZH;UTIY=RMRaKs}Xc}J0a79|ELX)5=)M?Wr@!3<*Xf;fu`S0GX( zkbJ~}Kgtmba}u>L^`vPm>IjQsI1tjT!%S^UP2cFTCf4kbhqOWsM9fx^Go{HQtYJ;9 zRud1SAZ1Mzan+fgrlYkf@Q6pz98GeCtA89N9!UA(64~^{F&;&X^`OZW^RY#x#7Q4- zawAjnp%T*kLp0B@#xq3c8Pb_X!$<1?|qb=YN zM_QoZmwoC35qZ%|lf&EA@Qi1?f4pau^0{7qq604I=qF$L;g9z?AsqkknNLATlF)+? zb|HrCGD6W{)Wd$+tBR4RV#d_Q!y0A37qX}u1aVP8e&P*>G!112?9oJeG!u=)gi2jO ziIcFRk`8XLALiVk2Xn?Gr_?M+B`jgfY+@5Gi6v@3L5M-5>Aw|y%zr#F)I@ed#G9z8 zDF2Y>ll5X4IJq9K2BMhboUYi&M$W0Rq`0~$uXd%< ziI!Aza8jw}^f5sx$y6owmt2UQ+c}bvw~H1; zE~yDw%5ry8b)>(diXUoi@{*3k&wa3$N#CWiKA}wBCl0|0N2LFftoP!?C*T^@S9tG0 z!by;X5cH2=G>AcI=}5yW_REGLDSr=x7-$|9rjIcbfZ=#-3mpO`0veD@D@zlP9Qu`y z{Olhtso9b=*bjb;cC`Fp2R|T^+SNj&AOFapI!`i^Dp~0w?|5R4>}jK%z+)#YbPuR<3e%t6Nx}QAa#>W^|j#2I3G!x|~FMoFFtS%b{zAqQM; zZ!3Edc&zN87QshGuvFUyvP8b3HRowr%a1kxgSDk!#!(m8eAfYm_z~yAy?&2_DK#hojSk8YjxiRg*(aKIS1_?P8a^m}4oNq$H&% zky_O0tuIZPlwLWm`n@$(wM^kF>JM%=*7UtKs&DN#C$6S#hl66=LSv}UELk&_35@B8 z3Yf*rW;RH@4Q+Dc3Qo}G#siu*Zoo(F*;VzD#i9S|C2{lNN8%3Lmjw5|Y^*(dX%Ck6 zvQLfoqp!W(#Xz$>--7rmA${ZWES9;D#3V-8VnR%?POg}W_z96`4#djdkViU7)})HIux}BtN;D-+aM)sHA2t>85SJ{AGIPL}?fO83nN zNn-upBH_C0@a=lnO_D3LF9p7?mSaA84Y?rwLB2ZbvD7J01RW_HhRyzBq6Y8+X5o2vWze7ac?*Gu9>FL&wJTh6!F zk_00y9=cG51S8n`fsRB6ABd9~8^ee2zG)GMNbeQmXp7^c;`k_VAwUT_|11_J7^**iCCWWx4c&7wg~?DU z(o_xe4_(%%F)3v{V$|Wv)eRtbg%o<3-F?v)P1P5DwUJWDl&Q(oOQ{-rRYjD%QF&ok zNqrXpcA(o#mzmI!rW^{X5Sy`?MPN9_vMGjQG@C0N9&OwPwAqG%&|nNwo?IMN=ItO} z>6lyOAYJ%iTgXKa&V>;k;ag$-!P8l5YFQS<9~@m-u=oR z`JG`TMjru&>MVv1B9#u-pbS!*49eh9LECKHMzd*SHZq%p42v=nl`{;(WDLVFv>;@( zMK&^szBvdkEr|NKPlRyDEkOSR=_HfJ*xnWHtQh|@8VJxr86fMQ8)7p{0soR}A@ zU7ZDL&ZwE%09xfLhLotyA}n4YNrl?3=!yVh*F+(O8g(E5vW=?%o2wj3P?Aas65D2^ z;9oFXI;JCS(1i>3#S8W&`$!1;)aB`%1&CM-=zPp#T_T8>#ezTvTQnh%`9)-+;8|D< zG1#MFl8Awgh{ZfvKZgH9I=qn4jRwRajdEexnV4Z3iWvi?;YYkCYzhek5tV}(PaiHYt};!HlGF^L7F z^v`1Uq{3tfh!oQ=K}s~>O=&=vY5*WcVH7BWA}Q+0)uop!&L>!Yr2)Rw7G=#ug;yvF zAO(^XRfgp)!XoChr-8EP+@%KNbYf}f6o8Qi-ssU}Oh#-hqinDsUb;_XLd0Tx<2P>T zJR$~?K-t~ll%r{iHT)98R7hY*ri(rZgv2O@`~x&t26vVxSrFU8c#Po%@h1lq#&)50khBRb0cl*GmSTV>i~hb(4xf@hF2Jf1lVONfUXy()uOJzVt{U1S^nQYbX2Jx5v4s* zIkaV}U}9pCN~3T{S@;`}r65sFCR#uUT1-a8TqaO`j>YL2Hl2z6;m@p|#e!5yjBZF} zdWeR|YDthzN#tI19z>uJk<>tqjwsMgBx%e%pjCt`olJ!VnG-v>R?6LB9PXx-j@-KH zrbTunSJ?kam~sRI{fGkP>rG@Uw(f+C_=HcW$T&a~&*@&FX{VytkLW~UjrLDZHmq6H zXtOeFr4VK`kP7~lM$^d(PF321rbeH{-3GE0N@0!3UQL|1qSSHGDhgm0;i9GH=h&^? zuD}VVc0|o~M5KZg0cws(eNm~NDggFk|?#tBZS>_sg! z_*DN`L(##*CZ0y$e4*XIYNSvmhE&LgT&7_{t6?frM}Wp-v1w2sL~j+54hHJtYz1zc?E-LZ`Os{@m|*! znTr^r0QkKi2Xt0VnPFWE{dZ3 zk|W9~T&76<9mL$q6PS6co_NIr&y-VOP~onbKfvp6ZlrEvBnFpUmdfGbesBo?W}BVs zIjx)qjv@i-32feLr*z7h(1^{2!Kp8RZaHH5GG~5sC(kSbaPCZu0q*VV% zPhQIXESZzxo|wQNCT48k?BC^7UGgUHQEHJ=Bt`a0Wy_+hMA6#XX)mTiU@Vds&ZO*n z#-bO;;-O~I_u`6yszxs=DCJ03$KsT);go3{tsiR&AQK(>axF)(EI!nO{&H>6mC2J; zqV1LEXTYU6F!Cgq1|>7va!pr9*+V?&2?gB=AM))~P$au{um^WA2aoXLitt4;E|sF( zn{gzZK`yz9>s3hZw~o!`5)pGXgrhB&wPs>sdgc>HGLBj%!~oONUJC18hCPzV#flC- zLSi=*8YRkP&|RzgzKZ#>1}*|^%5JKCzHxSq*YehE&f<*qK5u}cng!0H&(i;5NxY&w z8=zS73PiCi8KI@z@v}mqs@)b8b+rw*u1(tn?Ghz)n=JGh@sQ?TR=*0=K$#)0)ry*A z95{3l1kIGq^et786G)RX2CuRPlk~d2GApN+NoQ~=XRs?(Rzfd%iQ=b%lt(qMfI<}239Uc> zwfGLLKPNPj;xySTv=_0b6XEd()~%ryHbW=&S97nEnX_eLqM{Wq61f4-}1b;Q3AO)&k^gsu7+_*~J`1Vf8P2KEG zC4;8cGV(q$b_r{r@TL(i-XiDZbyE1r7=49&&l;(bn%>TY|KT(kb+QOO z@RN8l*12IyU>_-$)|yrD$$7R1zck~9wuY}VmVPjnnw)8qwrY=fnq8@C`R0Vf8P2d= z&V(z-;mkZoaGm*Kn{e_wbWxkM%-zOQJ;W2OY+O(4>$XaSJc0j8zsgD!BJeZ;G(=jWCICFo&l&Zc+t|gL;#+9M9r2i zZ@8pedI+mlrE54IzU!u=T!??T21_`-!y#^N_RdrVlHeD9-4aJbe7T?dj1Rcp21%H< z$xPfd*+A55LaLO{n#t=dl2m+xU$=OBsy)*)wZ}JEvw1mdJ1I6h7?+m-nz?||^LgX! z1^VBtxw-eY_o05*ryWICpA;u!ywgu=CmU}Tqx%EW*}Ch=yE6sLZ9O?9dZMRUg|pc| zy%yhh1XWCheCauzu+z?j z-Ad>=p;vo==ZVudegvPov3s2enS6r-`1X!svaA0r&#w_x9y@!{JXr20EfT%f@d_Nb z_g9AH1O_{K9j~)vH?p@B)d5aM^>cy(?-&7Z2gdsU9ns(LUwiIi7fm+dkLxW*>AWkt z9A2CoXKR@7m*~4^|;yX)|^ud=LhMzXTk9MT1_T6t}hET?GaIiS--Jm;+S4a^pFYF)?)B@(jvr%wkN^4m$8R!af0zAH);yW> zhLcA$Tv%UWf`#`*q?n!IKJMSUYtIf|yLgHd!#Di5ZQ;a)+oE$XZ;_$Cj~#KU^vLie z#r`jgD$1t)f&wX|pM2VHz@muq$f%P7M5!bP>sbn=25qv5s;aJHNSuGf5yu;GtO>Ei zbi_$#p0>8a2c8tgc@f1KVVrTE5OMz`(V883v}QzW{wWc}aKzCj#JIRJ3oNnvO2{DZ zs9O#(;drABGt5*It+UofyX`T@yku=P(;(Y2OfJLRvNqhZq)bi9c&m~#;C5r@H{yWH z(>TN^y2rTso`a5{>ZYr%KJN&{Zo5Ctlh4ug9vzRMZ6acCQAx)eh`j6!s&Au>@Eedn z1c6!*rItYQh(Y`=EH%SZRT{NIRV5^9Cex1jvf981+ABNKL<{xjY z>1Ib~(}@dnF zoOSR4=Pr8UiRYb!pgSxv#d`m%t+mX&e3Q%ASaZy@(nezpOfzN6Elt`i)=kUUGUhF~ z$9}Vuoqz0HEV1DBL~J?ekXt#r=dv@@P)QB#PSNlrEidPs*8}fSNWB}#AcHJr2)^zp z<<7m024j^a38Ugqz>=tjDj%vy0*WSzXcFt{3yFid!hWRQ@A$xvZ3TnNL$ZLn|*nMURQp{{9Y zgGcXLRu9F>TGQ*F{v?*d$%w58Sm&M&WE+pYCB$o`yZ8L}e(1tfJ=S?0ht6d{9=ZHd=j(-plAL_JAS&%ripb;uyh)K-A z2nI&tjp=r7GSd}VLmD?}jAOE~U1(kxr`;q*O7^4@>sV*c)OvIlkxt2zJwj^;dKO}lpsZ=@YI%`z7Xr*XIb>k|E;NexRidC#7YSu3` z_)K9|({Yd+#xR*VO=uEawng93&NqySQ=D8YGR4?a zWe&Y3MAt}Bp3H1%mJkQLDsP5*|5gat8RvDRivc$mVpMO$c zu&GS|4X9?ow5H$9mO0UL&h-F>y5y=3J6%R@qLNFr>a=tpWQLDC2bsFTK*=E0AxvS4 zyyfiK(NZowNcu8$5%fXiBG$#od2&*fvCsn?6e){dlzKHyeo}4sfg4hVg%z`ySE-MF zG*rJUtW2g&(^k<+v0{`Wis+YekjvoSP7OK88BT8|M4<|+32S1&n!?Y#1T1cSi3$H- zxWmoVuq)sS>k&m_V z550h+9+~}zb_K$oJ41(c1!JvhmK;Wk4V2ylm9l4C8^q0gI2ks!hBwS%5Q7-5F?3-#Rk+P)dz1g!L5eoD zm4#Sk(Ky>-l}BVNxK4b4JKV?miFVPgkn9agA88a#l;iDB*TCDfybDd19(FsFEf?cX zsz_%0byIU=Hi-b=e_44k`N^d zsp@~ zcC5p->ruzLu1!I9ssG~=SzkohUlI1O<2wEF*FV|mFY4sanE;TkG;EoOjjnc0#Ox}s zU?>`3XoVst+SDZ)yeS$8%kI3P8xBicyg?hnL7n758{mNi(_x6%$=mXU%){eEDK-o<;U;>3h|-~g+=u=O)bKLNo1n<>;d;qC%bB@4V4HD`^Aysut{7h z_(aZ0jIS@GDs7Nzli*9{Fo{Fji@gZ(ZKRJwevZCwWaV;+Sk$SNLJdZAB*2^j#fnLo z7y{UUO#q`V>gul(yZC}3)JtyIQ7g94F4_^Y{vj?v1Vlp39@Pm)?9oVaq#toa z8_K~SabzxPNzxvOZ4k24*v1T-q#^ynA!R}jy9R&iC#eK+STac}VsFzb(hwuM{jaytpG6WGK>>JEbHoT6$=n2MX?hZCF)FpBJA%KX_6CP zfhYeV|B5ohit-<75*O`i*ph)4BQWl;Nt*&|0_U#UmZjQu$l7QO1hqjP)M=fX(HV`( z@GgrY(5=k0BRTL%v|a<>plq~oaGxrMHh80CW($ruWgq|E!7mx*__oWaK` zV{s{+iLTOa!r-6EuMo z<&PBclss8c6L3;J$xah8(NEK}02!hv^N-kGAwJEHu8yt&Uuc*d@Ff8>8s^Th;^kd9 z&>ITW8?J@2*2x*ysU5}5LC?)-icC8EL^yg!wYmh0a>IAF#I+)dw_FCf7Q!!U>Qq}W z+7de%Ki3_n!XO};?Fv>4p9A66mxPBFcwciabt0k71i?}IH404 z0T$R47LgKV50KcPQrQ~tWl1Qok^uq%G=~6`EA?*1#AVyUK_0~Nu|)MBR*(gWHfiQ8 zP}oQ~!m%4Cqg8)rcs7Gd*l1>orXc>Pri$=X`-OgfwH*)hFx?^Oh$wW1Xq{>-SrzL> z*(JZ&c1P4DoS^kT!714SRB|?m0&VET^z&~2Pi&j=hWuL0Mti6pm1S8(O+}{VG|>V% zjp{3qbJCDAE4nJHxN4UO_HrlJt6HgUaw(U(3fn*=zm_3LijGA7;TgJtBKU@3ooW5V zuIide?9Q+0{^30B^mYSvV@okS83Is8_9zQgWX1DhgO^cWK|Eg}|7;;C8C5=8cG;qG zQgx96xVd?~K!A@5(|L#vbMYd4I(-oEyc;)ygk8(cKE*OR_81jlC z+zy6FDB85Cdad_AH*-_}Asj$(+bBXod#tjK3h_==ixGxCd#7 z_S}llK^?Tv{#Pq}OjupS8Ci5x!^(gg%SZ}WOoQZv(`DLpC|v@J?kI4V83Gzk;lzL$ zm;>t+0Be|o`4=Mxn?U$-@HVjjmf`NaX}_L0g@J@QX({Nq6x4DlMDR67zFCO-Yn%nl z8qBnu`KDSAhy2X+oSmgdx?vfzMV@u^oXvR|q5+@Hxku<(zkp@{ z8s~E2Pfl_2cDHkk8HMbAcX)Ra0R5DrFFJUS*HGnndFN9;=_(i)LZp)c762J~16iAF zmV+6haI@DN#-V4mVH~!Nk%>rXRasv|S&~bNX54aM#8EDRXQ*eDGD;>mJb7o>L%Z&G zr<1VIlF;xh3mj58l?RwbhX^Gb>&7-yZ5Mcf-PVD{8k~-q*^Jo|FNcD$$%BRIgM~3~ zP|UARL2@WUg9D2eBA9Rg#7P^Tfrm)Muh}KXP7vF|Dyy@)a-$_KW(1uUi|8%~!HB7t zBwMm6_!2p&7A8BhB^$vs8?7^Yzzj^mEQdNPECHD*Vx7*!;M%|dnj(I(P6hS;#Q0-J zR%1BF%S8G!l0R4AP0Hm)gxgwZh z_;iDWh=MuKnRHyjX3cO0 z=hO~|)&%;BsYw&Bn1c*#wEtlk)Jp0EHU2KaC;#s}YnMIM*iNI)w?$TD1$AU6x==To zB9Jn9<+!++SGg}tkJFrmN*a)}nAt$sW(^s^T83}1Te&+&U~$M$>mTV6siXFWuLtyRUC zEt;X(a-e}0H2f4Sl_4BUk{rtWi#?>mdZvp zJsK8lL63t07Lt3ejt#{4xTM*9gLRPM5JACl-UDU zZ-C^Rj(M&x*lr)Zo8XRNRd=m#{lt1b+B8Vm?OJuG0hmPBa@0PvsXm<@C$lTt5^cQ3 z)w;6(H#nTqx;oiC*OTtsQycKp-PW2e-I>n)bWQ9Edg=OoV)wm@rSARY59<^V*n|m% z7U!*^Nn$C#-=8k>$qwFQ(K|UY>&))g2pa5Sad{2CqtWidN+^1VLBt|H&1+weqcYdy;Dk(ygqbfI4L4H?~0Q zo`TDJdWL6s6&y(UyK$PwZkp3i&>Ko{+b9cNM=)93Wm%c!gqhueZ|IwDNSHDBDglC6 zGHAD^6}*KI+Nos!7$!sb5Ee0n#E3zwSaBM$e;PG%+-UJ%!G9k$M(aq-;6sA92nxLa z^)T8knJ*(wM2IutDOjg+{yRldT^c2veI7QyNl#?jJOR$_;eTwzgKU+{u zZT;s8t1DAlU4eyqcC1;mw_IIv74~gdw{35c4coNs-MVo3nk9M5)>o3Q1lzK;cI&NS zT4BN*mMj_M$dr@WN*2sAzcc3?tI<9b>O52{r3(#$#>cJ{oCg~yuN+<^xZRm z@7}-k_xiE#XFmQvee=J6-xeM}$!*%PXa9%KbofZ;PJ!?oD33h<$Rmz|>1dPx&OhS( z6HbKQh!fjC-dM9Cht~XK%{10nqs>XyL}Ow~K~3{fN*49R&_@4E^kPuAR7H|RjcLUY zP8%WQ)Q&*{Ib>8g33kRdotfT4kvvkwM|u7+NHuRh3p; zJtbIMP$dS}Tc()8=2~vSmDVkbz%}PTaDt_#TTG5+3!HWZDw0}!)m4{`NHR&1VTuhi z3^CD2I?O-LI1>$~nxcqlG|8X{>Ob9B6Ap#xR5(sJ;f&@DX{>gWYB=(&I%}=zB;WQM^bq9*f(E!=hdhGUbpM5mtMB? zk>_2t)$X&+JN#*v-8;@63l2%e!lPV-^7NYPKM|H%DoNqQ#^HtnlT>1eA4U^mO4g)C za7iHDG7*apaRgJ44Iz2sMoiv_6D%DEcB4p4GV0|iVZj0w%8dSlGF&Yi7Su{;rI_!Q29(0T0lxE)K8Zx&vWYxIN;;pIPN%fmS0XCb@58e-8-Cn9_{Awf=+tp+@-7kU4G?`_g#7Pxn3T* z8A$Is;VkD(g!@wXFNXel=uI@<;BByoB7&Gq!Ypg{d48_I*+_D%TArS@u6YzjJ5e(&zbXIZqa-vRq?k!=9nnsxHZZ}v+Og#;6zJD zE7MfI*Cnd-L?rez)6*I?CN)u|QErk`TH1G~Ijse28*CHR&O#Wuq)mQsf>WRZ)tIJ% zj7h^7S!3b`6G_?aMAjJ9-t<!owXyG?qJ#1+Qqm3tsQqobTf0 zEO2bjbEc~zcQzNTXkF2YK~dLsz5^cp)b4e!%NBXcsJhz!p$lFA;7_~0NRoFg%N_rK zhw$j74O#h1RsYIRYy|ea=6$GO(nHZS3~3P;U8Exg2?>x`1Q=+DuOT5r$YDqpl&9G* zYILfKS@w5{MSO{BStHCpIB^M1{H17B$=R6JlEF)Gt!S>apZ_N4KbGZ;DLw&=E2Z+k zFJ*}*aluNOwkDRRnMIRo>6%=m=86n{t!Qn6izuzhrmtm9E^jkS3HkKB!ptQwUjZ4U z0^^X!&}|x@LJQ=>}=dBb}$2#Hz9?0rvvycd&F0yN&og=7!+EvBtDD;h{ z8)#7YlRJglr(D;$-9*)RAB*OvjRc(*6MaXZ0x4+!r25jvb^aKz4gF1!(*qG_?&i)( zp@eR9YsgCsG9!i<#4!vJieYwiNpki@nQiftTgvpcn>}-xcLGaOvpGLk1~Yz7rK&Ff zu?Sd*@_!SQWhRTZRksE3ZIfi6RtT7*Q!wd)VIj<4&Qvw7sVy;Si6%AQa?NN~a}h{# zs$S*i*R*`iD}JJx$V5iY!=O_!mmx`v?Dh{7J&$k1(bqWAagJLVPeBKwBY=(=AZYz( zJEI$|7Zr*+h9Z<&616C{S_>X*)lQ)pjV&0#s2_8!5j^3kUAo-ppDsRYxYwbhau(Dp zfBi8weT=7uKGZ7Mxb&qbK~ZYhDH3)Xgq<+|nHVJ}Cb#byhEYHLX<^ukC&Wz9PE;$4 zCg$f?z_RJ7S;eYZIPtZnCRLOuTSQpR2Vks9RH`X#Oiv~vKqa}&ZJOjtUje%n^wt$m z@uL%-F6>moH1(Qzr5ayF`QQJ3FerlhimW zZ&pJIVWP<|toS7wk{x{=`(+YG7^#x~+cpA}iVTIUZ>wdR1SnM`FVn%=>@%FM7Pbna zny(tfrmLgr$qS3})XKbY)TRl+!+e*gFTNW|uyGQOtg0KBy{tTpN0QDKu|WNV7Czd= zxi6~Ai$ne`ks)g2B-7S*=4x_nx$Ro&cx9j5X_Ou}cZ>(bQ%-En-1u+cYq=gR+>t{mzuO3c}r17iD9En(~ zB*8DPvFhU^6u;DlSwk$Q;u`x!Hm-mkjD9#d#RG z1l<;}Fa^UAQ<$N@0_a;=OV4@#+TG1Wmfwbq1~#s)x8l_E9K-p?ImA5Dbtt=7pncXm z){&ifAhdJVruLB4h3#s?eA`dvZIWkO<=Db*T-s*ix^9CZ zzOd9B>fpsxWNA1ez3J^ku!7a8Zso%Wc^w`<>?{$B701v5=FMF@)!avlc@M|gzhLkL0fg#QqQByofwaTB{oBQxT1Kaz4Jp>h)C7q9LtqvBq4~L0XRMNg*tg@jZXg-^H$PsoJkIE93;gi^*tw75ez|w3}J>O;SAOgkYuQ4HdI43wCHSr=9mgeAubAnTwx*q|Mksu%i~>8PPBi=j~1mui4yoK{v6rF)Tb9VI#` znu00IKtnFNndv}m>L;4QN~}SFY@fNTL4i*Sb!_a{tje0Bji`Q7%e2P|n%VmQn+LK_ zT{}ekG%qgctz!F~{H1fA%aWSsb%UqqCy*gEwwI|8UiSH@)3 zHf{cDrJ6`u%4uAJ6Arln8a(7LmsOkBaWJ6b5oMWYeT5h^BTj9DC){XPvlos@2xywR zVK~yDoXV+92%#%mj-2p>L^GHedZFhym>Ei#gIQomGqXwd5)(mF0%21&Wrin0h84M) zr)fOE3ZzB*qom2BIy$4yTcbY;q%}&tHR>Q(Yqd|Sep(A4Tl+itG>O6~MB!Stm8iCu zQ;FuQP*XW9a%!caQU)p=z3w`Fk(N7y0%ElF01$q_4i zvns@KW0h5#g>;4~QD)j$9nE>6+qK z8dWDTzN;t_wMzI{RF`mri@?DlH+qF3s!IosSoK~arU^utsSZm2gi^@5qw2z{`oh;S zyDv-2Fl?AlXct8COJIm(^tchpSDC&GQ<6f40ck1kbdWEaka}~x#3s!~9Hc$^tI=!C z*gVNXdzz{ln^|YXMT&k!%DmUBtej<%U;K!M^N5d_lI_gShU1$HBCcO{ImrUY=UZIQ zk(`aFAjPsQ&~d(Vs+{`Fp6~~+=J|<)?7w50lVVzb(l)o|X?XCqAX?XTpn(mbQGRX+ zYmSnGMOS3HhSJI?ciwA=7N5 z+#W40E}IPwy2_l!?- z>c$7X$Asr@=~~clY_{>LW$gmE3>{pn^+pa|PynmY6g`u0jAOS6E21IVp)n2{4Q#;Z zj}9>m!O%h#tc(mN(}dwa@>7G3wipjVR&>=~7FN@Vv4hjJHFpB4r~AUS+>Yw_(<}_L z42o4CwwHDxK3?H_&gX?S6(hhKSu(T?ce4!3?0uJFDFaEoHH483`ON2y-foDH>D{Z( zEGitG#FnL5m!(;*DYeV0Sq{>~q^ZTbIZ`+#4*<^ph6yBE&;l)$VCLX&o6rj-Z4g+%4#jR=+EIx-z~>pi?#7;92H+Rnby~^dr&)EL5)_ib zpCbJaE=@CzVpyIGjU=&jrbJGa;?jY!eGf(wng9wk9ZkKBCu(CgpxU9e`?|2ZvZK`8 z{N-P(=U);f-P%?u8`0%8m2&)O%-M}1+YKU^B9Lc(k>rPw;jK4qzL^-Ak#o-8Fq)9j zU_*GWnZ--QIRvaagouvonyu-$tch8T*uX_Q4qW$jUYBFK8Q>(59B*w>{>&`L^|oNP z;87_Z#3C>M3}zt}6pO8%U^XoBhRARvWc~sFfzXyNA|BDE1?!`89W)s&0c|;fy&!Kr z9IK)mqH=Y<2sklb<4Lx25L7ATlhO)Bai&aHI|t;8VY#!=SJX~cpx_FcK-1d3%3DDe zBfTdf+p5RCvb3vh6SN4S#GtJdd@x7d#ZKKgi?b=pkCyVonBv2k0^Z3ikX7yP1BsCV zzYJ?0@B~lrLX7YmX(=sAelV8R;>Xc13K~M&FR5}XtKzt+Qk#N99JVRR812aPwCKgg z=wJ8NdW~F`{?GJG$1Pv11iRqL32)3%(dijdozApimadH5$E=a z_3T+B^>z3J+PR^XQ-_Ac&U}KAb2T3S49D)$$$lMH1C4-|?QZ$?UvqPTLG80pD7P>R z*SAVF&Gu~XO+rByUSSF~EqkY0?uDtcqWUGFWIu=2N>ovgD_1EddL2Lx@5P?X&PRqm zT$wBC!)cz~0?DHNK9HFrya9hHn17K2xuRrvH+(kqoKlL`*6;bVI5_ zY^Bn5j@;3aT$`%7@#S~>s;T?5Y4SJ5nx%-|ymnqBm)MUyA4AknY#CZ!-IrFAhzh)?f}pAzG%J#edi>@|Mu@h>$G zMpxagjqml_LN|jJM#_l_5T463eNKYMLpT4?jdv#HP5? z$i=0~;%b?vwwlVPt)2oaD`Iv`DlD*~F{{OY&Vnm2YufUrFT4VC(lNaN>js;;;=)ES z?xyqx8^f@y%do*3TTG+NAe$_^&#b#lG|WDW4z+U#>luPc=-TplEAJ{x=v(3$_tL{3=B$JFw?!e0^8TL5k)V%UAvSk?d{wcLof);8o zzJEAb&=pP!0_7k7Q1GkuKKu}}H9uM_LP#M3gB7+RLNu9hBUdS$kfaAiO6eb1G>X=w zRx@fy6BfAwtH&NQ%2vc0XNo379(VUIufFiOeQf)-pbA&bmDJM965EpQQ61GK1Eku*t(qi01* zR>F-e^k`ZCXP3)cBfGo8kt?O{jfvZFKb#3F#cg~yEE?~vmtC)lGM6dF%ko_Fj6nCX z+o*yp%PN5fp6k1Ayisf6ZlytSe4GI#zqdpg_4#F=`|K08(=t*Mw59iK z%rV3y>lpt`*9~2xVW7wsp0b73wq~k~h-V-OoX>lJqo9mf1XgHU8$vjti3^%dJ{NIS z2V2#Uv&9E)DM?A;I^q#$0S+X8>zmG=rM7dCD=Ar7N>+4)qi~4@UR60)RN%!E7I6!4 z-Aar9=bRA~&;`YRLh_tgd}56rd1WeI`Ij^Pbw$;+rATw}O6;~sMeh`;Y7mPCHfA>$ zwnWTIuB*#;q(&HyfysCvbIiylQ!qr!$ z9QjB`=EgblP|ay#<1^Ca(T~)jPGrvUv^qLwOB;*YmMVsks{v<#tNauLMtq8)cL9Tk>gZh@jyItsnC;S_Q8sxXWjbvF&u?mT7G%p!J zg(=#!;uL9U6~w8_UhE3jxWpAYVsHyZn(Gk~E%#0#m98v8l8TW8mbujZDzBnUme_uo5sqABLdk^C3LP{O zXGZgwZS9CN5eF5m*sw;xfeJYNs+4_I#fpscp}guoptJz}gEUPwaHTo!>N zMBo*!up{fb5e=6^m2eeSuzLlk6Z?82Z?TA+NO2eE0LnPVg~f6(qGwd9S(a`PDRXI| zXXuLPzt3sz#TmgyK_PY}gGOyi7$fDBEQXkANOZe({0D8v0S!Z*1If0TUdx)MJ)PoK z9^YuwCqH>e>~vBycqH0Maf-dwsHRcxb05*R3>>6Exih!ftsjqkKTFB~R)5Dc45r3` zv8fdlMdeLK0MlEORJO+!1CeEWi216pYOq!YQB^?_)XQIuP(fZD=7Pv-R2CLRcdXalB$#5m9!A*uz@ZTazWrRD2Yb$KG&> z^!yQ8)|D3Slu_9=K4t72hT2SF>e*9r%tW(0j_7?7$w=0twsA{b=V7LPpefmsl~!BJ zbP|y&(+DN67bichMl_^}?w;86JnQK6GI$IwA1j5Jpt_bzb;J~S^HQ;BBm=1$>2okR z6-%hDr#`ESV0~;EUxVZdzO`IXuGq%5_{6QOc5~G<1^m_&LP*sAqgI1551inZgXAg^ zh7qb`bhvZX({MR7HLja@A{-utEbCm3VaJI>9EF8nL`r&)e66D!w)p4CfGmtPQezY^ zJB`3|w(q>o9U|us8~@fHVk-6KD-ZX|OQZ5;>IbPq<}r`;L$cC@`!qRKuie%26K#Ow z_mTcldTP(ilMBhoYtLEiLVY9DI0iA)Vg#u*QSa5zvmEiPMag1X*DFTKhLl##FlReH@x@o}gR**VH6mMuL`BVA1v+@g7D| z#Bl5z1Lsn98)J4RfAXRkRd<%PEvZAIqqeJzC(|i%%ahW;qd?L-KK16izp)7m{AHZ;lUD#akl=!x=ksMra~o9Q6TY{g$CNZSV6Q|Nt@Jr75u=67i9j@dLgmlG~H_}HTZ{^YdItowIYm=#gUgB84<+UCgJ0ey9yVcNDrW> zku0>PbLl?BdYmS_mtAW$C=xbaV>%x(5vk}t>m!S&SdoM)3ok^AF*3hA!!e|qnoN0% ziU~V{YpwcoEo{TTkx{ZKv#8J*w~WHF=+Oo_qb+d%v%3Y98GD<=>amX7dJZ(Po_wR9 z-zu_@$_V%aL}>$zEWs4XOF#0WI!$3JQaK=n7&Ohph*yA*gs>Hj%cWMyB?Q@(`EoQ> zxrnXOAQ;*RV~LNEP%Dj4p=HXnk%&2txIIFU#uX|;2Kc&xP_uHk*$%5<#Vdudl7mp5*n%@21`1ed&46tOfS?NTl2#3^T!qgNbf*4 zf=sqMoRYE#udmaH)3TCkdyFi}qwoSmsL`Kn!-$LOj?&Ddb4Wbxz@NAaDb7eUHj}&0 z5Xm)rzyoX=b(2KwkUL5#GU@;-;UO}P8JW*UnX+73sMz(S*i~!4xfX1$Lt0Y7#q&rK;*(Pmd zJ{(EMam)#s*ol|W2^86ht1!p?Q>wnjjar#7DUFLR*Ul zm{82_3$!Lew#ppH$V087m^Rk2O!K3*?wKfTh@P=4GRJ@|r?E0TTExfTqc{UNp&CRc z1CEefnKFr!*^HC~tc>pQqboDS0dz?K3>iU;nrbt@s41=R8ZBni9IQjXO#w9X=+d8j zDg{cFRq0M#q!lyW&KH~&4>1U*Ov=;~kOxd|l#&=N6s57aZ$SP{lvF`I*MN?K`C?NkV-w8c2RFAy>z2nw8N60q6ph?x5b zY8*ARA_O49iJmY}AkqmCDNvtCr*p&!r^*R*ovCk1ft)tZ`u~p;rv7sfNjd@Xs9J@hO+DfrM?MPDV za?+Trzx+wO(Ns5m^CP2y){ml|CbKRyu`=tLvPoGoB%`S45j#>!&MAd9s!6u8aHD{X zHdG>yp!Cx8U@rv%j-{N}?VJz#D#}S)kOK)Jx2Yhxxk|XY(`Rv5JXN`A?8;>{F#fz$ zYzmc+&D@X`P@Qn9j{V%N`B;&K)B!Ef<$FHn>oCo!LaZ=4<6}d@MA?)5PrNkQx=d9# zjM>m(&Z4NA64gnc@Ex|GTY+)5xqwo-HO`UoR;C5Jw0(@L{WsD~&DRnt;JC8oiB>5S zNh47`#xiWG8v%C5cR*h;&ii*kjD^6$=SMPA6RZO-rQn>NLhNtSY<^+|0I1h}N zh4WaCS$Ks8vd&mRQ|+X|Gi5YZAx60|+y*8P!vzTdn7IN6GyghWJ*aX$w z0!@z)rioi{Dx25|5hmf21)%47vsY#A^N`LOA4EPL!kK2yzH}= zpjpzv5vnW9@$(lD0&Lbtp{||Mtt9g{wo{rsGBRwNE$x6URFqOXR5*qEj%lFZVpWm=nu|4Yiyw(9ZSP z6JF&JHsOvvWMNq0%ne=~ zrqW-V7&KFv&Uhu$?R1YC1i48Lp|b%dVPRlmQLEMq90T)YP_sQeZCH{3krVDecDp zsk_!YjL5dzh-2Wo(f>nD+TyNnM&501+o+iaxh*X@#D+me*M$pR{B2hQk~l)6&iBAY z_=4m(4XX!UkbwlF#ojxEI zeyYvwT!~m^TLxL$Eo%BS>T?RdZHkHw#Ye;{Rk&ohd0E$}9_FBsYQj9?d16EIlTs4@ zE!Tr2UVd6X?KtmDX~{!UTD3lt`@7?#mAvQ)vTva8_yZX(R>>zbyhn*+kW3zHtunE7 zp5>7(Ek@S!CZ%uHW6Aptg-*YO!#cRNU;9OohO>z-Js{}}2F+d$zs=4w?T*1cZMnJR z1)kH>rc+Bxp#x(k-BUu5u*Qa^##Elre~4wA9)?)H@d-6uo{)%J0P^J!*+bsxop|97 z-dv1zA`?kI=JrOsEXUdf7pBN=L+#;mr0S+XS$^!bU5h8A0v*XTNC>w>J5+4R8)qoB zo_-#?v?XWCNLwfYJ88>RY=DLq6`r@=;&9_A{rVq#v`o8udHoC&~eAm8a*0QM3QhM(r~jF@R${@_Da<%ylX-k)=4zi$DHrAdnqhPFpHfv!9O6EIY*k|u(X2*4%50c};?-yinQ?y66{QR{C+9~; zR?q~vFrL4o{pPiX8f?wy=ZT&HEcCcLq&90-%2+a_;Wo!`MEo8Zdq=H(kMyhiW5~`k zg)UKY@1G0b8m)Pyi5;ji}|D@b#atODr#HCz|#^ zomt%9Arr`0Kc~_ZG!Vp?AwaD6iH@A-O}zV@~^xny2Cp z=cGLU&D(#N&duZ7>pWo3p5#Sv`HuspQ%`YX)SwhP#!2nM(&sYn09omU9UILa2H1n z9sg1N;pvu%?<>qUJT@_J`&8t7hk@0cbjWcNQUqWmQ zu|fRi?c20}-x^+YDDWb}asU278+dNy#*ZK64g4pMHG(wjH$M^<|O8P>Z2rXVq=-;Brgf2g} zoLTcfHH*|>-fR-IWmC0Gp+#)Dljl%3TlrVufEqC+P&eOnqtHPPrgY9X1PrItxv+GW>Va(Ow|M|%-M*I^_pjf5rMloE(0k#y2b zDvcykyYa4MqDV9H=+lHL{S=fyMJecCRYf8t6|z?m>=ahRK$)JETv7RtS5(e2j4QU3 zb@5rVd}N9%9)~$*$a0|xN@kS2*(PJ4EW*lSEx*iWWG^39SzeO`7TTYEW~K(8f0{%H zXryJf)+I*&bIB=3AN`TiOeY<+DM{CIN!7Lg{ByO{TVIX!YPEnJw%E6XU0bEK^rk7< zYY(Sr+RJs?8>hXwz38Z;7AKwF;90reN9Vb>9(~T_8V!9-IwRFT@Xe=RvC01TUw#cH z)ga}|HZ@?2FTJF0i$(Q^%|u(xloU1$s>_f?C8oZvjykd=uSw|&q>W4~K`Y@;JdLBf zzYtyf(t##fbrn)YhVI`}A5F#Z-%L^I)mR*Jr50M$vo(t=Wxi#ym~!bw7a^=1LWm-Y zlwbazpj<}DWsCJ?bNn*PY!Y9A*Wq z1tkbJ4vMW&x|xMAIQFo=NhKNo-KYvS8gxge1koV_E05nCwjCFulUCwcr{LVfpC5)3 zB9yyaIIA*^d*bt+LK>12gD8+6^=?8d!X3J7qKy){}NBs2+$gm{M( zk8q1y?*bANiRYiCEH88nOOHs&gS_Vj!y$Q;7+8vfC63twW3ONfO}9r=lbMVYgy6&? z3BkyJVDck&u!9`z5J^bNVGsW}svPo=2S;Kus)xWN&-_xSVd7~}KVxMomC7^yf##L6 zw53?bT2@?^HLYr0t5|D^)>z&$uDZn9DUj()uiZ6kdiB~~qZu|0LW-}63RROn(v4?y zqZ{J*M`Fd1*a0~s9oA6)Y&Wctj&AU0af<^BmBQj#hk@2%QBqHovcfQM=4UG0j3*F- zh?F5Mafuh|XHR}KMuwcjTqkOYJmldHd8{M2;217(i)-BA{?@m>ZArU!GNFtNrK3sF zVTN{S66D=6yNjzMcNrFp_be`@cpRx7hw%#OS=L*As=^s4(2O}wQ2uhqU z4~ih_KjiQaJN$R3MU_KQ1x!={6F8DfO)6A7NyWr$fV+<3zT+L+i1Rz_Vds6^+0J&ZGo9yL+~8`%9X1K$IiS(6rff(^rt8pZlQJ;H z-LcG?ol;n+l-;h}>bsu}29~-qi&vE8)1aOyD_+q(P?#E#pg@@->|04W?DxO{PQyQF zO>2|bfeT#t2(5Sh-~Sf1zeI&3B?*x}NhzOo%w;={S5hAym|B?4~GJ+`<;Oz<3||$j6v^Jj`H`lEcK@ zl_{ZIvs<}mx6BC8amWMaC~?P|{~_mX;CvrC*9Xt_aSxvZz32MSInHtZ4&tsOxwiY4 z6h}vq*D9Kc)@>e{tFDzPSvo9PiJmipL1{{F`lX!C(w1f_YPO(yE}Wn*Ck~+qT-!kr zeUL*XhWg)Kr-2K3-#Zs_z4w1if$#s=wXSnb)C7Oz5RP2DBaA&6#S3#XdcZ2QA-vQ< zDK+!b=C+52*?DwhHQk~I{aQZ%kItLE+uJt6 zQq)JrFU%^LrEeaW(hZX_4X9K^blnJtN8|wynuFsbH{W?b`oRx={KNnKgFgV^{}mtr z_TSIp**56kaQ#ElG1NJD!#Gp~K7GVJRb4cc9GG<+SahHVc3fF}$4iZ%$Ay~3Sj_fx ziCVCNTeyWGfkGnfluuRC9z2p!;UIwxRo@jJ7Zg?Bg@NJe+7Rj;4-TOn1Yr<Y?eOp6Yqtwi!c;{X-zi-akBpHQXLOv_n4d9z8H(BmP4@ z;6w2#-#k>}@J(VS;sZQnq9y7c?uo-8F2i#~6Zv7yqQKHEoI;|MpZ4v>Djto*ZJ#Wb zANg4vSE!tJMFTM`$&yS%^mT(bghM)rOFFm%CdL^9>fAltL;n?E074@Ge#A2(U_a>G zKj56rLvjgYIE2GActel9U!*-nq_u~`^ic!l4(YUboSL>>0yS!qPJwqBxWTKFmWs)Pp_bgPqkwJj8?WDWCGKMORLu zJKP^UkY!nxWmkU0BnF%~ux0HD2db!;^$~+u&E+b-k}5KaEh4BDli;A_V6m80X6z zXP*?LNbZdKFz2;Fr$S2SbMg$%P{wg$XLeRb&b-f`RK`crWKFW^*}qJi|wD13LUeJ`AXx{ewOHLp&rXKE%Uk zf`cYvB0hAZSl%CS!9&db16fAsBzj`Nm4h|>Co!m)Yr>LYxUyb|R{wYUgz#s&QWDpi)MpLTaE! zYNJ|eV9?8?F{`NiVWEYPCFV)x;!D&8#AL=B!M4byC2 z_u=XG;c3y*sm~T|(kkuJDlMNDYSM(Nrhck=lBzUR?M;fR)LLyFnuOKfq%_Q-r=BM= z;3U{)E!Tpr)vn>zcB-q=WZI75t9sZRqUU|y>QEX(HlPDH7;8INB~>D5Rt{@CfMx!v zghx!MgeKQY;6%*D#5cf0OE3gHz#Lfu+$JvBKa_(wNP|<>C@pyFsd!kBR;;*!>*+4T zyN)Zxa%{YkX2sUtjxK{Xz;5(Otd=Gp^2LLJe#Dd-Ad?#4{{aT??+V}nS|&4IqrzUI z@tH(6{6i@A>LJ!!w`MH8VQi3MFX(n_w}P&?*4{^u?y0yX=%%RYx)qwb)h(zPi?x+2 zm8`bC()zNm`?_yhwb=ZoBKgVHD(+HRsUpoD(9$5S(%fg+qAJ$1tuR?_r+#hNnyOI# zL#IjuGMK7KN-)`mY8`H^0*9dkE5oTq@Z6TI0^e#&(xg+012^P@K3wI2R%L=_-7w_*5AV2tDmB!gt zE+3J7L^iM`#Omvhc5c4@C+$k?AR8j}#;zd->3`PV^pfruk1kxA#ErU=xRq!mYp;i? zsETT`0*Pq2n&{_}YmL@uiJmFCma@sRTcWUNE5oHKx~7c25{<6dT17CbhN0AIa0TCF zrbe&=k7_VS@Ti)q*%mVcNALnWa5B5C1Y@m95OdnPs@1yfEz_i@k^?#{VzBC&J!EA( z)Wd^1D9v?aZ#}L{sKh~i1W%;I7+uIWz_Wz#3qhbnI!GnImBTM<@AsO7#F|9vlJV(@ zC_jfT=wh+N62l?VfA?!!k z132F^JZ$b-M0E5%gETntM>wTZdKe+o8x+g56E`xwac{l-=YLWx_onVY!}KX{FDZlX zQ6sfbk1WcbDC({2x{|W!8a20V@+1$F$zF9URW*rLaw~CaseW+S`Z5BO>M;MZN>}h% zC$j`6GXjS-FNg3ix9tK$a5Aej*7~vp*J`b{bgq16d!_bWf*lAxm-hPH#UaH0|m%KyNYl(yr~|>obV4 zAs-*V(nAbW=|4;+@p5#*#&I0Kv2E8j|AKbrB?4JKn<`sM!(w%AKd&=PJEcx*aZEpV zOrIVh_cU`Ka&It$(>&A}f{wKR z@phLRtiS^A|FHuB`nE~f!#fBc|B&e(TW;=RX{o+KuWM_n^u{#3d9D^SckPjJb8E4W z7P4oHcXq=x6nA$R;<<s;_qiOYj0euzq&!1M70xdYA-f>gU;Nt^4wS!>umMwWlWY zHgH2dtZ+Vn^M@<0a;-#f=}2#_I6TYNg+RlM+xWHXLNGJ~EZ8`=*EqLhLo>ueGiZD7 z{78sgD2Ga=@*U!)TkoAmtRZ_Y6jOIh({5Qm?|&w@G-yL8egy8arN9B%Y}>;%>O)9- zw7?2)@P_$E+jhXJv4PTq|0m)e^A>j~E>`q*F7zI?YcDi)6M2!htxpsALie(1I3PM~w>KAep~TL) z6catqcOI~R>Zj)Q27hW=A0-6aI*mbaUS}$>cWtiE^)lmRfDiN6Ujs(x!-gj-H?Bj> z@s>wOu7uQxv_m#CFoQ)%dyF>&-g^Qw!~!$G0yF5sKNNnAAHKL>do!Gl6fp#og(ktx z!{#P;ba%HegM3WGd_Vg$Oo!re&w5&a1iy{`?p384|3focCT?@|!n1zDFDaGcnK%0z z^X79(KP*dUe5ilC|1U$g=hpk3dv4|Tv&sAXoSQ1A6FtmN`pLI#(l`Pl*uW1M6)nxV zKO=wBYq9o^`t^&wr|Wy?b^fRRXa0Hp$R|JYo2pal^7-qt)U!1QTXXWCUi|;JflIB} zpY?>-I$HyTG+NUB5&TyWVL@64rGdMbFQ2`5^yuMR2T$HOdGgME`*!Z1M~?@aeLDz^ z8M9{0{;6#C?`1Psy8gwYNwa3Gg9m9g)4B6yFl;50oimzFUOIU2@Xec7PTVtX0-r5= z_UzwPty-`|McD4XYX;ndi4IylRNL=JaOgFGAtMsbirq7rD5HvZ6RudTCluC(NQ#UI#8D`w!ed-v<}6uC8^Ubb;Gzmp<72 zD#2%^YqND8JM}_Z;G9dZjWzqg?K`Cz{B56M`-S!M<5%dPt@#A{@4o%A3otu^6y)Zb zcJi@nGRoEoCmeYW0tu#(NHVFJ4psU`mzO|{B_>!{x``CFXhK96U04LMMO}1~vBM6r z!RDKB#z{v=(eRT-oU|~rtem%;nujvUAk&MTehf=& zurCk$|5C6r8T)6Sf9$bGGRm;Ttg@#xL3J`{bX}gJBD(DFVO#Z3oo|Scx#S5?XF`DyaAg#FH}#d z>+`_|xE`daE*NEz7c=HTBu&9xoFs6EMWc43p%8?r}^Xd(`|#vVSP5 z|BSMVr^Kg9I?<|A*@R|WILd!G<5`-i&MHfqY!Ll!Jl>GC&(GPOYwe&*2&sdGC3fIK zIj5aVkkr_+vhP6CQWeeVM7N~x zd%zr1%#j20i!hVZeC(ilCZde4IG@ifGdVXa2P*b&&L*3K;LnDAbkJcR|NNyX|0hqQ zjaJ@N3hIt%xKlv95u_KVxWpp%P=_DXVGpoa&et5p9qlA7Ish6}r$Y6Nu@R&_huewT z+Jm-G1&LHhgPZccBS8M>>`|Q3o2(p#n?Gd*H@HDh@@7+=* zV;KN5jW((h7SzzOVE>>a9Xk^%aNH?~>!_HNnj$S}5%C}Kh=SbG(Ezt zRO6Y7&cLa`au%zCq{7>%VDp`J=I}kW0oam``452oP#VmF);!iRp=;%9TR)+RPC};( z*tH9FI1%GPQslZZk^&H@8)NHG7g0b=^oytS;*2;76B3yObCYvQRIEV^;pMR_tWnfd z@JOF&ZYDFdv=W?Th7Xsea*+o~lOwq&GBEixl8X6P2@@G&{Y#KPSm0A@*+c92hkJ(q7V@s z<3;PRTZTr|p;I&{B0MLrX3!2BI+|Ql#DSz35-N}1v7=am7Bsflv@+tLhafFu)96tI zAF5R3BHytlmE{Gf+52h8NCudb9psYRxa69SIvJ#r4@=R?jCqOJGL|7VV@FM-_!gN{ z_wILkkJ-mI=&=pQ-ANj!t>9yWG}*cp2{r$Ct7=@MtFzfk|FLZe6=$rulREJa9M>oa z|L8#wZt#yA%qobE^SM8C{DT|$WM7WU!7PHT<(wNFO;&6PwI%iOGZf^olxfpW)C_x>v}i`PaI%ccqW52xDH6Z$-Nr%m zQD6C*I;erU2T$LtCY3ER!K!pwX3B>pm<5h{48m( z+brIhw4?Ae9wbAJJs+-jyepWHa4Pee)Y(dD1y&U~3h!U`RM>#Sk&bYTorAlR;sUo0g$Vhc>73`0XB@a%^zCg~2b1SUS9heGhjp#7-909(kJU8` zTEIKtroimH^jPmZ;_;65y80j6F!n(_cIxXLgue6r3tzs6Ust=A=tk{zn{GO5m#OlQ zhQvoa#-84PNQ>-gANzWPjr6K7{p$9hM-XkgZ~S;rY2zG^g1QN%ooDc2fU3_nNwbq6 z^AGX+qtoGMeZOwAPu)qs#*I0%jeH)~XFr~N|2ckK?r}dWA@yFN==Z(zzWUv-P@?zF z%;Fk%Y6V~^y>eA>I9jZvly6`~OFFzUjiC(XAW=lK7mJJWlXslsz@2l*4^jv^IG@gR ze*W|SQHL==9}vu^^FKsx^4(eyiaKe=P`&{Tc|;F01&fV_N$U60n*Qu?aZAL?_p(nn zc)t@y)Bf?om+PVWWB%`v1cNX5Pp6d59@;CDdhNg>#On^i?2zj0%uDRR!H_1<0`b8D z6N&8J;UJ989+d9wb|PikK_A*-tUiNqEGV=7sy#9bKwfCZip6GJtjPGsXMBb;Vn)c` zO&Z4SuyPE@DDNPIP{+p22=n0wxgj5z|4_#cM>YV?^;)RO`U?K0&}sT=D_BKP^awWU zX-LW<#OA3zoWkKSC*ooO6&R`!z{t-wuDGDD`l62xny(I>Z~B~%`|9u@`0yX-pbZM4 z4XCdVo3HwwkI#gQEz|{ye8NV?!D1+*x&-Ft=qN1&Ch*K6awKME0)-xUjlGcW0ILq_ z>T8lfhI_EbFxY_~8bhb{4>DFJ>kdMbwvK#)PFmiBG34bg}t4(^Z-uWtlQG<*kpVtLK(>}1N+Gxw827vF&O{B z7yp4M*MTUZqn|7g9M(Y>jm{a5E*ghws30P>R%3;bB{y2^EKskozEK7F$M1dy@iv33 z*hd;-M)GuU2ssb*eykmR|E3-}12j1Uso>G`?1vwnunF5CoRS7^lt!79jDTY3g`Tb7 zT4>tZh9SM9(b~y9vT%9k;o*`Y7>-klT&E2$O5^Gv&-zd&W3mq0z$F0%B?IvwYBDEJrMb0;pU4t=KDK;v0z4Lghh1 zd9k0?ZW)6u*swB9R3>H0;c)<~F{dI(;w?|`ghtU~e@FvQY=$)42k~MIGk+||wk`AO zhe$n-9+>b4S%wMo|IvQFiXDH-O4_JmDx&Lz4yi8b9lmEQ(WL77ffZ4WD+AD{ zR<$oSMpTt9R6XzmFG-Qa&LZSN8zz(};qo8Gp|h;TF6F`ejAB@!;T&-F9CCFdd{GLz?cxqE97(De$42>sKN<^9Aah%tDhH1&2N&itq2mdSj565gNI4VoWGo#gj~#dL z@qVlxuAxc&|B*FaMoR0^e%j${n&XFP1E03EhjPaC28AG1s8#+0mu@JT=mR+CAx*oX z8;tWGP@zqKYb0k95VsE}Yf?I?(>wQ+P`|)V3H2ZN)MVR$WKVV`HMV7`6HrC2FNG2l1}w$TUAs& za4bVrzY?%k-Lfv-!6+ z`4o5w6$?x@P*ip&O4d(-*JFwIWUn(%pYP-l@y|xY#|<8pupXW?>Fn{x=rLb|46i_Ft&U|tcm;5t<4}&JPp%2E>}od( z{|GpRGd9CR9NGaL#9?BC!FIo>5iBaA;&f11_IOeDc>iH|lXqnS1q{AGWK|YrSJqC= zn2Y@iC*@G&E{-{M%jK|PXJ4jgBsI#IO)Y>Hrk=-*HZAB1Z0Oo6RHKn&yku3K4tw60 zANu0$L=aZf1Tb$EFE8X+H8fuocqj5jLquXELOGNH#VFv?SH}TEmSQO;=cdF5GE$UH z-hxIQGs^IzTW8Fv$SOy3kWTRA#>O=>4Wh+wkI zHLVCGOZx<^)ap4BgqrRSoCFIt{q1zE3^A+uAkaZGy5S{$!lEv2`v6gS|Dif}|6+K# z7-s)8RLr=Hsep~qxQ%yWj7gS_S$3dN_KoXc5NVbUM$Wf9$I!l^jpAZ7!s0zK@jd&v zdodML`Ki1(4V8MW==gJ}oK|Y3c9E~=RGH2IjSVmGVjBSSe%E0vETsI92pU4-lj+4I zpaF9{A{jy=jSLv4Z+ayDsiw)6fZ=v>2v~yC>%mlJGUyt!8kqAivWQS>ktsN^LN8oo)3bJ@tG~YV4!yb43^*@z5onF|8}4+`-{C8 zjV~J|_pm&xkIj@TB(NbIjJC;g!y4Q#!>`5$7uvNzktH`~W0yT>bg##8nWxAP7)|L$FEA{Oe!KIwro z3XaJN#*gKvj{!wu=C3^qDQ4C#V=gI8>XDHHQ~>?LxE+a+UKKEpktmN8yhQ6^yJaEm2fYU zsyid`UhLZtPt(6G2yd+2a%`D9lfiY+m{YS!DPuMHqg4LZYZ9~3ySea+rXaGxg=&*m z6jpC;>4KD|IZPLw)4>^nfx1Z^ZguDETsdR(qKKg4(IFji*aBy)&1d-I#k!hKGJU>3{qcTq2`i6Y zK@(qdP{!)jeikQ57l+pEEv*8tnjKxMFN@ZrzMF5e!z9aev7>&VTA> zUDk6c>#sgZy3lof#R$^6ZcQt z(4#~JmJ|0=;5?>3f6{A8kKVtk_3HhzC(z!$|E>S_-Mhz+-@meG)2cPA_H0{*`u6D) zxbL0aci`mx`*uzqv~S-8Hv88MmabT_1SgKA3#Y(Xhz=uS?0E6v#*7gkuH3j;uz#=! zGaL-d^EYhcQm6X|58gU@_VU?_o$uf+I%`Tv|Ej z|G+V)C+&Ff=h&e?=f=HyId15-U6Y0m{6BQ(lm8Qc9$k6#`M71%JybXS+|TCE=WYMC zz-+krH(yb?*|%G61xoYGZ~rX#4=oBtNK1ndHuTIh5Ypn{GrG-#PCC&9lNe15vGh+H zED@w)MGJkg1Qjp-Lj{ZrP2^BRP|PS}|3yB?xROHz`ACwDUo$O_2X7rbFNj^Spwae z7CZj@GZ$T7?PCvK>#QS>Ux0n{*I>;Ib{S_lF{Vo+lQz~^lnqt7*gvsEdDEqoIo23M zi7``JGsyrpO1JJX{{(kUvA;b>9YevP z$Bi`NB`57R4M|(hcjA?kPj&8aWnPsABrL6zd zBkOEjc?G9Hf7&Va)ODuSPe1x(P1m5{xU<(^d;J3qGv5^U*kQ34+(=@RVXDhb0zFB} zWH>eQWTpR58uwz2OlELqn%N{+X|MzX%QwkjgUvtPz>^NF^|WcLyyYH9xxBwBhn-T$ zW*6Kx)hYEXI>voI-m}{%bF6OSl`buM>~VM8wySy1${uQ`x@aEnK zZ@dmNWG{!xH29!`@x*&plWLX@Sv`d)^^uo2ma-)>F{MmG`$w75lr(|l zBP)@cjiA2brn%^;EmLC)o$PeAdt@zZb$N$7)^U!#B#If#XjC(pk(k3o$y1vW$W83l zDMT3TNlvm`+$hzzQ4JAqq!`3a_$Clo#DY=5Xw*Ma)eXJiBUTx_ih6#Nlwx`DI>_=O zvp6RZ^f+rd-&s#}k^`;NN$WW3`4xD$6Rp2y=mbsTa4;ZA;b8=+NJakPgB}sYASwz{M0(Hz zfnbb%JxGEMlF)-3S`Z6>cuEAL0>Nok1uI#xM+TV&r*iIt9sOVno<=CbI^oGJ>x5@N#uAr7t)oik z_)B1N(Wq4b?roh)n`7b@L{bRxNd^;$+6)SazA@y71sx&~M`h5>jEGYL`HW{!vl?kG zjUKjIAW<09Md$!aIbZamb5;sE$mEC10-TQUR+x>O$&=6W$5edHrEYSGESccVJ|Z%KM9%r~?#6?*Ka zC_Lj$WVN}?ZhjM-S&7Fu1NDw_-h&-ziKjY0ST)kFWu7MF8aVQqsIfIl7c{h}-s)yN zgXRs0b#P`uommIFE!3G|m78z-7S_BuNr?l^;Xk67jDMiUHLn4wJ=#%^X8}m1DBWD= zz9@||1;;q*DHb=Pl}7H=)LP~ND(!emz4wgw8tvf5wtgC)`O5b<#c||6t}2jgSQU{^ z^>1$c|NGSa8rZ1@W~%BK@>JE0hro!`O@0l`;BE;F6(s897_hKm@_Bfa5|PLfzTkuN z)u>19`^PQ?@>Y(uF9~>+UtIBuSB-svBq%D$DCzf0!j{NozsX5%Q?*wTT- zkz|pMi77!7+GW3)*+DsN8-ltTJ3-h^(|*uuCaeoMdZHI-5JrZa+DzT><`9Fr`G^WpaX{5<0to0lV zJ;9+49G^ovXI<-B;aS~#)AQ3kN~6AdL=ST2OCFrY*F9NXq<i%Vy&EO z50tRJ9^|0h7)yc@W*HGMsPC35MkX?4G!c``p$%V15=vO|l9vI{pii8JHt>-Z^l-^2 zNa<3Sc=i;0JWw1&qo%~^5s!-7r7nW{>{{RnPcN@iPaVhFJ@C>sXdp_4ri$$iiTGwW zJ5#s3by7nLQ3q1c!OlQ*lAHknz?l@n&Nay`L31t;%pgWE(1d0>ydgo5*2XH|Z5J4? zW1Qw-x^&v{4o$@yoZ|p>TDEiV9mCF$J^t!F=-Af3EU48-VpXgAW#p{)JL_D>|2@IH zPVlbhuAA`;yV$=uma!T1cVq9`sR(YzQk?M$q^l^`Lg7(W*>v+enpO)$i3Lh+FEnt|jior;#Q25|Buvy5;kDB z7I?(=V0XtoFgPBifM5ouc-9~y2Gb;2z!3(41tTT}|F8r+!XhZP z5N-8@AQmGX!w_>Ndb%VKIk1JTlmj`U5MfwL2thIlfp0f6Rmv zhl364pfvOF3_@{y&v1Op&>+Vr6vC$^0x=X>a!p%O6zd=k;P5kM5)WzD4jRV~*T;R> z7g{1@HI_IQ;b3vDX_4kUe=n$-!XEXsoKbL>o!%TXn zTR$X3q*6nLfeqbo4&e|E)pRQkC`N_X};2R|6E5$*Klcbw2jfy zN8q7$rnO6~I)p;2aZg2I4EXEKypaeN^ZWY-vRA6rZAcip3OC4h*@e?xm zMod70Z~p*?awunilM~ZWG(Yi&Fd37@*B~?b4?@u(eaMG8X${s;6dcl%Nf9gm5D&3o z5A3i`-1l)^rY9vd7Gbdu73U6KvrlLCC=_Kkh=5R}uya84bEGhTJ-18@Q3!D$mSXvS zGsj7Fc#F44BHZJD2=zD1Re;Tf4GLHr^AKK8wH$mYfoLQU|EY5P&2=)p+EL2LQ-N9MRXaOYH&$zMFEcf*z&j#Q7D`46R_8$sB2dAB;p z(hfus3)>S1bdZEr&<0NE5KLGQFLFKyNlFF@g}B6GaupF51CgsFkrU~KtwaS-P>~Zk zZtXK9Cu1XS$V&ooOejeZhn0U76$^_sK}og@e#jx@S$r3=8w*mNM?s!Jp&woJ4C$~X zk4O*i5D!T6aoMMd>U0+DKn?=oiSaOI+Q3?j!VIDT8J5xz1|w(kH*-P9J$0CSW7#B4 z(m%`;p=7xvV;KiLms`wK6980PbMqLY;TiuR4-hvG|Nml*eTh3Rx{QLk9t*Zc=Yc!Q zF)U`(U)2$q&Y>ROayr!WUb4d;;$b_rp=u5?A?>oHRK*|^b|X$IgarmKLRcW0`7Q{O zAjguL{}5k9p-G%HoBt4bPRJvqbcK|6c?8)bay3g&sD&Fj1F=K}as@KZ>4pEG1hrJB z6-jOsxmPP@G3rw!9^()sNf2-d67zO2w^&jCFbzycNj`a#^9alO+yQ zVR75g4*6gf?&M{obtnBm4wPs@(QzpHBp9V=7>+Spa`SSl*r12hKM7NZbkGJ1^AZ(m zZT)sg{a36Cnm1`9P_KXu(IAZQ@DnTQqRX+2|Ad5i4Ix#`u^rG-9otGsr?XT0B|Fym zVCFGi$l#dVfgT+wnYV+bh9obBbfq^k9_@my!jV?IRokD5I2yg0wDt)o2TPekpl6je%eYG z<8C*SJ}P@MC!(E%<&{qq4BB8O^iWAi@kj2$A5*tLMNtl860|@&v_dlv`2bSmWI~}e zCwcNt`iT}-gIfB)74C2ji9#4Dr$bKC7+Lv4HHWKX$#ZnDOk?{J!}<>jqoHWK5ia4Y z{pJ!CDxt&*e|AQYICJ26!qG0G6zV0h(09*+A` z4e=gr)T7j)cHB`L_hq?{Wk^d(IXYWug0z=eT1ZQ(vkX!p`I@DFln>cZgfuam(?$md z(IYsZ1HK7jrBno1AO*eYnSC@` zy~KG-BVj!E);%;AGlVe>(e-o;hfR)1CQgw}=c^`{l{8aUWlS>{_fT3~)^VlSQ@WFY&RrAn$BNenDm$_`^xydArdA$tSKsi!PvOA8TW>Jt$&LXyCAV`w#p z+nICPU@Ng<725QCQISp80W{ep6=mJfmgHUG&E=@deCl6`n`5BUHNt2KVP zAR3`zig4p*Pf~NNXp8>l5C8gX-IaAC`9x)ZU|Iqv%H3~b!wv86VE&UZ=@x_<&)x>BHS50CflvNSQ6~{DNF&kmw6%4^aXCWt?EWe&y7Wps_+VB_9&mhwY4AwXaIG9)s#GEoS=%1r-bB1$s1)JDrLxaAHd?q{{eLwxv8uTV~!4Og-zg#v#?4S?TqzzXK3(PPo zrsyPDSz9#6mcQ)PUTs(!8WItDNc^@E_|^snfg&ss61_^x5^Qb2+<*Az5Cq6L>5z8C z@*URVjG|+K|Id;;)Hp}gldga%m^~$#t7abYfgJxL*-8~I*MMr1%?|hVz zr{At+Dvt3aaHDfT^pzf}p+2`vFCm8xlS~cq-~|y9i>jy)9ul_fJz22U0o^3STA}#o ze{r1{|J{&H=s^#eqRI{Wpzf6P z*wv#H(l92-;m%`3Aey7j@BAgq(tMo#97PTkhiEwjvSbP(4iFL?L-pE6$mL(W(6#N* z0)Yci$h$@GZMK^OwwvZ@Y|*WR0}&xtW6bd#{n0%j=XfpyC?My1)#qXukt(KzNuZs# zM4Wo;$00EX!%8WiK@TTnLDVEcHErG#cNO-jSrs>wRu&eW)euBYeM~#wPdoKx(VzH` z7hm%a<>%j@B6F+!mENn>xX!?GJGXKOvkz`0rzD3P@#|(S%x0V64oV^kRcOiJ3`CI+ z|CJ3!-K8CxBk$C);@1*8IV$ed9v{?B?W#uE79?Mc&4B0e?jRo6T`KPJJLJsb*P3q?E;? zhvvb}=3Ceh6rBTVuJS4`k;JJ3@N?(Lt^2fOdNCjKsK+rF2|uWJy`i^l-J_ufqZ9KG z7bjFt^zevRH0ek~aYL!;L;2H0y$@LC>0gmGMt$m;$jN%L)b22#VDnl4@lO{bUH?dt zG6?A3zd{P@6j}%|Vxch-BQE^cX5pNF9NTEr`0tCxkzY7w6#3|Ai+U~k_FvJ3Sk-RTXS7{XzU9O%#VB>5IBwGZGR;;l>c4DD{Tfc{ zmnz|?i6bXAjP;*5X^k0+%hs54Xr*(@IeXQp=MvUMq+rB>QT9I^K4N2>Awxxu88dqP z<2@q>#^1w}EJ-3<#=;gQ{w>!*r3aOjGOXw5k^LW(*~6je_`NX6zaHb4P?4R4iuxog z(Ps=P5#cLr;_Btomsfv2did7O`v)I-`um5Tcn(DHpLpJ}=beA-+2@}K{}-At!uvl43J5Nx2b+ zsii7Cv#+JrOjD`EEc=VF#zM1U>o4+r#o@Bz5z zWLQB4TzktQ*nf8Gt%n(O$iastzMw(}8BqAAgc49#4!ecIlOc!U|9(qixP@+5NQvxv z0FPN6bQtfS^UiA*j3mII;=LySse_I}8u=#}Y`Vc`9((lJC%=F4$|oKH1spJ*dK5gc zL3;8w-HNr9_8xfkA>3(Ez}8pbrp=*SZ_zb=xqrwV&RcJ5N4MAW>RpeDq__Vk=^|0` z>7Q7pnMNA{@zd|%2kYt2KziyyFrJC+p`SsDA-s5Fjq?MUpZ-S-S;#~rB9dvSAMEhY zIaKrwX0#|~GqM^fETSchP=p~q(g;N6@V$LMt> zapNB7Xh-CF7$-}CEizn09NB<~7Q|5{PKD7TEB&8|@^PWsIT`ZWu!q zuz-bFxrq6Y!68>L0~{DK2P#m(bDkGH+5sne!Xciw7P6e>pkO%8 z`%Mp|mm5fyk^?FTK`KKaf*7!%l|gW23}T>zSz6DJGRcxcv=)tSSVJ867?^(YlNWo$ zV?YLaSc2#`KL}AsLKv}7e(vEv0gB9;0US|2=CO_xePcz?_y>#xVk3iKWJeOjmqZ={ zB#rb)gC?8}l1|dSFC>jg_AFWpQz$hlEy-#oeBlgH5sPU2MJx0uiWZ|n7pzbPY-G!d zovN$eh((Wj|AkR=$ww9)`o*Sj(WPd5Xc%F7M#ymy zPG*c#Hn^eF#O$;wl|d8Y)OIJoIHQKLVIge(IGo;cpaxn?GK3Pv*irHysaV;crbpFZpXKLbImn9PI_{W7L8{T(bn9U@=>u?gA@%|jdA zgvQI5v5HtQV;~U37byTC!5mHSM+_N59p-S`jVQ@`DZ~gE>KWXX;8SVCwby%&7A3+` z?MP!VpRp$kUh zB#rrALmF4P3ODdOU;P#)Y;oEze(8&r`|7vA1Fmmj>{}Qz{^J^GnJ-4}M3!tgV;G$n zL>%x~g(U=G2{^!kELWgP4s^i89uR>DYLEgKtk?xFNU;YxPyr4&U;-1s00v4KNnv3G zTiC*tD7pF%YEkPt!h)m;M!*D@efR3;uKb{@|CG9WiDT05o%Dw9>NfY zH0*T;eSH?fsumL3?YR;|7WY1WRV};c4!`)LkQ>DLVMDyo~IVB_Ar7T>OAXN zOQO;ql?FAd6?VE{3d%5i>Ct(}DNb)`D0dm>wuM{+q@7Dk+weA*wAjThZBq-M`c^0% zx}_-B2%HtM*pB;lTfy}0_JZ%5Uvhgp!2K;ZfE}#hbvwAg_Jucn&xjFn*eM(7SO#ha zvF{DD2E>gFfh=QCgC}qS4un`llrbUYQ(U>riC9D)OD#DD`Jz`#~{TrG^~W+CDt z-X@LQ$*k&N2Ypz?B~F2hQv~A53r_^ZWiIn7SDDKHxWpya;N_ezViAPMLmKE{lN!c? z&2N^6IKY99$JTivlg+b%|M1~3hvk`m@>`~#wN5`l6FNhr1zDm?20#rJ8Xwvi2g{(* zKxTMC7q4ANj&3B|n(fFUAaUoBHmDKdc0?p60Yl)$Bd>o@r|=`Bmv~ssYL(3TCQ&+? zKT#4AI`G6NuTbni=D{ek_}bSHM%%A_U6j7%>DXR*a1!s77A!WjP_1uEp)GMIgMm;qUsd0?0U$up~qn9Jg`V7iC?F|=zUE&sWP zZBmi73n$iE2wkWd8Zih=<22mrGz{vrfGUY1X*|H2jq%_P?PaVmIzIHf1Lwt+9AjG|3 z#6UDe>I11oOtxbq2XxTAOT@%XR0e6#MBU@POZ>!7)WlHq#M~pr;nOd+vAzl$hV1)? zK1c&Mn1VEz|0_a>vM6)8`n!Vn3xq^igGFe9Cg=hf00JO@fiCC*@>_$Q3xrE>xrGY@ z7T|yluz(Gy78KAOVc`wyARgi=0T56D7O(?TsJ|*}Kqh#B3aEeyPyhvZ0C#-He|Sd> zP=J4M#~bT_7k~qqTZDxGvqbm@HR#7y8H7%V1sj5e#KMMgkcWkkvwYZxeAtGzU>|(2 zNdH)ei(HtB+(F8MpJhrZLK8yK3aybTJ9fwiap)!%aTypX2!dD$M0i4k$TWRf2;GuH zi0B!NAd;imI}h?Ld`bc+n3s)M5_=gB^(eeAI1k8^jhL94FL({6ToNnL5;|}LTnh?} zV3aZ9|3g63LqXibL3~62Lx=n-OF6lUM?A~6Y__vJy=Egs?m9iApoP1{%eyQET2KbO zREAQ}J;1y~!R$*+6imVt%zyaHz64BKILzE5%=^-*IZBFjFa~E323r7yf1m_A2m?aE zx!G8Qe^`S+XvRPQ#veF=8FPSkv`5)!M|^w%8|VTxV8(^}2OtoE3UEgSxUmbYz#E%@ z5;Fodkg_Vf1U2A-5SRdYe1Hd_fQ7I|tHHQ`$T5t=01l{uJXnNZOoSisfD|CjfYgE+ zVwG30p~RX7c?gGfD3E%vhkU4?cvy#ZU{7)ArF8HHaYzSoSO@+T2Y3ijahL~qz`=kq z|BwT@k9)unBJ2>5DYSmL2l_mRZvdy4Imj8Qw76r48wrwhvY;x72tcri@8Jlb^gE0g zu78-9@enR(8KIR(g7P3k^`OdkQ7(~?0;!A%!E%=(;3qk>iGSdUKEQ}!(7bl&HE^>p zY3Md5b4s$(23z${ zh(`^804RU}_y-+7_iNMXvTk7gfifQy-I^AKvgZ!f*sfaxRQf})3W4b|AGpz z6rFiAlUEt2*Z&488^r>xY6?WJ~eL$;}@LD&yb zn9491G-4AHg{^#Ns73~)#RAgWFlity(cI%qkV@Ot(6q}Qd_w+^qL}}R^T9M0-=7wG z`2Z}#S?N}PUj1mN3{d)qvO3P_`Fd579zN%y3~`Ojm1vez?>^c%Gpeo1p;}y^N|&hs zWRS?Imy6Rb6sHX{QbShk9J@cxESM{O>aIu`V+u}HDNI!>Om&i7*;?L_p6$UgmIXeb ze>c5<*La^^wD@(-K>M2M=@_)T8=CRWb{qnqgtHvs#eghv;I}dg24GG9XYn+}z_^nOFOp14PVupZ_!L8;7|`>Q zsEj|*-!ahhtkfuail<15CsRf&aGde4U6#6;X;1rJ}^nCG$ES>s){b}n%pD#6} zU5bY$0MhWvikCb~j>_s8YL<*orq$Wd+jEtli)J#@tG(XX7EqWoy1&Oi64{Q9gv8X!m)#k(9Us5Mj}E4X8E;)32@pUirZw zfSFg4zBUd3n*$#k4}h?UL$Ad+@zKHw#UWe+#p)U*Wo2f#$0KWGMq+_-X2_9vnl65o zHezp}yO$P-;E=|sPC9fXTBq7MLfS4u!5wLr=+G=rXeb2|!GcWerLT%5TUwv>cwFO& z>-VIvQ#?Z8&JLuF!_PQ;?xl^-zksTb46TaSxhN zn636XAd3~6eNQ)WcO``t8iZcWhG?fBriH|(mdj?O^ruFmQcwEAoSDfctbnmHA51?0 zvFDD{Tj1E7t`J&a#V#b006-F@YI!;l1*DcO+<1Td#LHx@V#?RSnH0+KnYy)=b#`DD zE(nEPOxz5IivU{>J%q6H-`#0M2B@hD6lQV8UR^q#49(f6D@K-CAL`2B5O6Bt2{7uEN&s+A!fP?CTAZi<>}RXP}I>Ig!(Hme2NUZGa49ILTn9CN8x~ zwS^16LL;D35{pwWgl1mAK-_R(4S|X4gHONpeqVndx$gM1LM}k|d*tTJ@A*5&H+r9L z^hRR#paJeb0#tivRD0DTqk=e-)ElDy_5R3xA9Zl=$6@b}e^RTOI}d!wY{;1PbcpA) zk0;F0nX^>=ZI0sjKk>k7sldu*AD#Nmmv!WtWwMSVK=V3KW^e94#L&kUAF~w-$K+a5 zsv|dL*ta}ef*ABo;#=!uM`Zi79bJp+?)dU3Z>E7}Y2EShMbP#r(#+R=Qwu3&}zQIPgXd@|bmjNKiO z7yZjE3EhPBoD>n)TMhiB#Y#w(=Pb8JRWUAgLHBwCbz>ZpW^H1A;=ZPMawt#A6?~F| zrS59diFQwRQ&za#<5R*gBXOv-&^@S`^SsNYMT&dCh?xd{#oefq||KJ5xJbJ<7RWCn-=02%JAvj8y6 zSA4HW{4|XC>8Zy1r(#$N{xDGZHUJJ-yn8zS%!}x(JHuxR_7eL+Wi*51Bw(p02f7$( zbcTM4Bsg838ng$AD*gtlN_%#=__urA%M$$Z#<3Hu`B!>l9qJKXQYm-m{saL&gn5?W zcrX4QJZ%+NqW57$zmG1?x4~OL4~qm{E9v6x;XhuMEzif!x$MPpMfCN?O7QKf*V0PF zjfR3?{Hs$m9C6NcrIF=NB#VHGD)ZDE*ZI zYBv106G)P+r3M39=>tE$kJ%Ch`%qHC!St{%ZBM({!Wz=XR395QNB(X~!&OtV&pA>1n8mKAa^)tCTd$<(->qq6i$_Lhb z3f_JEjg{=F@e;R&p)s>S?t=uw*sQTS)2i?Tj%B4{dD}+%K~XZdAnr_$tJgN~hLZ~W z%Kn?G7)WlVO<_WA^?2VImcfkB)<2CmbE=++9DkL8;T3)s{oA?7APEwfk_bZMU3`cZo>||PZM+YocV#oW;*>H|LIhmB0AXRo5I?G0>V+>xVo~`}X=+DYcC*zUk zMK@={0gbL|Dq~UL>TYb&aMJ7iBlM~B3BZDy)6@bX@3Vy5?o*@$LZL6YB=)_N@h;=& zZVNYfMn(oVA$t~Bg8QyS4aID|dqI268H?S}8&fr@&=!WsnaoStc zZ_NuxoovQfpS+M?P_Eon3j3prRZV`_B9{HUI`|g0iW6~5Rd*rVfIVrGqjyZXjz^gy zWbxX?N>J;H_<19bv{l!Fmxi^r$N#>S@S)0l@O-EQ>@h9sOcC-ut1wFBH^eH0Gme-2 z%|Y7Gm)@J&J%4S~e9!Dv@)^&4H;em``F=L4!$;vThVRK*{ZcitLK`8q4p+qnJNL!g6dnm z&Ji7)SUi>cdQ#G}gtOK*E;I9_ErEzEqSUu|E2DXT-YeZTwvOADIN#Cq99Sgpjg~Ge zej7#Yl2z*t{HiNmmnJaW*+4<13ez;Ltf6)$ ze(6-`?FNmOvvFZAXureO#+mdwRhGbn?@FG^Laqw5dYj-iHD)A@rgGm4SJbZgog=GS z1xxc9bQ0T2C&esCuN0^09!V0t4U)9$f!V>%H;0E>1j>h-5El-=mQL5ER&3qLh6sg9 zCV73O9?mG?*^&)TR1;^!{&S=mpGtCalfT*V8jPCQ`||I}AtFy&uvjx0vkkC6_}Cs4 zie>^COR6B%oBlxiRB7a5|bC*%`Js ztC2;D7Ihd03lE*#^q29*5`6R03KSO}+f8a>KPxr{0n znqk*_jQ=v7buH*#y3P#NAorARw(oz_~fJ0W7`UNSKLsV>E&7n3anpqx4|n; z&UdoyJIr%V4&|Ha#{Lx8@CXnY_Uv_P=F5&yr3qY}?21KAI>p&Oc{X}w_+s@$8BoQF z(kP0#l>2UE%aZYY!8q!2Z152eOF!xR`Osm-Hi((dE?O`P+jTuJ8)3OlW5VW~AXVUV zDqxV|U0IS?62ukBVekPRtAIZ&Fm`JJA_?XHMoH$@Q z>~EDYt0}eHzG(V97w(rI##e^vF6y#}IWW8g?%^Jm4DE0`?mikybhu^EU4=+s&nQc8 zG`Ql53Fv+m3$+G^vq;seG{VJ4cl-{lc<9e91CyGv&v#4uKA#s_YVA?&E#qknK0$MM zO9CJFB-|z%gCu7G&^I-L$bg?JJ`MsWY5u{wjh93WM+jFN_N??pPTsh%zaTm=n|$o? zW8GB#|0eyNX~*x}iCELRTK+BOc8vBraGC2r{)v~5A3e-I9})78Ti|)}lMdq!@`C%! z=R+%Vxu*Q@FhDKh)x8)GP>t?SPpe&VB947;h_8Bvp7F1;qh1iEAJg-_fDO zwi?M5PfM-v)+{%B+=-7Bq+ubMt7*g6eQU zQoNri&nERo9c~?4*-y4G^@kFF|IB75cpH7$TTutAb-vB6tnKojV^=+UJ|x$9`j3UB z*9;)di&3syoF5D>Qa;q40l=kwyM%)Q002;NF&{>zaLwW2-2h}ViyJm1>zjnYQZmc? zdzG`Ru?66Mk%1InA+?GDO;~Snl4LTVseu9?EO*5MHxsCNbpyF@n(ZE^Lp#lEpH^_t zZPwhSr8A&5-l;I2bTq<1RdgN^L)CUkYAB+b{2ZU6jONi4-N?UNo~FCPWk4sI%n(m3 z(hTC06!t+<`L2}?g(`w>NVqq$pCT6d{!Pcsf--o}&x32yPpcIyxas%BMa(-Qqkf6P z-7W!($#wOZ#dJ=l(_xS-3P)jS^AX2XB?V0)@Ude)i|oBNWp=9Wo1b7v88W-T#$DQ; zmDgHNx4$_3?b`H{f?JR820UsFSReS1YL1fW|8VSmMM9N$r^FfarFp?x@try!jd@ud zGH`D-K+`fwbBseP^^AOiv>LX{H0#T~FlQa3ygd3lr-%V3Yap^82BxsCapF&wv665A zwnOn7n8aXEN($FZ$^abE2vppsr6mJ6AV8D(K={aln7o+?r9UgW3?H7Gl|7Rl<04d0 zHUO4|)Bu10jFj%}h-z=Wb z=-uL<6!Z%Bec$;wa<%>=;&C!j&j@rux$>u`w7*!T$nh`OE7RBq6@k~Mm76;P4eM1( zWmR6D4m!Oorc^&#HX(4$L)^zJvN+6%wuuu*3-7Mrry~qK)}ODb)>f=bSrw!e>+eS6+*hQGXfrYTH{X4KGKiXX$hY zh1Q3Gd*nNv3tT3H_VC1C1QnaY>a-c^ORU~?I{&U}s?W!qlK;x^*Zb$sI4zir@HH2EJ&}xVP3)p_H)_P-Ap2jite}0ES>=^LWMay#bSW3 zRq4o2BX1f4Pk4LsZa9ND`vL1UC_f1v(p%(ychq+lGM|e22Ht7m3H4K`w_hg?%OEEXlJ3YFG)_s~GHuzRAV$(PX-KwB8_e^XZlA7n|VMj%%xcU7rK31y+7Nf))%{4o@GX6^16WI)Yod7>cf(xXQb9j4r#Sb)24$Pd!vf2F(BUq zT5f_F7S11)F%o5o$jgI)7z;*@c-m5*T?f4RGo#wG_@d)#5*i>J1VzQOV!u;_NLfN6 z9bdx<2oYe$5)g{RLvDN>LdsrI41yZo5iXzU3F}nYqz)*$H3X&b**vG_hy7(7O*$eNg92sIHPg(ysY73k(T-ScZTQpz;fp-$4fKrx;C$J z3pedvz8kvT_{!pq2mSV_sU9tEQ&Am+r&kg-B9r~2d|MX zrqA?&NO+nKY+eg@(M;(&YaO&15wQE(oZe{~@1&Qdd}e#fG#RH;TK`Gv3vbRc^2@2o z`i*NIcTKulcGaZ0kAV?q2)L6B%;F|YJp3e}H6*V-%rab4O!JuyC?XhqU$T(@5^+nb z(0(_X@g3bykXj@llC87C$}$IvAHKZj`n*!;Y%_SBr99XvRO_NOV8P%1 zNo)X6zcS{EvMI$ns@4uDzT@;hAkJWu_44l+*n>1#i^@e>nj*wwcTOLZF8a-SpsT}a zFhX?B1D)76cfR6R;AytLyItp-p}v9C%58R?Oo1o3pZYW2W43eftRH%)fj%EQaJT=B zD@)&$;!dS!2JO(X0D~`S=Mx`t>cMC;mB(MBj80PD26u>#5G>ry6xusg4Z5^zyYzFz zy5!H_uTq@O2-d8q54DWZcu(fOed|}s-CqhZlWd`dUw-=W55sDNnp{;EYV~d+n6#P57q}0&AU0GY@_EB%W&2W+}EN?Om>LRvgn-EeUgH@$E0*kzlBEugkfDHS*6?i z-SuU$xs6pnRBQto$+opz)@HO5Wp|_o9L)AXMk6*@GYtWC|D<2BN#3AJWw!4`a8PDO2=Y#9_>R2k+bBrRow0u#}s{;3X z>a{{+U{-f87d>nIRvmlOkUQf}llT6H3A$Tf+@TA+CFgaA7{we{JS6{{`JBj9@lEhGeGDjBlC= z@x@=@YQvuzmH2lEy3a`BsZVFzA3E;*@##yN@vMz8h3GTjrIWRd73jjABdUIlJx!zO zG#D8(X=;})7aaqi*aZn^5DnO*HT4>eu3zzAetv4&8#9d%JC#j=$2*jVq?C18zdTh( z*1K31(j#=9M3+FgZRybgfAzHKk%118CtM7)agcHRQLk2e$Nlb8f*2r4(wzf~eS$Lp zbup9;i$6zPAV%~CS63)U6kcgMb4eqAqwxb7QE8~QZ#?(VP>r+GG*SOUbtA6&H*d%j zjnXHf7eFmef!8l}>ElI};hp#Gqis$kiQ`TnYx!WI5-{AXN&Sejsu>jB|Kvo7p=))IOQ`?fQ7MHuJ527e-bDIBOJNV|Lu4wgQOQ3= z8JN0H?XK;9r@%HjY-bC}_MfKC&(#y;?L$EZp+@v6;>>tg--lYgh)^BYwzlWf0vhpn z&}Fr0E&R-XAAWo`rS0z>e6vDU8l3;!a*cL&03(8RX6@H(r@YQfv@!WRG8&kYl_%%E zudT_!X@^oHh;*a0mrdd9@b_&k7eQbi2-|DL#=q+og7?t4Jv~2(gBwzLc-0n2N<^hi6w`7iiP(Njis(9Ug$;2ISdS zDZK0&h3xmQT(gCV^%HiQcl+|L`UMY8ZZG#I3SX?(eRg4WwARJW{OjBPIl=om zw?1E9U0!wgz}`6X(DD@!xHcZ$>%YXxRDo+M3{-r_zn!?@JL{p`1!9=p^KPIU9M+LdR<8{ zGZ$KR>9Do0Pl^qMN|RZ9P>J(&`3tu$%@0^H6Zy@sGE7twzs$AQULob=mXdl=KkGkA zHJJ?~^qOUp{eGq>MXZC9NlCJ)=Zg@VQ-o)5goAkSxVbuGnKqVE)2w|)M?-0zE$~)Z z(;B-e@#ua}l_*M@Jz<;6ElXFKys!YLp{u&{edv6_qS3Dj(DKBS8<~1x?R@qp!yYU5 zw7v?jd!+e+bJ|kW+fMoHt)7HB-4<8mKSA8tbLWLVo@emgeKa0$RqgRP58{vxvwh%h z+2uoJrSgj{Vat`cu874-0{pLhe(WcfEKI`Q83^JQ3nkG+nlk;tyyFHI*<8=%oSxHo zUbg*rpTA+3ib@*ke5KQlTS1&??~gJ)Snq#pl0o<^o2}ip*Oq|^V92KOVKMX{Q@XBG6w+>cA+x6H3fNxWb^pP4w-(8V-^XDA5agT^g{gUS048>wr%n(T`B z6<~}wJNH#DmTAI!&bIN3$Z;%lzbngtw0N+ z3n-P4OSzJ7g+B{>i@-a}ga}%$3=k^6m*uP6F0CdtL+dYukJd*fxhdZfx~rqg zlpipOnVK^ILG-D});D7A>{UAt53i-=%7ogdkSSl#LjC)5NOAki%bAxAl1Xnacf-_a4PPczq?E)2H8eTJX@1=OE+>Ddu<)5Elu$25}_d0BAjr2xwUt#YN2Wwo- z{^A}KeSyMPv6W4Ms~t zh;l2JbJ_yo4?6A}odvVw{e)_rQy%RS_$qNds*$Z(XFcV_XV)ap>~*U6T>xEu=IinM zdLLr`pyulIO^9K#(%?DF&8zsi&$?4vC%#8(T-|V9)=3dPwu4w^C(vZF&Ky?3d$1s{ zTU&1e&=*BwF1U$Z{?li~D!37oASc8QO%~{Dx#!5)A^-uJn-l>IYWB^~Xl@eVhc1$Q zsvM@=1|sqNy&Wln&8`9?<5xLiq%%a51H_0jW%~=7!j4rz-o>4wmcMw_$|85V9W+5$6~XZXxT4GMV6%n?SVTZjR=NjJ=b4k@^~dZkVi`$fj5_ zSh2R~^vNmbDlymjL3nj$5{VA-3pn z!Pa*{C`5pUws1aT=y6Z#&_r?koJGfMS8YQYESB!5;@LLiZiO6;e+O!TRq)KZ*;*O~ zT?KPx_(?C~xg040LftKPhT)AxFU74(e;qfZ|#^SN)w zlpnk2{12*Kypz~k z=hyD_@^ntD3WLgRzp3~Q#gEl18z>J5c#2qrLu2pln64~7Kn!*(<|^cW9ezi7t(d}L zySgJ&BHK88Mag(oW*qiCOGxOWKR+ALV;U)w_2GS<#~%@?i%|nJQ`>PK6~k$|J5_@o zOIj0u+ZCg3eLO*f-F!N@lzK7R`1!dN+EehKNKzAYeHEyG<@3&REYR&mDB*|3XKm}q z#mh%J%mrV66?2m>W9d!_)i1u~eKKvC<@?u(1{u&h_?sRkA^QnQ5+VRlXBRG&YwrYy z!5gGW&!}?fuC!oRaq>?A@*%k@S<0?UD4hLUnI}=@O9-YBt>=+)G(UmFsn}MSXHj)T z7SKMkgi3q!QwC}>=8Av&5N7W6hFKkbs^Lw>Jagua2MZZr`>Q|hb_A7wll#g+I3`vn zU#GJjD1{VFGcV?oJNE<#Ki*H}XOcgd3}eh8xii5(gFZH&yQYNg=-{{ZNlw1URLqsH ztrWxx{lxusWypHu9bZ1xP0fz>WeL}9K9P+FCOaq z7%_MGpUgdTXnQ5|sQyM3;_J^!zyUO$Z7@>Bollea_BtCREgu6BfdOS4tJ1h(6o0Td z87uxCh^p@}#pg~Yebbj#?*|6`n&YswT2B2gUfT(~=eO~GJ4a<4<#Z_#568-6dG!+@ z7!enqiW|hjx0n`+x$`XKkN|1=&NIcNP^yvFY3Ma3irZSKUa_C9nmN2I{T+DTphfzx z%*tRmXI(`0U!e43PO&7aXn_A}DLs_LNPpc-woblp&*a>Hi#;7aL$+4gG|z+CooT3P zlfTD}L8>sTqiw%p;YmQlbE9h^D%}AiaM?4nH~g#3s6q{jE4BHxtRw3duR9MK-+_)G zy!&pZ@tJGOQSB)_;Boj}c6+$PHvaB=JmMKSTf;X+&v)o)eY%9skN4{+q*G2&e0ni* z^lFP0pU;n<61jZos|bG$-{h}8)pvcjmF^ASu?JM~?%$rCTvBTzas6#-^{xj7R1e1h zptf8fa}1xOKc689FrN)<@4__P_ZMLrJHJMbv4me}AXFj_mKSE*or28k10IvqILzxN zo$6*a5Jr5CGb}_v=={1oA&JBrJcstIf|v}ly_pSWwZy_%o}j_i)HMjV(%KXWUYv>? zUjqIJ<8U({iE7&%|+#C7Lmd5aNLXlPKFb#drvr@r!TM*5i>Ng)^29PJBcCLi% z*gByeJ=n#cpV%BZb~XEFMi}3l2UqEhs_*#KGQ-sVgL(%KU1D%a?wa}bf&~J*)3dOZ zW0?l@8Vf)bAgo$(8_bDnGDP+(BvDZ0IsRf6keedJ!xG|QY6+4!!tp%4yrwg6lHr|V z3qMTPi9wDkshsj%uH1+4YRdP87l!XJ^;_^J7rn$>!Ek>ePyfTn7O*Wzf;ik`$RT-+ zx%PgG{f4`)(YmVdbEni>3n5C@@_VXvslD`gYBsX7neyFm0%rT2Dm6>BTeB4YzB)BU zLUIG)>SL>AH^`Jub7v;!Uv6kDS*{P^Ob>W_BY+d5sBL;S$knz0*&}y#{&drbVkJXy zf~MHh$$ba65%9pDe^z-V8NYPnY{a}nAzsZW`ceNTHqHO&T5~g^OL?^l>Ckqm_QCr@ zszm!&skm$lV5?-m%yzHVhq5~wq&AJV3zn5ZJ1uDv@GVtgO}?QAYH#_yYww`%0j;TR zzbIcftM7^rg6$9ILQhBdL4bP_{-`k$3L=9XksX?}KXXVmf`trh+@hKo61&Lc-^L)CFr4e% zPQ6>wy{+W!HHjh;*A)r`Aq(BkK<3w5RP5$Qat>}YWv3l(%)iff1 zNDt5Tv1(CMOnL(b%H5Jk541axYp@*#9#I|QRM@b@Kw z;pxO9XJ;M1eN`LRKsIUmO#cw$sfFm&L7Fhm9=1F|U#C|vaVr$05g0YhR5O2QVbp`k z00h5_km%cT$jE@a<&)$Y!Pq0Yx0?{$G6rHmRIs^UaVp1|O=(pi->+!t*hT3l{?eRD z+0|K`7N`~eB+QC`q_4S=5+h8k1(lo;+JuDgSb=AD$ooGO0_H)b6EE?k862}K98lNq z6ezns3!it3qd*lK&!WKC?Ik>MK(WV+y4k~}d@TOR{|u}Zd@H6SUsoOP-}ho|LQoZf zKJ70Q;V)7R)cC7gx<7#^;VEsu^f(exDtrHGUFKC8rvyKDE57&J!RXT9{PxKQ0Ywgh z8ifH%MOV}8Jk}qG_t!O9cl>T(La&f4p2yg|7{|1?0fg_I4oG6^F>}e75MFDrcPA~5 z!m~TekBjGn`SWHJn)c_^eCE)-GpcjfMYryx8;ZLs95Bz_{cl^DXWM4}uO?iC5%GC1V^#E6_-Or&mu7yFC6|um+~UEC^|8@dfNJ%Ea(Do| z4S+(=omR^h@Rbn>mJw|M>POHt;7%Sf$JzrfKM56m67;dK{Fr5wXi3bSt5Hvjx~xQX zP8O$liRlQ5(rp6SGTw};V(s_E_veahN&;$l5~GM3{Y%op!x;#UBQ8NGcPQ#F#cy&+ zdY;4;jE4p@Pur7%>u5hj!XRWk^dzPHQ?fUr+VNZ3>|Yl0LObtNz#iPJpygy8{tqk= z!+A&rHR(bmyxruHJb+zkQZe8tQUPArbnX)d381RkHdwUZkE>-t$+HwjfoJw4=EgEl z45dN!=Z))4>9eDizR4MOamf5-=^%noYJ_z9qI8LBbdBok;WZ3jwe)tCgwTclGDVH6 zIlv!<$VdQqTmXAR*UKhZ(UxTn*@^K9@RnJY|E*>sA7KJ7>6l-bZJWhQc)Qk_xkA(~ zb(!ToLgiiikb4x);vJxXg>uG!fSxitY-;5_92Q(J5IpUFglN&Os+s4n_w=c%{ku|qyCmI9)Y7N8=3_}!NlEtQN4Y5_Y9|xO$27WoGV0sX z*F%x7YoQbsgYKt%lhwTRBmQ47rS@Chg{BrPD#NgpST1PSD#CTv6T^6i-{)3Ho9;x= zoep7!=T32-HN$Y8#8>%cI6lL1?kT{yaW9Hyt9O(mTbb2;v+xJ_gHC5L<5sag0FQY9 zgpP-1wL=qF62|j9c-iz+TP_3hCGJqEbAKzE$1&^Hw>3vF*Z-2CNs_5zGW01-Rdd%z zs?Z9=fPt4Yma#Ia;WN3IT0&vmD>ECfU z@LA21lZW{kalMo=Crj7k0FWZ(eN<;%)(6LiN7O@^blm{1DJEc)uL1kF`s?(I&KB*v zxyV|;e7@741kxWp!3LwwH{t7m%e|pk29lfLcYQ&cl)TzJX{%hVpE`(Pt&q#tJBbX* zeQJYoLi4VSbX%<*+{{SV#h%fd-hfGOD!t9$Vs3PaG2<3{o+Lm%!G>f_tMi6x*mRbK>$-TasRc>vRaw9DHWI7WyHHJd|y_H4;v>=?aARipe@YABUAOy zbPKa%ba#rJok^7#Os%O)u8;*?wsVsY7F!~Toe+p62aAh~tiv!|$Rx6TG}h4kp_hgH^xtuYY| z7`9yd<=c(R62o)i*Plh8PGP2iU1?L&M*E+tRHa#j$Q8@%Ky!bfKkrhhrrL+1n?Wr!_z&_8r{@&Fmd2{y`fz=(RRQ91J zlR+UQK``zOo?CCBH)IVgRU=w}-E_fY!RVMBr_onVO#C%&58R|_2z%_{*zc&%cEukL zm9>Kh6&(ZH;^ybm?}Rven`iPb{mBu!SKD@oa4^(qaI0>o9Dpo&?s$;u@?#I02Jd*b zkos;E)WetG#C&ruyT@Rdlr|Ss z!q@U&y!`Xor$*vcn47%m532wiFhvTB%3TqbYbh4DuN_FZ;J)o7bz!k;LCR>kc;Uw7 zeK{*a-1F!lF<-Qf1%lxGi#G_&HI6TE<=0ulyYd&|InY^~BX9wm4oL{xBOt$;+Ym3G zB1ALL8ZgZ#Z`+hNwD8+&v10_>3~>c+j(Q&#W855Fm&V=QdN~yYYa9={S6pq?Y|)Ai z$5U2aOHUVgoGjz0fj3lV)Oj?Vj%}Jac`BvOp73!m9dUgK_s-t85UmAGVE5y?gp)H zw;b)6r3sM?B*_rD*fSU!|5EF}x56o~U%Y-WHjx{1zWda+AG@%>bI|ll^UW_OW_N!d zsYDldw2l8Pz8fCd5HW}`-lb>{>%ZG4$|%PiX!i-*IFF{LP)4FF`u=Mi3(JLMmaqt)9g zlfvqql`XD*XP5E!D?4mR(Oq9#Rik$Z1!Ky)o&~NGreh&Ljnr#T78Ee4^*51vtApMQ zRpqxXBV-j3{Z!s-2MfI-*WlZ4F_^GBs^%)BO%Y4>v7pB#iSAWe#r_0Ah;=DBJxHfd zx&K_oL-p8$K(L$$0VWn-cHJLE>&ndm@x(#!gLM9km9E)YE6KeBVt{8$R`*{mh~$yr zYf%}7ZrDuO8TU7S3N)7sXs!4ikGjSl0c*e9;w=jcG-cD%1Qz^r6b*AjoH<8M%mZ_x zvq0h<4Cgm1Niqo0b6GJA!bfL-R!jO_%vte{$MYyT(Ud#Z22;6`D=>NKRW&PCpnBklgMuatBqqInk*Iw(?#jWIcl+601Hh)r~zy;5VO}uJgh30^$Z5nZ`x;A zViYC%A@Z_(<#L9=H;&!&f|HYOhRbZ38zrn^6}D%-TjbX_(_6#Jwy zjs>Xnt#!fdhL3j-Wm=LN zW_hjw-}ATN@PGd-Nq3CBhYQstg?M3XH5q0Ihyg26q(#Hqc}`Mk4i;U4LPgSv-NSBW z@**LA%-tXuW?uY@(X4(>))>grwhS@IgsN@;(WyJG#gFWCU#B~E8f@w5mjP2I=IjI& z3&B}u2chy}ZxP$oE;!N(kC0d(0YJ#uT|~j9%Djdc?a0ghG}FEK>QlEvbK*I%QeG35 z@7$|13tSKtmsWW&2IgRP&JZp_p8pn?`|QgV`Zph9Q=ruMN&T06HddD>rx_WXP+4Um zhSdYU+3$NfI%NbN)g$FQmf|&N*+>P|@dt@9+kx=|oE575{I!e}6(eQa7psewK{xM? z*_*{YT}{S1^JNCN)MCQ9(CZJVJpO~j#V>aKs_9Sun^V47@>+Fy^N`B5RKX$8GcKvC zX~7fjDp1zOQrzLxbgT=?xiYqpuNA)C6gitF+OcP;?RiqT2?+(;usSc}7EM%9clc zp=l;Mh40r!AhL%G>KE~qe;9kbDC2|TiM*%E6JbeH{#oJWq_jAaxbcQ6M2GU zxCX!{>9 z7Fxrjh$1GMqxZ3BI(p+Xar$?s zhDmIWso%<>9IA+PxCz?wUEz^M4cxl^y~!qWBk#ZeK0Lo};PdlYQuCh|5jX5o4cqQW zsmgGvkUpHIc)TJw>*#uI;*c?b`?jtC&UXPVY!7S6uofs<-(O*z7<=1)odaw*0y@qR zHl79b0{P@9zzon8`BSLUWa^EFUMeH5Y*{TyrNB*hl&G5+xay*jzNB%i*s>O$|Dl*2 zB?jCY!v+K{y9m4OxToMCUtM5wo@d$QW2Zv2*|W%54DZxztR|IrXC!%tjpN15C2wMQ zy>}75yWF)Su-XyfizH#OR2j8?qCz0Y)nL7Feo)CAsUlFWTT{J&6!=s|y+#Hahmq5K z0H&e6>Y^dTE+_^-Owl|nzfhh{hMYigmi)FZv9QS-1r!DafI3hr7xdUTKK_dkS3Kci z6(1rx{SJiRU|SDRB;K&eJHNo+-GQKKVS6#~SC`KB31_|&%zWgTIZ}9jGVc74u-}JY zyhBjG(E{|yCGJnl5ycn$dKx0ynSO+-YqLv6ugQq}944Pw@YXzW*Neg=Jm&(RlQxE6 zF$<#LMbH*5d;-MGR$*uePzc9y(it2A;5R-?*BOJRVW9GCb2$So1GheP_4ls0INj~V z%Ut*ikP-!9I)kSbRgfHx>vNS|pd2TIY%w_bhf-B^xf81coqzjTt{Oh%cg z8}rN6pH5kB<-~3R&uW93fs)q%Y1Na^;kl#e4hik~g4r>>yjV!kDk+2v@u8&Y{p6*H zSaFRP(%#1>#Xvkpj!G<1K4Fjt(n!<;Ewz#xmu&v@T`BTJo%qRn6W}7f6%+Ly-qGvR zd=v2r<9k0oqMpL_uqCs#7*<5#s`!(64pUmhZh;gXwUwKhBOax7e|Vd1N^47C=`E#i zo+J!(oqyrxKxJh)MEeakWaY?45@fKen=0FJ(wo7@M9sjMcOZ8rNQ((Nj`ucUfOi8; zqn04c)#>qdAk3@?Xu{@cw3&)KDvb%d>1-C)Qv4NW%U$d)I^l1}5Wzm7!UhzWAq>Cj z3v~r1xDV0D_82*9r+@j729$pW%J6LmF%pwF7!CP6hqqGFvk4)(lXX{aN}0rnxx`9c z#A~f+Lkl+@qX~#F7~T<<`5p$j=Zri8JI#+&@62MhH+iQh<{c<_LrcmxK1*jn;Cb97 z*q)f{Y*}I|2==%jU6Fr`FKv=78dEbGNWtX9dVx=nB{`BwsYkJ-+KJSTIvKQFPe9rQ zGNiQLyCkisDj3DoMRCpEP{4a*S*ix)E8teCmI<2*m=Dle%&SEFnA_D?h2r7<@O)+X zLuScs)U5{t4K2#0=P0=Hb8IH3%ygv%1ACRs;<$zevQcm3jg)j2mR!W42-}Y|dL~ikFZ>qkP6(vxL=e;E7 z`1$jlqp#t)3@u&6Yy532v^cn&R_8%4stkC-Dn%M9;U!cRU5Tqe@Zr2G8wLidNK-mw z3dqcS99I}g9n1%aBGVdVAS8p)S(N^ zux%3KE=3S9Ue}qEFe`6j=e7;gJv7lTAWYYf1 z3&NEyhn$g%E!^0a2KYmY?v<%<#Pc+PE^diJY@vR9oFowqA}}Nu=Y`7%&{V)l?#YQBe4=tD}Ac6@Bm*rTBio7)*!6CVL~--0D&BMe}Rc8G;+SBrVy0$wyMU9 zhexYaR$8La1jb89a|@1ues)8~xy!u;#$Iu~t5pIvFtice)zhkwO~Xn`)ZJfJJnxDv zw)R%ApFHMwpN7*AbTehGaSohv#s2{W{I}s}y%eP;APz6wg~UP*VR%oG^p0;yr-AQg zW-13n=BayJ>|0>8N`S^icuIOe3JJYxC~OO*TuRha`i;ja=}QieK}VPb3tidDUx3Uv zDusGUDL=z+G=Sa*${pu)ZE=f)NmQaQzZL2C;|XD(n{m${kp+5|TRvg0bD4+%UH;Yr zSZ0;1HRnP0U!kxk-C=WJ-r9jEHaMmgVoe%2V=)+NG3X3<_{QF%M&{uO zZzNy?07QR<;0H2ZhawOccr*>Ipmg3ypTUFQ3Lo2maq(9`E|SNV#H-bCw?&ax0>q|wzcg^iBsfSbq&2~X`=wlQcT_=M zkEK*2rCV%?dpta-ap9RD>2cs)hK+J68!GtOrh$|-J@mrQqN10H$OJ%>u&~&ef!J2a z`IxttwBI^2-kxlG8?F8J)CcgT*0<+T538c5Qj@1BOh}~jl@Ye)U21OhJH&GE7>Nxc zvaegBL6!_2a+uDKMK(R|Zk(*K5!Y3+Wj(sNyyL?AK+{Te3 z(_hPDg-FWeikdwvL}Kh!5S+Ze7RlADkd>7<2ekeWFg#KhR;tSvKB73lBh&xgOJp%H zdEk|pw7v|4_m_Brgh)feH+|30G3#$QprGjs3{gF?LYp@88z=fDef89n$-CmB)zxo z6)NphB<|x&&QN3lRR#(QYlV@DAT173gg;R$S(#uFPh{n9=CiLI)vs-mD zl{4Hj(SE*|Lxl0Mtx3FCfwviJli}5;>^i5m||HRhX4W2);^`&c#zWk0o2=0PP}r*7!xdzarQJDLKc2M zp_rv62HiGTxLU|tzo!`Cne^+zj65cR=mR6WLiNtyS-3g1mAd@xbB>~s|Vb3)F73@7+*vjBzFdGEwQ3+5Rej-$l!E?wRC+d%s z(jEV8O+m#HMcwpO>Sxy6I}{CN$cg2JMm|Pl5Q=4`{AmJJ2-^H8Y|bFg_Q>#Y(?IHF zsz^oIw{;}riSzed&HICH9u2|AyuWW4DDV=EcoENc;}Tycv*IQbQuDB~<9Frl-xXCp zmF3JzWD5M%;J2$Mk;T49w#hB_MU+y?_kIfB3m8Ym;9p(Oh!u; z9);m-p*Fd^8|{*&1t8E4kU9jnD2DTzn@ z&ZKx*C$06l8)vLKK+f;if&2U=&p*(gP=u$lh85;*8VDDUa`ezeASI8&hl;`8q6rpa zyB4NU*;3gP_5vMbJe!?h#rJwvm$i+q_i6kPH_mF33Qq`>k1qqeb2)4)$e%!Xn@TNT zrS8m+d+CWyAwznQwgF+8>Xevmq3M9}OIcsO1^FIj2llsvrOuHHL(^OKgnSvkdak$| z_<3{oqued!yiHip6mwo=PBjuCo`oxQzz}l2kti6%K)T}&t&2#;=KZIOSRo-(s(uT`5rPACo zj9xpi--;h$;(bu+Kc--IWnZJC&$U>|wnSY+#;{qn?64@e2cyW}IQTM!)ST?o>-zG! z6k5tDq?}XZ|2RR`kj1cm(J#+ULWE5h&3mgyUhdvI5#jVI<;=d(y7F;-IrB5IO%((v zG($o^gwd_o9lFq`!OhhGHy?Xte0zoLfPl1V`>1jso_r_!pLz0+<$qQ7XXTH^u8dvz z`)>18>x!}3{Xj>ROd<0)z{ALrrh{wOGk}>}cs{Y)2em=BO0c}^QcC&SeQD9EvG>AS z`)%ykvHezpx&R~yX(|Ow1#y8mUeqd)S}QN_r<9#CMuN2vD~Wv?CY{X(*-B5Tp1b1I zN+4A13ad8bLCfx-E&mA?OI@58v!#HdCKldl#d71)6u&Lp%M_zm_B6>ZOlaIh#o=EL z)Q6W`TCP#QoxCjV%iL3Q433!Ta4dMz!0Y52;WIF*|JveBxsin1YLSU}FMiBO#3%UJ zksp4bG4sDqz@h~czwOz$=YbH3;*9H`YcS{3wVQSmi@vm{bOP{j^Vz!IbjH!$@Kk~Q zS~5@5A13HF|1S={I0ZHSvM>d5u&pVH_rBE%D<&^wL)(HgytKU%85FPx34Qpf$n%QutK->x~o4_uK;n&l3!)Li}&c~d@#RTyp-QJ!gg&0A(%s$hB+ zkbOe#S%%FKf+py2uE0oeMB(=IUp1Ro0O4!3%&T(Bc+`$;Agz8ih=2uNkymV%PbQVP zb?o~@8(r7Dy@WjQ2RRASI}4N``@8RjUZiAgRlbn)Z(zbTOaX!6sNh8YJ6&om;Heb9 zNEd_ablMmJx8e}qeGYtRuwIRONn|U$<{ z#9o2s_s+jIf>!@v+Yjhl6DO6^x$Pv!{RFPx*W=jf06gLiIF}$Doxu;S#O(|2pnfZmkyqS@ZiH_%xsll?{ z8&^Ve<#skxLRULA9!!;XLr2v7v1c3W+S0eRbwwSh3G&-Q8Wzil zrge}?!@H8=2l-h*xmTtdAO~Ff`Vm-gI zQ84OqRl4bNPs205W3gNpO+OWZ@NSJmXNc(9IeTqMvk|v5#YI{k8jg`jU(P~FsCk;E z^Y53QWs$_xmjfS}-*O{$R}>Op-p}&}idf}Ben!Iqr~xuBTsjwSFw_G*O0v*&M?=UN z#L0j#XYZai{e*0RyWc}^XHG)kp56{a&)CM6?hN2y2R~@mq$TX%;^DNo6J0IGD^nO~ zXlJ{k4~wl=W1)HkK|zFk{2|}8*XN-f`A(pDM@VI8LsyeeN)GNO+KCMmJYOye7BDWn zx_w}iVh>s_wCAM^rJB9kqUop>>tX#oFMBfu#mmSVV_RDa1&MGi!$7zfGe>+1pC){9 zuwa_adn(wQ+l$yghhB06P}f5;{vK69BS*2&sh}a#%R9Wj^9`DwHph=|vMLO^3HDmP zh3{C?N{71V5$BFC;Dd`iAtwe~h!zEsn8pfEu+xb{wIavYY`nzg zGuC)TZi%+n?#egN>?|X$pFC(NzwbECdzw}KBNPjgk3G(7`40TEo}c$hna5fY|e3BwtUZ%y*v9D{DqwU*wP=Yr8Dp0g{%{)Zth2qrr|%o-Q(skAGjVjKO#FI%A zQ{8qqj~o(kx%@}roz%`vu41m+%|CD6xk7IHR|}j$tSij#LXEH6H1vTbtsT(+N%n_w zM|ZV*pm6{#iFm-#g;D_cpo$*PrwQ#T`mJ#J#!Eb8oKrc?6nH|vhNti!C_v))%vXh8 z>yjxAlP6llU~lont+_vX{r;j&*^lSm;u@~tn&j{0$BQ(R*4T=CD!W)dsX7>n)rQ__rwW+AlZ z7+$oM@e?gGUz$0IKsXM(dq(^22ekdI;NIj|`pa6fKH~TY(ss7Z-CBWesALmnSik*~ z;ZN^whPa!aM}B{VWu9!ldoe8IY7jQODe>PS+-zV-M}ZCew>Ep)6l$>?_-laMq%1eJ zN{{#_FEDObFMCDOf>R%u*ypmimCl87ZjSFps_!f0t0jE0an5tS{b;g6ExqMP?xlR~ zwfm1eJ$;`MB)+xT5ey)IMf5{C^DQh6dY8<1P)`)U4)h}Jr(YOJeEKs!+9+XY>rN7L z>yBNvqHr$TDhyeYvela9UY-3q@B3)V6ItH(*DmtAatx$9S??n>&^F0MlVdQAqeap- zg2b(Tk%kQgKKo}+2J$EWJJ)$z3->BrZDJvTWm;(7ewmS;;tegODk?>Sul*6MaM1iF ztRSb(Gt7{=Rt)k2r1|W&`=Dv-!v#kpz?IXIO!VCw9(5|rrvl8D&|4kc+A7#DGxG~0 zEr(@t_UAjGwfU90r49gIYf`DrbSkmi+?IpTXy(C`)T6iRCC7Qp%eB;7c~G4Eqj0KR z#^cO#tp{tV28sD9>e@S^qtz#4f1zh~4|;4+D-6`eus@n*F{<2;zYdGXrVmgR@l4tbQ=k;7@crO_CNL_c zOg_3j#Z0%%Dw~FaN?nJk#ML|ek?<&x0hW`a+mKg%UTi;8y+%4G$-N-7O4#kzQ8za@ z@Szf29rz^}mJGL&Ru}kI&+q70$K%M{4u%E$QYCb|f7NGmX_qD8j=7yIW(wO%mw^@n zfw;ktO9wE*#PrMT^yKdJ(?d{^N-4T-ra79|lU+_;R4Vxal%ODPHPaM%(o%LcoY^!N zz`bJ;;3!A*aq7D?hHsjtLjH;iXo)=fn;sXTM`z2Pji?^1 zdXmDiF^TDG%CRvod1-MyW2nAw*pY67!CT|gZ7@(KCLQb4kHz$35so$%BVA&S=a8A1 zB>MC`qtv^@`M2C>RyA|C_pn8!JQf&wS(Ph_z9EotM+vQbP1#_xGNbD6gVJWuxyt7m zy*D$bpUK9Suw5yuvw-!g?1YxP4@qQ=Vx7&uM=#wT4S53mefgRrMtwao$GDjh*a@fkazzb8&@F@-Lw=~heJ6Hw+gN*kZvflb)J;3`C-t&)C@H4tpW2 z8IA*U!VRXHYGB`9|#0wVke$~{X?#}szOZPABP={Fn32kXa;N8N7D5lx-w7V$R5 z{cd-hM%q35FX;B))yCgN;XAhb@ZgcVAsK`qL3c*K+15Z8vL<{9PiF&}tB(1}51_J6 zjTz6hyLD=S_kI?%r~IW}@yW)-s>AC>Uusi?$qzJss7oc|ZowaEX_=;0Wn2>F2U_!Q zKW0ojS(y(}563>=yga$PaoD_ZH1Chy!lt^#u5OfW=0`w!A|pK!o40yhN~#0=(foLt zSdno76=op=FA*nqrn&&qzFkj~ucsXwI$jn0RHZ{vr3zM~&a)Va`+Hsg)OA>B;Da_9 z_@j(6d8RELsh|rMIzW7Kowrz9E#@r_w+)(=4+c>M4e==JnQ#OW#bH-C$=?ai*l5Wy z=)U!zFq~RcD>>VCmJCgP0ZkT2kKLmC{HQR$Zqqh5E)%L9u{CZ+qX%xe$rw3~K8Bpp zb#$>wf1N#z&GGJ_O&`mij%IjgC=v{hgt(?P5%aw#*+H2KLG3QL z>&OkUstIP@e>8F@*hZ&pt+WX({QA#PQIkDlZ=&XAGj$Okx9`TLQma8Am5A<(!=5#n z$6~R!imh3zdvxwu-D7ypp^ccFUm3ZReZpV-%r}5Z$@uQC!DK!GQ@e*ogMs5I_Q>WLXe3|rssJ1 z^HX)*c|HQ%=Ing@KRzX?fv(*7c;V-1^-fF0@AG_1e)oC8h+|JboTQ_VN3nAKd%LDG zKouRgR2-?2Hz?hUmIgeU&bs-CHJX2@Pk)zU*U&>3+P&x42Q5V%QYiC-ubVWmKJspg zx{iN4E;8-|Nc0-69DIxow{`_vWAkm0`bT0@1xpdb<-?n1Ah@*fzoEiRHdQ+UX|=9J zh=B9!$!Mebjm{t-o^BuhKqXS4$s|}J0eX7tgxg0qlY?e=4kSN{s89_%x;@@=DbzbP z)Vqw%Dh&0$(ePc|5*G;Zmoh7QD_O$2c6f_&7(n}XgG3t;yU3EPUyM>~#x0l^&&7(s)k>YEOFg?i{JTCY>o#RA#4HP=0d7xVDZ`Yc z(%d~#d)njvX7+Q50;|SStMobv8TFih1_S=Jxf7hgN3qb@#MP$>wIxZ4i=AM1G%pri z^ouoCVtUgkAV+Cy@H0_}zJ>c43*Pa3EuEcPojn!tLbv1io!9D*^zRTPLQGJ)GTcqI z4PAbCR3=MZ8_TKnc?)0r#yZdlec%njHf7u9J(HdumK1(`XS~p?D5r&xsz+AV04Oxp zQm@p$lZ zpLrSf%5U~~b;dV0vQJjW#cKF7Y3Aq|bJChl?yEr(AxM51V=g1sJn-wWv%B`FP(h18 z29RGve~W>*g-v^DtEoLLG4FSfMHq1Pd7!CP_N$g(VBqwVRnFsSe*Re8Z`s_hRg$uQ z+SZzdBtDjDGpH+?-I-g@q*cT3R>S_=YymiDmohvI+3Fr2CeM;1QsdI8W`nFyh)0_} zR2zJzm&shE1Z(kpUaeIm=11|S{lrElhrB*hS8;Z-zl$@c$3SYhQrx5$_2~L)f6S@9WG`)YU>U;$KU1UztA(}NH+OC3PK7H!5 z9&-!%&+8x! z|5l@wG=0{W9ZYgE)CX5@%x`&IdmCcjdIj%aF7R?(ZSy| zB;|QiK&n!fj}a-!zY*bo&$V)zhVc0fK8B{Px;ZF{>YF7BRfNDq6!P_msW(4Li*8Y* zSU?TJJE2W8L7+0l~b>JJjBaO%!wtv@8r2Blum362S?w;pUah;{?eGO`d^<~ zIIK(J5C&&c^!0Jd>XGLgbo9!RYcA=}vVWI9fRwA1#P8C>u(ZPL&0j-Ic~eH7+ak}4 z|B~0k3Avsw(x-3B0JUO4K9_`^yA#eAO2_eKV~{HoXj8X`qy+f(Q|7i~&Fn1|iBQV6 z(?!)b=dAO0YQBDxHaYDQ`th1ElZq*@YAb!7GVr&-$c{@_k2u)sq%}!AG@75tpmwrA zb0moWImOsm=*NOF=YLQSOTM^BpXByD6hUTl_kn&LSm5Rj2iMo$ZiMNd1KRhK1VK}u zCV-+$GKapM^@Jm!3v5i?imj*i@7CSOD~NI6n@P^cHPc*n!C!mfioviWjC$lJ#j#kB z7Q22$26)$pf{rchPAWu8fiUr@&!|}`#SdhxGVLPhs;@(w2TqLs36b78(N$*QIhA;O zlxXbt>FcYHUq1(ALoJ?FW%OT;Chz`wU5SnUfbh+xZ*h8J5q+6eYFjmTQqtgsn%iGT zB-Ob^d-cj&BT|~4&vN#xKb^{#;1Wv`XLy=2xhZI3GLk^C28sL3vEvpY1yw2JeIvL- zIHKCx+xTaJB2q0aML^q-K?>|U1`!ZR{s%Sgv4VuW(q~2)Yr&AJq=h~7#f5Ycvyvr% zSz)lO_G$3`2Li@EQ-G^I`R`qC<4C57>i*+z)1L&?iAqN7m2VrB%C)BS=PjZy~aFt*fmzi~!7pRRDx9^kNalvx9&0o`snTF-uUR4yIVD z9yDkbE~ersL%u#fDDBfvdIML@(dDL!Y3&8`hWH%tDaCmn2HGq1oTk|b9^Ec@XU9|c z-NoQl@{e4LjUi%XzD>sD zmJ{=lpUU8xL*!nk^TWrr1oZ!(@l>rYIVnO)25KibASqO=1Z*29pwdaw4n9PnS77tU z(G?>3mZ~3uVn~PdWvIr;TlIOW0t8@K194c2zY67lI;!IholGF>tjz`Sf$)F^5 zJR~Axc7=q!UXy7F>M1{7n>O-+Ut26DiVEgiLCiu*TRr>j=el9x<{~ zklGaYHtSr-E3HECgKN0JD?(r7E>Bx!8ZB#wU95GQu~OsO*o3%}s-&fAb0Nl$I3-oH zRvXqAghO`rJ=7d|62c&k1kmWdTV~33tw?b*UJXVsISQyVW*5pkG5`>{M7#>uyH_Nh zohr@QP>^MN4`!(%MVql`bpMGf#~^8?jTx42h6A{(v0~U&HA-K51!}(@M$yf{d4j;0 zIagjmvD4tYG8Dd8S1{suj{vNaa6x`M-_W#KC|SFn;W;A;oK!@v+wpN!fzM2Iz~Te;DVU$wOoNPU1o9cmk^M{b&6m-xlZg8`h-E|u;Y4B`8FSz*L`?2 z^v)-d5XIX%>(Qe@O_CMSw_L8gF+X*G>fzC`IW(M;^$Ndw;&n>*B8ulyuJ&rC0(?C* z)VzR#h~G*x-Eu^iuG*-f6b-;Uae>~u*0QLdLb^|MgQOdI2zzRlQSt-2dbb?D!YWgx zxSEQzl@W@)ca&vb($Z0T3P~aAPrk#Rjc}>1tIBuXI<1dLkw_#_JgdT@D31(t*-IBQ zkEf@E;P`zw1rh_XbUW8q0zSIJj@WMDe=4C$fBFke!TNczo#VMo*OMhvSsms|x7wWR zCbah5PH3rgv|hy!P(5M-3OlbHQ?-kg{z?c&H-OIOISrar>K!gg#22gcIX$zOa43_? z_EEu7TAh9uMNxk!`0~9D#FA4}H~@?}foiZ(l1e$}RnpZm67>CCQHq@rOb@vXw8g=?)QZZKE;Q3Hg#3V6X@J4KRRi_ zyw+CnZIGCa4t$Ib&k^zkH%$ZY;d2PnLQtJjm;(?jxA*;ycBW?NHJa$ zU=Qp8^=0NHCT->s5b;%o+G~%8gxQim81eMg_RiY%`3p&|k|xUdg{MtkZGcwZhUGl5lQI0LE_aoNkoyqDPnqVqLoBMAYiO{4 zY^_?DqYMjbo40@ZDfjLbQI85lPTLWGTibVHNfku@trrl_*L|Ap+kzWN-ks>@}Ry*V!+j7 zq>j=Ncq1UfoA8H(Y=~3Q{fWV#XXJ4$F9+w7Q(_z%gOmaX9pMsp~t$F4#HPov~jF3j+i#R*(_cGkv@PaklrmAF-wGyW+8eVNZ8 z&PW(>_tD9v;7Bg{#iIs9ow{N`^T9Fh&E8fv?hHo>5@kJ6|C^lc8d@pFJ&^xdm)eAr zkPT&=)Sd0KO7||!RXG(e#pa~u@lb3_?)cdsIkqUlM%xv7Ud?_q^I749yho54k1#c( zPsYq@)9P7rla^drA$e&-`LVX3v029xZh7CStEDvK$$5XR@mE~J^c#zTCrc#-iYkma zwHuja(k1Q|E}U`N|9XLlPIgZz{lo!{g0pg~^d~!k$*NUJuI=Vo0|wM-fMjx#ChvNU z-gCbqSr#xd`4A*NFRQS@XWulHHDmN(VWxu53L;Qb_`+oF+eQlP@>SAbs8Pr_A;-~q z|I_8U=Ue)!Mi`ui-HyNvH(9Z#FKxWh{;-H@ApC zi=7>bT2ilHlZon`Qa#HYw<KbN_NNiQOVSd7JfA~W%oP|Hu>dx>O{X<`_~L*HJf?fAF&FI)($M(ziYFO}VTHPu1jH7hNa zHXaBe1a!t`AGtCw`BKqf8g`VGDmPoZ(gw;M0&#cVOgQ7$fsS8&!~&Qf=66^kU|a7O z2tohx&UyRuOenQcF_f|7N#MF12g`K$rA1`c1rEu`XxbSbhdc#BLY-y7;=I2U3tVqW zWde>1N5YbFay&B-qVr@y4hs>2^Jt{Z>A}_sI5)6u=T5$m=LajiT;Y{IGfsx#$Bda) z0lyySxn|UeEl94>FW+K#*nfr>-XEB0W3qJJqOQrbMEr;#4Ym(DorR8>YRV&%O#7|v zyul$pgDT>6wc-o$uDHW*$HI&%!%I)%_N5t_gYPJ0M8njJ9S7=*to8_E{8Quz)_&8o zk`POfz|Tv@4s9lbrO-h7j+|{7hUgBly)YnoM$T^%Zge`ZwKk;fmd6RA{NIds_+-V1 zWIF@SkVR+a5f(Rfg)cPnI*9wbHm2dD?LS`T-eMP4Ce6)TBsRU%-_4z+6vFO7Y2!S? zJdQYv`cE@(%cM(7r0ip0jnWCHpoKr|_aSi&8{j!tL!~bc!fp*cRB*c3JU}#eR9Dei zFb9xuhb7XCMG|^k0OPK48NEhfAEe)fyrNH(LS))A7g)WRHR14C;XnnOT@#Lklzv0!j-fOd$y!l*ws0^e>-XK#|s|Jr)dT#8soB)gUWf^ zz+!AJ$5D60uVBKVazaIuzO=Kl)L7XW!Y@PaL2)Q5x~ayU!yQQ=iwK*@M0vxlzyrg} z#J?9b_a2mY`i|d?J9E4`D!|VUM1{Q^H%xG&S-RpQ+7F7S&Rh7GhX*Kc8C7E!i*=F85ItEAIOJ~7J~V{dO+ z{ERuRpI6;cVMf2M6Vi`S1-?1tZ=VB}>Ml`SxQ!T4k4W&pEjI!w#|rHN2!h zZ3n%UFFfr{FQm(j{c@CwOjMFrNHWoIDYAU z&9E3d!^j)s zkfLzKN{u$w+Z=LiqigXxKyujsDhw={ixX!98yecwe83^`uc|OUuV0mp9@r3H2pB(m z1^j5OzbAfDB^7p#6y(EMh_5hNjftLZdOa2yLuZ^Z25I1rF~y>pej-oBxk>>g3(2GX z0*H^qJa+*l;;+dsH=D7IQ_#AmN&ZH$fF(?VlN|3ue^MvzpR+4>D4lSuX6{kAZHMR2 zSRH#eN9m8`b3OPjJpFg)>y`VWg7;+Zvsc1bdrdGEMNfxKBl=7TT1U;Aqdo7m>wlmH zOinR^5)%TmwkMKYUv4Rhxn@MHe{%>ogdB6-`n3h&Im#CfZ6TqEiQ)yYq|dZQo=Nbe>lp}=DrU8QOT=ORGm*>H(W;MFE9wr`{@*GM(<&}v~N@DNUWY%G9_-fvod)l_jNhyh*h z;7%=DH1rvQb+7w~+12(ByAJwqE&d+L0u9b~m)5l{7yY75dC?@)!VZb+2H)!ud+@Aa z+Iqmf4&lK1^w`PsDT5)I#0+JIZ#VwG2Xn(a3Uc4>>3_rPrmm&gDMt09$Z-j#hv>sMAH0HYwu8l|k#2LYjiIt3Ph17r z496vKh#{75i)EDv{1OC^zWmbhLA&e`pl}Y>As@=SI@a0AdYJ>}3lAlj&bcDeFpqHx zrUGu>J+$P}+omx>h^DW*WN|_of;1Fat(Jiu@bEKwxx@{gETn3eynAg7|?`PFKgM|*TftGVgg=T>vy%<9>%V=X>0>(|Y0D6@aInh|M6t5n@n zB|Bm*_N3SANhdy+6dAnJeAc2@7q1i~MfV#bJH$d^^$dIOsk`72VZoN8R86rPE$12d zxGDQ%y+0+Rr1ZmI-|fD!ZY(b-NmZF-{swE^rB`Wogtmn`#w_-rhI&oAQLe_WF@akuLXccld1lhL;cxMP|RHx$=Dmc`1#Un(BukM!S2asjc);#&aW)=tqO zTbU}AW6E@$QnKg}K#1J)s7w9W`TIc!niY!|^|9Ou`E0P8R2pUwm~YgZItoY)Z0q}( zCxmVC04MP~kG;>d-r;)^p4p*~3Yp~{H&$RdP^-BmDrNk8ul36c?0C3Ci^xI_jK%mkuz>9!%eGz0xtm}o? zbhL3!h`Xyy?Rdbg*7vN$oHx7qPyFP1dJnaVYcF+o8TF!(`2YMI0{ls1d=`f`=3;(6 zW`RC0pybBHEfyPW%=Yv(R;i32F+i86NuzJ8AH9h~Y-P9CPOAm=8%k%-hwao8V^3Z& zt*(@;OPGuM>g**!Yq?Nz{%J-3visn2REgF7Cuw%Y>dpsKQqNyku!y9!h42@~V|;jg zaRh&JghI3dA$WQ;H8%rf;rH+Df7~ILB>BjOL@lzNds6^>- zX`_AB8zrX1WAJn2;;IrGqIVo77kxU`(FMVDsC+;neO#_|4OUB7j0-Q*N>B9_gve2g-;~)@b8so zq|PJ2hu&)xd2lOvKjU}xjh$>1vD+x`f-}s}uqEalKPC7QJiOLvrQfy#An!Q!!a2F@ zbcI30;l}d-aA^u@U)*r_E?1y8C3rRmx7*0TQn=5^2Nm^&7b#K(K~6==(5w^{yP^iS z1HiKdw~|s1ZBsfRoz|&8jQgQ5b|7=vy8io((halGPVs(|!ylfcEO3kx{s`50T=e)L z*BQ@7i%~5Zn2HMJn<53q=dp#~gf@LrJsUcEzJD4K>GlMx{`Ph~oh_sQ_hoLq?uBYy zZB5iOt>ZwE$9_)4E==25d124|NVPwNGXPZ4l^U%M59y53wzQ3@&)Cz zOhd@iBw!k!_(SJy^$D8+xROBw!N)pe*h<`Ce}3zm3tYnd3`882x>zHmV6HB6J+(Bn zC+=8ZgvmnK^dC5U^-K(uPUYWceu>iRx@2x z99(2j26~McehVgRNI>zusMVE&ndInN3tjVtYm^0Pgb21>ozO_XccuW?S>?-egoqKo z$26oksZ;I_wC*lIgXHNMsqVVzdqg+Q}y~r~@LUNegRD#TTsCZdOoxZOYCT{ej+Un#hFTy2J^5 zsgbx}LA;Uhtd?F$-2yC5P+{MRnQc!VIb>c>;&Gs(N=%~%WFH%-XC44kV6D{2CvkUu zqg8tIx!QZAFE!#3Sf}E81_Vh*8`m^P7>(m{Y(V7Z4$KT)%ngoQTFegq9ex18?dRc_C}TFUc!Ufytjm>K zw|cI<(9rFxx)SJhe) z%P8*}QhsOA;s02K%1_Lwv#6@myrnx$n%wW{czL{MS8!BcLy6E}aF(#+)a=shc>uTE zx}{c=ygxor>=YFYFqcx zwK|`yx2WB$ruVKj;&}KhlrRfjP-anC7ntd&RCL#XtC$1rON_OK^b=!y!D2hBVNn4al>I78&vm3XYZmaA1unecSqoJtDyG0Ry@3*p zA3}0-FQDG5J@~rwNDaiOlNWL5A{+ul$A4P^oacP+zjGI_NPGfU|hpG;SA)w z71FJv5LhP|FV!dI>Q%t|uO55Epdd9df&o1~gfr`}HGR~s2otASPjNXjv_wL!NG3@3 zQAFQ|5T&xJCot_3bD{yRjHahznCQTIAi8oq!@3jZpza!67&H06-L2M9DALAytn7Y9 zbDKbu9!#$12k#Rc4eg>-?9%}0dj5(KWik$zCjfI>r0{XOB)U!r4sOBbK#VJfQS0#< zrB57W7lmil-zW-=S5Ig(1bceO?+9Je9(4yj6vHJIfmK|;C_H)TaLlRnh*-ua&zC=( z_(B+tk6~xkjMnQ4vrh2Hn0iF>)`EUK!P1u7$VnEa4k1OQT7BBLf&Xn3wnc>^o5X2m zUQ8+?xR|%Z2gpAzohlZ~vV2~`0;?AE*Y7Ujm#+Ih&E-I|36FhqLa>FtZ4eeNPOc)_u>VSxt!7jVMPVTi!3_>cS@Nx^T z&_k2B^dq404E6p#L_!4KeACBNBEBD?5r=a)zK~%o=GlnUlw&gSa$eNVh7TbZPn5_6 zG}skA6+7!?s7})fs?E0E#%do5^3Cm-vMnUz9nN=-q3S2^cg5S^f%i<X4j>|eZ7;-ak__3ad%sgz+Bp#O)h6Ty4!R$@&w`cw@ zi~7KBHF@cAW4!u%$({Ig3s!KW&lo1rH&F1)1@3}j2TSvi84;m(-mFlbkr4S()S(hS z!*j*US#L;b)atrq#X9k#t{#W~-ceEGbJqMhDI-AP0<7fyys2ENlgRcbMmVJfH|eT0)CENf{Wz#S=-3^}N8D7sROyb2c&* z)Ens>*nCJruugRUn+spCIZXMxSeW`x4K}@H@{D={ZoHgs)bwqkfoJEYtouug0;)h5 zBLa!p>6jqk!%Vy@Q7;hFo*l8oQ*5sa?B{S?fuf*SAS;7Ep?vgZVL+ zB+^ir0#GfFShv3LT^c_6B49Vo3Lqxb`&y8Q+D5y8Z_B&H;dcyj;P;& z_*4P2!!Y&IZ+7kURV^bO?oD-m2XvZbbqHSSuJ0-J9kvSNyL}{5r)rxW*HyW4%(K2pxc0`W$r}oZYzuiQE&ZZGC*efqhtSguurh;EdBf-P z0Ol;laP=f^?Bd*t1ysq=+nNaiQCq4T!6SNJf&`^gol-0OzrIsgf9%s%F!6}C@x|Nc z3c$IewE`F9Z|O)ixm{%S$ts=x&#L8(wfH~*Js|I(_5|oFr;gIB;}x#x~LkM=i2Kv^%yUyZ=ZQacTNbNk9rb5umPhMU8l9{@hQ7OE376Y6394VAU#cf$@`v;>$E7VL6p1f$msHU_% z(}8i~?L-X^i$L)TlDNeDx1w`Vwc@9&4SxFd3bq}l&gv9ScA~Tk;1;?)kfThB@D@pT z-Sfhigu5-VzNBGittErL<>Rlfhuk(WAKCca`%Yne`6_;P+=snWxI$hAJ;}`OE)=c2 zdU&2C5|`Vx85BJ&0OoLc+iBW5kC^9Ce#f{GU=1g4xzrMNZ$fjQ(_hyG;Vjc&QlOY$ zGumzdYdt0tFgox^Q6?Z}KrD7i0uyu~r4Kk`g>4Ro91bdKu~4FQ;vFN58@|Q^5rWaG zyBM_+JFm$lNWrl+b4Mfhel1T9!IN~6$NpkjSZ=@FJ7VL16LzQZi+d!Y(=WfWV%ngS z5s}Gl*@%VP_lcL-c&V{b@ZA=4;9%1A1M$U zVhR+WX&}r8?VXWf2BMx&zB4G_m2BlRGl%tq@~5+2@!OFPt8;#7V{0<7LlDQP2u=l)zFUwF zsT|n(lMC-Zy%|e#;Q^&g(*Dp^YR-`SCi|hSSacW}p0&2EBm6WgPH{<#aexs$tFdq5&$h$^fWZVifRB#MLg6Pi$Wk4-%vJ^l z=X{#zv$Rlcu(k_1+AO~~F0-U(DX1^QRFruVD6@{$Vv)~j2dSPRDcv0s|7s^8-&RyK z2IsTpi)Vn1K_D!a7t8RAw>fm~v~XWoIq}mv-lok}2$RIpx$&ht=mh~$2R7y?M0{1? zVmWqm@WM*^iVly?I$Ca1QDKv!QTqK0qYhm;Pql+1TbWm8*^RMqV>qyplp)yJD8L^S zw0}kh%RgZrasLV1T{qO}W$zDm2@qset(Sk%*Ep-v4T9ybED7!Bz3#ZB`1|=TF8t4au)JY(e=;s@Eq8_RH z)_o$3@(qtVyo-0{J1llwBp8DaQj5%2dj~cwkG`fpI29s*SSO)YYvmV!s7+v8Nzv=h zd0CdOMA4lCjH>o0mj+i@S{SO?D|s1y+D^*T#!_D~$U2bzldU9Pkx8^up{UTk!@UkT90?NZW>~<=3cfCd7%xPBBcc&rP#plW!;;G(vF4owCVhREnp+lTBFJ+vm~#m{;Hblw zvhs6PJ>S_GKJ?4QxT2v1pzIRm`y5bVieh`ML!K2VBjqC5Q0imyMZv#CSn7`KadBbn zdg@PQ&Br)drN*9hjFzjCr@qEDb^AK~TPsn6o?Ohmvsq^`#Is5r3sdT9o|`;*kP!1Z zG=CxqtPY5(mx#Ki5_O0KTIz)9Yb*IVi*#j(|8qBZyud2M@HwF`@qp|nG0-po@2<0I zW+r51o8LE-FXkJIeVfQ6o9VtqN4Puf_lT^H-FpTstE`iT01sfa0)!Z`Gdo^`adM}C zUcqlAlun==)dgGXY1U04W*2Fms|)-2!2vx%I(BK^&BETGg&+dqI4o`7=D7G_Uq>%G zGKlU9*E-@D91oOGIxF7~>)D0R*1ea%4TIr8nK7Wuvw7Lh1CBB< zZd*})9Vh=%|K#x<1#;>C7&`NRCj2;#Z)UU2>~ammX6~crKFiE~HfM9yoVhAQNs5{K zK66CP8IlksUFHhmizMlC6_P@iB>Vd1^9Ot$kI(!4{=DDs*Yg$78GR6|Tr=+yjEMb! z_N^!3J~FqrtEZgmYZb1H+p!5QqqV`|O1FIj6pVzzXRQvWo)4M~vD;XbX<*pGdrvkI zAQk{nty_pL<3t1n9ymmR4*igsJl|n;%T3_aGm)I0Z>l{jA+g(W2mfJGhQ1AfFACsY z%kJ7g&=RKU7XSjrE%+u*g`P~-2RN*?E{Y$FHgdF)$_^3gy2uW~hv`|pVf9FoDAT*f zK&P1y*wk+)f|*s&3Aa(neS!IUXa7)3AND>*&mn->8Rf@Ok^8E`^|t9Z^64Ga!`1sp z&6z}?1$sw9*7}n!SoM+x8GwBg05669_NTNIsqNyaO&87lTJE>Q23sIabqpc7D}*!aD5S@P|j^ z{&Rd-uN}l{Fs~kf*J7&Jj}2`n=!`RR-I5P!(T65vGG*ITyQx|gvb4gUD?B7}*9FV^ z`gDOr=!Be@D?{7Jfve}tzXd(sP#P;-HU9LTV zoY{}bI1csqR#(=m>MdHo@2$CjCASRT>VU|GkufJuG=<=NL~ zuM-5O^m4_J&+J89ZR-gRuJ|QA{gX&*5~Ss2o8;qsN$cN7PE`5p0qLaWMkrXKU?I_^ z53b^?0G$yMy##;j#Y+OzI9@l{>DuwW2GbIicsl^E z&XU51xRjc!WHknu$6-z6lf)p?m+S4Tw1t$GO_|TRG{l!T@}kYnS$IgS1+{xNk5z%^ z!?oNtk?L5;C%<)YIPJ2yo$4s_GB5M8l8ZfB$rKFB=~=$_n#i+XPt%3{k#_Wqiod7?*^dH{Yi*ycSia<9k&T^Z+`xrALmIyrzsPQ zI>ER34)uN@@T|2|i{VC#_n8eARkxhwAy!5pi@1L06mXtLqkzopGYr1cV3zp~i6<`b z^I*;x^(^)XbWj>YGa9)ZjQEv2Kc=hoAVB+ll2yH4q2Q+k(U?LGK@Z|#{agPf$at!a z5N1Lp_t)_L*o5@T*FqGzCBMBT9*zpK56-c7#lX0uvAQ)3`>DfrQ#vBk?g*L7FBRhx z<;Xu2d@}t_E*_YB_6e0G3x16DQtaWw_9m8duE0*?XMp#=IY_ViNE&=jwrIi_0R4+D z0c>^Z(;hD>AIi-ZtgQUWuXKBR+{cGURK)>3SD13jwO^q<2==P>Y*OT#U;3k?DkS!@ z2Qu+;;=7Xv`1`B(2;xmuggK9pb=$y|MAMH7^^&LO25Z(UL{pVQmow9S%nyIl;UgCt zO2OBY!bu_x0zEt0|NUo3-UA=d*1WBKEr94L%Hm^>29|hZek?-v1b@@qqOH8^jqXNc z?}f@a;u^d`d!a`EhRYX*#BYC)-am`KZOIuazN=rjAhJv{rd$yk z#}LBg{_2wHWICt7T}AiXho|Rvn(g`P`6r$pKDV#*AOd8bi6y9Np$P=0bs>m%&sk}n zGs26C3rg37WFm#-DPgUxKwfyIp&GOkuqX`|lD~3>uH2zOL*sOe*qe7a#)Zhc^5H}C zCmrD;adE+>8AUDhu_u=eZ{EIs8E;J$l8HL{G_pE4&tT5*oK0dg(NIwwFcNZH-lQ0TO{ zcIo2j=8h_AzZoo5S~aeeyMHnrd-s%~>c2bBp31rmZ63RD`*NEZmcF+#fkiszC&mBU zcr|Z49Po0~cr0is$7q{ZkpJZ6SlUFCc2%dg4 z(&V_M>|RH?FpBUo>OVgq{hHH6&rR3UAM+Zj4LVF*Bt`)zh{;9fHkzYxplqG3e&<{- z?kH%?I9pGj&S1i3ETfDZe&bK5YPfwg&N2TrtHOx^$5w>4$v;g-YVuBH~=}y zp9n*CCM2Huc>U6uGx{CBKAml;N;Qu>%~+W@_j`XSCHf5R^WeEt{;w=VP6JjXV_Yiu zQi7~&XUfl>9Q|vK-FU1oeHr;K^^M~`Yuz(BW1b?CLJ*31((pe!Z0|skt3+P-^mTRG-vr8LIK2i9&3PYZO1#o{-(|^TT^^ zr!lpr@*x{h;ujvLmxvf>3hh)`SyM76-LnOjjZJbewMG8A zpH%%_-Q;On3rS0~&NO3WQFeTp-an z2qEnh^@)YTIqRYt9a?ddRszti3IOqXR?JIg0Jv5#H?LtJqNvv4ejfly)o4%h;f-l$ zKs4FF?1%}HROE2#wlYteTFOwF)|^LPpoXNdx`hVv_4V&3d@_^lxS&(p;ZRL~bw2Vu z@rpi9R!F2iUm}SQE=j7g+$LsDRXKbNCzJX{%nA5Cpoe#g$PiIyJXZc; z{0hCIc{)QecCNJ&aRv?k{a}`lx`Wv(U5Ci`3ykhwU`h4Z>3#R5^*6Lu$TrZZwZ!bv zxZfxz09BORGpIY2pYzdsGU&u2pc^_)rMZsT`D5grL7^{ zc51?-W8mQ7)0GVnukjidE&9=Xp*8Qd_-i^arzeA~IyM)5as!v3jbHdguOmq{nZ(KLScUSzNzS|UOunIZB*!J!V~uimk- zOp$_S{|*bslm42cn(sUUaO%H>XDF6OKjovMCIZCA(#%!cr&9F0igbBCx5AFHyN<|B zMcl^&KxXTC7FqL5!J#kKgj2KD&yZL1HLanw2~4MaSvf$=TURMG>xC~9M1TDP>hc>U ziI^guD>Wq=)bKB8n@Y{I`Ob2P$O_=^!BO8s=PE^Yy9cZ^A|F?OFBPs~&@kN#R+f6t zI0&bCAZkt$)z$U0C-!Pe(jWfg`|JchCn262vb;({gBlF(SY|b-1}(Y0ZvAC8^yIO{ zb3g%|3ZDOTNFCncoHT||fAlobvN1fF`?pW}I~DqN55|bRO1Yy>7}YW$WWzXrpXlt3 z6T2tCI^E1{$Np;6kOwAj!QyQfSk25k@RrZSJ)Mpz{Ox`#NKty*_vJaBOy}q!skd`7 zsXdR({m(f~*Dg;Rn5i|hpkFm_@ZrSNJhv%wz^{!h7Jv(6PR4>5JVqh~3u2f-jOCWjS@WvF(ZR3;-yz z=F6H@deUSEOfR}L+PzdgXK`W4?ZGxg6>hF0-sUwsc6+;Bf)%@XC`G-Zb%5NU=%;Yu zgw#Z9e{7q*)Ks{wcAeu`u&*umzrIQcBCssl@bT@W#hw42gv31&SLwjVy)~*Q;UyYj@yE5x4X|J&B}Du}ah=%J zEtJ>I!|qk!v%PNAL6;Pci+YK$o{Y|aE~MZI^I!s6|Nc40tM+|vVLF4Nr0M{V!oX>w zOz3%%V@ZH+wVBDi#Q*$A<|NWRhJb)N%2O0^-_<$U2^vM_n{SJkgq-&Q*Kl!n49g_q-0tE=d+qO* zAciL_m-3L`!;xbI{^h8nHCt+H{nBect~4y5=gp73HiyqmAoR4PR*H{}=|YlQCAZI? zG%dgjBwdDR(at8G+^}#2LC$W9WcHYV#Y%+b$i^CI&qIDf%=3CYy;pvm5_*J@Xfui9 zCh!XQk>4yFvYGI1f}W@bLev69#wHLmXyj2=R4^H=c@u13=QiD!GhG;XtOR10OtR^4 z)tQmG(F1E?@ZX=vHF}kMkIg(I?_#nXz;Kq)ZkJKkjW!e1wd&V$74ed8kf91);#Wuc zW08|=`4ght3ovc`pd#TrFV=QJsi4?B{`Yw#hED=*$P=FA9uyR<3-l%e?);!<7Fls= zpo%;QKEbf7P$Ad95JU##e)1rac@9MgHwr2-g`L-hLhs7+>u4g^H!pT+pytp5!(_Nt zwKkpQ*YM2CI#MPjUzjEu*3x?Q-aNdI!9Tf)SR^2~$;c0E{`CQeH`N&%wLb5s9AYLA z>trKtLi%5fXX^K(?|dlk>arVwI#HV^xpI=fW=c(`tSgs|bHz@AUy!YPvd&_&#T5wO zCVd9F;=leNurW?*t?}VOPI51$zdDhX{DnSTHRkY%w+D(`dMPj-&VK`)ZzAt+rekli z%>{i+tMI*7;Xw%eHsog0uayMQ4f_PWu?hdXDp$M&=k`>FzOGcSHdEr!VVLQ_hg_}X zNH1WxBs7UTaox1$V5tafaXgpk6o7O@9w`=%xXJ45^gg6%ECu8#-bUHB>E-_fL|0=S zc%Ttvh3aZ7m{BO$jdiDE3!Jfs)PZ=iJB;A!xN4IJ28ei6!^k|@$CK_B0gkBie2b7! z3KVB-8b(u!`)UN%!&P?Y(Lqy{C#+?ZsWQZ=BhRDtjeE5tHV<=sWlpX^EzHfHC!=A+ zbi#4yteaH*R>{{|hj%d!x(RWtbkzOM6Z9tWl>zA^6!0(e%= z;vnpaHsFnFY;mVT%mQ0zlYXrZE3$i`Lc7Yd0b3Xl1Y#sqp+W93!Ut|Y^sT}g8ABn8 z4PlZ;qDWYS5-;W>+Eq*(EJPV9i%tUgizacA=VFHky$lAIuo1YU7<&t5n z3D|g^0Fxy!MuB6B)5~HUmQ2o|>n@#}hh67Go%JofwRPqGu;I6X`cY14K1_1PM>4tf zFsxYewD`%V3xrF`*d)A0ik;hx zKLAiFuEQ@Y__g!cBep_i-bwJRymTst2+fDDWs66owTiu_TaHJioT2 zf=;oWfhoReU~uVK6Y~#D;iQIT5bi|fvJaclg?7Hhl$D(>_T}?ij+&|*~r%Q zPv~}rh&wR$(yG7=%{(E|KF>$@!jfDI+s}MjR2QO4mGk=iFc9{duZDo;5Yj&|V9E1h zpQhzCF2%*PUb?<1Fh@Y`%p*5jksl6%A{f8MDpePElDt~~d!Y2JuOh~-gBnUn&g+2q zyvA?V6`((s}3Spr8^X^?4Zv;-4N9Qb+RIv%~ zqaYU1hzYX5k2gd-RZ*RhfA{e~?^EvXctHAh zWc#1pK-ioKISg|xlUh0CVk?d=2uFX)LZxJ-Hgz_dn4)>WN9f{$E?NC;ohy?B>-nP% zVuxt0*SZfxy7v%$1k&+6Zl0A8i7X?w8{?v*Q(=w2LA~3L^x<=dGzEw89b<#l#_oS| zAKVf<;@%AF`V6n%l>fJbx<66Ly9V7@8ze3UIQ`HL9_%-93()!0b#D{lzm56`@Ix}; z|1L5P{nU_(5PE>2@`^vaDI@H}0Z1?o*X37&YaFfjo6-FLu z$AvpUBDRw+amf->P<(W$$Q&7U(F!&F89m3~H#Rk+HC5g%dEUKub@*rHquts8yjTBd zz@({+>v#Ah?f8pUX91u<@Rq>UNyNmw?zyWfI|-NCWmLEX{^*`dibf~u)5E_zi(9wy zK2`U1PbhPnkThp-DSj04`CV)NV({PsCqK4S%t8WoJZnDX&02E;6r=}zZhvA$F z{^bJqw*_RRcThJHZgtt+9F`k2z9*x5Q)jy7KH0uY<^G5JG^Agm{5Ylia&ot?s4+@M zLTb|S>w++$O0XW=B9s6Usp8460K`9Q$q6g$$*juyjylx?W79zSZ->+5LvE5rY#o>H z@cUR|GJdY0&*zKGvIRELqPwj%FXlyiBmJnISC<}s3{9_;-k7&G@3-r03my${ekJ<$ z2Yj3%Fhk%X9X@>;1_->LK*#lsNmL8G>_r4`p+26&tS~j^IX=t9Z|WALp)8F-M?8{> zH_uyr?9EVQ@#ag_h>H>rpOg6H)Y~i}5%8)9Km|Yg_wH>mwf~vgZK4U=hm4l1!Ms!+ zLnB`>1YUvFxn-uoNFZ*(8Qo$YHG`M{n3U{?XL2>UX4bOG50(qZtP@yb;` zeT&P6mA4KQF)Gyx#nObrcr&I`GI`F0KE zB|1xEvm;*KpZag_wjx=nE{yG90wj+wPTy2H^Wg-sIWa;u*2602wLY zl{gOZ{6ZoonkF(i6FRXC>-&Ss=vn%e{rt$-#sQt#<)?y%uixjR0~ULzp+7E--CqpD z{STpc4d+F7CEF|5Fpuk9>DM;izRqox{`+3)j}zq2X(iHiGz6QL7lzkee{elwoh$RY zRoC$df{WK3Zg`y$EmfM#p;>{)&16nH;-}kE?yY0xfe!bpGdzSt@7`-k66jSyO-Bz zsyA{v1b174CuQs_Rxi9Ik?bpm1Er$&*XobBkVD`#hh^`Ms0;(%tlz-eu;& z{(T^jH``^xC!OFDlfdMYpC=@t^>$A2h=FkgCXm+(@QgQd@02-$@Y$3fPL5>{2|M>I z0^w3aR{iludm4CekrSyfl`1QqtStCKfsj)aQ@%19JCZ6DQ7y(D$W9Nl2}UhYx>swi z?Y1^*8)nvM$`}6{Dy+|t#}1F@Pj#)`aAXYE-;CRISHPcsq68<|=1nDw9rIVJ6}Tx? zWOtkMsQp$8NB;YW>fP8)qH5=pkXx>gigr#N67tC7D9bg^t*0DQ&p_L%!ukrD#HbZj zIq_&B_yDv$3C0{M+x100*UPl=P=-&||&~4GS!?P%T#y(BCaxmZo{R=iYnM zJiKuupd$E~j`QA9656u2m4qnB^E_nm>FPNqSQPo516ia?q<5CSjdI3(X@A~gOr=!G zE}7yV#Ju|v^7q*R8I1%v>YI{(?1-n^2{F=f^5<_)3$=*cPi2uK!}2CBgJ4B$Y6T1EpdV*=#0+JkQ`olC20N;J$SNlSjiN zB3U`nYALHN(?5Y3&pV;cgy_u9gU~iZ(2=Ki4c4Vq1yVzh5Vf}D=Yidr)azNRZSo?S z@1vFrk3D&_C!4bm%X66g*_?hX>kyn=Q@*R$Qkzw81v-Ci*Q&lEe!K0aRLtO?K*bu> z{OJM%e6WVcs)0;{N&hNk}AXhLs@m z-I1gSwyA`coLIHMpvJ~?laqS|`L_}nAd!SQ1{$3)+h+qk@0sux+ zbRWG_J55aEz~647+CQe{Mc;b!N(Ugr&urk0R{_o+tj5vZVG)&oQWy6p+3{qO*j!%4 z(S4KLAVRfF%E-`jFCaV`xFTJ&gJ0!FzOK*Rv`%YSXI(qwR3Wi%%g^262-WAA=EwDl zZ_uocY*q;bp$8PX1n|-)GM~}BiD=2lkl%YNdJx)ZLqKf?sV3YUIkPqq-q2DGOYOXlG&ib|{aQ0}7#rW?@Fy2#kX0o>4?5{HtwHAB8 z`;B$9{hElAyMqRws!;EJmxXJ{)8{EwlJi6L&2t>DXvC`t&jtdR1pP)iMm zqT!{4Fj#4P;wYx}*d->TUc5$0KgUP7Eg@MKKlJo`kQsiaCp_iuLeH5|TU>wXfQq7e zx+#4Ny)$VRzw0dZjT^Lr{?O+8BE?)d?^uiqaS`}ilfhT2C&t);ColE5-~ z4v5;N3h`Dp#4tvqC?EbXp00hn0$~0y#Yf^))JtZVaA=8b=?vqSk6#91johBEnU&QW znb2c}ljend*H7l`7BgFTUVxfQ35D^0Q*Q`(dOWcoGmTu9faoLuE&O_{ir-;!$crhs zhWXP%R@XAfJws@*nHM4&CKe&C#qKZ7VSbZ{;-NQPNwI!X--l9_xsEx(;l4s;FYqmQ zze{?KM|OSScqKSQPUS)PNP}0^+jOz`B3!C`4&WMa8U( zqs|rW?{DwCrR-vEpzR%O+ zvVG!Mi8WoZGtg~n=U`>{uhf;Fp2mcG?c{WLAZo!1Uevhi!MGT^AAgerDH^1vd-7S3aDVJ~Yex@4_aEv`2|f(lg6=<_CY>d_sy~ll zRzgVJk_YIA+r6V%4BnC%t28%$JxsvVeRbWz3Wfc!DEd}GKvn0Ki=5_RI ze(w1+lGr(Jud|KTw#K!&-uq&I`mfP>u$fV2dXke?ww)mU%lf|Pf`U)x_wIDy|cuA zO5fH6Flv0G;KZXD&KsQj6licBW~L=00yf@Z;`S#PqrSL1t4Y@m4DmFP`UKda)~eD~ zJwrWS-2>&uE_7|K^eU~T!k3b*_#id7Fz*F2b67Mdf+_#zft+Excz8~{9#fox6K!QC zwK1y=6XWL-Z}p<~S5foqx&?8RFSJT33KCnTbbKNy-b%gBvoRi*a%z>F?~cA+#rkA> z*oo_N2f(kou_aXJC_b~uFGyh;n=)xj)b4Yt&%}XQI3Naw8T8d^X}lJ%S04{ejNd`) z_a@jni5rt1QB;^HtJ~cZ8Cq1JH&e;_#o;U|gzeQ|l$Ge)=j%+g&!ZwJMj= z7~cwZo+St_B5@D3UphZtpHIt7&~cb$)7z7eQx3g3$4f`^CGYUXT62V8ec>L8-P#Jq6wxo@TfKLh}q=C#qp?d0UCxd z4NZwgSZ(1|dLz@IDEU-RT22VHl|>C1J^ZkTx{vKV z>{31`G19rz8&6}_djZAhK=oQf^qLl0New=mAjd9O?nxy209s6po;1iF8I^q%0{mE> zS+ynH=Po=TCKb5DcNWbTmtY>-3O;*|WiA6-NmO?)5Kvx3{v}iwFHtsT@eXg1KX+0+ z>2`KnM?4dfk0&Tb_d|niQq99s0w;BrGK=Hcz-lF_!5;a^s3(88zM0Eg%$}I*Vr+Po z(1)~Yq8;3$=p}WbTh_-L%J_Cu zzwV?y2zjC&gZ_OnuZ;p+b$=Ki#I!HZnlZ3>1$TVajlLOdBfOI;me!0ya7pkfcro#F#&S6C-oAoE>1C(t_RX? zgUO6=wirr*B>hp20Y~X;hm~)Fg~Ea$&q?5HLb-PZ|FY@T z26YiX>(+#V!}q!}9+m=?gIIETPn7cQ9sNj`KLdXjWHnIu4gQ*5u}M6yM6i!3t>g3bdTHsP@$$jTOC8!Kj?oM-ICF@&=fk-Y=-a%_>H( zfzV&R`abnPjBXLbp+J&6Z&u~99*(7sWBYNcK|Iw{Zq)@Q1*vsL@0@LnW zP31^8&F|0E`$&c;Z^teD9OlK2#9!P;=(pe(GcT!v}i!r5D)kZEPYVjqVHu z%sq#d%ejlU?Bixi6Wq!O@-I11-;viRP5{M9kKXIyQ7&cnbSXTdIr?>2JR)Qct{@1& z-E|{y6B3h$*HnM}YA7eVt<4>dJSmgzXCN;!LJVxLT2q!c94>rS_?WG2UR4RnYMqKJ zO^t4SF*=5=-Er1?@Hz^ z>BavIs+BS)c}gkj&a`85bUVmk4(o>;REw71j>_|#*qCUtrOc>QClTX@;^$FR0y4T7 zbj!f&mdz`Gz$>f3SLB5B>JgdROJLY z>j8K!dlFY{NTCflQZ|mKfptMiCRSkvrOd(SC+wSwwL*YThB8&dnC}MDBvwyumxBg5 zP&zJk^f_N|H1A4L>8qMTz8M~pRgTE##w%;@rW&EraAck!a0-k2btC9SZb;6W*rRSr6SzL-;W zUB74=CBgD5Q_Y>%OZs%)R5y;e;nKt`^NMi*=`JMQe3Fds*PziGiL%to`bxEejh)>6 z)aFD#%Jtk!Ce}F|zbG!(zSR=H zWhI^`SJAYof)LBPMF9$Too*&8{8#OW@3|h2K8;^xj=2S9m#QQ=eX-c#p|{j}jx#-9 zXLipQODNiIrf&k3>-?dq(P4a1^b|*2<))iao)i*98ww9f1UuD=Ni<%y8N!H zeHr_K)pxtS`ku@;Me2)>xqQO!XRTSJH05K1#Q1(V}%R{eB`kz5V+*Yl-sR4>+nRk1R z20z)b8<9HUUUP2bdwWlSjt8>~@I!`SbIEzIVlXX&2yVO+OTn@5=-I6KObNYAuQL80 z5o$+2I#&_J)nH%igHk-2TO%hR$I&?&euWwm)&Adex5)1x*H8Ieqg`O4vKj>bK#@x^ zJpR}wlZ#?1FH_HV+@ntkG{N~ob@O0(){J5uXTx)faFph^NYI^CCNVCi?npnLUk|k#=9cD z#U~rhC!l&Q$pypEpVP~6j#eVM>*s`(nhn&y@j^^ogn?m-f|VpRJePbw8-X zcTF?KZ|FzOk^R%mtg(vLkwcUS)0C_nZY;riiu5sC>Ikmf>a|}wN>bUsc_-Bmf=tmo zx7uTpJ>Gv@YFff&dDaGkMI@v5Nbr&4(vyvkKMDbZ}>P5Azkp+nm|6HMEp# zWX$Y$hAQNgsyW>Gu^s($lzp5TJ zFfsmAE4V%gRv9?m9>?AO*mqOywNnEZ{_mFa>V`47o146MTtiJJC3+wHZFTL&&E=s& zQj_z_^Ab5*Hn*mlCkc%9G)dTL^8ILBsUO&2MFrbRtVE;RESH0YO?Q+Hdw;u}G6kVE zW0mVgw z_rCWDDu!UHM2zk7A)=SREI<{?$^IE?2!Zpq0Tnx|e%yeTpx#n>-HRsjF}qSFgCl2s%0uR=@<^J89#~RS(b(z& zF7Di@YA^JAuDOkR$D}kjZo$zL@h(9`_{eg?OLyzh6$w+dy%)U~j#_1yB2|QvS&r9R zDE$qZLxdnzneWlSl2p5w$O~58oj&015pPaG(IQf1XUViI3v9`iu}fM z5-~bBb;*eHV(N+Rp{Gw3t4-nVm(Ti&bzZ|1j;h_!n+YuU>aa!_aNjzkjx16Hvkuug z%Bh<6*fdGtf*%(hHsyeCdc{3cDtR06MW62-H|ppztrtQlV!v}ezR~dlafG&I9{ag- z_KP_43EB zxbv%5G|JYN+Gp(KN=ELHQoFf!0=%YPaf8HEuOa5nwe0^Q?JWoQST-to9ov@X_|C}` zVFoSV6BYK6pkzu~gS*)@Uht>#%aMyf$O0#m5R^eHVj7{jrwPKy1KO2kdhYC^2;7OS zTsOtMewvLmf%~6z`&Z>#)nWfKB)F#Cyx)&KTpcClX!q-p_KlZvPws0h-aLC-rQRiF zsW{`^_Gw>}*iWzbUXA}(>bG+A7uR^CN<4PHPkc6L(AjDd^LABU?d6uMhm8zNzg2-T zsP8bG#j0?{H6Q7W$U(Uz@CdRgV1u5-XEQIPk|YuO%I;uQ`DBi3I2xne+5@p;v*Z{H z(%gLHmce$$@wd&SjnZdokjYdL@M%7D$(Yz2tEYpg4;CgMG63dTBEAUa5SttgM5r@{kE~>dDTefac_`Q$D&n?};2TT+E;s zGX>ynvbQ%SD`P(Fh@|wat#NT&^q_VQFx^iGh3(rlC9cxa#xX#I)sV^BllcdEr7gS~ z^b>Vpkgas-Olyow1v$kbT=)4t5?sA;)`MY@Gn|4oPQ-tuDoxWWAsTj|Gsb)6^1vPvH0t8^RO)X5$~dK5Leyy2aVsvAC=`}di84wL^Bo)vlZAzn(= zv4Ii&RoZN#9vfu}&Xfnj{Db9>d%VKD`q#&cSg3U1Zb@Eex4Tq!bFjWlxF7tp^zCwc zl9lMKS4Wz7N3&ki83kjfw?nHXiOIkAC$pn!Yw&v4o*UNi|HoWRBObMJlAbH_w(M8C zF`Y3Zmi&XHF5LJ?8}4KYS#k)+DN28z7}P>Ti*?@0(^K0OaV|;)Qi{Oh2i=@lBgcy3 zPxatgRxUSAFC%T0VZwKVrNr;4ybw6O03p{MQw{WR{u-B>8of#si41vj148mxrA!=I z^%ZdVK}1xS^$J}lEWtMb=HzYP50t|Cqj;I->x~$NuMM)Y%tUk%AxQ?wG2fWum`O&M z<(f>oDrwf+1-)Z>{AZw*QuHZ5@nwWh)hLYSm5#ey`=;bjM5cL{FD4URNcp0Lrgps^ zJJuwawrF-!eSxR#QCQKYze5qq$W^#mUJ`igijpgZu z4_o?T$K@@0za^CtxnidHoZq=O3iwZLFw(p$)XJ=PJM&Mw4jDIO+)PaC%+7K&E9ioL z*Qzt&*Lg)1wy6Q@&Q`1hhqHpdOz;i&;IphElVm0`+$5sv0r(}><0=Vm95&bW^*N~8W*>cnlK7+x$*@PK{4_`;=-LlJ?>VPPgnKpqlx##?|S_DCsE8Pn*jVcZPqepWCKU)jl0ZdH6zu=J$%_Cw z1ox^ankF(kkbObCmT4f36!KEC>~jL2I>>4gO^D;D(V1Z%7 z8dgZPum#Ny$-^CqhyDBHws`y`S;`Gml~u{=KOFpyNpu`giq2FXLt@ZCPuc4~_CQ!N z%ECS4tksFS%c*ch0`dptOGWb8j-JL^n_EIu2`i~Ju&;HR+j{H!&yy6`0V2EjCxHhsdV-wSC5$?^Tvxs`wYHj3%m$QvZ$elrC2nC)jsL_I5;Eg9N@3 zIi3GvGuveYnEN1G9Gvn1HeuxdA+(>zxkKX24+}|oph~(Kx4Pm+4LJ!rYSIVvO45HD zCuJ$k;SD>j0n8-scQqvov?AQy-~w9 zLwb#BVwgxY6E&KIXw5;y0VU&1ka=Lu)4p};C@#Fn{5J8u%xAcO;>db5uhaqfa?wOZ zs8@Zc_s~4&PzP1JAyHN9xWP{;#eUxt)@9=A(sD(w^74u$F52hInss&#lf=davn%{gb{NE-JKFXi2(AWF zt$j9#$U>Ohw8^qd{Ko=(=8>V8z%a=d=l!s=;}_$Ap!2+h(NQuCdI|?kOkiik_RuZW0K@m6Sv*dL$EiB!uYxHC#(7C^F{8%B~Z}2gGQoPpY{&$@NA`YL*kuA zswK41@2hyV53g)SU4YMvfPZzjE0Z6q%P7~~I66~@bU88TbsfpZdg+KOcOsk9uO6q1 z+f+z3yL#MKtM{l+2Dx)uCI|5yz2f4%#$Tx79=&b!K9#6mS(ik=9~{{qOqp2|x$yif z!n-5ZvhLQyCjDO68Tq9N%;ODL(nygJ@yA=v-#GOeRm)3$)161ByfDpk)IBb?_vrsza(5rr+Yr z%b_y)N4+9&5E*Z(E0jT;ZL~ovb`lD6tNt+J9Is?3}mZ9_S$&{s&Ml&D49D zr59yNM*L^o0pymPUk(f2S%wu$Q zRGAEt!QFCe{(xYRbanypLSJzVX4D>^WYM5;KX9k`fNwisYz9)uO6+=E{SSJhb6P+h z+DG=64QggwBP<~!sf^8`6Fbl(>gz07CWd#6Uz~#+!tF1foftN$NTceM_NhZzx#Ed=iD8w< z;L0ZIj1=nheC3_u0^(@W3K}SkQ~Q}@-mbj9JH~r%MlNLX%kJxscAFwLW{uzT+>nYK z%i3`6?mLgE_Z~tW1Ad=VhzU$0ojTpb3uHALB$*maT=#e3dC2oltaK=-AD88wCh{os z+B8%;-CM%_dC8`gxVLEM#>zXVUQOK4uZw-Z)xqyS@(X8u4*zPqwwW^eenjPCg58(# z)i~fKoZaO|e4oTCP;xBtOAbCSN1}H+c=vyb&i#?8|BvIFZFVt?xeUYResAu#u+42Qm0NPF=8}7wOHwH|_xoLhnoB~I zTSB+Zy-05LQK>eUQmGV`gnfPgg!98W@7H;~AJ50rG{vyg`u8QQZtegKVOKb%{q|kK z?wYMC^0@SaU|DVW+ij;ME* zcTNiVEvj5i^_i+N%F6fYfnXL$XKdQ!Ii$HxV9g?FEIt)K6;|Vx^7Rv073F?wh=dJg zhYp<)Xr$*x`(M9|(C{o8i>l7*g2o&xSbivxy8|=i2N!sgZlgq7xLUdk*}13Jz&T4kaAdN_FK0?Nj<0 zaQs%8v;B1WGd%&$PwhW32hR0`3Zzz54s2b0TaH_Cv$QrUtTpkVMqGE_Ch%Ja{1)+m zxjku^y|fy2Q7u!aIGtdF*#zP%tZAMp%0=Bk$xogi-ctUtb>dd661tz%(W7=`<8w4b zm|D@3`OB`^pSA%aYhdg4iG(gKjol3rPx%Y=s&|7ird4Azt`3juU6;0he-FPv zO5%YW3gV>oQneDTjgf=z^T`HE*8F^oXUe*{vTUmdW2mc{Ib#jjzm%QSoZ!-1`lZiL zvCwZk2bd#%TD0_V>LBmEUfPd@5@TR4rS$z@2g5U){0{9M=W{zgIU+Qo4aaCG*>giQ zB~qkdhTQ$@I#cqzzb!tqD1`}sCFXC? zVAhM_&LF#FoxzMj^uJ|s3;Y?mSMXFlqjPtkYc~j=l8L>`>I{xBD&MshoYD(j>V!>o z);{n2@7L@?MJ4>U5xxC)$0=*GLVRaxK_NBtiMA*zuHTstn0a^uop>M}Tl?ZHICO}t zpSfX`*<~h{VqW4rCP6R*^%mwEB>$7H*(S+su_Y(i?!FQt6I|JM070+p{geINf2p7E zMsA3kLGHf#@1Er}KA1~ayJ*_UiCSCK6Ez6|$7MM#1-49v>wjLWacIl7( zq-`+)vS5)%IyOa5QtS;Vb6PXb1F-j6wJOVX+gk=zRl=F7zAolu)p^D{6+>&nuf&A> z$IKt40rf_1!0o?woeCjmIYSo$t~F1vBolI%UXp~jWN z;nK&p(whlKRzz%tnNg!WMetJ{*&uee#B+ZyJ+p2QL(8epM```Cq;0;)kGn^Tz?H8J z;593oSDIE8Y>J)VoSELDYNNM9R4*XC?p#@&wLJYq?6>RN_CDJlqZ`jHuHUI7I~S+Z zE~KwoNKz7bG=am=sId|eGVN-LSrf>bbs_f72Je(|(Pe|)f^Pg4`_hKb9iFVP*UNio zV7xWGV_Z~_IV5`}BhfR2eO&D-7Kinany{6=a*8_wgUTygq3kJ zZ||)1DW{6NF<+;iq5nimb@<LClBF8 zq`%&(|5LIoUnCRy()#ZxzoXczP=L*nP}(;FSTHT<-$#~A9g%?`yk>$5EnT817=NBm z^lhW?nXr%Ym%dGZypG~MfyzfSI~4O(uhA$uNtY>0P>j96v)Va7--uRgSnZJ3vE;Zk zOhCE!Nad+kk{%&oNaUk@+>nC`n~vp6$(Gw3C&9I2r)KaPk7!L9N&OSt>qc)gp+}N0+SnyPBp4scIfb;{OiOoV{kBBxBM^O7LsM7~rNxhVfs6)Dx$0~(id~AYV zPl;`J?@=De4O1~|*|JAyQTxLRUCA9QV@V%Ks#T$S=0ifJ!DXP<4%qZisc-nJqZ;nv zeJdJ+68O|YU*CwY*JqZKL9I!@DQ$+hYwiB~1VK|yTI9yIYWn@Xm@y2S$9R~AI{fIu zS3`5w=al32Snj8>$o?lPok^LW$~4;t3hUormMyL~_|H>7uscOodZ;X^srFD$cy`fg z$?zu9N`bAN5dMKngP-7>g{LbS?E{oxF z)4|u`iQpfD!W)&Ul_by7({}e}0CgkNdrzYEGv;EJQTCI&GA9oEMTd{!a}-q6eOpOT z*$C{+ihOnW_M!lxIJpk06FcRXbpYN{Iw2RwJn)S0c9U)?8;5a7`;T|>h)Y`88rVNY zN$6^z(1h=I_8&Qq|7tUeVlu_jY{wU>Crb93!?HdEG9G1rv~T;QT;pfzhK+lzK3Z|@xG~#4C}b#Q_F7(#bdBmD7oJ z1xB6NC%ti$#4*kdiS~Ayx%2Tt6< zy|J1r!Yzo^W726OR=Gf=A7=pH%^FtsVrLs~(uF(;V3CUY>jl5D;T zf%qn6>!|5!HvZ->T~X2#C?yK9PC9R;U$E`hw~#!ga%b zz{$yr;>7T5?GyO?7%xTX=`DLLX;L;h*B@72&nJHH=8fmmH=&hI0~JQ9ApM#!c(o7t z>g15h%iTc!XFC}}i2(Kg!oU!(eXrp`vby*L>zsoZx~iN5I<*&=z+=Jc`zuwr&CBx7 zOP*m?0VP_6EfwBP@WU}bv;9pPuqz28nv;JD6n8ie>WlkJpxLa=bE*N}C=3oBd$ zi79lRPcoTC2rJ_ExkdNv-gzMrF`d?+z$rhz#*pOo&oLAX-21RtRbXc~Vl^9aRa)vg|9^mAH?3%AuaYm++X4Kcd7;?C%XP`=rdUO> zR$`jm2F9j+*BTRNGN}{lB^X{^FT<^XS_m~4Ok_7#M znip{pv z0>75$MMQ0g-ST4Y3&2cbC0t&#^wyYmxmv|^lNHyz;GVGUe4baTELu0m;zCANXDz=` z`~DKSbg47bPsYp*ocXVE#E@63+qoS+0Ut1gsQ19!f?**NuCaV#b?=^9QC)>-q5jCB z%=FR#5~8BJwj8E#Q#A3WywXnoJbR)v=1p=M!J+`c75nHo!a4lP`5auay+?8A)myW& z!$v1*Ar+QM_#g&3&K4kv1YC?1bs6|V7 zLF|-hz+XwkB$w=-YBhzIH`LyJ1%gs zw38&+Z|Dzv=S{o0|6xlxqD8-Nh5-o_1Div(nQ>#0@mH_eYveRBoxtATtSGVY+REiEo=3NMk*#pE*y zh{dgsCrfz{123ieZyAFgf%;=1o-nqCSMCk3r^8-|la|l%nL`*Q>kleRH-FlW9j1fa zY3dB{=Cx({ZQ$xRI=0teicu@=LrUKR8hiLlCb026+2g&D<2|jgq)g#G>V(e+6T9@F z2SU$8!E0E)wQA7UmJe&UT_z`mCRd$_O#XvS9ATtp=I?L$zrTH78_VCKWIfd~CfG^J z3ChgW&itfb@1|o;0M8H)rBVauniQfhw^FLPv}(p20z^^s7ggbwHF9OUYlS{1qxgZS z$bIW2+XYc8gka+bz_Ep4SEiQBFNf`ieerrLVpWEcB%vaAs;-M?;n&E=m`F#4jo|^d)FeG@c}pPnWt1l$qoK<&f&~2OBO% z)uMwTT0;Ieb+{6T@h5HC={{Nx=|d7OpTtkl(I>d*JyMS)@C3G26pNQ?;L66Z@!M4X zAb@xP9xbx(qfNdCW4wLWpr_d-cCN^|_e_PItFzqz;)4U?H5?kyfe0r z9h(pZ%lH*%B#yyCipRq{Rdj)p1Rz?&UtlL021uPiaz*yIB63{YS%lif7}J-n0&gOT zPoqr1O2jA*eR{}E zCmf&9q*vwhgYX&P5tpy%fN}dhk|KQw??)F82o!z~)E%Xw$Q+;?6A@5*gh%?%%+-ii zB6b8?`G|OS?wMQR$EwNHN-Wu+g9^_kzV=`u`27ueY%nLds{hlgVgU5P6R1#`Wq(85 zYD#r##(8iZ>{0Wfx$&BcoGq$?iZoX~o)<8h%hmeHGyvxdw9az7W4V(e=BL513ZnVr z5?KMlL39*!p<^kMC~z>mUrO8pB-J&JVfV{FpaW~WQK)vk2PX2NBiE7Kq4Ku@(zgI!wZ!s12M^bCQMIddr6fNy;on# zds1FSeX2OT=yGY)nY`%nW(Xh5f;KQil#UvC00g!<@~wvuX8!Q%us^r&NJhv0i2=l3 zB=V0vc~g8EJ^@bn_OjwpvO$ExW9oCy(`p91v+_xp1fb-Dr!c3u zJjm5tuR<5jv)32hHq$!FetDW}E0owP|93wqOD zAkM3Wy-R@8IPx^WUm75>@VmV9Ier=r>T$E?>5=~AA{eHmI;g%dgtIe}=L!~IC_LS_ zswo8UN1?d8@oQ40Y_Uhiq_`{bfEUrVa6%Kg&W=HP7&$` zR^G)7Q=eY(Zm1k~O*BO|xCJ8eIRIgu%2SGha^K)eYxi!N_G&u|s5})3{^rn2SA)e% zoB)b%15k@pp_gk=5l>^!PQ=-mEG@RML2zq6P<7Y%!62fQg~-_BCdFoE>|7DYk?M9? z!Vi)Kmt}H4-+uH(D0ev<_JAq42SBY)YKWi4Flb+Tq9h(wMdGv7b?4Y2R$T%sh$OX8?9aX4)miX-ThV$5im9ZEV$6lFTYsz8fgb ztUa=wjB1(@5d%u>(Q`z&qdbx*5AVuih8(`@deJUHPx9!^h}TVR;;MIH*#KxT6+#2x z-ZF(-Sx*D0Pot@jcL}c+J{ivrxv`v#_>2>hp|`c6uc!lfr3N8sphy54owzMAvnVw~ zl#(D(kt*@REgZQw+w-=E^ebvLiog5l8=FT_ad4ZjKnFQ3mR zI`J|-srQ6~YjtEeWRUNH$br^VSKkKImVWL;cN-FUigtRr0$8@VS*GkB+xjWp`HfiJ zKY(aZow?nI{+q4+!%^4&SU-Bme6{rNVePJP55H(4FvJ}%p5QN$;Q!`c&8-JdF{~QN ze!656`~HCs^6@mu-YDp~bcTGHFQbX4(qIh_#W>4E(+Zl zwYHe+IQ7u6%3peb{sT+4S@ka~=8AXr2+w5H#ow9@2M-i$*a_{z7XV_JT-8pgu6JC? z(4A3v4G~PBVxO171wV;?FVT;GrSPxkV+s3pj6`h%qryVN>C`dc%R)Iq{b_*0*8$)9Dn zGq@P!!h$dTi@}I65-2=ROdEy`jE3eeKi%;an_OtMzn3C}s1=Xs;wC_F1j0`n~XMiUNQlIU9 zmE4MU@7rpx9F|5XYz>|8oj{U{zzc(mSdo~cnw#M|?u`e}?+sOsw;pm0Y{7-;u5`y1*!*$v5Vn&F z+nly)RO(!%sEEh8IcCnej#|Zb?>7fJ1br?OKKQ9{@Q_*NsbSG*2d;#~(cD^Fk*Gv6 z2XS-`l`0c9;bRNqad;>jtoNE@T655)yAj^Z+b<+eoc(lEQa0{x$6EQN7t@)l9j(RF z2X1<8JlE&V{}7g(N$!SX&+o+E#?r<_Mr8a_*=bl#Sn+~>eObz#uunlH`4N*yP`l=x z2MXD0HJiE=>F8e9VWFct?ht{l?Vdp^Lz{*6A=G#3E!j&Z15Y&bC@LU-JV!AZ2~E7 zyyPDR8j!HIvm|u?d~L?j3mBtxsbY(jc@KrG2B|2t14^q)IVL7jRCR2yKQ!;rl&~a1P;yHMUa&c7 zxS>3T?;Q208-{7xh=V_!e+ei%L)zJZ2nC3AqlFIcqFaO<5`GCwobI)CkpbKOE7<)l zskh_6W06q+9cvkIA6W8{ZO+xNTzP?oLA)G{R7vMEsKp;Lddkk5ZMDO+ZrLb1HlnmM z*X7Nd_LpbvAc;AEiB@Q>z=>XvWT{KKa;rb`v=>=>hbeKeb@-xlbk$V{TrSvI7nk`Fm7WK4KO!MTRi)W+8HyyJwcX4cS$_DvhuUF9E&)M`l2RsWD_?~Y znu^P&0Q{|YNls~@5RHmy!6>$l0=3(2KVFh;(KMk4U0bjMi((mT9H{veS=#RhGS0<$>z_TIqScXv|P@9Kxa&BU#$UQis6UZ9hT(4`X z?_~?}VC*dw6xcK}7$4G(8KM>Pn~B*%^$STxXPJ+rnohZUYz^EgHazrTbyz2Go+oe@ zRhv^xb*gyS`%3>>baqnpfY22tq*sn2r=-KMIHZ($Z*BNMVBFHlCgLzoBDgHicEXs` zRe?zA8bCjqt9e*kD|lMNTB3oFHl8pN9%a;Bt38;rq2BU5>O)sOqAb*ALqRuJk#W{BUvX&C zhabWb9>2t|kNL?TZY(r|D;=3;mx#pE_ybl)&+?LwTYkU`oxy1+@>u0^Jii|W-U&(v zssU*ZG1JbJ8>z}OYag8+5zD2v8r0mz_*!xUj@LVXmsiBdLrn-}`U%2ENSSP_MO23J zDo1{6!9#TQd^vVYN$2mlfcOWu{n_+}kOnE0EV(TlAZqP9#7xthx+`ZqM=sL``MB05 zbiLe)Yw7~nUTrB>72Q)w)1uK4-m7lsI>k&hm0$=b3Rz~%ZO}Ll2-ghm%6NSX_pXy_ zlxW6%i8Rc<^`s-;cWL^;!9i(r9jNIPI}bT9B7WQgLt34hG}_`G!_K_+dB|@x+W(>> z+EC_A{{wr$ABItMrC4e~DMj^DUXfFPTb1(PV0rZ{+#zW{Kq>l`#8W={$TTHD!`erfDtzV(;epamylnL^ z0|f(q_lOQ0`cP*!fN)O^5Cmdu|*e)pO z?qBa}cef+SE(2oU9rDG_PXzvlOzEz{q{_4w`-@)g9aP%O8+2G05Pwv9gP^rv4MqEr zGfrE=Ug75Bcc!Ly>amI+`S~}z7q0^zZ<84VM zOU*r~O7>kEO?%EQ)h86J+btb_ffFyy&V-OWPDgmL2E@90ZGankIY;I%{ObMI=Ad#^ zUHeqa^<~X5On!hEW9O-08O_>*%!%YS_zQ%EhDdLtQnY$&Vf+2HCpweW(aHu z{nG^a@dff@AXb5h0>j*)ChkJ_qOX=mOa2$2yP3q}1PI?n-eaAyh(DlmlWr6rXuX2S zXorRcK=Gl_43vHb5snK)JoP{D94Ay?B(xVzT5UJj`yo8AE20+bno~yUKtr_TG@- zpDFLZ%=7y?x@i=$ohfjZDR7?d$Lnx`(pYL)#jq|S>JAIh=MoVybU_t(Q3sE%RB(CB zfOxKJ&Xz!IaS*T@#D`$16vrPy7GEq=jY5Gfsg{-mNxn2mOD3NN?zj`-P=x~e+bqaq z>eAi{{9cb;vnT3xG7QZE@b>kr9H1{1bjd~FHBQjRQ2tnu{2fB(JzX*!8mPA^Bc~EA zdXEP53eckQfv3qD%Y4XC(CiN%jB26LRDq5P{a_rTu^o1WWj#(s;-PLge;^H1kq8GH zFc*7dUHH!3BD;0$TQ-E#VKcH`_?(G+&OuHVIzdRWgZsYEDL7OS0p^2+5TTw^{GLSc zPPC^7yDJ+f^XmcmXm*7j#aL}y7s(?a@Jon67ULyH`}TA~H42gc7x8k+yT(>{rCq3T=zPbNa#`nv zhj+mk6v&qbdtja2$b#2VvLQtgjV9_dVD$4-R$hcdt!gelg@i{KPh2PpW~%Xc zEcjOk_+KdFPO7Sjhqbntu8_OaT{W^GT36)bb!d&M&N7SZ0`u-Y`Vk)GkHoTuS;6xc0U%*bNm@ zSmG6kKGbX1LWLh5#f?&tV7kD_di@AXV1OmiMMI7P;7RQQNgQYbi$9&kpQs;Ci%+9g z8lO>&4+`TyWooi7hKO2*CQTs%VDKguqKP077M?yb)R;wtx8mRlD9E{F!y~IonH$1U z6wkDF$$e+$Gp2WdsL1w|(7r&ho&d{w4XE72Y`P%6V~=ec!CqP@T8{66Dq?3K#14gj^#-akq@V|(?#N{Stu}9 zS0xZE;CS8Crfx)6|1%rjk}8ArxxSGQ@N618;eSUllVQ`~=*P6ign%vBVZ%HKT zmU$`*(Y!94l#KTXFp<+MvtCX2Dv``1B05mWC&_|E){csQgzpd#Ij<`$(9+g}+Piu| zmMh2wJ`pi?<{~kihZ4AUPx*I=AFv0Z(Vholb5z*^1N z?@UX-ZI{kP5`;;ppw9EWC#*imz|GTyyfMfH(mDW$0)T%!5n9hnEQB@VMgXM(Ej_-s zS|aYgxwKoV9>6_B!a;h*_?G7mFCK;HGC?!@UigMf^9>Kwa3Bi+|4GiJ@oeoOB}}v5 z!-3TB$H_1=7U0Fxhv4alNk4=!x|j`r1J59jBP(YP|FU&Ad~E*PL!v@Xp+jyBNGkns zTN$lS+~{rlaptp@jX#QC)(Pd`4iz|$xWY2OPzc?QWJ6qKWe%cv%mBe%HW)v^bCH5} zKmYdt+Q>vMb6k}o|4%uObABF|kR$PAu@G5kD!(&w#&T0m!b_lwO1D@- zzA6;no)+3H^sTLwoat_D$b?~V`>Jw4<3HhRJHq1Yd}mx*!nP6gqNh^qnp;};@4aj( z6+JYgBoPDD-G-lcs0EEB*%qkprgm|$77Z6bFvPa&$h|TQnXyp*LGRU%*jn&wmy!sKHhEe z&>T_(v-NFxQtHg3UdRc!;Bg$)m@zj}YMz)pcY(!kU19I{N-0I`<@pPS5FqUQMBg(M zGQ%MO9o_u&v;ZUFF`mLuu74yy3-4i82F3W++Rj&96?1Tb*4`Ju+ARd|Fb!w$u!H_oOXd57RT1aBOHH=VS5UdIfL^@!{4Z+-9VzyWYj* zx3^v7cYeQ>J1hNaN>F=$e^st>iOP7@2G>?Rkb#o})j&Ur>a3Foz-+L%;gF22Gyp{vw;bxBfh8(2MeEoJ#J&#{&SNPb7Va}icVgKV* z^S#Y!)^?&Fcewi|iwi7RZ1r8z%ZHDpI^X=5RYO5V{hK>l;~X)*821E`M0Gg#1#c<( z(tr-85MN#%w+cCgNb&C7APRTi5dMo38X_QCQkg$1`Jr>NQ9n&#XhHutVP5f)U?E1J zsoidhl0B3PiTF0pqiqg;1<2C)gIEYA3Ul?D@3RTt`;ZGvyEumk%hhFxA);iBH7MF@RFNZv0b zab&b%slUX$6#yqrhFlO=as>PwL+~2{QM^6zI_pBQ<|KCejVk*C*DdKA-F=?}NB6_; zyvw0GMIS~B)bX>S(KfAqkCMKwX3dssd1=vgKe>1>st4;-^H3HP0_Xbk3O@7@a{UM! zp?QtE`&5}A*?p52qq_?gzxtxtE#-Fhr{=@L>LDX@KRn`Jyh`$`F-w!^ZXw=!yx4QY zSNyY;*VN(ZZF_dG3DxRS-R8nX)+4TxaW4og22`wRdl@D@5_y zX$=0*_E^CzF(1GkSh-$9;0f(6H9RS6_U*g!^@Fz7z2-N(dxn*IknF9~?svoA_Iqf4 zP#{nLS#w3JASH3mogmlUl>6uMjVxbtGPmUmH`?xdUEg~?XBf56DW&-P`O%w)^ZDTm zNsW1BNsrX(G7q!@P^=^t5hO@Q{v9RVi}z2HJVD?>B%KLt)F6?tb90bMFol$`^>#w` zF;A_Ib|m`m&2}46yzYooz*XfUC%>JKBNd{3)3)-Ls+G&Uy-fMVDLy}z|# zyMBJCQl%n^8V*Jg_t*@CJPO{TPB)=)uJbKqZ}P6!;RHD|0I{ZIA^UH|jym@-H5wYd zn75zh@5GJO33))=#@l+Xicns<-C=yu_PxWf)2WU@ua%wzfjs9csH6tTk;@{m>LeB& zA`w6>iY&}t>+R~2?QZA76?-oQWS{Ay)Eh?kRRkuFug@jC6yYh3s+#bxo|J~9p&oJh{`g~Nz zAA+q^)a}0^Qgq^9`_d${zafuJR>$fD)e%_59NqT0N(BGWuyuA)qR?xUm5YO|onXl~ zf;G~?@2WN0Rg5x(*2hMN4-gz|Dk`YU)4Y)+zaZrinFE!O5*crQTT#mDdJ0sbZeMbG zK;pq*p=#iT8Km^o6g~^U3$tb(_<*TqCZWPdoD;DOHF+b`Xq){1{Lo{EH}_2W6pgXd zAFh?I{vEBd;*ruy?ZDDI0`i{|4BPxX{ke2LmAtu|6wNe)#@90KRJcuJ-RIjkvojpM z`za5bwPcfx$6qk7>RLATgd1Ky*5Cf$o&?nxTU1Uwj7*ha9cHh1-@|}ZugAXz?pFF{ z_NA3rwC<8}3e3#v{IdHB6_F;+A!grRgYXDU&AH(mlg8vLDp(lyqH+f2sW<Lw3M;V294=(QD&=4v?@wLv*6yhY-I>-7dBQY=} zIbMN3A@(6s%Ipm_F|`L5?Mm?r8rE71RZ^_26HjWdla~nECsWzT{};7S6&l-Es-JNk zBkeZ`nrI2$7L1)LCL&y6sY42wx5=Xif6_%ua|ib4V9?5m@~P^vS=E0Ac|k*D z7xK<1W+XYyvEOzdDF%KGKX(7EceYx;CJ`XIFD#j2qh0(<+ZrWHKlhyy?<0b}nK#9Q zDK{=m6&^KcbGx#}+hrVcp{Hr<;4!x#!->hj>(sH26(e9<8BXYa!F;XoRBejf3?+Se zhM<#^N=oJv8-w#|v(7!qG2!+87o)d2^}d&{cDgbTC>+gNH9(y(R2s5{dRdtl<^=ew zSxa$HgM4O4x=QXO%zjI^w567*s+1}i;bpyV89ep)4@L7&T@*V$QDdGtnh(dyY6eEvMx(<*A*)1Zuh>pGeHo_z-0O9%01Ck8# zlcWiMo{*^`r1Ghf(2>R`($|u$m0e&rpB{I@EpBIMgWaB6hAB!Xi_Tgh4EfDqL2%3U z)MmzF7U5tm2+>d5lI*g{MwJ>o?dJ zlrvJKm!Cl(j5|IkdsZrKC{8P;XktfS@TK$<^!^HYCO6o?ZXTP}H+xm0yw*(fFn83? zaiCnz#4IATV$iM^xkXzFYJ=FS1&G?v0SqC%@ygHpxGfNv4?F0km6~k#!rtbILpJY0 zO6i^nMSmxSlonSgpV^~y$7ed*F??8OYiv|A{nhx1VC#}@EX5?SuRZ(FniZ^aUi(<( z)AQDYf=s~Cr~NAe2~09KV86JRYAvHKl4<#Ly3w^WC+5yy`v`EczgJMor9|oD%O+FB=zyf*`(F@h_~YGZsEe%J6qQLBICm`+&+L(u|%dKo9= zH=BsOd$$3HKe8G_^JDmXsst=sm-YxJ7p6=k%e}XD{>^m1W{G*LEd$2Q5Sy;tCuQ0ip_0p! zK?-7Ygd4%8M1I)@YFgQmpC|f`*}XC(VT3qQ(dB>T@V%R8&nU(zvpG;7?uN|E$z&T4 zz9TWDVaa>kM)f{%JAL2PL5EqWb)RAr)9zhVcYfvqv$i=W{M*|a7vFT9`0lu=6K_L& zB|+PA&tH&OtDsgp$sop|BCBbO66!P7i1hml4)}X+-6w9xpx6I?{G67fvevlWZ3FZ#J#MthV?cbh8AM1mLGne+j?VXJWLZE_eDVkpzX7Jj_R6m2PL5eomGV@34PyMS zSh!%^)hYyi@@-M=IiiD1>SIOB$POB|dw*oN-XsrIAm2{^H-6oWB>W#{v`9f2kX@1a z_j-I^Y6yjul)xX@UT~x$^)Qo_L<1q>QUt^@t2-FVO_f01LO?B_h6$-wpkFn%Rm_>K zT}9#tnm2Um4R4dO!DOuzJ`$f2c8)@FGrK*`BS{`qBB0o5LnM|1L#ctGv`W`>Kv5V2 zLwJaWGk-)yMm$T^?jkE`eIQ58H2#&j2_76hg)XbeNUGpJUI%KZOVQ|6b_*&eGJDirm`g-S!`j=RsDlKGj*f&{v96X-uSe6v6M%Tw{=Sx(1wErRQY zLe5JZP8PEKe?dYD=I=OWT3SjSiJ=!^ra|9jEV;fA8(QkI%8QI}YK6*Md`dILinDzRxP2a~ zU;V0vMue8dY^THn(4C7Ev#u(0^XH^G((fG#Q4f@BkRr2cCbvu){M_HRVMe~HhYo73 zSOu2uWGE#zDD{e#+3*p(TnLrqeqUGypeE6)o8%&Sz`#z7jL(571mK>QnLNGX@&LCq zs>Na$i&Y;BL+r16C7bVvG#5$XQ-Jh&gT810VCx`)nJnT0l-=UH+X}KF zrgjo?lq_b#_lcBwZE+VmoCAP10iYEC=$M;!+l)pV;J~jLA;9c`-5Ek#GU017Dna&? zNajgunI$K66!|!0jK{y5ofVHuul_XrdfEBR+-wC=@QZcc+X?7F}@xTm#xVw+5k*Nq=JH^!gHbwZQHwb(dP{k@uP6=bc0Fc!s9=)40W|bWLg?Bdo+ad!t`kRHR%^i57MzM zOaQv&$`kvPvKPutlb~0k*r}r$IKJu}8Fj?V@2Q0WhqTmP8`2LdnU@r6jdyKSQ~n^| z{+{TUdO+98f#1GQS95vW*9YwF;3ICObjWy$bn8oRK^0sa%9N&}1yKYOG8>4d<4XDm zGxo?lXmmoF>!LYm!NCy?i+f|N@0?{>sXg1=CNR-9qS>j8dT8rC?blx0dcH`k@+y;) zB9;uWNWEJvn2gm<#txTmL7cXK!T&sb@BPMWrL(4D-Wo!q^dn8ai(=-YTY)?*W{LXCUMxO=~w$d`WxY{T;YAYH};D9 zs>If<#|{qQA%+F_5SWKn*U@$(tzNbuHm@2=xERya|g}5Z}m-MA4*xZv_ z5`L1IrG=?8KIp3KX#UNaF}y-IPi7<~q^g1X)#^3S&M(KsGt-rh-0#!KihTZD{O!&V zk7T+>+1Exu@O*a|sfv|pidmuuDN2Jaq6@M?$HPHoYodc9u(`1GVR%M*GK{_jek{Xc z;=oT7(?b%5D~Q&Hk>Fv)(iB<4x8Y^3(})KNMOoUp=&S?c=kM5XKnJ_std`%ebe{b4 z;=ND($@T@WQ}gWA>*!>TD~G$3tvg>(E(JMEYdZxnHW!Bm0Q9mV zdIhibrnsAIy{Udl75q+-oS#qmrU-UiRZI5$XuUd6sCOmI*(B=b5x$i+u0p7 z{M#GQVM5wlwHJ}70N11W-cw+gF;EUl(wx8_Gu3hbtk5wS+IKJ6w>@ag*+g!t9j+|ke zVMNW5T*=%CNeCS_HdpQtlIBb$A)>w=ZgP~QQmIBNNrf&-_VfGi^ZESsdAuL*&-?TE zyg#q!^W}5k>%i;It4mG4zr&M}GHNSpoj!c=O2HzLE0%1?Xk z*oe(C^B2=yymo#Dan10cd~~RkQ_Tf$F>dCDs@@8!$Y#C^f?89wX07(8hFel=R$ULp(DVH{V&rCu5S3JR-FsJx29{b0wP8jo8rZqk6Bu^ zJi7XB1!7n)`5R;kxJsW4X0py(wyRss^DUiuZJ!8U9A29hZ8)y*>D_JahO4lisp@Uz zNE`t{lqsYt3wgNLW5{hK*ik_yc~_TPIdZgSp?GX;zmOL~f-wWKrwHD!5Qs}Ak8g*` zH~`-^3PD*rih8}}uUr;YX7j(N3e$HaaS=29J|L|JrJ*pFvsso9QU3%o+-bnWg0|KWs%n;D__j0k*2$VeW0 z1Q`Uk{iG7)jtojNfri)d?t#*BTWwzW@34p%_WTF?*gC!mKUPnlArim8))m{)D5e*& zi>!m`ZaW{KQfU~*H%Phudmi$AR%Sy>(G6gk zlvCZc7e$^kQrsRc>by#4pj&hbcmV8-7-1V`Lk(sWQ} z`^}BBSDojtzqCGeJl_bh4s9;H zAyr3NtGzYPztyhZ@j~j_T#*u?NYz=STqM_aG>J(Ck$R3Yf(nb#&y^QbIg5mqjNDXF z+yWlX0fS(~HyVBM2x+ZqQMrwEC@bkrtY26GmQbJCwzNZ>PKx()4s*oN|T+zn=riN8?%i^it6@U^jGi? z!@L&R#?1%3I2t@KlAmh2mGGvmf2cs)W0?osci3l?zZh^|U)$>SjhMcS3B=ROdoP-B zrU2i9hf&&&mHw}<>^oB)H*;Oonf^vUB|cs^^vqb6W=F`s}`Pvysrb z0(IM$qQ9#K6SapIT0)H-#;0xfU$p$U?f%@EX9$%I4l#tP#7q(fu{P_1vog`%Z7eA- z7Ht3-As?UVnz0F*w;d+^L>oZo+~+;|Jb!w6oHGfP)^d6*|4!3Mffwv0F%dMGC-M)P zBxY~+I}@968|b3&q?sDRag$^_oEc^nE#tXf$Uqs*7TTS2=2WC(MWhgx3cqk|ud(P! zz42a~KMT^YiTQ;cnJOi*#UHivW7ovByEZ)@+J6@Yvna+p*U%~wZtIWO=AqlWoV(>0 z&aya!cA5_&wvevsR60_UBSGt&c9*!IxZvR&X+I=;AbVvW1Z9qS=G|3hU*_}Qo0obA z?`Oy~xAs4~0+6*)_%UWXN&Y*g8_oH(S2;$0KuTNCO&qs<6k_+#`PJ#-A=~pW1cRum zLx%Q>i7UwxhR;I!J*=)D^*|l(8yCwV&I5-BaC>8a`GlJ;16FX3vAu(;yoey@9qks5 z3h~k+J0FWrA?go}o?+fOAMGzaN0B>}<-ca@*qym{!d9N3VfI`&tgbB~9)VF2S$yeO zv@O!#rbz5hy0Q75D=YR=B8(JYAxs`j%qpP%Ln~dYpTg<8De$syiddTa3XP2*!CrK&;cAs2@$iN9)2G;q908BTXV4r0~ z-M-~+^KALCV-mDto^tHG^o?BeFSFmbO|9N%$MxDYe4o%|PSY;q%)fLDut#3vrX>?f ze-?mLD7~!}Vf1TNpGkV3#?{3?mtj-UhFrx3)h{A%=!I?yL?6JF zc*pjRE96xH^Q@3T&1ayC*ku6FA{J)7(cR7o5XPB;!(PHhi>~_L#b%cE0230N>pAm_u2k& zEZ{KeyEHGyoD78MZE-TR{;3~1@gMD6*7n-&O^9`(FtNB=bJDE9MHHc28Q<2JI$o!; z!O1sYtiNwpUVH2nHj`G(Mjp-zE~&!}n-oh)=L&5uo__N;g z(I^586gPx7jd&3*JLOj0F%DnbAjy?I&ifMbuKvByVL;X$b#zz1!oya+o=J_Jg#gC2 zHJR_ujRmK##~Zsuyy%XiW+g>`RO{;=98Xfud2K>O#dp78hjiVj+62*UdLG#3tk_dl zdhkwvhY3;&wT-Xm(88!3C8yHPeNx#Mj7N+7_KP47JDa{lGu&m0v29t(3ZIxKIbiwP z!Y)Q)RszmesUCi&;TyQh}1^$qd4h;7s6VovTP*)3U=&Vvll(bffp; zP&Lpa-_=fWL%v~mZLc(Su^EZ-P1~1{cEf3(bGh|VSr~Q&-9fI`zkNPH`gXP{K07k0 zKIolNr;kK)1@gA2TVE?>`ap{{|36`Z*7N3eqPeeT)GdyEdzrnwAgb+jOkq%`q*3xCCi%z>$w<8u+3v@rGi(s>D(L<3$Bgy5VT4io_#`SA2)Vn_Gq)c^`VyqFHB=iT@Oc|-Axb2IxhE0Wtu;XJi=b`@Jm;%Q3|zeTt!#Ze^N`OFzZ|7 zFOvgzCR*2AXqQZb1aI~47(I2SRfWZsi(*#{oxl2`LtK5q`o9;uE{`6#^w;ZK{%_p_ z#@}pPpl=#T?`4<&IW^2Gm0L!M5+r?@{rIHs1P_HQzT%Rs|X2f52|2rz= z$S}9BM~>7N+@mhPYOEB{ooOAMUJ%()hfRHCOZHVQenCL?Z46M9z4K?hKU(~pdT7LB z=h&5eJh*d(4|m>iG52%Lxw=FUDfRt@hK=h35Tg&3LFP1NhZs zMXcr(F~F<>+QC*cqhCt>b1$TstFAkr- z?z4X>?f2m;VyBZYTt3n0KZt*MTT$t5o`gql(CnAcvOo+CLY`*Be)nI(skmitMeH`3 zT$QzKZxhk)UL+`JuNxpFZuu!2I(aEkB4 zv&J}^t~?eujr>9`#0k58L2`ZKExSVAM^-_zxaLzHO#sYnh~|CKPVW8cnW%+1cM(6gpC)5f8g|B;pxP>K z?PkA1?i+&xGA%y9Bdfg4&3@f=j-j|x8&WAim@l^cP~r}^-Tp~_;FBvZ(pQ>C6YK|9 z@5prL<(y#-uCepJ0uSzJLfpC~_w!oc&pet+1W-lzGBC)~$ku zYr3TL&Q2V_DQliPTA?6G@X*gw01${O&&nn^kN<&C-r2~wZ0cru{efrY8UtGYK$YYH zGZ#Cu(?i=N80Wn>Vcf+r3H;xTnC1AhU0EQFJ@d92IW*7O+K}Ff<=j2y2w5i0YX_L* z<*c%c?N>!{OH+x5PH2N-+A;*DlSBso;Or*by63%-v zA>38p8!WZkPigl01OEVNTPMX%-=gcP$V1W|+H%B1r0F$V&SbfMHpwN!~#Z5b- zJCy-jpctKzgIXgps|=};M%R&oy-huzdsPoC*!#~6E<^kP%lx)%4zeT2i#({-!a{K82KxUgDD^C~c zy9e*!XN;=Sj;0O6W3(}MGLJdSC z7+^?UO>miRgw_|jiD{arB`J$J3ms1jGic3$k9=xr9eeC%$0u@uNSi5j1u%VqGqvwQ z>1z&pOTga}_#7hf-vBdvu41&N2uOBj?cCk@&sm909-=p&JsKl&eto|C28dIBiPi@r zwi)2Xnzzwz*bypinuJ{^;eJpnOc*L7X*3f%BiyGhMrM?Tyj_B%=1jJE8Q836a@V$u zm?Nt@peU!w93Mh8Y=Vw#^rTrr+NWtMtp%VS$a$NvklUA+JNde*O6{Gs-^`zfDlVS zHNy033Z5}nCR0fGu~S3L&N|1PAKyBBq_3z&2y$J)k8R^=)`|lyMltU`^!9Q3vT1^} zxy+ol@DsPgO}7EtJLA|-j>X$4SbW99K$@LsQ&WW{rTH(N`lCmQIDiyV^S!dgCwqAG zY`%?n=1n~Xcha4Ehrfv#+(&#{v3Wm5et$PkLGd;TC&~7#e0nQR93{&@1-=(9a7qZk z&n;gyN*^eX_uAcgS&92(?=rM&Ce$(u^hZDa%w4e}&2(o5%-TEs>d`~$f|i3{2W&fN zdjfkOE4%JrEkjWy*wcIRBhpl(xUltRUuqcWV$gYgp5Lt;IA`jWLSgWspUU{SR+X`2EAg#UU?1`PbRWy3pxU3@@&`wOrkkquTOP^`v z?i6PX#M-k*{KcOgUsE((u3WkD=1Opa=#Lt1_s6%E$^#o1>&Q!3?XRz6+LC!RIbJVq zhh)EZP4$D4vXl}^UD%%c=hYD#)^zGW(C#%NVk!1*#RFKpxMb% zJoBDj$)w&2YL2M3mZNL1dWH11eD00K>w9ai9{Ei*uT_GM!WDLw^|^nm-QdW%zOZ$9 zQOYV?G6gf_N6qSA+Vl3r*B|+FZ^||*chq)l5!WUWzdfli{{r|x&VE+Ge$N8fK#pZN z+I&A%rCDs3&Y8e*X(ESamrIioQFV)7m;HD5m2I@^UDwG(@ATP}ahhh^i2ThQl> zN8PRD@{~?e=>AHQ5^{nG6B^qM>m?ja96Up8j`;k-x2ePGN;`XGkF5SWylQj79mU2` zxl^+}Z=AAAObl=wxRL`++yq;84Io7Z=6{IDcXzgnJ%Wvpoj>GD*{nGq2#)>-a(S^+ zFZ(S;BfX67Xfvbfve@Th4&i&28hSWCVmj|x>H?34I) z8R6H#_mK1p9=cpLS{)(U-P&pxW-1*Gpa5Vd#cL>lT4466AwRANfZ>`^!vaBn|X*-^FlzGC8 zX&^~YW%RG3b4r!%DyBgyhfO2S47ct$K_|r%zMla(0z$uWQnaVH$r~<;A(K9LoF^roI219_M`Dr{J{YbFT(L!n22O ze=wMgRnd576xqASyGY3;a_i1{^<56svu}+|4!!^M$Z@ft<%**mNf0-jX)%-;?;M`F zL)ohKUHty=xWioz*N5d&4dst>6_PUlZ`=HqXuhFY)n}$JHkv)G%KSto zrxyTUknf0v@X~O%0$q)H4r@p3<3dpDu4qpuECVYAH&W;Xu&ns>9+JGWomy3|!U{l2 z{(YJ2gEt4-&(PQ3xOTfo{w=|WW}f(Odm+E^og?E(yYZW*`J+On<7$o6viv`g_w&V{ z8QnewarvqaN}`TlISwss=fLkqCvw&iJfd*-EdA{1KGMlPy*qsrd7iO%|GVtsjYLqy zC%U=@V*RU&-ANidg;#mD8di|#D@Z(qjxO)g zsmf2DI5!{QsliJ65=glcH6~EngyJJ;vYuR}fmbIZ{9nfPk+-eFNxFv1WApk0En>G@ zoKwVPEbVNy2Xt;bShT&hG;7WeoOiICPcdmc@uSh8@6~l~VRP^HI371hQzg^QUp|P< zm27Ak+rd&lVSHz|8T8bgtbIQBGk8zksRhZ77AgScRoO0C7$OenZ2Jx-9+Fk;NRxip zCo7w#ChFj-e1PVA3gn8kp};Z%aNjnPX_BL*oAI$%WbcDEonEPm;$J1qbPfGZNiD6e1du}u?~ zF^bQ^1P!DC5jZj{aPUg%tfa6J^`*u<40$XzlHX^eYkRb^b6mbF zb@^qdA2hO{DwU1H?sWd4CfDG6cI)rzk4z-r7U$eK*LMYZS=8+Q^!CoH`$}DJZGNs5 zIUot0ho5fx*+oncZ=IRmj(&dlI!QUvPqOaQM9S5<%DlWa@a5(GsDX$rrG+Gnz+BXt zyJ41*Q!wUPys$D0iZ3R5ZaHntzsnF;)ZA(d`!{zGXL7t}^S`6$sH+JUh-CVr04GOp?EkpTS_^ z56#4VZveK9Gb8Hisobzqi<8?9;|K1QpDvor3bw`Gx(XVPoh>(pOH-@e+y)bK=R(j{ z-5A8>+S{zG%c&gF83}wjXB2w9dn)JZ6|aO+-F;WZi2Kw>jh3Et;BpQlyS6HJ>(eKf z4(l}hS^AuHznb~$deB+-(bmHw546swy0{%Gp{c4*x2uT^SvAU=-wnjcFG*?4hcVO| zeyZ2u=;mMZ|4kHetsxgbSOy#vFb82c^#x(~N5Sv~#7C7G(HLBA_CeHib zsza58an;9*Zd=I^-2N!Hmolhmg`vtg_svXue$d7x8Oykb#9o#At@DTZ?LG7neA@~w zQvsmznaQ8-hTI{&xH;uS7Pb9VV>i2KNEu}$^`;vPhTL$;8js3a>DTe~pU5WNW^yfe zeTvvyXql#U&NAM6zFna+OI@>cyLOYs52+t0^~p-kP>N5Yhga-fnDnIF`$g=O(2v{i zblHu&KAhz_`0~or`RuN_;|sTHpF*`N(eFI&O!+bh^bda=uXSXIzI^`OmIIm3)aKaE zi>v1*MP5;J*f&}d)l!q#yjS_}$HxkvCVguR%s)08D{Q&dz&uyVWSThXsU26rEp2;G zZLy)hCLIW0Xdn#@*|xUzjOdf+&pVrt4AF6gR=!j2_uy=0o6S1xM6wW3)1!L)wGg_c zE+!RU2qymEFzrTx2xz=|DT__3cVek*XFd-M)GBz^IofR1pyRXpWm_j1YRiRCD}Sjo zo+s^1jeekyx~ON1B6!XKi0PAACZfJ34L6hqF;%2&-x<##x4t-knugA%3~Fx8Y1rhy zcXsc4Rq|DiFUe)Ov(V`_-zpV>uuqG?iQN5N}GtQ z#SdgYT6^gAzM?B)8_ELjhUy>LfcbuCvO?5IgK8sVa_A$2?BGT=tkz*Eb1pyPv$eBB2~#fKaOQZ`dARihqyu>_9N z9jKMv_kd`WLgz=256T!nN?aGf5Tj%KH5v$68%R}XqWUud$Ozv?jDkQI5^TuA%7)yq zY|>De!N9DyxHWMu!3tf%0hcS@_Ig|WDA6en#4KfgQ1(+=xQH~6+YBI)PxhMZnvx9N zGQ61@i;5Pl9Mmt2ulLUt14(0gmDb>@dXHV5PvYwF-=IwXiecSlAxQ0wu9Vu^VR!&&wdjv3@4V?1V2&{G&kx|`Fz($WKFU|V45a{RE#I3KCBbQrbOsNXN_Eo%zE|!g3|YTL=biwwUT`rl%Dqf;SJA9HH>7`_8OLjR zV5y-WBn~ceQ@8B+(eYQ#_LA#`v*r>1a{zUfJy zSaGl<^9b<~{iw$JMt3ogyxvQ;f==Y{F7Fb?0fA9C9QxV%7)i1HLMPltScP)G*_+q8 z4+7a321l+y@BJ%s&KP*5^VPCU*FM)-_rZT#F)-~y8Ix4l>yX>7BLpqb* z&dv+>ekXf<1lJ~tKUWgeMoTrZ!pPw12ZoPdA7h0fM z(Oc(ywcSWYcfkgarUsuyrI#b$8yu&#j5K^pw{bs1#lAN z;f5nrEEqqhTMow zA=a{EQ!N}YaBRDtZlA8kp<{<(mZOFRad%XoUl+m5+E*pn-+^_(|by6Hmy9r0)1?lH!U7df=He=U@a&)aoZ#;?{VlGuZx;rK&DHnSycVIC@ zp|7dou&Wi^^K^oE-4yqnz|5Z)QmR(I6Ig|9z@$b!fo$*YcsfoMAniSdIl`Vqk&EjDN zo6!g_35;s6(OS4@yulbMxp+@E&pceT6%Bo5ACe`M*c2eQeGW4K#D_XQcG9Mb1KR>% zf8c}nxP0bFw2_3@kh)~U0 zj^R7;1j{zxq#g1OY+QAi{Pq`CS&h=Rr`5Slxw7D1WG@ay`<<38ky4;@x1{%Cjzm)bD)A=Dxrqz2c(GvGGaf_n?2~29tr#&pk4`Grd54Hpl z0WoU(M_oLq3F0j1#r26o@EL*dON@-@$U5XrXAymitytciy;Y;!!If5hrzSvoP6;hK zdr%#7s_s1Tv+Tt{UhcgQ68CaACjkd0HB%)YX8L9@2kh0i2)RS8C{qp|D^#1BJPM@) zb$dWjoR)P5)CP8!fbngnBL<4ZwDB;jR|=jPq5qDWwSPA-(AF@mMF}_v=OBk6BG%AQ zq8%Uq2d~NarlvI~?M-`j+U@2`g3_O!oR(%Rt_EvbD&tL)KV7s@UGS^ASHXWyy0vLE ztVp6!2p4;&eZr6tMkO&cJ$s^OZxi=TBTwOi?(#}4&ho{}L-#@Y zZ)b63nHmhC_K_&=X`-D2G(mEaDw1#lT};e1hJJ0HJnN6Ghh+(&3vR0WY9Yx8n-@LS zIE=0O9@AR9`lr$cBkV!P9*O0r;t_&_I{DBgnS(x8=n`HZgq=eX4p_@i?3s;3e5AV+XQb1@YXsV>)TBv(!&1hS#>0zl8yZWxjLv=uPafvgZBJ;}~u zPBBaIM;0^oeA9ijHg5J~*?DQY01K2grx7d<-Jk|(gavM;F%F}4cI=`5kWJ9^{o*Sk z;F!6F355)r)%A$cv|~C`XLQHM%y7n%$UVS#bySK5iFvK#|cId z<~6wau(n9WrZCk-Hgk|L6T*;)$1cUUQ(E}jrz*K7vWi?>MQ4OLImL09L9^m)CfVZRx`NZg|##0G+OqQwUONuxly^u-+3d+dNH5{opW>IG!3=cMZN1tSTf&ujwJ!)Q=DRC0XEhk&`fFgyENIWEKeMKH6lPA2B5{mPlw$%Bo}A{K6o;q~QOqX+!sSwqmjpK6)6J5LeU|jg zQ$s0$fb5`dd*S{rc0)NQVI!BX{xokplD5H;l3^D-^D1Iw&B;=GaVA_Wc|R$wwnfC= zpG~LyqVE4zDSP&(+Q9H#-*eG3hZBb%T>WghQFeV}vgX(6dFjMM=ioHy@q&A}G-*0F zeu(LyVR!h~N5AIw@z|{9M3?*0SvzNjQazOd{Qp9Y*5(ks=q6z$`q$0Fey2X}?6UfI zsz&f+dy*XDAlm^Le2tXnKLL^XVMhJSEPrPhDO0k$DqNrI9e+V)LG6m4<`Pvlze%B$ zpv?TGRtuDc5-wgsrvI&|G^a&oXek#1uNM9g8I6u)wgRGzf=yxpi(-3V)6LG|fm97g z&B9;KhB*Z{sbDQZ@l;_Qa@QWMAoAkt%y-t2`}*2`S-U77LQ3Fi>n8@Dq9j>?(4O}! z)_jw+$BzZ7gI8X>GmLN9E5o!HKJ!>1NNhxg{`cnXJBfj?(}0DGfP(8}oPUk6hug2I zIkk*A8C5>Z#6~NK*na${no#)RcaVJ92WjP+A5BhA@i$^Ga$@s1vFP8i;?I$>pQM|= z9JO98xNLvKWDc{%MmsZ|%Jv%m$T+>^sM)eFwanA8+9)`a$J|0@c%ERqa}&6Dc1k$+ zh4?`ugpzo+$0Gqe2>|x8yD9#Re$GckK(%&#H2W%@4_gXAk>FSdw50Ff&N{%N*JQ`X z54Vg>Z)@Mbeaf19802uCAV0)?aPO}|5cj_K;n7z3v)aZp(3kd1nuDY-p{zI$tC2Tu zBNU4nZgw~JcDTl();>N(-bD)vo5SXNqi0lHw!gb=eBa2-zWG>BFt6OGk$pR-0W=Ma z1Kikqz6RxDG<%=ZwEJ-NB3_~-PBSp1)Hmiw;Jg|O$k(E2MtzqSu@y*!i~Hz*{d*t} z^WJr$@wsr5HQobTi#XB*HjI3}Kkh{p^6x^^UNx)4zK~t(=!eym6I(}dI>kzi%&{^l zamo{~nx?HY2`l!gLbGgDKW_F}T+OlKze$;E8)UgJqC$@B!_#xj$^7-~q zqE&+8bhd^Q*?TB(Bdq}`t7{#yIac)UU~z|0%z*u4dWd+@j+jl46L!}R5(7$Rvub~< z;hCl0ZFI=xLN!}X9j44Bneu+Dc!xC2Zr~ByGxtl?#_;e(nJ3h8@S&iZ#=hi{HJQXwc$-4bc~TP5(vteSF;9k_wzJ@Mm0r& zM6BMCX(3k(0S=tw%Wb8L2pOOVc}@oY^ftdQ!r`&m`07OhD0uU%gwy1LSRS*Q#HFKb z)>qK7KFp#)+f#rzsLH<0vx5b7KWUXpqIw|Q=@f76(GJb*4j1hwMIGB)D%~v5IosG< z4M@K&^+{=ukVBd37rN(N>`>M>a*Z2f+lO87p&BqIoAtZEL5)vfU`H`otW$Zt2D`&t98?8ww#zuYel8cR^tro-% z{If&oOq_h@YAITHcY&D?s2z+qXEQEnU&6n9xa+k^U2AeYPE1c`vqti*9C4x$j53gZ zT^j;)>E>C=#nDgHTB-&elp?FL=7o_6s{p z9ZI2Q2Er))X96b7-{}SlgzacgTw8TfMz+a9f$eP|Q&uL z-X!0|Lq|&{djs~LE&;1I83-1wbMAiFsX$zRuXf8_?eEr6(CbY*an=a1Cxk+|j?2(E z)(R$u0MCT+)Pu%X^UY%nb4+Gh<0cMc<)F0Olbiik`0qK%j5R*dy(XG`wg6Q&qNb+7 zwG~C|JrzeuS8i%JC0gO__o^8b90-aa8V)|z=Vp6I(b0b1z7S;==MuXqucy~HQ&jIz zi@xP%2U>ag^qwgP7Eu&MiIXBO6xV6W$Jw~Iiv0%k))Qp1OxZ8q z(MP?t!>r!hizSy*q}XU>UxRAwbfCD0yiU1P?$P@G%s=ZjXi+c!jIcGi>BgY( zT5nbIc)t=+=TS0aD#O5gE=xo?jNN<+Qey&hzI-b1+w7NB7zjoA?!v?lw8L1W5zpXV zzQlVoc%z544M%4BBzCnrAUX{JF;R6P+7dq3BarRI|6V>JQ8N4&f@BPei+na+5sX#l$se|;cga*nz z+< zNwv2RY-O7FC_W=>)gi-*_Db2W-P6tqv5l^yW2?*uZw9)Z;b^f`C={;B0xg$rEb|!4 z6*oNnm{y(@pDz2DY_9PPYTz9Odp2Wo$<<5LUO2cMqQ(MT(g_szjeo4m_*D>gG7&{u zq@8$k_8IYH4Se=SUr}zonOPO#h_Ar!Ou1+F>)UjBBDcgkoSmt{bKmV}*}zN$SPb&T z<4jqzw(Zf4YMY!m%R5;o(&r?@3l|jb+Ewd$_Z923@#G(N4_ejKW?DTUpkt|7%8k-v z>YM4}P>Zy#RAH&QJWs+UD^ytiXRw}o2D4$#C>b7|IYKjbE6 z+RIMN9j;mWJW=#-?OfIs=&1l9O%GqBU-#l<-Hta+kIi3BF;;p%+FZYNTca(QIoT^Q znuAB4CKsa_Y)F9jZrD#c-T%GjelrpLqQ5!Z?fH+v?LzID5~)?R_a;bblpASt(j4i? z%9QxqxJPkeTOP=WQk{eQkOzF*zZQW*rOP^T-ExC{|JiF;ccc9>{-7C)Vp7$dlkdzX z38-Z%I#biB&OR->#;`Is-4$FH{U+J@GZ&ql)ZgI2N_RQ)e>uh7<%6vBXXxk9eKWua zM?GxO`!t1w)>>4UteP5|)`!%1pfFD@e(uGV+|Iu%lh?$H;Qc+b>zT&T)#cP_>QVoo zhW*7?qX)0GmpYX9;ksk{cOIRWx!FDVp}7b-pAC9_jA)P?-TP*L>oIwOK%BtE#8Rc% zffmbVkl&iSsXbt7EZ9M`59zF|hlE-h%<9;`e07?zs%my)1y4{5q!0 z58hFBth5KF{}YQWEuhPqdekte{| zeHwJQ0kk<~(~e1wYqHnH0}l2BR93(r;!T1EB5q73mjhCeaVBSOMhLocD$nIyiqo|_ zrrWp@gcb#bWfn?=eI(xdNUR1xH3PGWHAd;b(K#h2W9zKP95rG9egRwrL__is9!n=k zo+^ZT1cH1i(X~JF>IXDGbVWP#I5+=@zTR;xUtj~bZbc==(#_U4SE}90dv~t*%`|^DvsVSF~pJ?#be=K)(3#_ z@l4fLtiAEEB$hxumc8G(j0O+2G5cA33oF-6QyPwNGZXUdex)1!h8e@C+V<|G26v|{ z_u?M;LIC{q3M6Whf7LK#4<^LFNs;In=a513k~?(`f-~ghP zg6LT#PP8J%0f&tOb5CS|4wXVWf;6uDM8~9S#A9H-RM@ts?XkR>#!=m8B<%YhlaN={>%<(OeCo{;2Jn6ADAF`|OLPn9qox4~MmJ=?u1vC!03NMUPm3P60@ z7+dC5XPg3^=>r8KL$Z5AQ!fgV@gJk)d2(`t%$@eQ0munryy*$DFFZ}-yCLbG}# zCpgG=9JG}5J`q*2niVEbfStnc5pZOF3+>Y7Q6q*%A6M1A@Z~|}Nr_N3?^v%rKWvWv zRAqI@f@&!NbJ=JLKzs!)zCu8-fU2#KBY+)64h{}Ca%y1?rIk63$8?o1M_lU5;q3FC zEQa#{64g{w*qYD9olLW!>@Tab=B?oPIy0|Uu%k0JMI;TIY_d+Q(`Z@|SICT-DMvN~ zE=+rA<)4ktzY#tE(fpmMInC~RiLu$-jhGbQ2 zqkj)sN(YPT&cCjKc@UZJfREkKiCtQEmMiC;VM+YA;3sO55%ug12C%-ZLY%fGZI{E@ z6=1!Q)`Zag38i{QGakfVIijxdE-GYK;dTH&-Tbm5j;G)zgs4l{25_L-R_&xe=we`d zQ*S%@FE9WD4rhU>jdBSNYBGQIP8d?+fo>K6h;^X40bCg%U3M&1wVjFx+d$57(0+;N zH>;9uE9e#-?9IZ?F+9q@Gx0kf^$wsMFQO_t*_Zzy#EAe+TWQ%Q>TFFPR!kOLmj|!M zV-u(_!U{l~1xQ}lnY+|vwE|6{cwbUTIcQ?i_#o$!du7YWVc#x1U>?CynF#X=_{FN6hwepbfDW=iJ^ z5l=O%v)!wC^n&O7)RAKnH(Fz=0Ejn(*tJB7hkmHXg3jlik^%udE|$9-$rb+%#+YMP zEiJD906+b3#AAgcS^+N)Lrw%D;4gQ3U=b}Z;Ctz?9qx=xnyiU*C@6v91b{|qx*cZQ zTPMgVhVAEb!6^=4_1m|oq8uB&&+R3Ipkf+W*UCUICtgRfo%E6)z;yCrdB{@9@gG>) zT}nz}ELSb;W^qW8l-vC|89pF0OdL6bM;#~admo!BqDbDPO8T4+j7mBFnS&fWs`}B* zs~{;U_gs?6S#`V8@?0k5*O-y;EXYl(D~kowaFep)06{%nnsG#hsU}qx$PWOs{T*>R zqO!6w=U_<=;~l=!{7QV4{u7w;_zKbA1O_YywOldUJ()E+1AW}3K9Qu6Vq6t3gdWAf zZasyUu80dL5)lqq@0!!&Kf&|on-^hVS@`iZqD&`8X7&o{i-mS?phRzv_!T3#?CR+E z1gZ9Ac&0EBBa+&-AcxJjO7`OqKIO)W%3{A+V#fKWTQu$s?7Anyb3b?8dtQ#b7uqSJ zz?*BYzBYyib6O7yRHa8-hs(>oec6O~W5o4z3f#iPUQi+omc>GVU zZ@!3$C6#+6dx2YxieJ{5#RK4nw*Q=+4;+E&Ea0)uL=_Jq)I$IX7eG$Fer^^bMSX|p znzU-TV>O1C1jr*wsN!!K(oc(|U?Ue0a@SJZW1l0eerDpBY{{0^BmS)r|JXvnaqx&T zcc3a-toPzS3kHFUXSfe$KQ`{ef8f3hGPf=^z%5lPS%-IBjzHv z1R?{LSz41~S}gguYrVVH(|^14x^bW~Cl$Ugw<|3}QUUOH?qFriWFpYkhzj1PeO9?6 z;iI%%^lE7|5V9o(A<4OU=fK<>DPhTpFF9!cXWLFZ$yTc5<3QxsL&yONdQsGx_&<`) z{gLU$|KB^=W=@;qoaa2}Ip%B_=8!Wv=X|b^gj=`G9Ol@Zib!)lq#P@`Rhu(WNQKlr zrxGek-749~`}_SD_WEJl<8?i+>j2NUhU8sj#5mVWg&XUr-_cCg13M0SAv%WK`b04A zgzcIvWwoH?f5DA$z=~0T?EYx2ovfmz3@-~HfpgCvn4A(k#5 zeblr;$G;D8n*@(`5B_^sNR5*IO(wBtS@yxEP_abOBNhJoJUc);Xoen3GV@?o@EEv=Ip%f z<#}nb|L2{GJMjw#an<}!H~+a4&wY7P;sC(6 zjvpCtc@P?&$=nxqRBJu6;Pu!2%2o~up@=i!dFUnNuzVd@P=p`p2Ch}qlPr}H2FadJ zk}0^+np)nPCpM;#srT1YTW&h2mj04>SLYlF1ezCi?vTzQ@bl+@KLvY5UD;&X`8f_b ze-7tT&@z@qefY?6;b{Sdi5!diS1{c}%@e$PrH>XWlmfO0##j{F(3@}l2i87vsy2yOV0!ZZsL z%&HHZ6-@$g7IlTXyQs_Ifr6x6)W|Nu+R`7kmXu%y2IE}z#AO$r@cwaM=7kQS!asCd zsy9X)&hq|ZNm8|E-YiZ;yWEpGQ3AU@xS;QK(ME^;Mp)>__!r|>*hTv2 zr7oZh4N5PC(`WYt_H@t2$)x|5p>OF0ebY;Z_;?NP|2ixCmns0@ie~_z#>c6@T6X>& z%BHdtCuk*BYfmI}gnxNwhEMWKvs;tYzK%{^R|`E3k1h*eMW0G~b_8B%acjwbdK~Vz zSnO|Dvoclj`#*uVv&q)%dshGP1w2eOe_`klp^9!f(;)F3SU&dbWK(U9n(G;!C{uE8 zMh6dVz(wvklH$p~uX6dQJI}|rB~6rf$8IFuU;pvE>b6S`c7Ox zt32pWi-Y3u&1QW{8AtPFJa4z--Qadww*e<7MN0 z$o@~}IG1173n_Da^}qNv?ej+(b=mw;I!>p+?tWO<+hbq@b4mC{1Fr-BFPK=|VAY3P zf9W2L-|&M1V`1tm@p7%{U#noZ5+2vl1ap=RJ{1_E>t#7#xs_pI(&_XN&Z{Pw>P(4> zGC1Pu<3reF_K7(TtbvswTqVGRIe5j5T<9dg{f$Htpicths5vUwOUi(Hw*qw8D3&x7 z!oPJ3ga8D~WFdP5N(^17t-1Nw8+EYau9G5gk;zcqxMtU(QbW10o81X=w;ft{2CXu# z*^~)Fv^FjWV|w=vwb{h!Z88P8ZiN(Q!)?=gyhq4U%+ z=KQ(UR|n$W4;Io+O7;rZaxBLTBaT{V8QV1L>k-YOA8w^Ot#l2U9=EMYqu6yLVlJ-! zN;Mfbe2CkvhG1>tLK^)am^jyQCPF2j_Qsj4AX}-YLOZH2GLkw}BC|Q~Q%i-+gzdtv z5xy?g=kQ8YUUbmpfCpi;L{(03o{g}w86boobLk~ah0aSrTaE|>AXPT%q+%8>=SZZ@ z*4e6U(Hmxqy}zOC7VX6v`pS+I8s266qE7}?$A@6W>H4QtJQ7B#B5U0$R1i1ohir2t z_Md-Htd4jXeD+V=$);cB=bw-*U~8}x%4ht;fRJG*_%l~HE(jc}6^w9XcqaKLaD|!- zU-`5R>12dJdi`Uy-uhBQ8BLYvOzX7#aoN9w6APXt)uY((KykN}8)E7ZgvSIqwv+~z zQ~nghJyl(TiKr1?p>uHQ6ek{AiL=n-5H<$H*NUmlj&o$2Ug+YLKCXkA?veR4e~$}w z_9K<;LuB4Z^YNMCY{Uu^3fX8TPa+;7JKJmk+2-TRFwlLsr5Jsg;2V~iFd z$3WB!s5is*2QnsPIaMZraeyD4_)B4&lhuMTNsX;VE@T%apj4y{_)&5S1!9bLKH7o7#h*qAYGi4>miO`2Dh`p2yNUbaW>T@)Q& zwy@zexHil}oT0$8)dja18Pk@$Puf{Ny8Uk4+9O)Y4++*HAq5#E8{JFj;b;UoTXTb^ z!*2%?bXfwgrB!{=$OvuU8w5GfBS#os5KJ;6nl6&@NzFwfrX0Jl}BeS3(GjToR*nk4=1=#Bx}fA zi6kqjuU)w&jMeUVE2_ppBS;7X*LR@%**Nj%UKvZNk{VMP$AhRF?M;!b9qkj zYtln5Q9*@?<-3k0 zwGyM*5h2NI!opQ^8H+5E|JK%JA7BtnBUE&_KOb_Bgzlv&Q2xz#^r?)e`nq%mcyjXW zIrVO2v#6)^K@{G&Fxz~9lc9}}?9i`o)vp$XWZ4EG&!b#Ce;!d_=MKRbjBB1=L5EQV zEku|t!@1*~J3}KuB#+p$HezaFcXY89oMw26?pVd$qyX)E+N3w){rovTm{~%N8@>Wt3~!I5KC>hdGq%ScS@>Tbw|k^+fqE_ zNy*o=tr(~Pnz*Kd%QlJ1MCPGCUl8SAQU30=?9sR;*iw1!-F&G`Ze@tn zFV36C=WEd6jWJdNe=V7g&p`poK-Ubrg^+lq(kq{zgy(x>FZ z*jWgl*6Uy6@g+iGI{N>e^YC#k+&GwtvC68}D{&!BMD^z@HVm3@oQE^*o9Tu?8w$)vz{zSXO2~#v3Fb!bIg^ z-%&Y!^enSVP@o}L-GI^w=Ms7Y66)owM&~4patMe)@N|kogPzL7^>jOR|9^Pg+qK>K z(eGSLs0`JdRH|VnTneLWL8<Q^>q_yI-H zWd7E6osm;i*M_%Cs#NcGHi`NcRcUJnKirA6O2!-dXIawh@)^{FTcC=*1vQ&@N?w zJ$`5_Ni2o3YB{#EerI*yaZL5&$ltlKWu>3|sP-gEaa$&a#qE%C)2OnD&?o+mJc_Za zRl{?t5R3D+;6+qD6A2#It*kT1?rQhe2rX%=werNEt`o7ERTo&}P-t|bwTQyal~sN1 zHc+G$-(7cCENFsvp>+xeKabMBM&a&8a)Ek;4Ozs`MiA2z!5s#cjJ7Kc%PljR%zB#R zTghSRl4U~T#i$9NqEY<1YO^s=pKj$!xYWy5%}308a=}IHgWoW@rG|%-BKeDaqYXTQ ztRjgLGHxBnrUQE^)n>y}y~e{&ZkM$WTIre$V_WUJ4|o@8z+V8eFdDdumCZv|){@(; z%7K}7HyV_i>dOaB(`c4k9odV6-a#cNo937=JS`>1q6?>u4?^|->{y~Z zdighHlC9a5)Lc4s;jr``B-d;@i$^>OF%9A{i}>8C8~0Tl*S-`mK3K2< zTf`4EaAjq2@I%G8@L3KOiNxG+VvaMZi=Dv`>gr+?35bU%KSFF6g#3hw1d(%AfVqUb z+#WSRwe-e4WqjtgeJMH?UMI$%LFH5U2-CkIeF_9 zX5KlJr_k7bt;;{N{us$@+VLyQDL(p%${}WI8r*UE>KIU6my6}yJk%a2p;Al8LKFX> z=s<34gZv|_oQbKNmI>3P6LVRS5_h*JD9Q%< z-t_`G7>>;vifAb?DE8F+JaB#u_4p?WW6iU`DiLwz6bzx-usX?p^vuv}JFfY0IA~;R zR+Vw#2%Vd2_c>1oK3AT}J^fq~?ZV!5z7Qav?N1c;>kdW{3;D&*M;qpJkz;{5sZFm_ zt#df{n4DbIj5}b>a=1( zXR9u+)CBNLKTu9m_i-q^yAfEbu%uu*+zl~#AH}By&lEZ&@nC^+dO*Wc@&-x#pKjHx zs?i0;^@UkWwnHp3mxCf&Ldyxt2|CP)XXM^_2)h#BXjGZ0GMlLafbdV{j+N(5_`^K} zmo;bWR3Q8|dJC$%(~BUq)ZBpROP~Nl6i8DrrimI-fgD5DS*%ci$U8I$~nMisSCjdo~aDMO$5(+_=oG>qe=62;pLGZwfPhYGRzQA$L zQ}h0;b?yyv0RC#JnaFWQLyY4oG6e1%5|Khu+z9FB?F)zxpRl&n$V~!fbI)e31YFF1 zO)cc^?KD)^-sj2+Q&5&TP8mIkxai<@dA-|eNj}Wmzw{PSBZ5JwIK0fSr+2D+Q##8l5+Bw zG7&7Y2&vp0o+%3e1~&5DM?Nd3sQsl?lb3G|Ji5JBks=@76ne~uL+1f{<*}B$8;>2~7bQcQyO0tkt z^lvo~8ATdN1*o$oK9_+}E+nlgflLf_gxrKnIQ`g@1S2YPq?DbKl7t#aLTUbUuE1O6 zJo6ipb@k$JIo%Qvw$gb1!hRGTWY7EwQzc5VfRIy_A~&|OTn-_A7-x2tl|l5)hw26e z7cafL_68`7B>&-d;W~1T<9MAg^E}IOB7w){ogOi%!a3yQwal=Kce0}hF|P(Rv9&M1y7qT_=dgm7 z89<33-rSK&b0pZD1=J))GQfj;dmu&u=-xN5>LEpk1Uc3EK@3R|>JsHTB(-l_X-Lwl zH$}xvdDZ*8sZ9|H_9l-Jce0B|X6&gEq@0Va+J;sdv}0KX4T&~DrMZ~C8n*J{R(a?{ zl|P0l;Awfpb|>Gat3f=b*R+>@nJ$Nr&fFmBFz%jO2caew*#BHPJ)0_UO6I2S>H-KY z*{EN3%1HniMB;>#*HVqd^zNuMR3E*)S@q0GddXG3KBV&Rxr>P#9hKM3kl8Nq=fM~# zOeHrm@0w35gcO!pY`p1o7cWAb__N`4Vbkk)kWsiD`|i^#l)pUJLBFv0#|$D6!=ilL z4BvjcnK2vwj0%~&8@F5ZF7;7P*&s~RA5rZxAP_>;!sXS>KagKleu+TeYO1!fdGqUg z2?_NgSJ}RPO~9(KT~3V5clX(K-0hwCfA(8H6e{x(Y2fccSNFT-Z<6_bweqQR=*$TI zgRhavA#RB$EH=vU4;K{GT?%enGP&)u+{|N|5D)n;3CzBGn9FR;&E9fHpwx0I2UHyG z`#C#aS*jdvmK4!4<>7+L?oCqNrn>c{IoBFpn&^Qy+^`kM>q2_QSvF!=#+lnRR}ya+ z2ww?_Y0UBCrJhKTK{nCl#fvNNM5R1qPDyV8-?oWc{P0(!XNqD#$_*f8v;_SCuFNp8 zO@3~(1@>6%6bg7-4d>1hhq@R*9-i+ma+nb6b*4lS;{rC_KRf&I?gAxUs2ki&;c8cX zi;?C{!NXiUmcyUAJMk(!pg2pnGfwZz=6LNHQSP&iTeNKAkU;76qi>V?4AAs&MBeEl z*pi}TQ}w&L_m=lnTgrPRSo5;>efVl0*-aq(iWFaAiRk((v?1AQuh3Jn#U>*4;#kt!xp_tGaV`yCYR>sebe1fc_nEBrAA6|@{uLIA%0%sTl zffJDL0UM`xj~sz|{kz%y@3P@py0+ig8MupjXW@Z?)R0e=g@XqZBhB{_eL+b|qi5`^=jPmWUwk`UUvDYl`x^H}(8}L$6sFG}aSAe%w z-8+pWMgzwQRK@KyO?@PB#*>2i$JT8_HGh_ZDoKc~|I~@hGBHc_J>YWgpT%6Kt;YB7 z8j=fxsBN|?vU?>ZME;!r;Oy^Hpr>bBDx)BF*T##?`?J<_e7xbnG!O{%+H=f{Yr#1e zLd`Ia+eL1L*z#olFEhW0Tzx|2P;hJXj%ST#=*uQ1t;&vG&FGi?Ban4_!@N|2qhe(A zYZLKW39bA0_~&l@K}si$ z_~}=tZE;3$I6?kReRiHW>dY)-Z}nF81G$cUZ36Y^@7t2>b2uZ%aIOI z-MGE?bJa?`!WbjpK6Y3Fm@B|E?STJjj|Wvw3dd%U>gI)}p2*t|rEr-vkFQXX$ORV)Tqd6;ZY4~ZCmwyX5sP+Yg5Z2400^;d$5G4IP-M%I>LIxQJoSvlrWN0YwP3A~ zr`DxFVVghTi4)Xx-d3(6X@1iDE_d&=j%kUzlYR&HgJA)E$6&C9ahN>qI>*a+8lFFI zX_FV$^iiP-_7D(J6_NQfqDJD}!E;-7BhAgO5B^ojj!YPtx2KE=&e?4&WW6wVk9bk0 zbN8q>OsqCV`#30Gdi1b*00 zn9#W6hniz$aho8S6zO69)ofo~R{QQ<=^$1XLhfi?7+(4()RIe~5)bjNex!0Ovf4E~ zAjo=b= z+glrE8-!O2;17yY5^Gy3+V&*q1zxHZY>a8DO$%-d0wI(V1;H?GZW9KaN?G#U$k?1n{ie6R$L383-(;~{Z|?X+xq5+YO=bZ@A%iN=KOsx8XNO=b z#=*?c{L$~KyaWm1Ilq_o)#tdhld66C4JY>Qv@elueff=cD{u0fl73v}r{h(qlR5hL zqiqO#-JSm^gd!;{qI5@aSNg1#xJ0y*Of3c0>*^Tl&2&ok50z}AZL2(S5chh=Uau{^ zxtlJrWWnwK<0|l|0l?eJ6hC0Vy!L`o#v8-t#Xqb-Jf|aVHcmL}=05d>AP_fz1c2bl zZ8M};-JY{)UAUZ$5?jR5969#jl*$e@(!_c0rU;vP2MnwIl6PzzB<$RZ}utt69Ll$-G386STk(nem?cXqVH z)MH8>wt|EOgSgUA77n2&nWP7C&RSPpy*SI8)V7u1gA-DP`SOFZ*|K{8t@zaU_vAxC zJvBR?*AtW?OO<*y5)@=x6GS4MdJS{+97SdhZ43@BT}__`3)^y*h+~6`5*NV15^ZNB zrG!x_WEmCV;r!S!bgg?)bFBWaWs$)xu`X(pX^1Ox(k+LK8lfY6qe4Is1_>k|1mJ^P z@Z9f$St6-;<3Z7rBf?<0N&15bq+yAcNy8C?tdAaYa(yj5KN@l@a!N_&dO%~KpR-5aT<7#P^P9~~y4{{<@ zazxFo+?eX4<-~t>;7E93CKm$98_X-AEeIe%CzB%&TP3OGO^vdvNXg$TlnRfYG3_+| zlHmBPWUI708h<_frzH#F(JFR2whJ%Sqasi^v2o|9XLCBx@V&Gyi|Kz}5A;dv!Cy=3 zf%-RbAoGJ(TWfD1RE>U{C#kc4DgUbXvY~nV;5Y3FaUn00EeotX(D?IPf0-Jqe6Ulf z#Gsb91(11PzL!q8=;D0agUN-dbx;Q z6RnwsU>FRjB{EBLPY=RJiv}WaB+$`1P>5>b^n3jl=ubS#?kJkS%8SD5hym#Ru?2mm zkcE!qpl5njYzK0(Te!c(hUxK?j}K(&$7yk~t9||6^c;C98b*tYRHFlWF%Q z?^2p{YEVs&c-EEr9H(8AUkj@Ies=$~j3@u!f>P)|ZYc)X9j(9U;GY$Ys`5H+xIHct zwMW;;et1v70GElFCA}7kAL_M?-%(lFl=i|*!?E;$3xCsn6&b?!-8MwqyDp}l)l&8> zB~2#=Tk9@Hcbb)5uQZ%iWFBXY849L!rA7^-k}%079s7J)s}#fMdGL|P7|DF*?KkLk zkGR?D?hLw1mXWt-WP4OkSrGst&S2x=?YL~+_+Xf#6eB-U?4_W25J-~BW4rQL#c^yN#;-Ae0|t#DTsn0$qj;Vi?~rWLDjJ>qgBtl;H+ zAMZ=Y$IhF}-z@qkF;uj7?~SN#X{0U}Z&_$NkV`lTr60TDDAWV2Qu%5rLi^L@+qoMm zFiaD~)p1t4Pe!_jY&}wXKiggiH~N3Oc?fzeWz0MaRpO)lG5Ntt$QPq~K?2Q6v70}e zihZ+0rE6};ZTel(@q4>HtXusm2SpYN49fn;+k)FC{?QI4EL*K6`1_cdKA!;+6|VX| zeTQ(>^A>E_)XaCO|H~*^4uq< z`FkZL*Z{xpWbELO8qzA}#F$t zK+z(&3YS%L!mTcnq*#{97^|?7tPiviBIX8Beyn~A(l|Y&$~~-ud8fSy!cM!rS)4b= zT7TJkCVGYK+cF4m(;dZK;eJic_pGxY5F|%!k?vG7wu%D3m`dDvYu){llv%^%4SQ=o zh*$6m*(nm>3j%O3to?Q0gm^r?TxXrnl8$aAr6yRbsJ!sLR1Hh8P40IXWRc@G+%jcc z24*N$r-v~kO!a6BB{f0QJ}W{x7-Ts8$bvi0F&F*`KHK(hTTs!j0JPT?>koItcn?oz z6CZ+!->@qHtb6kD0Yw^_;z<+2U4zr27aZFJ( zn<37#!xSF$9nBSQd;WVKzHN~7Hg0wO%)BK8+Q3pjsworfZ z8D{Ic9MZ}dJN{S@EjuwLQFzwfW4z^)b8Pucvu-G{XuPm5r`1~ywZ-S@!9LB~=W?8i zhGsRKeu)=Lq2?Z0joy?hnS%qg+5>ZGe^XVC#p*tPhx``h=1C6Nd{y zOzgaZ7MgP1nsCO5)&%F26trwEBEKr1;U~T;kcYOn-iRey{N@R1jS}}CYxxN|n+_NG zzNNsC{t-$7+^GuWUh%zihmm+`t;ewJwsqEh;@A=7mN$(=nW{Pg9c6%~;4{ysmg=Ayl3g-wyiJUb7r8k30 zZ)h>iN!X#75r$>vTKKRX3xq?1adEq2kGITI*t>-`1h;FJ+lwRSEP|>J1?Sy_9q|nK zG~=Za*u-rYAD`uxggDnt_jQvK>e@^_;(b3yGV>spISFo;2n63xGgLBpma97*&es zQ+mw;AGNF3mg?2HV0Vg z$8~6-!5Z8+P48WH;_le7<`~EdtcqypFJ>8nW3w%lxQCP$Uh1e(aEm8D`d#EknDgQJ zZrIV+Dft&3Q(NW9o>{Onp4Jnr34aYBFRk3y5h}Z8KN#lxMep22y*mO&h|4!$Tu&r) zoVMYdzIw#4-|KE_UkZm`;ZR+^`X*nz)f0AUQQ)x{MK0gd#k`Jnuc_KLz*w`g1GA-F@y(V0mCX*-XI-AF1(EAc_mN&tKZh_<3uWLJHE8N zkYryp0u`pkX0*?_^t~+YxYnqbf4YmJ$=1gG1{)uO%>{eSkvhhER;O#W^k|(plI8X? zQ#gt#ojUnjG1hUJq^O4#zyXnQKqLbo5(m8Ab-{@fjN9;Zt;goKUyD+R2et5uAQZG~ z_Unn8klt73SwoFsd)kLlW!^Vjvf?#3?cz|+-H4TzU%WV(#IIh~zi-B%m+X%x0sIeq z@74(XI_SEn&K?Uj0ES|llcRMPf7JGQJT>oNgpEucZSZ;b+1{6x_&V4WJMpij@AzXa zZ(*ez_2ryLDU|waUZ=6cdHmn?R!W%ijs%bGSV7Cjrv)G6Z);i{`27t$Fyc5^CKgma z7x=GR2)KbDiNNC-2#5tw7UKf~aM=k^c#eGcS8k!Q>mato|CStanZdP30_)=cc2tKu zp4Jy;dJ2*;rMX83jJ66`s-Oif0pXqwY!h}~&smT-rc@|MVjNFi67Q-eRmCjzo?y#S zx3r=Q^l_@aIIdnTrEj9AdbMgYaR91R&5Cg0H{q4!b5ATp22ZpJ7NX_k^RWRu_)M)V zed7(bkfz)zTg-n(x3;dgdF6jSM&t`EOXL~U9ZEMf3kHdCkvrC zK@;%|^GvRB(BcdskZjMy3$+F96I@|HA4|yz%SVjNx4vhcbf-)@dz0A1LxRZ1rk9?m zYk0)X6bLd)eVD%!5C_lTLQxtaSEreGBJqI*hC)l`=!mC8A!9QDjNpI1dS!CvzMG+; z!mSkpRpJ%G$Q8o58ICWd2z^`sY~|;qpIcg?#-r{dIYND8As1%V)t{vaQ{iQ|T^Vea zOQR}}5#{>5`z}4LAh4Bue`~>GY{7XM)9XJHekW>44`}~RB+$Ux{$OpIrpB!07^rDX zjG`@w({Q}TGXZqfyhxBZ<@)}ms4b!4lu^SiBawP6;7!y!$F57Au}^JAFr>`uKRXBR z-i{6bF>gK6e2^xr8!h~aH|x&jv9Q2#{Eyiid?=*Pe4_e`n54fi9Atc%GE5clPbs?_ z_D|>!sRKtSuiyK7H+!_0R0ol=3wg8W@7ddQUr*W+2Np%7SG+&xNHN(s*FYa`0B?@{ z$YL@mrv$y5>;?6Pp0@Bv?57lc_O__{k4Wn~`!x>jwF-C!+~CgoZXRb0V=O)yW0M4c z3=|y#X zyR_;@jD>I;kvK!y~w}(lj?6M=Deyc zOO8JC(KrIz?w-H0sa(C_wL8&%aF|$c+@_FRw&t}~d=~l#e5D9%Qlq9?$F_Rc!aJ4- z(eicC!GVCk#eFO{E+QT8xeJ4XLL%fBRYg|*l(o69YrU{5;yZ3|cJ;l#i=I za?y%G7yuADkqCeyup|dfCO3(!-fMydLMyrJ8c<%9Y+$a?aT(~ILZgdou2dTB4qOFa zx~8{a)04-m>g)SS7H?(svH3>ab|}rs=x20Qc+cv4v9Ohp?OXWf8|`h*EkmQqu6KG6 zl|+)A=S!a9?O3($Uoo*(4_4M@D;>YI7u*b3T5Wk9@KbE(PVmQ=0-Qhl;jCC>M7M&V zE9Q43@>D!1935&juqotZQ{v@vV~pCyW3-Grr}x^;DB+%bit3OaOT+$-lXT{{xm@{p zVu-=I4bkbJ57>B(pf7_v=M8tUi}axCngWf1{ZgGy6T#yWi)@LAiPdMKUw72akCIr= zVOM_)J}~3h5uYXCh`ST~4#YW*p|CNZ7E7)-t87Ja|1Q(^Rxb9>W>Mrhl@h{BH>+{MU$}Y;i9SIra&aml^+rOwt+}Q;U)`VO5gWj>^G8XXT-H`QQGFSJyoQqJ zMn5+yd}@4}CC=v?A+De1K;64!5ttFMu;e$ME%GMe!CQ1~>Zvhw;4!fFdR&flZDc5E zQt_n&?03PLz~8}2zqT%)-oc&haRnO5%N9!2qd5tiLLSh4{XSjGrQOc+f90$38g1j1 zSF~&#MYz40-Y#X}gp@5N0%NJp?xA7Dsv zu?C^vVkq9lfZlJAK=uJ33Ilb8(AJw~9}0+c+#| z$=h9Y*yOJG`iX9HIk+w(Z20nHu#MqF313>$hPb2*hqBsSk6|CsLeXt@K1dLoA6CcX zLvpnScb5r+(%2~or#t-tb= zNWd+)2`*r}V>xKfF4f8?6QAZYBCDSuhr)d=)v3=Zm;Y%i+~Xpk?ORvaHktWe`!x!m zLKLj)8pR#&7siE!s)-}mLc1UtYEZsPWhWOz1H>!{(}Im*RlikuGC?G+!4lD*&c zoi7yYoH_}HYLvcK4cOn7`g3S&{+U_)SNXS^x!VrL6D5^lRUDG%>Ykb|mlQ=B$fb9t zcqu7T%4*U>M3<)vosUHF$gTaJB+g{?~Jmo4c>AyDs11?|EgFN2uWg4 z-lEXMj$*j%033w_j81C(M&`e^C#^`h${m5ZCCVDN(w}V2jp@GuxI`#Y%>)UhExK1u z?n-|k*=B2a6bCrziRVSbOj)SD2;91bq}B~`+*gj*xI6WViF4>XikgHwTE%k1XI>?H zG>TFeign;X82f7qQrFat%Xx7~nk}}dzDVlI{-Y{zp8*lCse?+AHxLFaqydwY3?Cs+ zXq0A|1dPaf)7+iyK#cg3l0Fr!O>>)Jtj~`+6b+HBnq$$HQBKi3shsL$pPFGAmWhl5 z-f3lic#}~XdgJ}!O+)ILnV8Rxo^6PyXFNPr7CF}tXBY(m$(v5Q?;13A)RZoNn&DhT?&4T z&lRWNCm9`1OnJwth+A#k?vylb)WCc=?X0VADRi~fKN?$=(Ymrw#aadS04YK zdF|=FOmdl~v>@}8`9Na{oolG@+;>+mk4n^OYCX?Qi)m)(WW?dRf8d?b8T)b(0zExTjzLSP6ELK4}k- z2fp$1-58ubr&AZb5}8a$xqY`;FXMU<>(kwbZyklc#+StU2gxGky{&As_O8N{%J2_0eE>7tK$?i=MWfh`1z^?#Y@S04?hjb2gZp(dAmyzD3lvGDj z_mftGQO>@@(S(f_m-p{Ab?$1R3%%e_L%8KT8tkN2FOwMG@GyuRIc1#4D|J?@Kw&vV z|L7wV^(t(Te?mHae;lFs5M`~nwv<=yIxk<6WalJ$w-|>& zmbYzg*(;TQOV$*BIRe#`VyCPJl;t@dy!U^+R?$VuR&DB1@7NvO^(h`{P!KHJ%LG*gE{gtiBo^(kwS-A@x33s=q)Y87hF;6O39F>))|_wJJ_0 zN2%5E#!p8D5;`7ZU7Dxm1)FS~IOS}hW9<=P_jm8C#Xt)oae~m(1{i325Uia}Q)B@d zSwO*PkOT>=f`J&(;l?De5gmlX1C2re2irg!5?E}A2|X9jeuuqt4I>MM%WaIvV?$z^ zI~43Gih&>d{F^P{nQ-EH{RDFvvDj6sPSY z5VYAWDoAAlT}PpWw9A#ROK)__c`y{^ccqbAYa!q<{Eoh*GH1I@fZ2K87{?7Uf=Eh7 zoA4~^-sFJM+UrJ{e4`M_XLWMK&trYWfa6SsXZcfXL5@VCvWT%|?ES*6erNH^^3cua z5J8(6159Z8VnR{c*Yphvs9EUAbJ|C|b$m#lQ z3Sk2AkIVcLRWG-~P$Wd6vw}rOR>BnuGO%)E;bay@wfJvg|6NW({#IQQ1oK;20=n z*Li^4KR6CqwE6PAo@YX$oBv#=YSZZ-fqVj*TH=Qvg^bqzn-97+|Ncr3gU7()3cXDW zlPwe;eeHZAH}RvMW3-J%4EIqkV?`8XVxf5kVL0cIs)rxhzZERc1gH-aUe1p~j!NKcT_uNbe1jDf~gsS~N^ zo`v{hvZz@jUNE;UQSL#29vQjCu=L9ky_ z@M9+2o5VrDL#TURI&^SIke5=MTnyf=cbuY?8}jYFISv8RY(~{GtouP=Jc;=QyalYpYMNTGxlgicJcKiHTFOeXip76n!#OB0pv! zFsIEMopTRS`o@`)IdIFzGLphBu9IZpG<9UV1G15+_=+ihSl-ryRX9Ldm+C46x-ka# zq!EJL;gGRKI2jscs}fs`9Wz}F=ZwJEp)tVwSyxATJDc%bg?O&xRnBD01@F7jHbrH-#&u$-0q-M3a=Y z7V+22(b4dh?)-uuh!$JnZEBfaw+_~)j6wBjY61E#ZI6BB1AU^lgio^uU zmnmUw4RXRcK`WP=)V>XsyE?Khk6efb?;4L61&ep@oPJc2(>0rMKyflY4=@gKt8x@s zK#2_ir8DDDmy00$!7BY0t{;NOUzHeC6&A#ll9taA>^~+3w#hSG5a&mFoq8~m)3GTd zCxJL<5t!qZS9Xe*c?5uC;2Y*RcqYfC)b|oB3r)?q_uL?eQyCA`fJ55n6j>t?w=X_r zn+>`66BIW;R6slw?*J}3Ar;WN6^U+iZ`C^F6ps*J)GkOgifk2d{gMS&z*~djrSF=; z@xX-3QqAzI`xcikoyqrINd5?vj5}rhy-sr3qJ1D(E22)v<+dE54&_+?85hEB6Rd+k z5XWb9BHC8aDgn#*zisNv9kcpA!#>AsL?mpS#D8MZFG6fyDYmbNJ?}KGbPCse!LqkE zsR=c1Z-9W5(D$@jbUA-};Y4Om=_!G1Kw+&>6olDb{GdJcm??m{mp{TpeXqkBgsT{G zNNPYNS-}z*h}&ONlSB3yhi-~z^As@ST+aOkADYV0XUGzkL|L_uh3nETbO_s*E*FMz z4wU2a4BGAp1As69$Pf@2T_^NWdSJw1HVb4EbX=<89Z+d2F|AnB_f9x22C7-{_&(mj zpu$P^VxyjJV}*sqWkG{F9=pqa1+q8c4T1!|;^!|9;*DA^`F>Bi(UPkUA{n)2r?pak zN$;(;z6DCZUv0gbCRv%*w(otpN^EoQFoJvOFGXu~jzy}u+~MEOt`buy@5?V%axdzC zNHihXeF*bePs+f_+K#z~u3H;e-j|`GvRIe3zl$~VD|RXq!;4%g+U`dy>$Nv4M@bFv zF23&Xe0TqhBRsM)Dyzog>hbvVQ7^jXnk|4IEutHQ1&oH!G>h7=!7*&DJ*%!Lx1AR0 zhxZE!sf9%JefPtPMvO=SBi`w&EeQq9ZZv(BJks1S60`2shKG5O8Y8-ZVl2nC`#|{6 z!>aROJb=RkBb$`7n5+fzvRF$tpoPoR|MrdxhkuKEC*#U529L@2W2R&eLaHXMeLwi*VGhYi zNJ|X1T^9?Svyf2CzU6J<8_~9R{PeHWVcbZs>df-P1??nrxfilOaN{A*^FtbR zjGn5jJC!2P59~V+?rJekf>py2RY5UJK}Kx`b zTMp)O!qmSbAw4>`qS1zx!-}oOVas%0qOxtGJqNc4SpG_*0si>?7jF~?`EEjl^w4RE zxTj8Tp{6^3e|CDr{!tFiHgu3xeEh2MFGP}Tlh(T~iTf{UuP4>0{Qt+$dH6&9$8p@@ zxP`-=J=o|JGve$mdnYTUA2|+pW@nQVGst`pJsU*3d|Kaoae!idg z`}KN02g=%Q)7oD@t(LgB`SONb8LhIkcN#iA3GR5V?hf*o#trQP1d8I;O5O}zV@RFD zHk~gc$FITPiesn|7VRF0@~RD+Gi2UP#JJ|7>WfIatHCCE~$5a)n{YqSUdst*SB zB-G>&QWx~J>TGKDiq5wW3u#yD+yuTI^35i!DaHR#h+o}GxQK?XYiw{+$%AXC;dSm~ zdMl!rWHo!JP@&@cpGv(hj`Qo>O;xwPr5RTT1{ox?%LMi4{M`)o*}ILS&_7bL>Gdz( z1RHst>uu79ZfXh-OL&ZM>2PWDZ@*i+6op!{qCEY(sA?IB z0qjz-+(s@|>~s^ATY^Ul&2WR}NwGYD7mP!Odd}2&ByTpDXx$EXwHBM=B4G<`&m2aK zv*UHbb{r2aQy|=m=T!k#!n@B|WSl}hz_iI}+&TrY<_>!QvUv42nLqpbBs|i9%35}K zogph8bz^gGkM2F2B(TjkTaQvXl1$w@hU?~FVm7y2hTJ>r7_Yl)Mcpg|^FD56{}g`>l64sLL#?itN=EJ|H|2hdCv2ndE^hpG zc=SA;n%h3o{Zg1d-G}=G&;s?q_h!X<=`%Day%2y+#}uRn+$&r|57{V zXb8Vl1_pG&XLN!#P|4&a8w=Sjej}YITlQ#MB*Ko(P&7LUan%(EBmolu3`iNKrljTfX!{Jtwog*)I?xA&4o zuKqqFI(oGz+M71F8?goZP`21id@J|YoKWSS^}#_+WsiB=8oC~@X;jZEtvAfVm8PVr zNedIsQG{iNS~t(bWZQ7~j|>IZXNr@$M3^-^YC7-#-<}Kd_9wYiUuk;wC z*c$lG-MpIQ2uEHe99ni$Ya4v9@_IiqRZpgKUp75(Cr+zq~7S z8YnVS>>~r$nYW&`$wQ0;j?cGq-quRa0AK4aMgQkIL?!FzQ)&;E#2fr`urai%Pchv! zD*uP2YF*837Oe;8@0*%is6SS`vprL$e9CSVd~PY*XAbducADiBIK~sargop7%5wCM za>;VOi&ZH@dNDepCDP91-(94jyBdh95GiXzIR@tcz3conV)w)m9QWG|YjcfJsNdb) z;UaP%UngKg_npyW=vcv{B5}u`@Uzh}0d~Px7p(+v&ADJfYDAEnn3QKC-1ZD9kd^U8 zkmnP2TJ>UAMv(=hOPr?rDbZzIvPVi^ENDUW#C070NCCIRe0pn)wB7zrNqMyoS= z{luQ(wnwE{6I$kRdy2eAmD+}v6WBjxDB00VXofJRJ~G%`zDv%HpWkZwu$2`aOJ}6# zI?k6DHDaughe|HJr(anFHJ&Oy~Er@MVU(CZjaa^!#+s|JAJm+dxDVEMD0k&*A83hjQi?vIck|!{tU6H)e^tN(#E>7R`jZiIk(>)btC7oJsWt>KITS> zgU)*+hx4-Iufar9cn9x%u|dVOM|yrX_t4%iCIDclC+zD3I=zW>nRSepy`)x)hH|la zhKAlIQ{f zsY*~cVt_Y}1$NB}K-wOuTH{Vkn1IyU#-0@!}qd={MS7wb3#IT|60~mjZCuy@;~mYZXX0a zejVkHx>Cj!iS1h5U+!@#js!A3OP;|oJ_w3T4~Ua`IooS**OQD)S`lTAqdZU`TR~k2 z+w3)52I3y;xcg7dBD@EzZwegoH${oxaUE3PkkS)^mXt8Y3p;9-rN2z%3rL{CG1}j$ z`@d~$ehV^g%s}d;sxnVdAj|y^+hzrUOc5gnCUYv+Z!;;O)xXwKi}rNglQP4{_4zJ; z{;s<=$Q)gHNB+Su=`u$()LMqA&fIHn@quEtoZVMx$n&(mThl77PCl>HTchY_lykC+ zXc{i!GAn!6+D_9w>kclH7`ekbpCVuExLD=2S}TTLxefpjs1iM)@HIY)rCf5(Ir zL}JCE9JdmHo?yB$*pIN=R1er}D||p1bmgY31*ys2UD~GW=THJ00zD2C2R|sAcj(FIC>?oRJ*f+6x~~cJy!{z%jWNDf;|m`% zfcFWpvU!U2{A71fE~e#>=s`3HTpblT!~ z9OUN}0=}Q;=ME2~Vs17l2>vjztbcqHIY9#qLs?4DEQsAYWle)()l(Mb#gx3UsNmEN zh214Z_91NlC8f{4)>6s_=xQdVA*Bb_`uuiT|9ReC^H9PXc+}Ya=Pdze_f(-M!HLHt zl`b)dd2cdK$Z?l73zQ}?9}4uOMZF4Ld66noVEejT{5HGY8AncKfI8JWwq7EvX~pjQ zLK>+v?e4ZZh0Uk%J@UxkhkC#<+Gc)wlj(T?wEMtkdw{9oH`}5GQ}#NhfWY`p;$C$lbQ`a{f#ED0g?wt@{lw-%#Q?E>z||@^ zAE(?D;l=_x@oKl^6*c~wfmdu6Nfb4e^dDgXiQIy3ZGyk6l4iRwjnS6i zgQU3MN%Q#_lw=x-gt(wE-#}n-GWB>uz{{(e?kf1H&b}kt6DfANh3kD zaM?$a^}a?ZJpP&(WQ)kV`96IX4ZXlTZhCQ&Q}r_?L0vXl#2W;e`*kTm$HLTNPad$W z;hW?g>Y>Dz8vD1-qSMC$flP=}+6}#g!OBH{ldT2I3}U2p-|^o24GD zQ<*3?pQPcm$>$`3lUpXO_^F&!Q@Dc!Hbmt;+7T{@v~P!M3; z2L{@X_>;rGm(7m^xVP5Rxt;*oBNXLRc@BDcYf(__60F)-q}f4Pty4s6=k^>y#-v^J z`76;}MFvpzf6P@Xb_zHTB9DuZXZmmI_0=xg1e??_8``h0Xm96MLk~llYvaP$(|k+{ z2<$abfCLL7`;!wK+e&d%xMQDi$MvVN9YL~4k(_#L?3SQ$uLDlmyb-z!>DbghchDSz zYlm;aW)I@|@|pS$SQ=Z~8aLY-FPvP^_C8Fz7%!*~1(HZ_x1WS&d(_FN*JVm}^bw$a zXaf~*aHum}6M9cP@dD>oACSh_Mq%EmjHeQ^Dh4zHF+Qc<+Bs_J5KmyT0b}kaq-(%A zLQM9&s38bg=)o$vz$3PsE$?D2|28^$sGE0Pg)XXF_sB}H!PJt85X7KJ^Ex%?ep67m zE&Ndm9Tpu*CFEqhNamQQUUA>kS&dQ@-lhXB%l4@br9+cQ2A5lOUIgf>edwwK^?CslzHN z!-r9vRAc43NEo#h+)o4k_Ln6C{=5Y9yqE&cL4gH7wYxJ}5EExc>a zX(5*nm>uBmLTxQxOq=IvEI|A*%T<}XtE;TTrUnf&g+JZ&>SQb zIP3_BJX5GgeF8DZaO#Nh#uSMWMuxV}GG9ZtLsu5OV@ zdFnc7d6}S_iM0f<79K^IUtmkF;v_63gD@Ip^eV&BBRNvMoSnp&sKBw0M;=F zuEzI^keHi@%o`}!=f5m3TKks|rl=mw)JrMdJlM~!H0?(HrWch@UP^;Z#M3Ch3%jD-sQ-Mcby+fg_rtn3Z#S%kpjq_DPlVJ~7&UAeCdl_!!?mZ=El!)Qo$` zcz*)M+8C2JPyE4ZDJBl|1cc=-Wo_o;y{PNWe?&*GuCn; zPuD;5G(Us{BevP3>IEb809US!%RaXJ^dt_5y*Z}kxdKsjj}sz9F*woTnxIq-KVN(L zEc?(_`xuS*9!GcsT6V#j&lL-+m;+zuhlFp%@8Xqr@XW&m$bby^#U|9^oH6g;PEzIy zkadNMn*Ko99l5;fCb#PLcG}__RI+^rn7w+@k8$0a5notU3ln~XXZ{DSt3W~edO3o{ zuBf@1TYJ2)RX~Q%f$IrFu7I7aIs4S;S4Hd;cA>(R?DE}g%G()!=bR_kNr7))2vqg} zevE7+{?6tL>`uHn0@AJt+Sl1v@YJbX=GsPZArPI;v8x91CY5x%qeA&=DGICa#0`7p zmSAfreVts9|Aa^<$t-I$d21jQLrE3uj>S*K-ZZ?dSL?!7oRRbzR8JegO&dG5ch2bF z3FwrKt!)AEr`b!qSw^=PF?*1ax8kZNX^$KSmtAe1xmG=K3%6%Xm+ZaSI-Bs38umVw z;dP~wR9!pF(iu)Cm~pSO;$qM63^r|fXPT9|J376alX>{ce8q|R!&RNtJ`ZLwEi3GU zRUj+yFh)4=&XL;YYO~my#UywK1`2$0&2}@u+lt;69=500@JL3=Oq}>3^3`{T$=q$B zX6=;U?PBliD5Ep*#Na@Q#ws|sItl~$vNX4`Kev)vwhEq)6Ss6_rCZJH+v&W8Z6lAF zmA-xG^4`atd%Nc~!`SMQ9M z1AE&xu)EhmO&}v=jA9)9djxN;heMp|i;1e=JsE zs-|eAW&$Ux*2gNm4j&92dhW~p!*H@t-mD)nq4)9Kb77qV+drMtEA6B%S8dqO>vNUy znF3F$^sP6a=g_}^optY2+%1rg!=?7plb8i{(mdL7sL7WKq_FPi!&bGRERvKF{^T`k zaPdBs4R%X&vx4xz0cgIf=@CrJfIw$B9)63U`wJ z+=b+evOMn${1G<$T(97KKj*=W+q2l;-?~c7Timpw|E!G;|32VVa%*h)`?`?HeB*A^vr~O2 zhw9nzf#=`hZ`A&~n}EZru&RFIc`Y{sB$-4?fIRHu5LS%of2jRqjfggL!H z_)rY~e9U$56Y{&rZ~hVI_0-8W%VQ{uxl|HO9p5*W^JxKGOzj8?tX!@cTR={C=N-c$ zj=Ni8NN(RKRwIvFScMY!#2*r$&-fwhc>KUE(1jx&eg{A4<*vS-1BZ$$6e{ z8RY5kaKkC9&1ldg`PfQ5bLpJceL=O*m;)iN^WxnK2fqDU7N8;RoRH27RBHc{$NH35 zwU<&lT$PQS`OMkVok6UH6!avd^j{~7(g zUmSm#^-7B>L^4CUx1I1+@U)ierr0^vxu&se)yGAWjLOinyB?;+=i6@OS8RED^5TPKNDTU-z~@OSi#HVwH()b?@f24Qbq+^JgqXcaAyVwP zaW7eB4X0e~$~F;SiK2zcI|n2%w7Hy!Gun!l;<@|`|+70ovoanw;lv)SUCPbA|*C4pj$6JCm0A9n7er#-|%U2 z(V}Z@GOAI6#*^OqB~R$XPAYi_TaEhFe#71+cp0i%G=26lopeX#sC6EPO)9=#nawEZ zzn=Q5y<97!pnSf_^MlYRgu6yr6H-(1ZPE4fwYpb(4Z{5uJ3-IWQq#j4-M7k7O8A9&e{2bGULiS2IPn96@=sfbwdWb&S&mlM@Dk99o6G-8;&0UL6y21eJTh6)#K0CO{%2U+Mb{ zX85Ty2vX+FwQi>{N4b6w`sw&WxBn1s;P}9$k^5@=xNpg8TWs8`pv)&5YWLo9iCGUR zhz$$O={De!qb35gTxnnF?!{s}|Nh6^DBw4Fyfo(8&Yh{OQNVkKp4I-MXM!|Ptu(5H zVOg+-oW>x1Zy$ZVv7The()Wo}@KT#Vi=XGTGgU(_`HEeL?^hZJf}VbuEtrVM0!4V_tV$wKL!wjWoQoQj6dyULD0$b_HfcdG=B z2G(qqpnrT!7!G?X{(uZHsxDF>YFjqRQIz+kV~XUHfR6ldFRrOuMlV+qilw=))x`e` zhR>|)Qy*|&t2H_^mNW$bPjn1S#ZHW&p_n9&JeqpCkU($*4al2I^hpxJ}LZjUIL0qMz%+NlE4=9=KQ)nCJ<m@}t5x+Hsu zx9M^2^DrZ^x$~g3$hk&zA=|Wug1Y7H+fcsMId-uFZd@?B0DD?#0Hv1qZ zy7Dy~ntx^VWd)RTPv_r*kv<;Dj-sZqNzbo)MZpSR zP2@CBA1l$L%gv^s*K7~bNP)eWf_Mqi{$vXJ0g2?u z=sUqNR$2G`kANl|lNd&hp-n@#(@Hv4{A}xJ)#r?v?9hIH5r0eoBkn^oH18Z1M$mEv z&p&}Fr*j=>#^-V&l@TT-mws?(c622E%tmeB8@$2WkoXDYpsv^31HwD1(Z+z_M_S*U zWh$-o8dJw5GW2QzY*McBIbMBZ(#g16WE=&+V@Mv9v-Vy*xchRRg&8w2yxgk3jcLsq>=i`+V_F`PpKT_)n!S^MGYDv1K#z zvm!C)q|6}+&dB7vvNG%N|PKJG#&j(23R4@*j-Z_oh&3sd3c zhs6@~Imhj|>>=FMzYjdt$LIIP<0Sy$Bbp~NMTt)7`i_3gOaG;1FWWsrZ~3(BY2bZveP@I!GJHF&m-Eo35NU+R z+8QVflL?@6gURHXaa>zbj4SGma7@{EWr!MQyddn}M0bc^xio^w@Z-x=xRCLA@sIOh`!3DD8WbY{NDE0etbgf3CuK#^FjDaZH#?fEvNRsDgn0O?cn^Y?EP?SB0Y3LK9?sxj#%|?U zEJw@E#Ygv6wDxE)A#@4=RuZeJ27+%S>&oy&LBR>Qr{?cj`tWu0dr)?1gk&X4A5HD1 zcmBIiQoVbobCNx~C23rC{0|Qt`2M45SI?SXvFf#kIwXMqq>|UGkiE9r4(4^Q50HWw zve>n;p$583vPrq04Q11H4o0WOV4bbop0=yp!)sT+ecR z&oZtu+2tVtGPmshZ`s3_KntQ7wcEG|#z+O2_}`jR_z`|z9P2#KLOwxPczi8VGjZ{iF2%te66{6_0 za>GB-TX-bLHvmo~5D0&=aM0hxr1ngA*NyW`Jgy+rDlh3oBH-Mj|Ax;zKE zVo%lw;!dZjhon_cJ|_w*h9t1X2sp!cDoaXy*846F=?OL zm;CMayT2}^4^A1^8qMz~HT{dr1U20aZWd?z+szS$ih-o1?my{5GaH$5Jy7pSSww`J zu9>lMeU<2p4`2J&`?60VkH-V?i%_vjzPrKY*`eQZf^K=v1MeNkHG!|YY+^0N7#tds zx;qMB2^xaoJgx`p5(ViJ76HlUj95o6l3&2DjBV+?@#HZ(vH)$y*dE==p3H}BIRde4%2jp-<&jd{+frds`SyZ!{ z?1rF)J^AbNCH<{@n0DGNiHE&=n}*d2kUk%aQmZTVG|YRoTYEvZ@U)t@{d&~Im5W2g zjow{%OB6uwvShZ0$8;=UGS0O)K2&M=w~?ZY7&Cj4eQy=qZXn5B8IztG^#TiipSTLt zv{`hl$gjK~XP${7`03Bn&Nnl~+$-XOt3OK8jGysq3Ah4FV$P=b_x?H1B(efW*YOk? zbL?$0Gk9hOX8vR)2c60$;AV9n)Agp;T)6=k9LX^mz(3|+wl0H5ov`|1w&QzfQ_A;< z{mUeyZ3(08eig6JSxKq=i76aOUMFBnCHwUk610=}1=>qKKfcJ98Rk5+T#yIit5PVFu0_i*I$ZsSTH zS&-V<`AfRKQ1QU8XF0Xj(j3V*9zsZ$roUJ5kK>GNrtA zC!7U7{$Y%5-HpYNeCO!h${F3GN%888e~_7zd^Q1znTos38S^45x6FQzJH*@gPu7Pp zt^rzNjr+iWCWe*f@sakZo{t`B2d$e^|AD-bP}?mxNsj~{)x4ivOmR`R(X*wT(?%q9 zaBmnLZ5v&3h)V2-!J^_~Cy$mK2}&<71JfVYsLih3v2Xn|p(bj5sqQaRqrG|?qQtW3 zbtM=S4(JrPZYZE>jJRkOxo9u?Q{Xw8thd{yc!r40ln`{F0~IdRtr2FR69Qsc% z0$dmZ14zYxNiWVwu8uIOG`%W&#rK%{;yRX@@XR|RZTIgPY{EC+4MoIEej#gR@zCX) zOy(_O*FJcp$tf2pix;g#6us56VzjnlTzGNAD)S;X93znVueCrv8(P5X!l)tCC0S*O zO1;9a^3CViCSRZypz2(A{KYTygWR@s&+X=`p^skPwxGT{&XT!+MKg57gW7)+;}7V* za}W>4_7J!Pp`zr%5=tme$etz{4+jFS(If8|RkX5HEPgLIdA#J^>2gqFp^`i(SvqI) zYjk4c9Rv|kMR%`9%~*M1b@$B*xy@c-e#>#bMGILS2WmpO^FI)cu%vmYgKT&+pY^n7 zg)2{pDXYg8VB-|j>#D6M{6Ui|AW7-KA%vG3QCKZW7;O2#eJQShq3P|MYY zIgPi3j?8Q*aQpXH`6ZrKrC)Q2Z&6D~5a1i(3DawzxZbvNNfY=5^kbbf>TZu^V&PlI zukk160}da7IpTzI;e)FM@$?-T3OI3S8PR{6i%ReF0yP?+rI!%l+f*lMXT6k_mu#huYL7TDiD}~88C3=r#AgLP? zO6p1aExKB%g`1?8pnx6@vwzNT%BgA^ds*TJdiD<*kZ>%c1@fj+Y%<>Ia`aPGH zP{yH92_b-vYwu?>|Gp#8)18Z*e7vo~%%>1W@5DA@9PvRXmdn+v^}FsKHEIuEH8cX- zH;eUnA@Bypk>6d;Ssj>FBNu6=7{GbPaK2 z$&37FBY-Jup!=k8#pQbE;0lJ0 z>Uc1yi#j6$fUOE>kuWAaijM^wz-5p`ZKWjpGswp5WLtx5@mPCIz#PUu154t7|D)p; zB_1ELxKxB)U^f%FYt2=K;;JdU1ehX7N?Ic~^NvDx?vk#<+=8u@y236y-V}UlV`+x0 zLlCXL3ftA-6&lh6b4~%NO7d36)4DCKM=!-g{^c5pgifm%afnOq55o)$8i-ewY_n6O z6T^=!Wm|528rStq0kfhQGO1R{jr6`6DTo+sH$6wG$?v;Sj+>RlKx+i6C%nGS{vlR} zPn^$Cb4Y!F=JE2FS7?7#Fdo$W5aSA)e)eEhcT{7l6dV1|X5{9{dCky`8NK_%kCC2M z?)+D49bV`bpsJxtGnn_YvA=foS#Z>_TuZH=XYaGHGiZH?VX{x}W+F1?l5Y$zkAc$- zBh5c7zHx>q<{r{mJIi(_`}-f;n#`u7mvT+G(O$t(d=o@!m9l7|#c)GpTDP*b z-Ci(XIfnt|FJnL|7(T`G1)Yyo>ci8Dyv#jEHqt)prj4%p7KQOA0r~Avw)CBUjEerU zwM0Mu0{bI}y*5*i40kph{rPPT#6|y=xA((0)%EMo6$pc%JDCBceuwS##St@*X-;>u zBSWClK_N@OO<6*mkrRUnOTsx8VleK7JaA%E-?q9Nz4M;Od%{s`JAviqI33UQL6RKK z6HF{M$AY=?0u9XmO(K>4^gt@BMx)+!Qb8<*X93|O>Hnzkl1f9 z3uTrnrE^m-vdW6iW9Fxhr+ji`g^V5q**>nx_)33Nws=wrGC^6T@C~v$%hYgm(;BW{ z9Q~`b!c1cGv@l=Q6c59_3(n1z82VR_K!MkRwutfs&;4fnPf# z>QMiTGpbEmF-Pst@gH8)sKHI>oGwooI0$cu?x24J4!%4sc~|8@N3B#W$d7f+nRGrc z#LDmQCLWR9OXesoQQQ>7d2e^0&yO%1OQa#d7094X?t;*OU_>uv>WLo^Yz0HoKi4)UQ01uBmL<=;ozd;>cQaj7JK6^qkJIcG?%bz6?Aq#ZdpB#Ux*xqvc zVX&x_(}WvlH|O4a*GqP7>7jeZ6b37|^-Eh%K*v`c4q0N4+=SSs-}kU zNrl&F7vRR2}-x(i(*B%(qRmO5~Y2?=)ls{TWB_7oN(o>b1DL*edKCuzMpynB1cTVR2P zq}+pLiCUr)q@IlF-rE8@k!7$vhMq)w`*L}XK}W|1J^jhWX28u3k`{Y5HfN_eXmA=Q zO;ddubgHvP!#Ip+%g&TI000k^8%%uQq)ra{y0I@KSJ*%*PBL(5Tq8={bLSC{CuPiB z81X=BQ87cIo3e2Ye&5dB^i*{c(=HPBdd{TcmjSfez^g@b9_;?zbXSr$tA(YNP8S!Ka zC)e!9cAKleRn$X%U!sBL zSJfVund-t;cYLP>qO4&=UWk>%T{4s3HqFm^>2j$~Q6iU)Dp?Y?P_J{wX8!z?^cB}m zQIK$5nC`Rqc6*bPFBYp5S5@eK9*22vz@_n!JHdh*9)!#fF721}3UgF4{4kmB!jxDX zbtmr8<=@}kA3w`dBFTRF>b2!T7q_V^O8#;apCPb@Gg7M0&Wfod>V8vaRPOhjV?X+R z8Tj8;E6-9bcs0y~XMu-EMkK-W9Ss_+UaJ{uD|52mQN>i_7AV09m#k3@7-6dV^rB3;zm|SzNKe^zsDC< z{Pb8W#`CK;k@-&CGj0heE(28aprFU-M|D#bb88h_qGq1HX04MdA_YxPluR8u>;#U_ z59(J!+;GmFA+OG+S(uL#)0h(kBP;$M zi(Se${76^p)E}DVO(3TRYvJEHBa4TNnko)39Ldx!>G?_eg9D)97apAiQZzq2#BPKQ z#7nmf7*;n|Dka7ym8;^1b@9U*n{?VsblL=b+#82GRq$?4tX|X%>z%7e9I1a3h~-00 z!G(M=4&+t@aSH=7U!g-24zus|_KaUYBU7=LD}Y~I*i5dT9h71D+^u)v&^%)st0aHI zdbYs?CLkdr5MaN1rJ;FVw`X2=dPsJJ^+ocC49IEx=b%8c-o%aJiMkE#4SjQ0I$6*V zGLKeSug1-DHQ$b2NN89EVJ#FWq8LKwW}@$w>@Dd!ymLlG9ni|33@MPEitH9dFR-07 z)<8d^Qjy{PBt6Cg`!8o{tC#t@dTgRI2+uDr?_+?(Ue2ct)7Npdr!$+V4F1(s6s#BD z(JJij`qJ+qhIu?E@*2ziePtL*N}K4FYr^6SAYkk^-2pE?AH;&F zMIr$CU*@DHGkSKRU3*hR90?&~V2e%Vt+cA1aWrTLiZ#5GZJ1S>o>!WtT|WbkHUi6J zhV{FK&l_E}5IGjO_vOllDm){qXLLe=-XXWWC8sY5fwRo}{HQ{7V9G$b`K%R%h8vb( z?>H*Qr>~kftXoS|sLf(%ACj)rbLbl783Y!HCN+|4wHgONMFVErG!@tQjmZVrqKYF- z(kjI*-ULVBhYpWnl;2OEXuLq(Pv>1<44&B~rqsM`o>QGGNqe&jiyv0o)YlH1*2EC8Upy0h zb|=m_v4{*`91gb+#bjM!*@w^cn8RBKvO5vx4`~?b!Rlo^f5}jF&!UVI5RrcQ?zkn) zJR5;P`tIPTDiOiqmYxNq#{{NeDKjE~;uT-Qtpf4M)9gi;>vdqSKq$Qft<~eDL{G zDn-txM67cU(lsb3{NWll^-VZS1ZX7RT5@`CFOqwigFByG%F>W(6UHT&&KDTAi=d!p zGRQK|4d)*p4Il!^)@5ECu9AL9cl+@+L#j~yxeR}GKSO#O^lA~-Hj%e?NCr(- zAw7>*?D86ncD$^>WM!7XU6d5d;J@R1?qg#qC!>bMMntWd9Tlkk5%0~I3N8I6cCV#R z$N^iO5`iQ!_nEwYdB~Se@{66K}es6Dfy%_G?(&{5J)-`Bm1hh{S zzQFIsfp;-gbLndWhNAU3QI;Gq-WkV!=#9C=3e98_k6BU{#6lr8* z1itFdO(@LjYslp3aM5dD0H{j!)uM(qJoLfd`f8=Ep!-BnO)J=YShpt(T5|wf3{#D| zxHyPd0|I6l!2kwIx>{=4tL3(k z4K0D3&(7Mut%P#&Bt6HkS+X77@WDiJnLnldF2YMsAET!+g{NFT zV^lgL+NsV#p5d7jjobsK+NT@b(J#{4n*A%i4Eqo{t-fYpM$^f$w7Hbt2D$m;lyRy3 z93F!$PYeiV!WENZ1^!@d1*V#=VW(H4eX%mk^oAZt*|ap?=6O+k;(Af4Z#(kd+eGQs zQG1mkbhVyLpJb=Dt1l{Ep_-R^Csa3BeZOD10$c5m6#l8H+?Rfu9^3{VkkN|+5J-xgY zt^ed^U^acBsDX)HdVlkq8?ZS)%nSDo;LA>h?c&PrJRCKPkM+q;+x~}?Pc66q|18qj#O688Y-bf59UJ!sABp0e_ z7gZmsPZMqAY~!apuoN_`gbv0#0;N0FMcl-c=toF*M?4^ED0gdO)S|T1qU4Wt`>xSD zs?|Q0g;R%l=7#1@XB1qcqR#20U^Ra<-1I{-sqPY#pCRlzZ;sDOkB#snp7_L;Rwe_z z(A#&iRV1f40VVD|Y2aygX~w|^U%vaAEdK6EiSissO@j7y)q1m7(IOf|qj|pMyu`iw zcm)F2@nyUj-~ecx+zIaz(Te!s>u!kPRbC3VRn(Vm{u%p^NJ=DX#SVjjUyP745EEnw zz;!vP^Sp9;wi9N^mH(<)EW35!V~Y{xlpoQ)GZ(PplE!WrM(~@C^4-Wty~aukz$M|K zC-jckfZSeBqhY<5R|D*LvhNq|I2wHs{u`I%_X|5-20$qf2`sBFrnRbL5Dayk+M5SZ zcIAk8{Rm?<70hpXi%s1IBE9LU9PTz%1^=YZ;kF70u>Q;MzVz|^M}xJAzh$Bzg2mm1 zQDAc$@Ve&(Ztb3CwlXM#hPaj>S!(h+kXE8L8LOW7Wqfw=ACaRdO?oik25d#?^}PpX zxj)UzBf^}+l{xvKFF*vEG2y^@xXNRD^=IKU?~+^o#Y%T)h(>d@cf#;DLoMG27V3B! zGju*}^#n-Sk56>I5EXm`9Mo4DAL>^ks^X?yp3*53GO&)c{G9*?;WPY=mqVX7xfZ|u z_b6|gE7k8}K6K{p(v+7hM;ma!wq{vg)r>*1(# zGyEdL-Y|;uzOq`vfm2W5`!r)UDz4XX9n{|fHjula&rDYNYoG;TeGgV+*5NNF8ujpR zrCL;6biWrH`TC-Wd9r#I-_0^*lh=hN*PDM2fO#+cu}|pmzrs2s#xGYn8O7%D?uVu` z00oiUvk7Kx{6OAgVw($}5rD*}9MC@b`#Rg?a|6oO-#;hiXJlRL&T@DKZ>=a>U0s~q zwfKyno8{SSa;_n~PR4v+`*ePOTSW81%u!?W7l!9UAKjdmg5uWB@GG(k(H^_!%&rN_5dXeq_@(+F zB=?T4FsLato)3?><1LP@I~ghHBgry;>o-aPZA!l%NpbSa8ytOEZvhQGf5b{Wa93Rw zM~PSQ-G_;SGa?39W@HN*nL+_}Ui!|z^XJ34T2Im(bu=^I8Je_MUZT6lC}b7$&C{dno!pt-s*ug}}!mqd&| z-ZqAZeY>s22)%!5w3N2e1G^6M&yrA5l+c{5Wp0bhA8}j2`5CZkc!sg_n8{Z4`OFmd z?9seVY!+vJ=ezjLC`uA$e)Be8N<$BRD|HdA$HkIQelVKNsLoc>R|54VEow`0W~|HY zj;OCh_aQS5*H>>_i8OxXvG?Y#E6us3I><*@rPo;L9%pj3N%kCdf+5|O=9Te#yAN*0 z9jS(B-A+8TEU6Cm3ZF79ar`vpoY*5(pg7mL!cwrYWb!sEc37qIIg`GE3zGm}YPd6W zM^-pRGVP6^JT??Q2wJK0;oM^ao#OWVXt|c(34R{NJHQknxeOtCB_6}k45B0Z ztZM_m=BV+NoF`EiqLnp1xniTzxMf0#l%&|zuY>Q>IVY;Hm;T76VuLe*9XQJ?DqZ2G zDYG9YTOQc8Zi@)re}WL{?^P3LG)T7TDjAXZJ&ver;)grs=9RHW@)^QWr1&Ax&}R-~ zg}Q4*LfemL%pE;0StU^Ks2oDVQa;XXio|2xA^}6CMULay{m;N*9hsu!a4I94*|VYA)L_hl%duLkN81hJBy*D6)-f~`jV#5J$u z5fe&np{wVvkuVR-{TRzdcan}O&FybQ>y9)G<5^j;=Au>`+_hp<4S5%sXtBWge4TWG z>1*ZEe69yeCP)LAAGF1)H#S8{uSXwjr)V?k=gM;=zkHiZiOvKei1a0GQPEy9yQvLF zDZ%Z(JAn?wZjs?{3J>jXs0T}~ws`Ku>_lqL*h_l0e{`kTUd=FbUk29HcNF+sC@;MT zVEYL->N-jxE9XfF*nj`OO_ zRq_2LGaWiGC#Ew%^fR+eg$3^y%Sfy`bw>MTP;DBXQ#IFEn}H57exNQ{B^N3Vnl?;k zNJtFQGZmL8`E{i#vTdVbY8cexhECyu)H;~as8E*nOqGO=6sNtXEiIe&R6)KD*Qx06 zhG@)w5=S~4_b21sgfpi9|u7}doGjhmsc9kU5gmjLWd(V0n$y@UbdvDRrqW_~|aZL`XT-&In1 zoQ&64{XJJ;pTes0y(QyaWBCE$uC6j*PY(Z4bDO8c_2n{78Hj-Obmn3;D*wIoCGAsD z>Ln#fRfLv_!Tt+#gGp+>sga4;CT-{ithQ}|3{00R znM)Z9z{4+nHEvSnj*q6?#9Y`lQP0cgHthrYub7!TwR1<415Z~QE1RF@VS{7s8?#xveFV1(!k&+ z0(wh(2;L{%lk*K9rijhVr#Zv}8+(o03d_8*6%-cS2hZ-c=6$L)fkCZClVk0RMQ2n= z7ZHvuVl{VtI7wQepvl{c3TF@cjA#l-=Aw|nqpN&s*UI%XL{={K#X|AMRkWlsQ&qRU z8^uEFDRP=yo+uBaG)MKxB*M(io50t<&3JCa;;#X@EU5n(zewE95Wpwh_M2b49nTdgPUJAo#;(VX1TL@0JTizU^n z{o+=C)o?srQg{de5&avTuKsr!;f3zw_r zmp2+LgHGI77&+=I9-22*Ji7p&EQEV>c+X;7Q&L2pK#k+Na*lHyAR_Ql7Hgg=AKQ$z zPweH+im?#skgC_#{9wQy@%HjR}?#J4f-L1cWbef@`zg-{h|Cw@~ z_d1*A^IRO{+v*u~pI|bjkzZwAp`oQCARR_P30;o9HSQWaLH!d?}u?^xT~EoDRN28(VXx#rI1c`N?Sb^yBM@bDf!! zDI(})aaS=g4lbBWmXehIRAx>w)XoWDfG`f%AyRdAKOBwxVKf|AvIDiA6nTm#aJYZI z?^ZU$P#Sat2Non<^te!FBAS0b)3yo!D@jQR!|^3$Yb04uF%WCKI?CYkzi{0%&pnAn zChlQ(DA+Bd%RPq~@^)V{Pn2(nw}_<(_w#@Jj(ee|34ZByHjla8@W8V-Jty*>wD3GJ z5ll~)h|%!90u(WS(?~`B8M`5LHp@(7%jTQm#){sr>PPCRr(-M=`CRDd6IT3V%rbol z>Dq-*lN8yaGzFzy(-#4G3=XBlkg8Em4)uo)t( zf~b&6fYtZH^3d!j=p4o`+9G>7&KZkt+!NZ~-WJQTvl@65J#=oZUsA-M?#hJtbGrJU z-W38|N>=dECUR<2@$UqKji{HI{di3EZ1UK5Tz_XjD@wh0l|Fdq2jzq-B3qxH^00Wc z+p(rT|HVr7#((QsW)*p%y^1FOCK`6D%3IR;EB>2_|@CMEj zp6ai*E)0Pu}6%Jje1uB~fI z&rA+B9W=A>2do&3v&vwA`vt6)f~*P|pE4^97s28fJ~y~lkFqtk78QU4urJ3RLs0Co*6F^f}> ziA5?*OPqj8Di1iS#3E_SLPyI&(N%F~tk2k{Dyeb2tjLg@NH5p=5|>#7eoqCtP8`A{ zS4Rg!wyU+q2<7|6Ke1%c;u3})vS&A5&V=B*KiW1izhl?*+ToVY0s8Hd-AyK4_N&T; zn;N>{gW#I^70X7)+=cu#aRQF*r=<{A{zE%34;P&0gM>yf4q`)wY=BgR zQH$!n>_m60Okpw9|H?WmbfO4f2NV>*D*VuYO0U4RK zrrpCgKa!sdyk>xhkvYMCS*;`OFPtq__}m%7zLNoMJy^SCO#63C_ba{AK>aW(znzhO zn32$!lhCx&sV=ob>Snb@DW~^0>sjQ*cBdZE>$4aC@#)e7XC>b(Su&6^S!5Y zG>!Rk*nidO2rkR!SFn!wBTt&k8VHt%~3FJgZZ9SXA)bW@6!eeWrP` zO3ewc!CDI=0XRZ@rAln42j4)o4m0LkBl4rR#E)@oQgwf4OwvVC)AOx0Wo%9)Ayv9F z>msvrZds`suyTDPSGD5X7oOw@+p7DF>fX{^eT3D{D;%{kd)I z!wS)Op%rmmKg#c4)D`qQp{ zKZJ&9g)#JqAUy1_e|Ps*#ir2O2lZg;?fpnC0@Mmi|P^ zzm$lI`{FhKCFy-{eg5iv!|uE`c?Om;qrEK7ySz6MZvCDVS(nyZJ#7?irs=$N)s@Kh zzWV7>@d;;uN>6K`cDYj(&FLo8 zh8Mnt7cRvMH$4!}#m7FT3NWf-PrneU>=EhqJFos)q7$iei>@)5gDn{&yw#BXp9Hzu>U003C257-=>zLUu!P{1m?7Wt{+nnmiZ7Ilz& zk)cl-G#I;;Xm@m1mL9rc>&B z@oUxO$Wv&UkvcGy{7EC;mim{b;ca5Z*`N!n^A0y*wW!{T^ti-mWr_6qUFBU-P&IMy zQg?4gf7m#|z;riSw-%WZtPCCE2K7Em@jWG;)oUl#W+-R|I0eQ89jz^4o&)!vd% zB*la@L%rTdB&taX7MZ}A=~wqm)gR00)~T9T&NVo?`>Ms2&#|YUImkqmEQMw-ZDTAg z>>NgiGx!J2trIzE7mfOAdDez)cmw!XO6f|fu1q!~8>kD3h3Adz!9CW_eOZ-z`mhZK z&0EgD6S4BO3AjB|C8fD3j&a{^0ty7$=U)`UespL1h82j$qYu>i6o8n&OwLdyXZUAC ze&n!KzeX^ii8Z7mMsW*YI8n$xAcI4yl<$dDlirc!AN7CNttHz9aG*xc+~QP8WIypt zlX_2@65K^OTv3jX6~3f%{nz3A;pO`!=9l1vCw~`y{hd_L?9v_lVo`L7O^tX)he9^q zwS0T})RQlMYZU*AWszh211J@K)mSvK7hPtQHi3W68xRyI_wSYtkKhG;L}(&xN_BnqnR=Bk2tU^tST?SoBN4q9>qAz@6y}9YJ zwc`MOz9aMNI=%_lEth&Ggr2KFh_c7?9?l6?Qrl+S^Fn$>yj^8h?BEfX;XsY{Mutqh zvFi2}Er=1DsDJ*|!+fAOI`&YUKy}1Wx#q{fRwScWONhZWTqQ{;g^4^C`i;hdWtj8) zpXRX?@H8bsU69vt9KRGgc8}Dp*WdNtf4?)}ifNyUo-5>TpGb26WZ$LiVj(cz?Rt`k zusAtsE@SxLepYLT$p36v#F?L4 z$q(f$qjnf|N+|fhYrHp8PE%SqpPW?JxWY!f4Ej$@>$|0(slXS*lwR?i&l?HYmqP3|Br}Hk;29y@bSJpK9 zYIE*#t$RIa;|bX8S`;|ihLUH)ZjZEG6gaoL!oDOhWd`;9+yf4u6iR?J`RW`+bH!)aWxJID_5G58uerc^z9 z)g+!y@+X7zzka`Z(mt%;@1F!@n#>(*$I~$Mh<`?st@n2>x*ZE`C`40biVyB|`_vFo7~;&@oecBklMc z`WC0?c7N?MF5uzZc#46&U*7y(`Atu5Og|Z6Q^O_H@>|@q!(V|dc$Xp+&5b)MIDB1) zD?MJzPyGGp;|D`=R@~nkyXVrb;S3Vj-IwjzQR0fhklz`SFjOJSUpo$a{EW{~aMM4y z&h#5E(Fl{7&pI!A`j!^^j16JwwtbZ@D-YHq8B~yD>Rnyj9c#)ha{A25yuzmqlMK^Z zaskN2s#NLh;^dU^=i9~a&xBawzHs@1(p;!Nm?&>%q#lA7 z_R8=>;@r;f`V7Q%yjO>f&iDH-%N1OXpp9)c-%`u5u`&rvB6DI}Qq z$~t7sA@)=f^V#CfgxK~WAF$}cAEI5OTAs9os4CalXtWR<`Yzho)bTE}0Hu0>euaRo6jM>^4a6xE^$A)5N?paloQ*Zp z3gNd#$Oj55zL*|6xkULsq5C;eQd;xFa9fV_hsyK$CYijBLn2X1?e@kf&Ds@xXFA}sIzt8E|+LXf2*rkmIYvq!Df^j_VAkBm?*pfSy zx8VqEA#^oWZB!BTb;TpF)Njo`v_(1GGeWzuXra2LmA_nf(JaSWzEc}AX2`^;s}LAa z%)N6gsXZ=nNjx;@w*&goP^WX=p9xT9;W^$q7&$!#d~Dp2W9cv z9h^?*1DvXQsi#-`eFAqm)c>Z!I68%7ccQh|Q2~bS&0~$p;pULQOETBakd37HjpwSs z3)Z->EZMPP@Py&FzdT$92c6(+`XAOMIMr7Z!ANx$Z}La0z?HZ<6L+T#nK|uTGPkA7 zU3y`h(z0Nmg@PZ^=yuZ43+CsmYRq@*5GOiior`y;YokToo(Q@pt1ttWO@_)lJC?Lh zTgDe=gH097=*F(ag+f?oR-kISXL{r7A;bK?eJ_+)iz_sFPi@k1>9|4rCclTsId^dy z!jVIvK}6Czth{{i?w@9lobrcrVh<`*e!M=Nr_*hJ9--bqXH%?D<&1<$vamT40&29@ z!o?*CZ`AI%5C)%mQFB@R9EJKcawlD5iw@H~7y`=>MaPf`0Bb$}B7BnYO)gT8YZ5eI zv&&`WJ;r@?J;iTvQZ<8&ht+t3Mj*TeG)O2>1W3hrv4MDUnOR+hnc07P6oD914T%DL)p&-# z@T|y@U)EEjzNqs#?5EacP>H!Ig5cj~AL6*Rr9=a5&SYgSQyyVXW^Kh7B$UVD9C6nh zJ{Buma;%vVs9WTv5=K7-OxCgXII1aq5C?z-FO2va0Kjk-U=7U6y!q0W9^8>L<0>pRow@Ij-WcjO>V6S)GW8pu4A{>E;6&(lQrWd47tu9RdH>gh7 z&JE?6uAb6w$KQ#jNItzGk}G1|b{L3^!0b|4nxcgT8ONy58hE5=@=UsJf+c_RLAoAO z^`zO#s`$zzn^IiQ@h~OH50c*!={2i+X7DL%$m#a=9oxTE_iQoY{oe&R$W!vvx6=;?NkD`yy>U(n_g+PSle@6b6-L8k9a zxU&iW42+>t(P|%3D=EBav12%Cgo^)roX4f_q=^3IinpKd-3n!N4u3+Q2d;Xv(4@}j zo*T3y6Kz(gF^^hj8h(BWil3ovVp;Ynq7WNhkp!PU|JRJ0o%R3(n#%tZ0Jo(Wb5D6? z`E{13wPxP!=9vPLww-F4f*yuT3RBOO_`4KV*4k-$(I(>9+8+iF=kUNK1*SabD)Zz_ zqI|gXy&;8)=Nj_kH5N#?LaOw>j%1RuW5Mv6$+5{ET}p(gSG1y{XHvxWqhSVX%d{A! zFXH2&Z1M8zgPStaO!m1VT~hpl3g#q9kh{ zcf*TlUud^(wzVpI(c>%38y zX3er*O-tD_o{-qA@X0qb?IGbOjNps^v^?ilN*~QUz}&`tHr$awSV8h!qWzV4A`SKrjKo#RN)Fcuaeo^goO0%sR2i5RHELaayXq z&$Y`ZdUi5!s>jEANAGH!tpooB?y7JnQ|~i()U*O*BV@10#>NX`(nKeLXrik(uNf;q zD_HMAny$J;dxxAxGS0>1VuBgBk2+XC8LGqt8B1tI&R+~N31#g-FAy`*9%_|*LgliD zu_#=5waE7X&JP6S_%VhOr(Je3gU-fnITq^4$70yd5)DdrxRQ3*??xkfaR}BV zk`>|rZlJ&u@>v;(5dh-bf!{9d+P>U1@t=MyCh_$o0$lsHM38LLEd)G=V14X_`@`r!`H0c{22byZBO=6_S- zVt6Y>$#V*?)T%mz!u%yfdcaNxrXl9RXL!>BN{jrYHH-qx9y%4-Cb;n#a|;`D$JM$e zeg;#9(j(p3ojDRN5K4|6K7l4$DHq(c9wy`ogl+D)uk3Jrm_#rDmMNO`bIz>H`{k0TQIpSM9MYyMVXFe@Td&P zfjeTD-RnsW&U;R8`gI~C89Y@C)~5T&rSN@gy&47-_~gpL%HQFj6F46c^NZdjn6XQI;3qsS@Be6* zjF^cQGFOr0=cr$D;D9)OGj=2Zz&4YyOz8PjcZ{`r02+P--UVa06F`pv%OP;)5IKr= z^uwm~1L)9z9h0hhu;~hz7yTPyDC!uPLNPJ0R{wxcd6l!hjxseDHJ z?yF;kG$clf?hPl#V|cuHBrnwBwF)l=1(bN`)Og4zsOu(Nph#W7adt;reA_|&SVC{& zP@4=C3xFKo;kt!G->l0-?(*F+BN?veI7wY#jkbeyDctfgk_t;0#=vDszal9A$+3PBMZ? zuUyz64(<^9vyQKS^MhTkkAf=VY0W?m8g;Vyn3^Fl=O=bu_@NOeiksHi-GcI?q3{qG z2N=NtL@fcJbO3ON1|$HW1i(V~-SWnG!$ktl8zC%4*WWJ;{`i?d8S_)yHfA;hSh@?KH>vD)B=uG{e;3Rgqx; zp06$bTnXmk_v+XXH_}J2p>a*7ecLSxOg0DBOm9=nfoXP^p0{Vuq;q!B6AlO`H|a>T zL$1{&=EVMK8l8`F5J-e3z24`0bnjMh%1@wW(N;bLaG=6lEF~&zU)#-TX z$xhc{EARqucs&kGaoreyP9E*53mnBV+5iPU2g%c+& zalmKQIq5VuRRYj}3Otz(40i^rc7VN(nVL-YVm+gtE;cF+_SB(L%C%Y2oHnW(i#MYI zIAh+GI5DR}&H3T1yzFC zjP*^Rs8EOQZ*`uC*3gJne6)nDv1#;27oB7^;xsPd5yV~oLGuzvvptjT3H*69Q_;G{ zqf2WXfXw;juGfs5q##q~5!MRY=R>t`q(*5;nl{BN+O2XMOvWpL%&i~mHSvNqWeIt` zyrO83!#dDr8K_V0L)>7XTC)Y;@SbXUrn}XrWz#1{0YkmyE6Qa^{oJRg?mvNnAj$1b zW>;CW0^(jVS3^|UqIUV8ar{ST!t3lgD`;$*Odz9(=f_(@`*|I`rOsc|kjpzN6S_v+ zQjSllO}I3U+nn9iZ-*XoI^GfXZ&qyKpS!jSQbFN`YrMLp=Z0lFFnm&w?khl1xw}Gi z;0XXwi2kA?@x|vxe}Q6udJEe|6Gt|nFlOqi0k3$XCTSn9uRsBTrqw|HpbkMp2XskFh!&#hzt-h%08IH#GH=)n4U>D8^_SC6~xWFrPBu zPj|+b5EE?PZ4vSb*=)xLux6KByGKW^E=>@dIjOJN(o$qZS}eh_nhF>z93`D~FJ2rv z?V?SspDsw|!+=MF`>>b$#L(cutx5ioK4Rk7x^+j)n^@LyAwiKacwI(?YI8o2?-^_W zZVW*0@=`nAV3yvr2`xGP%< zldkWQNbBkx8M>_0?PmY@F@E;>;m~MP3(A~|k`hLLY_7`bnt0RF8A0Q7j%5p*GmoNK z&kJ@kSC4vgCYcCDdz%ofWJ&c+FVSXS--p^V?~6;?^$7SMp1-oIQz zxUnya@7J#|LS)i(1^aliwe@>1IbM*!7=QZok$gN$p%S(oQwZSj$A>XU3d@>uZ6F*!W;o%Yzfg}iqLxl`*m zlFJR=pP)|(Ufp0##sZ!69=)>Jh~iUpaI>ftmtlaWG#bvvUJWkL5ALyzY{gt93TXH^ zpPnQD2nGE!ulNYSLB$y_z-vWSkv=L%*{1N8+N_}a^7zPd)ML3?VSj;iig@}kW0$L) z-pw&4 zC>T@p#sr9HlECc%gaK|&DT|s;&lRc|O)8)>w?MsrKNa1ax_*~|4Ic~MW;m@se3;;N z>5*JQM*3B)5=hIN_uijBJVCbHWGY8Y$Z_^8Euju5wR~Ghlmjf;1PWUQo8GXz6%vGq zHN|-LTH()CW!`aWzi!qqwxptZ2cxH?tSr?cn4GbNv!-Ca^;KZ??^2k z7sWj_gaodMUtc9k#SI^B}o|~BQW-;-5%iZq>AKt8PwMpl| z00q`J^e!HJ>^Yo6cs@vCJ+t4PB2-_?)K!`&t1?c@O2Qq*h*Yh7$V`$jCx>eLo6-2B zb(S)LJVVd1c-NW8gO}hjtZLjL?-VT~vkGbYWNG(A!<2wnvDQ`YnLf@t$TRjAE^8`` zqx3KH?`8$0%~!I5i~p|248ZwV>hl##+J(c0BBa4XSQ`mmn&hz_`up?RncH@B;_Tr? z%X}CV3er|VcTqs>eEPLm5O~ngz&3Sf`R{3q>ZC@{UHLy;JojeHJRhfv!klp4)T0HI zR6_^7vis`lv@NPUn#_zgt^VXi`})=m1dT=c9PYo@iP3xB`{(C#O{zuZksXL9e0tHe z$anwRG+vJdxE412Xc?nqoj3*o`u7dxB7d-I$SHrdaA*P+~~E3z|V5bH5|>&z6i6=L}|f7r-U3z`6@f<;S*0Yh!B%e&W; zE(7<5(l0Np-IjR70;*Z!E|DMwNtL92p3p^)5YZ@X@*P2Ui{I?I=@Yu65~31^j*@(4 znVhzTB()ckV8M^{J4vpvWEmZwCofEI|F=hPsPWfUXgF0AKHS@sFdyESRN?8Y(46dP zm5Md{n~|YA)cw6DeF@%(?{HMBf)u*q{AJi;G8M~%Hm-3jd0Z7VsQt=pdA)RZhC z(hlA2%oW=nHf%>|^@Ay*S3n+Vj#-Oe33xU<@tY4E*HH{ehfcEkJQ@&GnnX#ce7Z8Z&f zi{|9G=B9?r8%?J8Z&`J^pL6|M3Sy@lY9~I&ML_M|75b$KMi2KWiDZ*Sa}?UNO&IPW z&;i!~JA59OCh^rj^@&vX6t1NbTi1@y`AI5oSEC)+$|8oT2A99oh;IuW<8JFNea(q@ zru~h@+I{Bbx#+Vk{n?P~l%B6U1Ur%mE}IoDQ))t5amYp916?4pdgmbQ+P7<{LiNxX6=v$Lf;t zylhtBg%eC;fLrt^#YV6JoY}UPmHxL{pi#B3pju0_Nwv|^qZuqw zQI(gDs}=N=Fclt&???}A%84AwT6|N;eXR^|PORJr5lm2He+Xm0{?;i6B8#`=HkBt{ zvZBYf)eoIYlP^#o`6zO+*vG|6?$*j;rM@)3XnQ}TezXUU-sgI(L1NP`Gvb!%NM%U` z_7wd`<-=`FW>|?-yS9f~T%I9534$u2vl1pEBf*tPqzJD;c_={wn43i3^xh(yn;h(3 zBcslj9UWvC&R5y|2jD527M|#u7_j!aXN_J^{lItmfx+4BX8fBl)Z?XJ&#q2=)A;=4 z%+bzkG`=O4`?5VrXd0cNK(4amwxnCUPsVjeQ9!sdAWS2^HC>}nij@EuG-K=Kellz- zFz8vhiC@j`2T0^cjjwk=}^Qw2;o-P-!_&?phr16HoX1KxIiLukV+_;ina3h%j^0 zd%p`LZb2<-+6y#kk7jci87ZzK=7y_Gp$+JRZKbB~cS{3CS0fd#-#OSiaU;ye?C z8w7s>Hq%qC>xg+CE@gPM8v+*EIo-Y(2FBv-p$>bh>@mdJE6Len=l5K5tI>C{Ptl_m zFlyb$ToTUIAK3WKz821*Z0!Nr{km*9R{--gr3lc zA}=(%US4!9?Qw~vdCgSIC^SA$*rNvu=E(4Av^~hJ&5gt-!!4vSA{It2S3F8&-$kbz z3~z|j2?I*G4x_F|Cdjqj>z4{I2(Jcdc~a-+Izy>Bn>w$`#{xtp zbglcfr9fB>;!&1#+c&Ni9kdQ)_?sZnD_41LG&Ww3di?6dE?PiyQ)ymk-=0lx_!ZJ6 z`rcLhJA=<-C)uY&IqHegGH?w#9vk|?@~0OKe82$%dj5_-Ez5h zUSN5K+(SPzzTbm8HBa|E*u$mTIii`1rr&|n&Prr{Qh~VzX(#zwF%NEezejgAtcU{7 zN$Ll2Qx439DzFSm{2Q3eWNBWmjbuocD$HyN_he1^JjyX}Fb&kG%hxs}{%hBT zc(j^?_^qJX>|x@F(m5-;pkQ!M(l)UdtYd3apx&tF%Tl1HxR$G!%7tEU#X+kL$4;HK zFcIgif>{xN@xNEI;_08&Q#u-dEo}Q@ru$skY!8+Vn{D z;>gIqnFoORU*LOvkDW}UBxd7!_P5hy#SjDd!QS7uGEF512L*CIN}Y||;Bq?OMrEe} zq>;tiPX7*l3i}(S%e{I&thE=(^r^~Sv5p;1`V0D1M`yeLoW=3u+E<=n;aHW)=f}EH zfld))Zq8>$5;nWn0v@Zp6r_p}MH@$?s%wZf=fNkj(pF0l+lDkJ?X=(*9FuaKqad+u z?T0*-db*?Ck;`JAyV3=uGCp6rbw5R{HG;(+(#>wDc-^8?=FlUBT6I@kq|EY$M%142 z;(Yrrd2y-Q2VZG-z7gwp<$5rG*-zQ0=u^OYlOT7e8h(#s(>F(=C$)&C{ai@!WdsE> zui}3N0Jo6ad84W6-=tI7S%xVP2!|~=J$>!;G-;B8@6<9t^c&T}k=zB*=L^oiy&rqN z06h#S!Vo}SY4uf)@Rkyg=Ke}}wOlM@{mQc>K&r02aJw8&U3d;hrfOFYMaxDmf4S@! z(3qcjqY|LSH(8~1wT{6>)iTb~C93zZJJfSl34WWTrE^bd2bu9#00qxf=G@k}MuLH9)jy<2}OMOP9zm?bBJAZ2{9eS;N9V@%!2Q#IhU!*7Qo@uF?_MfYJ@OpaJhsB-*~h) zaC%Yg+5TmtK7>sT12*06XEP zS;8Esvd%p{?TkX+wv~=+4-D&b$AU#bleIRJk(mVKEB(di_~AanK<=Nnd?&WDqV|gm zUT{1S%E3(nciwPutiY6cIF+5Uq9U=(<4D;?SC0;HJ;?9~g&E@}PCgiNN;%#QTLah*WRo2GAg4OUoJ`ms zazq8P6x{!6A`Ywsbw#WSMqdBv!=wTIEZq#9o#NAgGSOB@xxt8>?3OJGd>z1&Xq-~4 z;7Fhdi>>4N(~+>Be^qa zB392+!W%ThvUGvn`INrq>Ko|*-N){t&cJRQ4WxX)xgdxj%|gu5>`o1Hyd=v$Xz8}H zg%%>p@FLgV67zm9Tz?l1Ti1sg(bK|yXFS$qTl>=O`^N6u{sh$hnDy%2BfZ!o%34h7 z1PnZ-xaCojGAYApi$hoSIv%_DYWAkny@!2{H#8}n2a8Y|C5c9va9NaDPd*vJ<<2>Y zjaIobB9iY1IAaYsy+DCn=v%x)Ss1qrl$0;rF>vQ~OVT{Won=ro>~WxkhZDO)A@TaAG8iX&6sttiMdA8t5YRLsH2=QQZdr&Huxa9ub-Xv7{+WFegi%1rndEowGE5 zOX@aYq*%E-+feK@8-^|+j7BP)6Z>C|9@qJtk&kW)P#WLbDhk9bsP9zCYyofkZb*ZP z)%~CR`<1=>M7@W6yhrjDhtnQ=+9KVqE>2wV9()Smpae|+W5?QqjfcT14WK(;gu4md zXXA=A^tEVF09Oc2Ys_-OBumzIfdlP!G|f@ZMCYz_ydGUJO!dVM=Z+=#+Oj2&Pv(BP z>3jR?`?|y`E@0y}@`E#KK31{fgD_!PuiD*CLc(FbE`~rFuGot@nK>(eia$%?6~5Xp zaJ$cyrJbb(0ip|Q*)1q49-CiM zySeoGSnHd1D)RiGWmi_kWOJ=M5OGldpe(C=Qdag={mX))S2{PdF4agdKq7W2qB0Pt zPRP2*+jO)Yw}y3LE``K!E_9X+nYwGQ00A4D<;%DF1_Vu~FblvRdh$+dijhT%QD%xXthIh6 zbLx*lkI0gLFwsn=Q3wd6T%`bI6F8s$)%t9v zU56aJW9i1t5r6$x^pf%li|0%Zt;ZUMZSHd8I^*L;MJoO|e3Mc)ZrIu@gqq?Yrnaej zOE-N#zL?QrnxvUg1R@cDos2!dMO$-u(5mUMXP}20_UTJvxQRF zhsrN(o`PPXxqehVc!PEcb6^W(d^_y8@b_$HI*C#;@vX=XSu&9|CB5S(@H1WRC)jYO z%r|=I!fd+xBKTsMVWg}k46H&1zDAn#AXwCLn$+cO1JeynzH^yx{%zGCu?vI*nx)3D zH{`+_05IC_3_V7a#eR8c_ey=t%xG5P>t7NtFT$2$gil6Y{1v$y6yzHJX(^=<=kZ}C zT4E`p(f24r)LtnbLdZczx!X*pak{AFF_WTie^dtWj<-uyf&>Gd~8${+cs6F^_!kaa*O``am zMn3-hBWdzm67z}_JQ_@+0AziDT&%yG0zPc@(Klt@os5r1vNB{FKvnVYRGo!O<+6&R z`wA9(-q=nCPaK>-mk9}?#Cg!+lq21EgyJf#FUjKF#&z^99@I3F=$&b)u zf~W7_O?2|mbF}0Ub!q2+0C+%$zb^(3g(D_{7@>m0h7l_$H2CN7-v$aHEo|@zf+2_% zID-7EqQ#>eJ^vCB62iyk8k<5s{u8pM=l@RQ#PMt!`z<6)RSrRS}Ry@bAD!vpoNi^@#SYN3&|zel$S9?mr0x{u%JtH*a4F7Zwb@ zaAB>6e@$S>;j%+Zm47P|R$+ky!$$@J{$arI00V;u4E}BY_kaWD%>P0&m@t8-f`1M? zI)L!6!bjV-|LOL)dpBLQ!q2`%t6{kC#Q!uvXbz!5g$WNHNT0xggY^s{GGwUZebp+D zz5b0K{}DVQMBZ6&U%R7D7%eZgV9DU{wTciEMvs>M?{#PUjph+%1JcDn0R>R^nnwyK zFo6Tm@y45Ni5+*Aa>x;vVQ~js`2W^~6aEIAZyqjpq6i*%fLjP5T*uQ2D};c9MZwKdDr?hEZz-qNS681aieu zU<%^YQ-YLI3Nl`S)m1xSwaHF9RZ+#&Kjg4O6#@jv#TK7x?G+cGJgEiZM}K-G!9RE9 zwU+^UB`QH*jpjwzKZikjViR0EAzu|4%rJvTL4=SW1qm>aKmyan=otf=B_P0Q91IxR zY6dd+5pJ^aq+4&lxdoS7i4_Oeu)uma9I+lkaDa-@Rp;7u6KuC#cXfa#9(i=FlAd>U zaL1iP9{unU5HBsk*^bhhmj6Jl1TqBRfvt_UBWI=!sNg>ZDDZ%T5f;?kaus@%A+Q$y zYT^M2|B9h+yNbwbh_>ZgkOv9zaNR*Nt`Gx6|Je8dNB^+P(T^1T1L{9ZoCM@T7ERXD zKW?N^iA-vE#D|kO|FrW@ysWXt6SrR$nUqP417zWY8Hxr5Q`3%%se zEejlS9coU%=V)>N5wh98<*RN708Ap~9(2&bi!F}8L5v>1Z!!Z7B+vi@I_hYFMkd4pECHuet+2tWYyatLTvGk^kYMsbg$j%e~VpxF3pHkG@aZ8U^{1FVsaggOBC z;&{ZjXkaf#JpT*n2#`m_VCVoMfPj6l1I5;H$2*7s&o9j5k=SvIJ=$r}i|+Oh_;8^P zT=>BlGJr0RyrxyF`DF5@v%FJP5mwQ2K;$H+$_iM|Ih^a98|A`Awj_*u*&~**78bsN zHLOIv@(6BbGn@5YCpDaLh>&=c0R2&5G|lWtN?x{skO1jr9+83+v~UJHm|+>hKRBa3Ks~NW%|ypq=VSPXW{GmntI!9q6=jS+Jbt zUhUy}64FqCyn+ZG!H3Xv9YI@|c2lS|Z z^)nd-{tjHcz7+_ktRX012QQT?=aPf)*@`*Z!1Ov)J)_jzZfG!3SO*qOGYs`IBCj z`u`T8e$RZodBOTz6M%<^fCnzZK;Z_EufHX)Ra_i^;S{6*10hHN35pzUbb~pvTrOcf zEmWfB2rTx32#!ItFdm2M7NttK!^u&i1|$FkAcUa{gjmHTVz-E1z~UDzCWI%{^DRiW zXggIU@gBlphdrQ`1tf*gD(C7P=6vX`aTJzYe#k?;G8w$urHh}oHdwg2?5}oKu-S)POPTOH3{ac>=InaQ{p&rYt=_YTQ)8{R(5WyQnQ2+nX zq7pvcKSc143{*e?1DF5{oEU=+n5L9fd>m!zg`idyPeBJxkWHOqn*|RRk4ZkNdLtai zjUp%6b6l#kk2)MXI#~kNwzfE%0M8KqENDSngBrpeh7pe#2IUSz6Fl;>OZ?1cc}|SA zkC@&?eYez*vUf-G?GZh$%~1O0bf#y>*L@RQ)M}B-U=Qm#(_PP3w9!?+{t+%tenvE( znE+GoNd%R%~3c@CE~ECy_XPQTQE&< zpikDYh&5b--HLCw5Y&*)bYCFdJ2|`>uE6e;!ywOyk~h_roL+lBs?_@y;=K3GD1Y0< zQB-%bc!$_E9d->aZDFIr?;0`7^%CN<*v>;QJSu`CnPyip$kQIzTA(EMlMsP5h z80_E-M)*e=(yg|&5hl<(!64!dgKZ=N(Jwst3(tE_be-#bEk9p?9^=1PO~XFZ5I!&Z z`N9`S{UuVDl9d1LpOVQ@=Qsy+pi%(@fC6v;4_JX1Fds+si2a}n{{Qd`1*lzu1i*o% z5-T-WVC6~tjULp6VEp|M2*%$D!X5Xl5%&y1PrV=u7L^{!;9Ydorxl*H!GK|4-p}-) z52`^7z%KGY5&t;g8HfQcia`xn!3!AU z5G3Oe=pY%KqRlmmwS8iGMPn8I5YmkxHpZU|5`YW3AX$h30f1vS=E*iXT@^lIz2TrL z>R`$_5DaO0r1=Hi&B4IW zk--9x0T~EECI~?)NP;A!LMD7=CTxN)q=GMur7xHRFaMasS)QdisHHg^LtDb-KO93f zRKqUVC0-uGKUBkB?!rIpLNV-uVE)4&*yTU?!7lhgG5mpI{=s4{rWp7^WKO0SRHhjG zgJp_=6GY}_`hjG6rXL)pXF36BdVwF9=3$zq7d(O&c)>q-0UNw#YWl%uZYBhX0Rp^$ z3M$nPU0dhDK+5qT5Dw=&N?vdp#yt|@qY)tx?PFc6jigMW00L3y-J2p_pm^De zrp+Th*&{j`cdZ53#0A179M|wlbHo)~t%kmEKm~~1KL7x`c!o=Hz({fcyD-3jJwyzM zKoE2Q@_57vq`+87Kw?lGVbmP|$sXT9;`vQocmHl-5Y?b2IwV~HQ73YuCOTy%{)Nzm zsL(}#Z~Yc@NtaQO051fBP_$?&cx43m!dEf^jne2JFoG`>1CIU!Bk*W3_(Ev@fkzZ( zG5n=R_~kzYW@36oXf~-TD5htMCTLFSWY*?q)~04UftGG5mv*U_a;Xn6g1@ zhUp`ashDbMm~LqWH~|DW0p@_?5!st>c3$OSUgU+_o(e%bhEvK_-UaAjp3w!L0b<(l zqd$h{lYt^qre3LSr}>52B64R>E@b*)*jvm+4EmHC;ojv?h;2xYgXqhAeHjNRKotSN z;@Iagg`DA_%5*%0M>r9Kh=2{)08u*QrT>`MzU2wmfFXqTMP5xPP%_>#=Kg1>*JVIj{xshABrK|+l01Utl5Qx}10s#ypV+thW z0Sv*-!cjRMWDQ1VU_|1)1%`H2Ar?|0PfB7UHeJDKq3OY1Bf=gWp(le`PHmJbu*Jp% zJPv)Pi)rkOXL!V`(8g_hBw&0OUSOej-mO9&B+?OUclNCQ9<2%PThfLaM!lY)kWJKm zU|FoE0|48BX@&p*0IL#+0{>7zf3`~Dh|Ftv0NK_+4HSe!cmM?0fDgS9&jnW0eqmq* zil6wT(RC+v65O)7AK>oRRgys_NJ1uzyCFDA0>U(r#2zfc&aNT&!5_1M9|&?F12SkDf+fsuA^hbosDmu* zB{dkSDv+-1_VF2erez+0ID#P2f}%9KFkt8(cpfcxHYEO)m$42c+6a+$$zQ2er!;mV z!L8AAARw>-n1Q)QZ2vfqduoxs{6odWVhXr`2vk4^KtRPDONh-;{At+Mu*C^$4cBm& zMqy|vU$gx|=tqPoiJp^CL_jJCg;$cLSTgRla%(kMYZCJWUkb72P81S1Y~&K=kWOy5 z=IFg@Zn&l^xcUJ6?5?;7_=3Ku|kWn7@IK~^DZCju1C}{9IxgZv*yDN z^2M?N@$Rul8|=W^F2JgSA=vI8x9&eAGLtg$Kd1vWP=h-7rC+K-8Uw5#pDCBd>1~=1 zH}ab&ONyu+WWlYiPgdxJGGrD$BBgE`>XDxP+2EzL&9x1I0URXGz5p^OZ~+WJ09es< z?2E7Q=dKBu0{>J%F?T?Uq>eE|092h~;l1(<(k-yc#SA_32=k;PzOek>-_HGkFZ8Hd zdPEQVFb}t7HE3&H9(H24^SG{a<(4ZEE2cdsX%f%#<0|G}ia{}CCXH5R`IhejFv0?4 z!U9ObZ;>`tl7Rs*LQgY7o``_~m@fi|!EMg=ZQdqr=k{&uc5ctMZ}awT!>Mq8>1m=d zA7||E8ZSq)rtm^6#qP1dLi8gTf+0+|Dv-jGwN*&WKWEJM5{%RxNc_YrAZzgBvd;bCXeyj)J zNXbwD2LD)q1^kEv_Q(f}fD?EuhJ!5m{)1IY0v{y88Z^+KrQ!%;D5vJo(o*6zAGL*I zs@?MFj-K;J47Lv|wqhgpVz+Z$?j>CialNhuxaR2NVrG&?ZecQRS#E-or@|&=!i#n# zI9EvoWWqmWLIiBWmDBJ7G`W>GIT_R_nAa!))TkJQxtRYoBb51SGs2p$IRT(~ny|vCT$;p z6aQd!Zol_!hHPazAP)rlg$Fya^P;hPtQ839A1pgzG6Ez(g0l|+BYZg-@PUdh*FTVG ziD&22?sq~u?Iijy7uxM6mSwb_J6BFSBS^cnmwEZ7d75YDWNx+<>oXN6sb=T9WLDdvmbPN^UK!7ls(DWF0y48u1x12xD(E0AuXXE$~)Y;?CV zMh`L{BQM0Z@nJp!Wme{Fb7P)tJgA4d)K7iSV&Nv%AkU6t`OdbyYw7Zart&VYl>Z9y z8Tal(BdkIf>2=30Pax?$k8b1wX1D_8k^h5OzNkT6K_T+r)#LB#NnQQrx2an*B66Zt zi@^)WqZLx7wjAS>?6GG4=(O2JkKRO@6#mh2OWu4rL$V)Y7YT|^Secxd~6!; zYWBIo@~+U2bV--=bwlYSD`w2UvSY&$iW1z5efis8cmS7$7hZ0Rk}xAQ*%I!3jer4G$b0jgKAPQBWc0D=Qz7D9+r>R+TtRL@?$@{h#Ow*S_yefuv0 zU6gg%MlhOb!GcV6gR&J&f&|;bC=UxpoRw-}qlEPW#yc5nV#ZV{-@TkQLWBh<7t{?+ zH}nO&qd$WNyR*M7w2-=p3jNmBGF=FE^GWYq9c^Y2okQ@DgJ zGnS3|KVz3J328C}#)}say*v^x9;F|Y7TNgW&BkK*@VrsN_hM1xeE*FU{X7)oWcYA{ zKL6{lC;skx$UO7xGcP9u*~9HB-xNgY5mkH}X(W>J^J6~^H5AZ84T}k}m};u|r$m%g z3NfaCXhMm^YE-J}4_`J(C6F~p5aOtRKI@Uk)Og%#DygK}j4FWydX0dCHVkRL@K6$D zt;^)9(lEy?)9fE1w)`iRe37ca^D(oB?6A&juaP?|C>BQaA9&a3dEle4Rg(lWC< z@A_;q(~b)Cp9_v!;DQSbC4&qD7->|DA$lUIHa2kcs8UNm!q6iO{rJPvMkV1x)HV1> zB#}!nF+~_-o>?ZFXN;-kpG2ByLQzJB_(KemE*dGJlP?AlejGXAUtgMJ? zGfTz}11!$E942|NqU3yQ%B&unSZ1v1jML`IjNFkf)2K3yP@aAEY)~FO^DMN!jQ)p= z1r{B`0N9um!=SGWf|LM87GT7HzsTs4OO&`2VhxnmNaUYYm-#1~e@=mG=sJ03O(EJk z8jrVODMhc+_AZi-xA1)XH9l~Ytxc7XPO@!Mjcl_GKK}*7JCL_--}6np$Z?w}qKm~? zD(lby1HDJ2LD$PJx>AW?X-0+<@kA7PI?<04RVwjBoP04y-c(YNL=quV5rPjPe*c{e zNfb@qX|1(h{xyS^9MHT+GCFX2k;Wqrt2al+xvIA0b&=F?}Ex#m3a zoU>-0@gnr?pM_QpQA0f=)X>qFmOO=#VSox#SSFH}JU%FGOBV>65WeQMv6W3a&sZBu z5}}=|AZln5AcF)L@q%4>fl`(eT;2+|x83l~J>aU`vG~>zzWwbgx+z?;ZkQf#)h1ao z{MF@llc^5zL}3fq#L_xLh6r$}Yn`#n5+_rqum71T6RD8bzy39%fvqSfpH;tndsaLG$E}5EZDO9qK5A(vkh3Xc{5-Y*2@4 z0xP*>s#zIBZMDS2*gBb&(H+e-OLB-rETuhQ6|05CbPx$qC?COj(PNXt;cv!Mw~u%v zJ+|4{Y#4H}*CeGcleEkC;76BmMkbuwgNsr4zz729N?kC55y50f6@jJ5L?wz5Rm|~^ ze42wq{M2VwXcrR^9j-SyQAIISkx;4xZvR3hVdRwN!lpIlL*s4QXb=Cnw32=B0f?os>p*9<)BVUv`Li1S zBr#P;MC*b6BgF)LEU}5LiZv{I4OhU?vzPc7$z%pggNbcousvB4+~^9JzyzF9QKL;{ zg52TW1XX;es0##ez!K=DX;Aaz)pi+ts@L0HvO;cvV?`1u>3AxR!HaH)d^#wZPBw%g4Bjb90=-3U zc$W;`Rw|_`ONtG(nE#dYhcJY{7el}h2moNu0XSj>{%*v+OEd5aZI|!fxA5HjajJ}o zOr*LgpiE~-#w@ZiLcmq)(iQ80g$Ts;1o4Z|9^ziF-5mMUXNlCo_O`G6)-q9%ip+Ct zk)R|H|LFVQdHiEu{Mg!+?6Pa|v?d*2A@G9m`{SpciZM|=+~KZb703N0e}_s@zoQG+ zA`m9E3e9AGIVFGz!%BWG^hK*=^(*7wSF3nXh0ros1B|eWAd;f+yd_MPy*n{jVd(G;TDeImXHyU zXW}X@0uZR;_D%SFr*{HwurTlTtSA*OZ{wJ7<8)8?G>!=!?g`iM4dIa7lu!4X(Bl}x zcYFZ>ePMwrp++Qu6`U{SOzye}k>iq&406leItc)I#D0{lPh>1u43{ek4)l<>f-9#{?5k& z!A5*++X8{{7_aXfFA#VE7ybbk)Uh44Q5CPTOiqyuy`&D8u;a`S3Z?M(j!$XABzV9i zFao16)N1*F2LYE*_rCD#tU1P%QSfi{i|*svlak_{!{3_T9u=5P*??-;%W`n*IE ze1R1ZE*0SH7^s4lR&wNo0VGY5`1oyS#;-2;FEu#G%Z?_0imvE_q|=bDCzH-ci1NEc z1OG2}QYQli6v>avW~z942LWpY6#*_4t5;y66}ySmG2mw3r%o>6*dkKc_HMYYY?pq&&)v>aH0|< z0TLu(+{(xRkm9#|>wosgCL6Iw`0q!Ik|;;VXo{|AdgLgF63L3je*^_7_b>dE=Kl=+ ztxOOS0fVR2BriX+@f{13D!xPqp~$i(>cQf|WnjiDWie#pVl4!rK^;^OA^}26p%jpT zLMgODkpUQ#VM968`lw47oZ%R-;TS^n7>kWv`6^*P`w-no@+x3+3`1@fkW=JH?z%?KUsz!dA>kqiNHoT8 z5!2HqMZ-J26O;yJrS^|bSP7KS6G%u8{X|J;PUk4p>UT18^STgt(j-5>G5@ag6HVUn zxya-y{w^#b$xRr^kKCj%SVp5Jsx1-&$5ag~&Vm+7K^Z9Y8pweht^p;k;TnM9y5tla zniDSDjxKYj8W)fVrw>_&@KdRRF;Rlf)-fH65UxV*Oq}mB&@lNla!NhYNR*Had&fvo za}^cP-y9MSGt%E+6EsmGPt#B{6|ze)Gf$N-I=>Yw(sT~Lgd`CYBs&ZxpcCZS5*wh4 z7YtSyf)%iUQ#!pgI@|Ev2FQbw!rk0$s5mLO05xbdLpyhCX_D?HyR#A9jkgv+5rIoP zdFxOWr8A+>QbmOia6~A0>{&nNA0Cv)1`iW()LCuNFo`f8pY0V5RR0!L^^h8aWn9&d zvLY>R_GTgU3L?}jaG?}{0U2_Y9r)oN*r99LAy@yQSFcMMfT3)S0a{rUuDEY7XMq*l zc1-Zh(feODYxuV(NBq#2+KmRF7{1$m57O;2+CBaGmJM(m=_Dx$oTHn_*xAe8`Ew- zhR(1T7l45s+49?36j}2#Z6&W8e+)+=5NUBNX$?QNn}aBuc%|3oF=M5i?ZVP&V!G3G>u-m(XGTjSA0AOg9fpKbT3qG%M0{B>y2M zI}9N~E;5sk4_HC^j8IOYiwHr|VLeVd9kxt6li(y)QH}$^B;X(1tu?NA0bt-WJgDM2 zPvHtKAr~%oo6z5o!NJk zS%zU3fqbut{vw_MBNK+#-yrVzo{$caSxQ^8OEEGcV{;AZ(0BMC6%v7Z*U|AB6OZwj zD)v~9_ZWM(mwTx-S%d7EG6Usnswd$-pzC6W}EG3!RxNcoQ*q^!XN7R1A8KRT>w} zqHOV(9FW0R>68}~c8PO%bC=IvdygY)6AlfIMi>sU2M#CPkmDq2(nQ1d4w{%Fy zZK>~ZgY#8Qwb?)S(26{+)p*u{>6)(Zm!)$RuYL6zvqpI~&kdS)EE{@#2R5a1;Er0EdD&sd`ZkxG zmc`9K2mDO%GZoeV(qlZ*ExVwN@BetfbX{*VPi=ykf6pc)cS|FZiG8#qyPFk&HY(N3 zR083S@mQfXyKIpmfFm4$r!^IzlMkd5VtM_E?^R5hxZ|GqVbfaJ(e1C(I>k%8m|46Y z(S)1fx@-dB+pdD4YrHHvy@DUHlHoSgB*P3k%vtyjKu#L7}A;$HTp$$9>0vfh@)X+iU!x`Ixlr z+Rkfq;nh8s^K)5aRDx%;Sx;E{LKX3+?-~{O%DFt1|6$}#jyfox@&mpc0AA^XoE^`W z&expt>s;dNEJLq0$b($7&Em%4w@oCu#}a{5)a-bSZ%aM1nHBD=A#zGdQ}@0^GR=f{ z8qYy-_I=^EL8AolZUpxE;GTn2_dIRM^dK|BU_1#w(jKW7)Djt!gzJvVy=was>u9>{qc{ zyNU&iG2_8Vf(#0JJFu;A^jqN8U%c2=ov}3MmwkL%6*4;CR-J29ZJ)T~vy9 z$)%KGMqYu23ojuGvtdg-sif3Dsk9VRazqWZQco(*xKbiQt@Kh%iSRNDjw}WBk26c1 zl+Hj*QH5km-7P87lH7%47FgX$Nl--{r3H~&*KPUFTy1p;rXW{zc~>B7tRX}yLhwNb zoA&v(Tq?gUwuxbOGPhSEn5@Q8N~Be1U6>i&C0AVol}VRuYYHJrn`AVa8>Ig{s+fJ2 z`qdX7ssALRXI>e7`Q>R_n%3o8wBXW}GRR!R)iqmfl@WAxv2_<+m|!B?8hq@^Yp=fk zng}19Cb9;nYv6ioAbTpy?4HiL_FP?c$wlpk2~oF}Lla5p+O5YH3ofz59_yNf3t^a{ zK;9LkVMqgYSQbek@}ks>KEascNjb`-6Ocfr!pe*%W&~4@Ee0hMi79r2%T!W1)l|e* zJ@u}-+-0a?lkg5Cl0{dl$aKhYa^87W7Kk_P#FD)Nn`B~8J)#uwiLC4u za8Eu0IlE8;p(Nx$PC>UJ#o&Q=F1$^04DZGqC1j9Va8(;>se%R#YHC+gd-9=q$wtCv zHl5a8re>&^L|;+sp>%;+ziM>{Lc*S(7hS%*XwOSl3)H9Jg1+mp z1#zYL8ap2Nz^+BmU0^Am&$9L>Qbq5420YF7Mus@V`3YpCDqKelheBGV&40yGgZ~=3 zu!R)7zylqqfDIksfPW}phdkV&11it~5u{)XFi?ZIrnR7SEpK`5YT~QHBCngI2qiM| z-9Jb)kYoHVCILgqOJMYm+8HKxvO5^U27<+=dLd*FE1Ecq7zHEK9Kau zEm^zT`!txGloe1+#XDb_hytCRpbc%&$&v*NDJnk(jcE5%4gB6$Ci)=?fSiO@Yp4~! zNCs+@A;ek;L8YDUcnxe|dtlf`!VrRdiIHU+&3FojIJTHjmj)qTM54#bV2Uu9DTK%= z7bvZ72|*2y1H$DzaKjx2U?2e~KsBv-%>Z0;00kI`0)7aA6u^LU#LCNPF8?yR)0OUy zaD)lJ-6o$&ihZmpt3!hD3NuE@=;C(yH5_UTT-(5z3{8ic76n z6Ui}=%sLD7qg;Xs$Fq>5UH>3QO1>fyiL?`a*b>d*8q^T>SyY!#9p+T2TGgKc5L}CJ zVHvu>gcO{Bh81wY4*yYrw5nCDJDh-7c~}4j#I*nd7=T^vT7YkMAO%Kff*Q`$&~v4e zo$7R#N2*jMTwnqh^@``}=J`8;p2QcfJIOv(1d|p02PpKC$?y~^$Ny`Hb|7Q>4iNsD zh*{N*{fb{KT1eJA<%l*IcAqMxRKyK5~S3+j`r$uGWo&Oeu&av zp~95EnsP9?fO6kYy#&I8q!MfyiJ(!9+C;8tC#i=eT>5~?)Qa-4x3Nv>MOW6E#hq!s zer-Y%oOwA2Kof@w=;lAJnO6l=fCC)}q6kD#gB>K81qTkn1UR4o1|*;W38=6D1Q37$ zRP&n*c-y^PX9-J!|k${xb!JP(Qi=j z(_bc8^U<4@in>$=)%13%<&mWiTUWwZQ6ad>RU%`kQySfcE|gS=Oaz4#lF)=$voZiK zt6656?|k{N1~n|xzFpt~3~V4)5kRx7ZL1vE1s#B}rxS4DTx+j}wPRt|w-GCS2rQ_IB4gvpnVamWZM=w^ z+is=Uw4u#3zC?(2!m?*_KyV=JkYIQJ!A%Ev;KP7bEjl-5Vv3?S%NgCNZD&i|klGug zy#<;FUHgy`qPLH60U-i2I;K#GS);SP{@ zD~afAd)qBo3R;k6sv#4h_5Pt#pw;%tS1zt8|E<1-yer@w(yr>yd%(|Iuq`?@pHAi=ZX{AVU{{k05D=)!%Ofaw>AK>MWD zv5h7S`z^D006+Q86Lnt#-7&+WIzNvutC#PZS{e00S;7mIvn^P22-~O zVIXy3kOn`n1GMH~6A)o>HFkBCVFfS&9$*77P-Mr#KuTn6%=0nYAzaWyQ9Dx++F~{v z(o_S7g4)#(7GijbS8gt7Zn>6L3eW)>P()`UK*@tn>$GHkqInpUOJO2gvxhyp^=6ZN~ zaEjmbLj_h~-&bJKqyRv7S7Wz`5C8ap1JH;>HvvJk13QpvnrJ~>K!8;j26DiENAPOW z_z#5eiJtfmd7yMIAOf|~^22U79KWyO<@ z#e-}Y@emC{Z@*`lSyqLClu`UGT(D1E+hn$c4;Y)0uf18o5piJ z*I#|OR%#i4r8s{sV1Gx@bXC`Csg?#tPy<34104_oTxXONMqwz)O&B==4<-VVNQr51 ziI%t_GU;^rmufNz2V7tTKmTw9N8ogOpawkYlZ3F7gwUKWP-|SrfDFI@b%m4y@O~Sn zZcd4VI%s)rmmCEFf*yi-=dwo&LYD#8mGp^xOk#MeGE~1Z1!H&qFcWuJsNjP?npwv zNM}#wWSZ1+gs=u*<(w`clp#Qr45$ETwN`b7R__O%{{Wr>0G>t40AA;HzgdbQkO3LM z0+RR-&-o8P00fmdTmZ-gKY)Nw%B4?gqdV{eRoa?WXPix^oc~~TmMD{G$^@;MYE}9J zPoRHEH+9%K5QIPoi~oS9a9{)wxplwUfXqmeLq~%rzy#AsM{?O(MAb2a)e)m}i^7O5 zSF#os5vdGuF7EkGz`!b^<)301ZbmAg1A3H7iB|#^PBy?fZ1_LY!c&HWse(zL;^>QN zVH#G|Wy7d~&(ncOW=tRotZQ%ujy9|UB&@&+qNT?r1mt8|Vpa4eOd}(FCDahQ^r0;$ z1ey6b&vb`816|;j|C2<;R#+GMNSL~MD@v=y(_;hiUFDV%<@P}5 zO0EJrsCM-a6ZVKfWCL5!1!@3k<>X21l_d-UJu1kR3qq~vL!YT9s~cK;vI-Gb5D6eU zUoKRARC;MZ00U@ieSYPJ;}Qt;1ESM1ansXVB6B^%R7xhAK3kSceJdtm`?jZWnah;6 zVpT(L^$)99s^*#iKx?GwiljxCq(%3ekO;3#+N7BK50bb8^s1#=DyKhifNr{+Xj*kC zVRZ#N5C#jdWV)tr>U1_Boj+g%&zWjQpqfSi1Xc$G10kJ85TzNh2mj}ZYM`eXy9hRN z35)O#UH`=ePrzWN_y7vfxML@FOSzIRaHy#D9J5$?c2;5%6~4MizU{eG>{2>S!X&Ka zHHzoH?0}@|I;4VnVFTJt+yr3YBu?YBCU4oQuDXw~s(QpnpIOVbTWK0{XQ@`J5MV2| zXwpn`C<2!AeGt$A7HmU12LTgogCLfzXF>vI61ONbw-~Kym^27z-KaZFrWb< zaECZlnsoM?+UL?+N4jK0Wt8TM$nQw@DDbS20$SM zV~NRo7PkE11hxjOP+;{R!6#$9dH6EU;{(I1!?DKX5t!Uc1#tLCH9#hy()}U zi!NXo5y6TkF9ZW8kOAUXgH&3jT|lK_00cI00v(`-YNbOq6hxevw2<=#s~XF~x*Bhb zX5LJ~TQYGW3b&5-Lds0cH8cTx=xOatbf`?ZN?N(z$-@t3&p%v>0};gk(45kxQOpH!nyKmZ;Zrfy3lCsbVp#Z_x}gS z$myo7$$$T9ryR??%d4j!%L3l{h^QFKLTkf9roDdEIj!2DNCv47s!k@>wGS%PLk+1# ztwg1u!$>Nm-PE|%E3{`xp1C$*Jj#a}Spg8xVHyyJnfbvu_&J(1D#f&d42%#fSWFHq zwnESaFsuO?FvB*a0VmJ}WuOLO@ItO;x@g+Wr08>@#-lz2PWojzk^=)5;D*`imTpM` zi9iDL1-BwBtdT9*i9K_37=CYMO<*@yUU!P~yrk~>uAuF%9PkfI3dHbA+Ls%z{4B&l z;G|vJlAKG%S7!uAV6Xq6#4RbspIgzq9j5vU1fwgu2p!x6?UD+u#18;#RL&#=v0F6gJM_;sPYe$i^Gw7t`AtQ1S+(R*N8SOSCm^|+ozgC@L@RZzi$i9 zv30_PsgGeBwqgRJ0vTz_`~w*P%?#)Os_X)l29v8>*EFerRV?rx*743sk;Xmi>JnGyn5Wc z1EI%@un4gB#|x<0C5!4K8CSnq0YW6?Wx$3E<$Q=%aqXqwR}dj<=c%`XVee<{N=emh9G^IVJxQHu`jT6En-PYRjHqkhO5*@FnmlAy zdH6#%#AyisR-@UYbrr7Q$*!gNV7K|@S+3ebT*R5X<*LovAOG*9O={*(y18jyuP%Vw zp1Z_R+LE;!x>>s037xNg9>tCh=SGkQHel$)xdUoE5MWA)Q`+Yn4ZOAMoO2rKtjU^j ztaP_4^Kz=DsaCMmxd+E9>i?j;pAPDma0)zWfTZ}FN2=-)_J?ToO;>$(;v{p+^uaBw zhW`8ZaqnnsFKOB;b9ayTkHZBJF67tj!_02a^*rVAE5G3>VTT`}2ri)49-fU@S12i@ zluKa2c>=0QrCiVjnZL9yguE`~`7Y#YR7%FgoB>Y0qXnR0-!#TfhvElox&bJ#nuynA z+PhT@k+pV;bd_rW5AeD6evp4xi8~M%Ca!m-VT6cRME?r36A#*4uJNqB<@{{sF_02l z&hc0d=4PG&BTw?(-??a>^7KltOI)KF!F02W=RbdcQ9Q*>N4vNk#cHg?QGAJV+PN;7 zrAEL4Zyv|c2@pn%Z~-Ea;1MqW{u!~6@Lxh8TqFVs^H5?!hhgCS+p|ZFM?xVNDg1Zo zQptaWN}jxQY7rqhVba)$5n@7t1OfyANYGPZfB``R6i_h1L4^(;L@Yg#!bJ)jQJF9S z0^iR{6MbWe<4C-_?N*w`}RTp$!GD8MUeU|>c`N}B8EctSYS^J0RdD< zza3a`!M+_5%*}<|Y-n(ytBlxziz9UV;h!B8+TjN-egIL#G(_BxAT9m@A`K%pRLF%N z1maMj9UzR+h=M?*@Cbp7_~$Avj9}u&BM_32M=ruBl8YS%dWa;F_E0EEg*rMerA4w# zgrt}L87a$>PBG~eFBg#`4gcioNxKAs5^8_~hU))J0ix_uK(^RGTdRW5^5io%I|EhV zp8^OC;GfzORdmq-h5~A+0TlA8&?4D*EVIDgXIMp^CaF zqaul7w81$MI>=Ok=@?k`Rm-~bjxus}dJJ4qHC2zj_1>#*KK2qk(7ygM_)kC)`uoQ@ zd^^O~-wA8%P`49o@KLwsI{e{?H2%@;i65qD=${Q)xL8DmjQxS)g&-s-#uyij>fnVw z%uV1YBKk2%Bd&VFM7+fGNFZtKe*LzTS42!lNF!~J^C zy#wc!o}?Wz@GA)25Onax`Z~;yL-6f8(0d5~wLxbKCB*n2kS%;!Ar~<=5q|h1#<<1> z(^p8w{XfnPd<%uBMHuVRKy-#PAMyW)WsE zD1up|;*MxV(}`d#68b?zj7Fu~Aq^z9Q^;{V5*#VPPIlCaV9>sjAoq0Zjh%X2BOmuh zzf3AUB+<|K^aC&iwFi;?5m@*b^t}W*r;;7YK!Wq#bcBal$VEj$63m`t$ArM)byZ@Lj)vwNX+AIv z*Xm73I+&6TzT^^7BMAt{i4uj3Fic`11e!RY0L%o1O*+vb0Ahth9O?vyuY!}Q&WM%} zbV~#o5Wzpn(k;_$re4vjd;!4^SI_MG>q6jLp2 zq7x%3Qb|4Ubf-gIB{O-+>4C373W8FNJmjED;_o^75kZ3{)i4j~=LZo=*^F9bu}=Q% zMjr!a>I9aM2?-OG9&-PIZay@>9Q`jL8}e8}7?LxcQHe@~#364QyBmp2$&N=;$hFj< zlG=GGBnlbH(^x`6FOBIGWKy9BI3TX=SSN@ww4toXHAK6$Q7?hB-au_TP!`lc1pHab zb7HWR^b~X{?CDl}9-7pXD#UbCWUg`1qFk2(2#h2#T;Zk&MfNQBc_VFTd!A?8L=sd4 zE;vC3Y%msyMFp@YvS5`6N!gxC$&Z(X(jEvw9M=7jvF*)PRJb+J-%;_p16Chm; zax$z5>Yl++hcEGQXh8uZR)-eUpz_sctro)SgS5In4$VtqE@Ft!d_*$C9^nZ*>JSi~ zFf#>hh{RE$o6xoXGICqPv?BJ8C`g>gNQ{5kU>~V`mnS zr9*bE0a@x?(EiXFI_{yfLDz%bn8NhH&{MR5*5lpxK>E8e1@u@2lmX`u^aRc!i=6wl zX^rXTD+&8?v3~5bE*K|hs+JOEFG#z~%2&ThqaAQ^mpj%)wqq2lk%D$$XF?}>yA92* zROMw==Rjx&C+JXvj(P$JH=Ds3UMsYF4IySHTYb)6tA}<8qh|XO#1@JWx$UU4f6!9J zDl*tw)yMxNAjtTC0;?l1;g_2b-A~4Ah0za07VnrXB;Zii-IJ1o5yvKJB1WFb?v@il zoF462_svq5$2k%&g^(m*9^q(BVKq6lP&!-7+}yxblp_YzwwA{832I=28sON!3v&6k zYS7mj==SC=xVg*wC0ya^i`aoPD0~WPP^2yt=`d{%Zf{G_Ld$WiQZHykt-QzXqUaLN&+d=rCspsIDL}PFydkfxj^ri<`(XK6-D^FI|A?WFM%MHL91raO|8;7OZ=`{NMc^oY&NuOdzamkpv&s zq4EDdp@Ba7>%E1^WY^0NV*tlkeez9`#0qV9#)8u75Ux#zEA}Bwh*^w=4jyDB-j zB(blQ0H>wdERLw1j-a)*tH8SZ2RpC`j3~iuX%L3Mum%A&0m-z-Q;>X-LA^u2tqLCr z$&E_twrvTRt+E#zsibYGkMU}}jPag~xiE(brp6N(7ibZKnUD-2Hx~f18Sys-IV}GH zIfio-Z?Dii4wM3xXUa4H)AQW+zd0u|eqsIU-6JRgB0KCa-A{UN`9U;?fart<5n z8_T~48!jliKR+Xh^?MFbJCLQIxqndzYts+iATI#?mrbLwf7mpV&=65GmJCsm9}}7< zk+I$Yk+VA*-%tY)u`iXNFAUr)`vR)CyRQxcj%Fb^5^S%Eu!Ep+F_77%Z{xcMK^?vG zx0#a=0V$>&OpqHxM{;CAU(3M)bdYXqHtngf38}{hagluV5b8;w=9rg=pb`J|u@GNU zK?$Of7;%XB5t#pxF@_ki9{~}BP{3fS2$#_{Dnqj57$zh0jlp_DA!DWqdx#=2CV@~G zR$?CnIyYV0i00EQ&gv4BASV$LEioyMpg{pv#G@Z%TA(N4#Rjw{#fq%R!b_l0xSOJ~o6-%40FhTxF`fB}C(OHu zB)lh>#rGMA-JvXI#H=jYpbgqM=RRRLApzHW`aIpMfT5S{-F+mV{`v zKr#;b!mMU=y9@-;`f3`IK*rfgOovMYUE@ZKC=n4EKMg6LL&~LdOh9y;OFH@i0ckv5 z3Nc?3O=Vjvm6@}|qbVQtB>CaT6#1$RBR7(8ANIMC4tatQ;WhuNrkllL-mzk0VO*G)S+O9oJ&8C1uX3d#+cbelHX3mfD|Izo^O9%z zlIJ_8bMlfss50sklajES;^+v6$era7G84oQsLYV3B#9v@u_t5*;erxq6E3a-z@J0K z(Ucew*cPoUA6?uS^ENA2_8DiA!`_4u?2D6T=z`!J4tt7JLg5yn4!kP(O{4AcsjeWl2=J^NlbN2}0zO zaUvlVst7Ja#FfYroqW4Q-AVUBI3D8>1roLUEHN50f`b|>>FkX5v>QPO7aZ(TAM|!na z@FB5PVjuQdF$SWTtI(0Z9nOv^5iz|nbo;A_=+*xptILW|JmqsZ<$RHmwNn|qxdgG0 z^66Fvqa!nmNvpIjWTlH8EqIWHIBjfjO2F-*YO<1Y!U zJELh+4@J8`ipI@Si8aWqpeiRpO&SftvR`c$*$LDVToJszU^v7WWTH)Vtkv?fF@H=; za5d5cfmI$Ip8`}6s-+|%B}a9I+z&yWttubP{ID9Pp9}erCdDO+Q9T?n0@b4!8z_+l z3Z}WNw-M1#9xEo}^BHujJ2zaPuI;^uU|Ij->njWi5~NCo-vpe;^Z>RnO#AjwJKF#Nx?KWJ*iL z5e!+9BM_*05ztB^3#J{--F?Liv%1CmmrmkVj48*S{mgC>Vmk%EMOf( z5OUdY(qPt;J%>qRHgyOg^ARDF z!#JGF0m4Q*jI1Ghk||uPB6*JNtbzX>$j)>NrGJRIerb*xGy<{w5&W63f}kXVOdXmT zh_I{Tw`JZ-;J}gqAub7%OTgoQ0O^{%uRY+#G@z^`v4h+}N*NJKq_l`08Ir@q8uFq# zIqEs_=}H9wMGIRt2=Oau{zRXVNEiVEpXu6#H0n_nJ2IVJ)>+oLm6nYACRkR9E(y#7 zE(xl}II14RKe{!#3+pMd1A9faXg;HB5R16K(< z*$MHhBo&{1)T$lur5l@&67i&9`WV%jO=jZPh$)B#i8rowKnILc8(H0+jKhvq&d4%q z9l?ktNyv-s9@LSbf?|@rCaeF0mZi|_Itd}(ZE2E#%(1)^KODu8LGBGX$OA&q194)B zM8M;5QVEdez`JxW2#6|vw!wg}!^Ym^x=ztSoiYc>rx&H9LK!t0j)un~7_W``7} z7}iG)KUofuLn97nCd8N$kxp;^5rI%Wj8VPB9;T4Yx4tGQ)k!itiZYG#*@nGG|;X8d2;`{{^{np5qia9NX(E1{X#yasT@=YOl%n|eHlN*l0=A_lSl;6 zGVbL*ZjW~J<0k3wB@#xSWVZ7&8)@Uabxi5P_zX)VqPm0|N${*QqIjh|6dC zhb|}*rG{@iQa%YxwN+ad+u0+l?jSXg*+nRD97^DF>hz8dbr52jWa+7$D&RGQ;)J-R zRij&tbPv@kpvX=WQ4>hOtS4)3;a_GJ>;s}za168R7$ zYY~HlpU-}8{xXq$Tr1m4(-WZR&IUfbjG);KVB=J{vL@1;`IjlMn3vn>$#j7!c!I@? znWhvtfTC?Q{Ppm1cg;1DgyYZc5A1=5S`{L~^u}KnYiRAXkST#;DS8=z14ZthYu6-l$sI>&k|}0i@P|#Jj~S%xH>f&AW`(nGnJjriJyvNsiMAby+c}!D&8fG0h`Pn6-b0oKG(*WACcokswhHXY zRJ>d~*&ZEN^v*jO#!SB+>J}tYy&{%)i*Y4gLiR%HhQ;=Yma%#r^l2ZgZT7bKxrl{T z!{U6PXYxIKN{As*k?d>|2`X8Ec(5nnxdBa?@!C@qZ%|Q_n1-?P^J@~%Ux-Um$8Kex z=4glvG2Z{>U>5u8b9D-{?G`hPKki!)lUvZZGQqN2hMnHXri?I}4Qh$%8?8Pj2|phG zMy2InZSIcXZ4eEbKh%h$0n9xp`Ot!z@)SfcAw*H1$&RKS=uO)-fY}1axKQUT4r<## znijY1$c_P;5k#_t2xebSIA8V{7#-7w+_VkpE4&6*fY@>3$B7;P{$*gXL*b4cHVigo z@y|uW9}5pQJowOtjekEd{`knyqd_D8OtO#|@?V;eT>i26ab$|ee@A{8v3OAC!GAz{ z{@@bw$3q|v|Ghj2giF$o2g4kEnUo7usYsPFMaqQj_-NR=bnpt z(wBYk{%G}T_KU{eL4*j0+jE*}1{G94q`{jV2R-=FgIO`P6ife9#nMkd01=WA5dGuO zLnr)WgG4rbM3g`skyscIgNaDuL}Qt#kVOrV=+F*C9W+*m5HTcCMi4bL*A76mjuvY5Qcy{G^ivpNkl7)IP(^jbmM1 zZ^Xf-o@k~l!U=7v)$&iOrtGmp4FA}%h$f~Ga>#GF<-wF3w#{~1aK5S0S!?E*$KOBX zsSyScT72}x6bu;=h8<`=r=DlSktZ90T?8A3d&B*+$b0_`N1%I}1&h>s->Da_aGrVB zoqqepdys(qt#NCp;y(8uxxwynW`b;9Rd7~U9n2KL2V*GIN{3;j(L)W*iDmzYA%0|# zM=AY?*q$NDc;m$XoIuf!WbKdvMpSCNr%fvz^u$R!*6F6qLOn6mj$uW`Ax&Jc(7{Ox zBW2-B9la^$Wj&E86`EY0$%TbSRP_@_FNt8o6m~gO84D(H^dV$6orKq46NN~r3nD;v zL_`v$)M$|!Pqaf@gBeEIo@8Yel0gbH^^t;Hbavk&wt+iaW}IA-Dr%|T5{4EEF+S_z zyB;J*8F2hYoPEP>cS(Bf_Syk3-}zl10E#YZTAHXD}-7N{~-VFNqZkv_<_4z z(?A`Oym3M>p$HR21qF$sjTOOk@roL=k7veoORQ{@`A1srLYWfTKxToFSx#1>6ESfJ zDU@MK&|-3s%D5?EJ93J$A{elPJuO2|dlOQc^t3pQZ3j#+LR#p;!nv@}2ym%EqdxQy z$iPT`C!xp=*ya|v4JIXf6HH9hA|fO41x^mZiw%VmzcFoTGcVE1bAIz2(#!@xt})GO zPH~G`5aSvDAjT~~K?q04p;ntwLwwF7uJ_yr4(~bFKRDN|sIVXeCX+}I-a@3mwZslo zdCJoQmJ{Fzg({obOjTZTrru~~c*3LNZ{F1%;;_dvpjtzB*u(!F=1KBaR;*&b2t}-P=Vc+mt z_7S!;2y8LKNt|RNvnO;YMIBa2l?fb%f@2%bK*u>K{mv~;ff`!WVl}i_#zCaspR$AL$2E#2tlfZ6`KSpp)f@yVS@~w!*&ErlJU|o zdt^b59HNty5vd~$QH)`AgustbLT;Z`je%gDW2~9Nx|wErlMxFo0Un6mgI7mx@csEmI~-Z*j6GDux&1h3L8%N zf|s=Ya+!A_(GeKCLOh*hW+-|T?ta9RpGnOsDAlXyX5%@>eQ_Djm~S?+QI3Dqml(F- zL?m@*y*+SYEt`?cqsIG#v;e^l5($AqVvx(HPC@?!ubM(eV6r1EM69TaWF(q8^iHj~ z1bl)k*nc8Ppe&X(c*P@F@eX2A&UkBFZLLn2W!LQ=4p&w)D`lSimo8K|VipjpbM zK)$Ax-D#CKTQZZ7*QBs840UE1l_ygM(@&<1OwVne$U{sv7$&%_WGCt8*``_|gV-f) zjKSMio*PvJ+7K@(x~wrB%eRAI^^s%M%;D||okeW%asQC7ebG@4bikS$*$8YD0j$xe z^yw&zK0-?*!T}EaBM1lKz@=Fi)h8hPMsfec2xO#`6oGLDo^?c120Ns&b}|e@*Xvxe zyd_s{KV^~Nwhd1!xmHP%n_S|qqEGdTp=ljVko9ER_@u3Ejp|xNKPu5jETxeA9i^8L z;mD0D3$l%5?AtqGrb$W?m{%?ZoACUIJbQ~K4jC;Bf>}rhGN7e2s5Zp#B$I-!f+pO6 zPg6|!CzJ`p7qc)#i73oThm7F5m)Ode1-zmKuT%$c!c+PecEpe{=$-WC|+(p$Z(jhnp=4J>;{4_N|V0@8P9V zm26_9=B)^v6Px<309&Mvd4pHdr&8Owh026_d>Pn%kB}sBNI`Wpmq+IkzLqK>;(c2dKwoh2zkv0CLuB??hW zOys(!N_H?q(YQuulF_Cggf1F0LdkxP7;v)Bmwrnp{|u@T`X7lgC7EH>#0G6i82A#3 zI1y1~%qsm{b>*9xGK9gnXEfg%4D)*~JWC|FBPDso9bdL}6Hj zVMqi*bbyaY5@peiV+}=z5FP*}#Znv)_>d58@fcMYB83>i6i|q1mE7tJV8V7T?VKO z`7xLl?8x8+RE2fhq-5vry6J2c7rrn`XAkdhp)A(_SiujU;nU9-H)zkcd zz+mCxxfp_!3n7TzEf7OASOW)|MNUkXqm+$YQde1UNY2R2Lh#-{#Gn@Rg~pIjD^Uq= zq|&qP4%=-N%8mb<@cf2No(aS~+as!;SRo?>-6NTF&+z!hZkW_#?$s3{h`J3-RZPf1 zmZOlFq#eW|%!pqBN=jHXMVU<%Yo>%202p?_j#YZezp;eFOa<L~k+8S3F&&Um_hZGZrI~JcF#Gg(moE48d#-M2n7%T zSOhVR#%=$|D-n!SYzPFsleFp1zpRmGme{Y%q~ejAUPVo64vt`H=Dj77&P>&fFbF(m z6N6lw7F1OlXz3oL!L-=Hmr4tE}t)rdN^<5@kZo_EiWhf#_g0Qq)XI zS7Du|^o&+K8B!d|#z~2vVN~1n1wQ4(1R;&mxq#Ia(@C(;cFsuHIBNVzrCKZrFG&;H zJRHB>9!D%0!SxJ^gcyo+m=p2oSc2Pb#3JF?M0Uu5tZ;%W+=8s4B!w}Sq<~_p9;!YW zj6w93HLr(6YN!a?JCOBa^o#W@U_+G3cL>702)Zn?x)k&h#imZ&}E zSf&5VXzG}W+JnPmo zKR5!v0<6FGfgK!d!glGjaA~|2cj{8s*OYpQnb`?Hz=r5?Q}# z1YJDcWH{T%Ibwx`1ez$|oJ}643{q~%0l9dFDL8^Aj( zf53rnOcLqs4zlI}x}eK#^iFQs+u&SYaH^i3=55)&S@6)=>J3clndlYf)on~t6qc`E zD(zTF#geGOnZTeDUir!%ID&hHi!HdqE4YFyaDpxT!zhfxD~tjsl82~R4HjLfA>zfpnE5=Ejv_(H1 z>PvnTWgwc%u22byDrz}umvsaNIqGLI;6JR8)vO|cfzwT-2#I`hGmfbEFT_2d`+&CN$n(R$hvX7E`p+m)qpw_vyd_p*lY{~t-ZqGvAw!4>MGC3- zPou+&6A`ZQ_;2_^=FCGRSyx9jENG8Wy>op9{5jM4}~&HM4>nmN{w!H@=zan^@tabqyc%CT>L#0 zSZ0qIY2;vwH5nO1k;$RhWt>&!m||BJi6ul_{Bv28fAJ^R9(V0Q8kv8U<`+bSIKqh| zZNB-?A`iLZ3T?MMlxLn14fKye1?9%uLApgpoO2EdG2KIo0w=_I4FUI%Z~yQSks1?~ zp@yaq>7nU&A!$dQNiTW2lBs!=@sFwzod*#d+QI*a9;~p+p-iQ<|DLhv}D^56P99 zoDgv$bVRPea?347CzH%AP<27v)06hrTcCp`wA*vHsTyf=5*Z4SLbgqckZ!I%q^Yao z(KM<t22EIG)#999M~c0fJl=< z?D2X~3Lldw!z4Rk3}bgG2%#FvlfNF) zuYVB3UIF8f=VDW^*!)8_ECL0$fC3;&MC_z=ao$Ps2&HP>g;;oz159OVn80|9kvApe zkW!PH^9ANUI}?*5ekMN_mGWq|I2uxIQ8YRcLVj?P-_V2xi$%Nw7IsSN(M&`PYgqIj z&j719v>^_0Xi6Z(JfK2y6Tk*~a3Ht|j-)gd!3YYV) zrYAjZL!n9F11pM@ttNV739twQs}<&9ScXd{X6xp+WYwiG?Zb~di8VN4G0P6us>=^Y z5)^(8h+D4+g&G%D69xalB3<(;Xu2NSI-H~qp%2+2EW-GYX(WTVVPqGd{;{Xv^63^~ zyr{i0L>rvQhK-gaN?IINxlMX^lQtuh&Az+INq85v_au#XCpk%2oMjZSxGE{;!uc8uZut>0iO*!9W^w+r29q>O0431}jLmc3k2RP_K zk9v6cfMUxH0#_BmRoyZo2pm)a5#lsfnV7D+>7_GGyb!HLFs~VuP6k~Zo|GJxnkUg_ ztJ?Dy$-;1)^r^&5wDZDW4J%pc6xKSYOxj{itXD*=)(`Xf5GA@+EodPMZEaGn&lS{+ zrNdB7ws>6LE(QO>#nn(4r^^(HvQDB7W!e_2lBX15v2}Q2DpMZCzI#Tw7BhE_st4Nl`ue_FjoG%hM4ua;FD^MLg{ z=rNC2U-%gV7LkaEv5ebwRoB{BhBl-@)(V589OC$gH1JVtdZ42o`JhKWpq-D1u*$`| zfkW2Tip*U8$!UIy+Mj}%5SH+j#1aJTjlrgnVV1a;W+M(>%P^B@#>yr29*?YUa!$Wo zHamM@=aCL^q+($f4$Fc_epbjsCa>v8J<(p|_EQNTMoum!wN@w~a-)b$8eE)%$mc*( zx{)NPr&KY9)ac53kHgoZ-_#)AU{^1m-ELSA52}v7W0j@%S)D^u$ zI?|JRqE+u}se{hyLa*{_e24=d$KEi9wT_Q}U^v+VCh&j-JXQ?PgW3P+a6arYZF~Hq z9$VLNvXgz`x?{NRL-5A8gJ9$+uHTs7}A?ey$> z5YFVn6f5A#8l2#WrL6jJIaocx;d_|HNr+4$wGeS_T3#`V;3+I8Rcsw@E!3`ep^hfd zkaPcViHkb&ui3bJhFul8O3{2VjX_SSO`eh}7B&XmCiiD9b2%-du=-yd%Mez*=6-p? zX<+paxJ&-XCU=N}sf5!-SWAUAR%H&CPlFDPdr6tX&_6cPXBaytJJ ze!&F|_OfTc6=yG(eh^_I{LWk$1sMM~#Uz4cKx!6*506%T=dbEkn|_YbYqRr!)^ zY1e=+2!r`RgD^OQA?RTo){77*Z6Y{$HsN-K=Yej=c7$hm#aL}Jm{25!DKPdlomVKh z)NM3oOzM_bZ=(l%)s0PPO;8AL3t3fEG1t;stpy-UG$2Poecy6@ zh!zo|<2fZ)N(u5HrBfj!`Dcvy50Ka%(?wA<;c`$>Q4rQ-AJI+%ImrdF$RR?pD|<;acaD23`F zjwGfBP6Lh@l$T~ROrByYAA}O&ksUt<5_*FkG$Du8;)aAEkeBuzdO!&S86T^`6VVba zkkdG&X_}BDEkfjc5NTdRge|byS~lZxF!EX=SDPCdP#xKk>kSNW$pDF% z_;QS>4aiko&KO*l7&}+AlKS@`BB>&y7<4_!QKYz&uEQtJ&`Kg9`UKLib zh7Q$s4`3M*Y3ZI2L4&y1jLmtL?fIT($)0S9pZnRC|In7~37}L7Hm(v_EaprlR&LKo zh3w{TfJJ(B6@}m^g_Cj~pqD{2rh^o!8;eCAA*2!r(PJ+Wnfo>ps{s;vK#xI@qOwN` zgs^;y;F*^un)x`8n^|e3nVP8CIHu_nu?ZAib`-TK7u^C|-g2aZI2OYxh}@?-tOE;^ z$P{4|evSwc%jpd?p$-4w4Piun(}1OG7IPrMP!Zup8r6Nh6AVkYARg7G*!fYlab2~+ zY0)4evN#VX$b$3G4hxv4US|!u=2cGl547l(Q|Xpz$)5iy5>)?*pEaSV5fPw`I+X&d zp8yJ$mwKs@%9fPMsfgJGZ%|_AA!FF6W10tq7F3Ryrz&WLK^J5npMhAh?x%iimPq^bp}ElU9nQTpF)o1g2lwrCd5;?`p4K%AEBH zQM%PTqxfg{rxb;DT^^Nx`e#vqDr)434o``v$(9YEwhRNvYfbr-`Opr9r?DS+59_&> zh5fUuKanB0orqq#_Yt?h-}m!W0hTeHmhN!F62b$B6R!t`Ff2@~RE;TDV<$ zk|W`+Cf9utkuGd%k|3c**i{zxXD98FRKvh&3tLu0d4jK|6}#pPw?GU>vudJtf_q92 z?V!4>tFa!~mLU6|>lutBo0j`|s4Z&~n);vpxv9JRvYr|eb(MN`#VXqN5#uO?UNf`^ z$`Y(e@-I@hu>QU2O_#ipMsB^(k$0DkI^J4p*XXSdZs% z9!R<$zbERfAi+0QN6=db^;2Pn^mgj3?VWi)+}nDyMPrKYY^~5 zawl8GYZTjm<{4_C7Jxl`f_9Ckv6g^%{mmJ>jQQZPvb)58J-Y$AsFr%WhW*#pCV9nV zm*$pk1#O^a<3IQ;HZC?PSd6m=)M7;&dLrT3qZ&>Q@u8!gLhAt%x?&_9)J{~}6D$gQ z3%QwuphREWWkJCT|G)|^%E+@lt=K}5t-;8_-L@j_Mi$Ax#@#t&fxjeIW~8HAzX`b% zta8O=FZQYp;UEt1AP({{VB!BDxJ3Qapgh#2eAFTl)J0v?53Hp>Ez6#~ufzqW&Iw$F zxH=VLz#cggZ6tK@!{2406hxO@@xuvE^;Agl8ifWfmc$}U=O7uCQM;o%UGZt6W)10J z;nQmCPTrI%k5SmG$X zI4ethDG=;Y&(pDErqa;9+N&URE0?u5yh@q3mwWCMkm!3jnaRGseWG55X_TPb{QD1E zj?&tNEn6#tb-`CR57bt8vvy(Yunt

_7t3x?qucA5+rn4z3>yw> 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
o zH%fi-Zae~yLlH&w2t@HX@@~S$yz=OKFQ;?PWA�LOpR-|4;+WuOf>iB2hsIAzD

>3OC;jMR>^1h=4JY&mP(aee#; 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 z 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%0ADe?%hBYF*@obE<7Pi zS&mQ3T6T%XUW8aea^#mC0mDf)QnKrGrnmkg#J-oNS?Ks zlK}k_1s>%sugz`PXA9f2%+}TFq-_aJm`+HS>FYD#z@n*ZuswVfi~s}^;D88h zplnRQ+umw`0~c)Ig3-so19%hx3u^ELF61G?6;=a=HT;hU6Cx37AOsUiJBXnuFdESq z2P19A@ke4@to32|jrFr*{$sqy0rD~R;D>&YkONt=0$iR4DgQEd=!bZ~2PhkeW`HFR z`KyEIGKI(pox2#tstI3upBfoDmJqt2`-e3%LF^a_r#l%F?2gP*!GR!>Y083)AQG5S ziT{y;naBdtDy@IerfA@_rFgBSNHnrDp|(ImG$}h0Nh!!y*oG(^KSR71TR!!Z;*Ww-`8^g=omyn$dmrdYLe zVv1OEhGCe6f8abf*nujj0WFwwy6tUU%3f-Y!++Y7(&TLVnM zHwycQJ=lR2kTwdaHeg{X*JusjU`3VUsTJ6PKDdN-JO2d=>jEGU0S|Bh2bix1ps!!_ z#b8tb2k3wl2m=SRy<~i_4TCT^_=h-1pjmr`e@F&}TL*BMKOl=Z{-_6ZVL1Az4|n0e z{sX{=(}#W_KvY@~=Rv?wI=Pf%hbFTSSNety;T~Cfm@E4p!Rj&>xd@6#9~I#kkAWYL zDTx%ctnE<9BY{8b(psMdEg8!j9r-MO_u!1qzL9GLXojEOWNg+^! zt>dDK*MhCWYlmyFi$*&On4B8if||8^C@G}Eo!pwOxrerB2Xb(WYseS3P==#K%A{1v zrDV#cbV{cDho?Nluo#oUkQ-qbhJpA5q=JL+OaFwt5Wm`+uv^rC41llsLd*GbfC}h< z3@ANLoUlOnhb}mQ3h2cLm;elzfbzls4!EzpoPY@s0WMGjcf+?tD1#c%y#io>2cUol z_y@?O017C@f1rSW*Z|C=ObVC)58#4DPy=LBgIk1w@B>YP+nG*?g;7wTVTcB62nYGw z28Z)8dw2&2bPsoM2lwF3_5dD+1D@M_hj+NR|2sznln}XMN90@{1>pyM$Om`$258u; z3Dkw_G>BR%1WWKoirFPX0tt*LghC*nU6QQE(ukmQNT%D4=->`#+LqFg4);tQ)A0f9 zFr8-_6074+nDLB%$iXbwK{{{)gA0a<4;|Zvd3gs5afhzb zRBhPQO$CQdwGi9{2L~L^S4|HFWdBaNS`dL@PE=wCd%%a5i?U{5hAJBfeJmgH^iIW+ zh>IyCE~61(GKr4i7&l8n6l6&5hz=mhj_6PV`fM4NNdl=#g8OtjBFRYpw7MagCM>ua zKqJXlz=kXFCoY87c$Kc{lCI>U*W-dNQR4q_f>qds zWmtyA1%hq8*rNsKgII!XzCduk=Bro|{Rd+Zj6{jGtF(oGumxA31Us;Ue>gu*w7m?= zur&yS4B$mB<_?2MJ9_ebNb20}*fl z258KI*xAecQ$Gz<%N*1V82{8kwakCmf<$OAO>ELdr~)idS3#S`fk=jb=!SHFhx;Ix zN&*LW;MEQJhG1xhWFU%fNQQ5i25k5SZxGyZ_=a&92W^lCOf00+Hd2496GftV$NfEW{Tk)G2fT^fUiV3LjiK^>_PZz;O;oYrWC z0v(`^m{6kVppNQLo&UMd-@T60SebzcE#xKFCCEW6_{cFJP@WlzXqbmH5r=2MURrpD z7JY`J?B1mO!Y@>YXXwK2CExCq2J=nd^*vuMY+v$~*Y%B8_CEs=9Fk?eMMqGpk zd$0)u;6@B!0RG=ur2nu>_+S53;QmFw@@rrS>sag^2u4YVWpIXBu!UQ2g(FSbGEG_y zSg_h#gdcE#f2dg#-r1hj(gCX2s4lnq>fR#HB*V|*bd7| zf;H2DY!wl1mH!T;8)~rsi$l=4#evY^LUC7Uygx=W!;6a9##<7Uyv8f-acL z4{PUJjOTd{gLbaxF1Y6f3xm<*=LPfU(VXXbZUT6Q=XVZ+bz26XKXip* zFa=Pcgg&r?G;mZQ00Ixl03l$~A28vXy;-FYfEBh`EiC{ScHw_W0Gqwp6Ubo<^Jt~; z=cu!JpJpBF(^Li%J+4l`v6831}2Ye}<# zfPx#&GZR=U%n0^N-c9UuZ9kdFM^&pZ2vUyf~IUIIM3GXW(~Kp2Eh2nK6t z2YUD>4MyNuB<_NpMdL>9cROz4W^Q&HZsvyW=yvYtrta!K0S&N$6UgrEwt;`J0UP*% z?gnY_7Vm%ff%67}A4qTW2I=!|@Ae*u_Wtf4&;a+=fPVmj^acV#=z~v~sK$V`XP78g znEwS0{s%?)hm`GtWE29AR=qHAfSScqn&nakIN^UN>5*1x7j9{S*jWY8fF6EQmzC*( z=;1C9Vw}~}o&8fi-Au|9)T8!VuRZFcegF|bMzIxJIgo=OFahb9>YW*dtG0zO4qSQI z%~f^WfADJ!K?phkiUM7+k<@Ls9t19aYgo_)x}MGqfrfLqYkA;fQ#Dm^Slq?c2I3Tu z&&3`|CS8HZM})xSE=!*}*9pn?&X!<__aTTivyN3>O-stUwS1<~^_y=Mb1wz<^JutRnGd5!*bx}X{Q5W@55B~#K z4}({a^=6~>SEu!6bA(vebvw{?S+DhG>-Ao5whZ`(3^;*fC-!77_J26`>&^fTIQC^f zc4(*e6JYjhxAtsjc51J7YUl1B2m@O9!)}1J0H3H?7=~LIh)zK8G?+`9=HVwLb_Ey+ z#-v)BWogEg@GZsglIHLj=2-@C033Gk4BNzHbkxvX0~W|r$o$iRIO2iW0LPTJ$ix8q zy05O4aSQ-~t>pkhKsNM)gFf!Y3bx4Rth=Vvd z>ojl!qN?&MAB0hO>sWw=xz?V9sq4L(PQ5~yFNX$bkcW7Hm=Kd6>mE zk%h2?4cw*k5y&xsh@9Xv8HouIR2}Z%4inUY&i?E_-|Wkh4l`mLXMyyL!U5}ubRQ5B zQ9)h+#eyLCW!!dy0v(EBQ094-@k6&=l$=_ z?)*N1AJ~I`NN9$3TVeQztaOEcpae%y1cB26AmBu%wY?IqaC)C`oDFG$knn-n@Re?9 z3m=G%cG;Ijcn4Q_HQ)fAzD&ua06uN;iLddE*Z8CE_@f4h4gVC#N&oauO`;tgaGcR$ z;)aqW{|W*67i*NQVE>X~`{r#OzIXQG)dTkq+`n`G#=&YdD2|piabylkQ*jW^Sc5Fa z>IthE&}PuS5iR=dpV4pU$w``P_9Y1#4_+jHW@Zi3E13zK> z`0)%H{vBtY;Y5b$(x+3eZvA<54H-oI%K#xe`0m=rXArOa1pj#r$JL`RZ(Kcl_%?uO z_zk2>m_?3)Is2Eb+ke6gGt57?xbn#-ll0++7FDz*-M;!XYlN`^2s(U`Lks`(0L2$$RP@g%{{)lFn%H2YjXUp% z6c0Y}ob=Bs@-*WKPI0&)QyMi50tik!jWS3qj`S1@EQ|uRicms*15GoN5+xKg^!#&= zKJ-AtOf$@QVih7A!oHZMbH6KWgE+mR$eHMa5lw{RPE8 zfsLuxKUB0e*gwpQnS%<8&G49FlbKe;XPtfa**~IrwuBFCp;pBhthoV5Bd7$^jX3j^ z6HFt0*s&XW^|JRKzV#y4o^s`Z7u|Q-_3Q6-1s9xNzX->d@Ok642j6-6#wRg)_W|+4 z30(Yh2`A1xlMY+X^f!zv|9}z-C4Hn(#STGazyc6W2*K7GHf+e&hB=c6V~HXrP=Ejf zq?ka8CZ<@lh&I$np&A(|@W2BKbkKx^69Vxx1wgX(A_EPyWh9amV1VSosGtH0CH#{Evi~$<(I~GZqo$kVtp5W}JpaTK&)|d0QwJ%CwDD3Jk-sEp zp*W4w$f7;{1Is_nbnZFmxm3l>r<10GPCogd^r%^v^r}`VIm!-~j_NusZ=X zpu^siuzW=jViu$r1}CPT-~1qE_ff+o)WC^XSi?Wv09k)#F^pLp=o5}`!#}iu1stp( z1Qp0Y7lbgOMQDI$LxNg{GQ4H_*4E;+FMcseX3ScWwAPj?RRK$hI6(vSioA|^44;f;pK%2$4b^-0F#(8 z1@A9nf`SgFx0YT;Gcnk^-eaPrgU$>FH2)|<^hC23(QJ!+OOQgj=nw~Vp<)!#_(wU! zAr5COhznuxO?~bKAAIc-IuBFM1OL189pwaUfFc+u1OGM9g#v6k0kqc%Y>-ciNfe?J zy=c888XVyKpgz6n4Sj$hQXB1o5UzMeHq!B*e>g)J!62C{IN?H>xS_$gBqCg4Bk`*8>5{p-`rBdSn$2tlb5`3%!8ty18 zDPZvmNd_tnk?aFxaYD&aC`wVISd>LPw@FWOmXp|!$2{smkCLEL7p85TCB!lZJkatV zU?5fwZjghu+#pQ0Z9xfe`~MFV$ToSvbZxQ*^B2A>&o4U2!C#0+1t?5!24cEfFLQ9* zYFSe;ig9ixnziGKhh4Rq+%2;vl-cRbbq7su~*UH5XWYjf?r_lSG1JwuXJ z-D_nfE2)$_%(Azrt`!-X6_V~nl2n&e5@i)ivc95le}4ac{yvY#c|XqQoagKHG5`WR zaD);sOAZ)AMp%2p3a}f^S2k5lN8w(WV06Y@(9gBBlpUhMOb8V~;5tSI`fP~`Gt<8{ z-F|Q9EvD)_vde=ZhVqC5@SLk%l&(j!ut&+SZte{iTd=QNN=EmbkYgfg9RxZCvofo`1(^&nHFVic^N<8_1K! zr6>6FpLA>mI?37WTvf!Cmn9FEQ#6yuUTw-zg+nnzJ;tTXX;(UkAAJ=ft3_%1_J|sk z_LgJnTPF7%)ia~B*xs)yRKYh_H9UI#MV5CtOa@6@)?fR1<6Q?5S6-FhY%ZrszCLID zhf^vo%k~TVq}NlC56K#OK-lSJ>a%0Zzqt&hgAX-!`wnKHSaii4@b607r0KhJq8o=FC7$@$+44HH(9$vxjLupWRa&_XkFmwD7kq z(5Ifv5S<=2*r`Qq+$f3H5Lt>!vxgab9eXk$_PVvAa_hk*t0aGcYiGAr|33O?Z~9m8 zwbv5`(#E}uH7-&=y=ucYT75_#HXlYr$DR*jQ9Up8L1JdqC4TKtyx34==a-wr;*ydD z>3d~t;%GpimaUvOU^Hys-{)NqrOO(|G0XRLyYqeX`8@ukX`U)DD*uw0@bB~TaH{^D zXfEece;$ELMmrsM=b*n+&39LqFKlvNPgsimvdq?I!(O(GDY!bLe$|QY8;%~{d}2ZP z{VeI=7yJ5O-{}Lf;@o64!q80r3-V-AoaOK*s%mdPW#3Y2e*hau5mXa{O?-iAF#xTA z6g4V`fHx@dNOqEyb0EyA^Pc0nps&E|8gExJ0GGLLO zvM5*;UUp|i@FpJ)(lA3t8qGJncb;L>Klw~%E&nP;gdFdHrxKC;XIF1E8}oDyOCng3 z#T&vm6P!VM43#Ny)hi-n+P=H#?=0eMI?DJj%b)!V0I47?4MqnZGYgE+U~mjU7&n}H zP_DC9uA?#i%-e~1da~c!Db+q;$9aL4F%fCywWBV;t=4`EwOKj96txS#n@N7({2UO)5bY(xAmnTc z{YDL(vzUIvh*#yoFru9ZG9%}xNsO!eA|ZIYAqJw0EE>qk6_>?xLvSLrjOTFJJC8Tl zivbHfof*O$3Sq*DLnQV@*37;o*XW1sPG(szRsHA|FZ0}RcMkiK)13T&=T;LOSUZNQ zN(OmSsS3neWpe+?>$R$-RMpH{RVBLH6k)jbntyl&_%>KmztP8)rbPW08LRIlO9f#n59U>M0KuuV zs)yi7A{o&H;2HJbRim5}VDc57!elbLJ*b**EKQrNO$!Hfy)4zc`ehdHWdVrE+X@GJ z3h(!&o}reWY0E~hiN$cA>p$>ipel3~>Z0SBSs4LlpxYNm7A^)W#z)p&468HqU*bB` zFF3lOtYqoHF0wSPu{0b#K70TMrxN7j`oSOqMgZuNbuzzn7+lX3Y{J6?0Pvv-_qjoMguxzh|%hR#WEN>^zD=v=;Sg%dV=q$%0HEde7xRHqsuv) zo|jKK7nRm$5Tp^KjKF0;@T&506S3fB2C}e<_l!6E(L6_=KUwkzM}IoMx{|N!dn9`Z zzzv~nh)7)y!ec5ZVjiHaht^lSPZ_Auv{?Z|K^gbktBoI2o9x^}ucu$=YY^=WJA~FX zJ-XXuGu-^>2iN#Q!cIfNn}vis{R!j!g7BX$l8r5*jqR}THiT-+9gsRpR-HvX!o_`S zCd^?2Svx4jCgH%7{h^a}8C6BR-Ls+q${T!OuA5wbC4Dr7Sh*(71-LD`59VkkCwt;i z%c`#?$S5ngbR0wYVNG%6Nhj_wXHioBt!3~c-ggWgs>bAV#m_{131Ho7TFtr@n0!)6 z-l#NL=mBl`4Nc!`K&K0&S_)DXzn`yhzo733@mwwZ(qD)eP>0jBdi%B5IGX+-?O5E( zv0R#Yh-Ik^NH+m`X3AZM*O6!an}0o^LdQnl<(Gw%{rg+X93GsLCuMF`mT}fIko)%= zNi#*!As?eqQ1LO|wyMfh`nzAky^;-+O*nLB>Yg1ljDAWg8AKU{bsaP(nSqa*>%rQO zi!n?0@2E7WM7~cBXvnT^SPM3Jv|t45x5!ld7&NUM=+_!K>XTd7zNxaTquM%N-HB0c zBZU8OQB^OrH1Aonh#N3}lyfzPpkzcmD&=36jL*q3ST9j15su(<=5v<20r#GkMBO0I zs$$4PY9O=+8NM1Gxj4k#>MXcFfLR7gN8pR1m(%!~@^BK~Y-XTu?pTf!LxxC@90j<@ zQ$iD&e2X}NO-%CvSVDjxyZ+wiK}t5PxT1I9#G_gRCz`$z(d*G_f%%GsUZ}d>QO1hh zYi^pZ(|}o`n#my8IAY}3AlS(7d0pEFAEjS0=lx@iPX&y=ZhflUP9bxeeex-Fet!p5 z#5$8cUW3al^10{?jzi_S;)-s+_hGFir!6 z@^iw#W|RF|>GJ=bug&jUE$Ckbn}({hn#gEcL}G+_LZ}5m=GZJvqvnIf^tW(4Q2moA zpV=#BQWsiv&=wM9@6XIhLBx^XNAo?*wsiMB*d>{}Lv zDkus4;H<*Vz?ijFLfA=)QWF#dUiiumYn!!cY&{dXtnjn#`Z*CP4Y%?Q5#J@za+P_| z?Qf}yAB&OS~=rWrnJTxPbdW-6kiSYiTV!XtR|oP&|mrVQhQ1$!`ek4Kda4TXCQu z6zE8ag3K5ygeNQH;NZys4gipK8wbEHpV8DrHw;_8xioH_&ea9rub~uS<3*i-B`?}B zvpPai6!8!s2a#Mtdh~Je%ifPx-gfK$aXDxNQyEQ#4>OS1)RxSlh?hkXZY1x;-+~P< zEvD;FdLX8G^XJ&&+@#l*N4`2Q)j~nCp20~SqS zvrMouL@$b0uXXZPsmG~H>;ZU!Vf)kdgtNciYh+vwh)DUh~2imtK`7N=_O&R z^5qW?$t{!K8GNrD<3W{i0&<{V!za$8J@A4~8&0SC<>IdBdC{^SLk$aQI;(n}Hy*5D z8ox(AFiWlLEz$nY{V?N#k@(lEqA#k`I;vgkcH?ht+)O%mqa@)*i8kZeu214cgHan3 zY>Y_-O{TiPp}HTtJ9GD1|1S{e@d6p2jmi}cL`5^W0jGt4Ayk$3Pp%YYm)SX5W`QSg zl3HcF!b}W1f@u-O#MCg0f1CN=W%5^0c=rbcqVR$>#$$pngM=!zK1(_e?d1@0l0<@h zGH%C-N6<+v0ASLxh>+-nDQ{<;oDTU}V^y&mp)BFzJ8x+sXQ`7b?|mbvP7MBX;;Aaq z(gta%#Q^C|Sej3Ojkm$3t6Rs=o+b$chJGnL%EwdCYpM3ri4u=3aI^izQalCP+SE4UV zIrS@c^{X3!yQ}NEFKl!^Fg>0WEt$6Vz5mIUtQmtp@dg($(%r)JRzu&vt9=}1spT6f zmh7AC;|~E}N`=@*&HN&(#X37yRCzVaF_AD7O9ekj5ojVKoH$FR_Yku}iq)4ZEpiC*ZV8e`p*pjWy+4PF^- zAWJY8Dq_kkB$o z!6uQ;3%^-YH~+l-VtQq5eeP=U=m+&v_xwKH4hnCX@f}D#c&I<>*&fKGQyS}jpLuqD zf33(@(dBd3h0z|Wc6!l>g^EkTHcOj!A1`Rirf5-29^#Q~14j0>D6rdIfha?xU3LKo zj1ZF~CalkXT|aU|#n#cu{p*VZmB-0vrj4FM-m1ztwaUP(J^<}x`%dgYjo zn3t{t`bR=*Jg4eWhC0Ght*t+)CeNlKXPOBkjvAvid^dumA6T1+p*PF6{8ZKkiaQ>KGj!xDUr8%~gExWriP0}Ph zAoBrWEJ%O`_`mt+@LwCTOJ6eT)M*Zz`Zh+TVcd3)tY1!c6dz&Mx2HKe;^ZCzV z17xKy)G)d+EmL-FW?ndfZn#)ai|msJEec48)T33_yW&{e5t;Zym<&jVA$3hCQ72}5+6fQi|`jY1o{F>9fAdLBo`rOEzd zcM{ftFT^f1McW)ZSCKI!>fbb$T6(hVBTPK12B;`?t^W5C{rWJ|_T(#i-cz*MA%(E7 zX;S`ZN-|jMHTJ@j( zKD%)R7q21%xG5Y6J@wC4umPK*qSwSz2uM*)$7cqy(=El<@oAiFCQ6`I$y&T4N6$}q zK=^tlM&?NlDm27W52vX4?(@&|KSjJcZa+xpKGC)&S!8KdDNmthQ}|z?T|MbX+y;SH-j5VK^&*0+VC$x6~=q=}Ylwj(sjTd{fF1mb-C5BSL1wZ+yY^)x9>MR* z=L_o&+g6TmRa*&lE84u?eKGE%ooc{h+E&db%hGppj98TjBfGEvBF6#fWFkzO!9)M`(q+*w_@h(>>WSwUHw6wGdX^nGq>t{7!5;m`|^^()s*2Apx^<%8&uc`{BPh zpQt17T=@eC2?r@?M8mlEEny{WyA^;~v^<0dHjDOjj-VBSa)j^@!7 z`)lpWDekCTSMiQtGiG;6a;~}lmduLI{Euwx6u(H*+0=T~Ug!ybtu$9~%bu{;pnuEi ze60Qq;-gEa!keV}SJ;j{)Nzk$s$k|NsBCLNS?51K3o}%!s0xoL98jB% zO4A>i6O8u~9l_b$IIJ8CPfkeNQT}vo6TEP+e9pooF*-A}t*T1oSB69NfTzu#tXpzF zwrIIfj5-SzuecYDoCL5r64A7=CIAFy^jyYFi`)^Erq9|Q^1UvhX>uheuH?vSfbOMVyKmUp*jXP>7$lL$3xjeq#6Tx`bZ zv)}U#4eRe*yfcFxMz7mS`r09`>eg~o?BU{vebp&?+a$ii-85D1_RO14&q@9wuUkx! z2z#Zi;tGpLf@Ss@H!el96zI~BfqS}4Y9niQ^V5)iS2O_`-t^pb)mqL^C0%SBy{Msn z`9*G)1QbF`wFKONHbRhr z(ya>?5W`aj6i(;xcG{P1BSWp)~<4+zYykt=flO3Lh8~;sNq4*1v!{H`tgf}&zsr9bt#Vr=hGTB zdBR_d)kyuCl+-I!Hgy+}dB^eq2{Z)dN@@kcbXXWfd-v-<(YjA?OjINpgj)kaAu6qp zE>Usu>|2Q&eV?x>KBM-3NXjn11D>e6Fl)M|hF>(lSQAqL2*g-$-%%tUV ze^{uk>2mb--A>tl@ZIHNgcd$q7I%$z_E4hX>lCPHR}362OdIE)?EkJbI64);}ogE+ap^ zIyz01|Bn2jq0~AQ@Mg6M5l=_>lU-J8jjsfN!icJ)UK%M@r_aXOFkE+3DjpC}D(zgAS0TI%(U>b%))L?f#=}AN9 z!6VNzwpN%bD?ChLSi#87i0z4j)v787wmt@Vsm1F^3f49{jg? zuml!)(BlU9COg|DJ6Wy%zpX8a1Cy3gp0gW?j z?9{N(@qUjG@VhzjK8mO-9%I#tnwsSrqVt%{g_`4`&uImI3sg3S<%nwa&h+Tx!m&Fzs$D6;)oIx>Mo&R?^n=RWFs%-b#Pfh2!}cSjnwM;@2NgB3ve zcZl*s#5)Y+wmwI;=!7rq*Z??c+7NGuBrQ9IGhjt3XzC1&jO@QNuR7gceJ6_0S9QEk zg({*fW3;KJUm$C6Jpf{s|L=RVs4|7$kBLG0i=7%|i+%e2l^c|Tq>6E)B{nuB-X2dW zez*VT_x=OmY(s(go8Q>U9Pv%OY1JP8=g90hz)xjFlfI*YliFyew z7jw@y)`xQ;hd>C|oV3*V`t=(A>oq)pN}g#3s+b7#s5YoM-}fNPZXycQK;#XY1UJE^`9#aMm&xx`308icrxMg>q?d4 zW;jF(3-PDJjJ7yEW!x??5CnQs3{BBxOYbMA%)PfJ3W9yPvNG=cbR+i)C8A^c!0Cp3 zB9$nrjOSHiesP+U0?0~?@R)4nnL4K*yx}!ni8U?bmsrE6aJx#eDdK=N$?HW2{`y{J z1zx`?2WvpD=N?Y4Pne;oW?y3!hYHMFfD&VF{Ti^N)K&{$rv0U;AWfK!25xbTVR24gpma1uyw0Bx1QD=^1@onOG~J*GlhVvth*S6yn> zP3m#%0g~$d_O0o$$0kqSouU+ZF;7U96`0swGA$R>&m}36i_B0Ukzw8VZ@Td<|M|S) zm5@}kL2pV0lD4OaZ0_MYj#fG^!oxN$@XMeqS9+j+@6Wqhaa`?KF0XZ|%}dBPWNvN` zGqre|PmhVUSeOSk$~vCnMt9*=_ZhJbw6^7RuvL8odWWpyCEQefM0HRHJ}jk(Zk~`l zoRi>=mik+%P2Jga9guPj(A54d`JE||*(g#<5kXU=4coYl+CB;ww13b_M^!;w87eO` z@Ie82WH6*u2ZlbG<5ZR7Q04T9$kjQ^#ku@6*=~f_PlV~nD95%s4KevCrvFLOE~;F z1>`pKF1h&fomopk{I`NU)yrnG-LbDa09RK`+62udkv7>j$=y_kj(+7eE$)a&^gP)Q zML>*)Ld+T1DM4_3*4TtHM-RNhhz^b?b49_FF?iH07I`@5w5x(z#pVXSVXInj+Ga_T;1Gf%yrRz4EITGDjBe^l_YI^&oyh58!m1taK2`Ge zb<~ar{l6tk7OPe$7q!Pp&?}RF&1p0%^4;9Q`t4#=B6<M??>i%!ae^6u~nj#ojyL`vKZT&f~a-80G&7C2`(dT~>-9U?Y}?qrR75LbX+E0PC&v$8B`f_G5Od+do{v zo>GnuR}Fw84%hLm+of%sKdJeSFFDHj5z%EaNWxmW$9F8k%ZYRltf#XZ~_zU=3flKA39TV6{g zphbG5x+4DT6|=2dBenY@B6}~Fd|HxD_NO+8q4PzHUzQc#OuPk>SpcxnFjAW%%f`;t zS29R{-Rkdyds9t__QsN4Mnm@eh}-R$Y2hhVx2iJFtE2s?7c05# z-b!cO4t`Z?2^8ux!NBhBof&-(pWL_Dt77HtygvX z&EIZ$Q;L>n+QciC#fSZbs+4s50G#*amo}qb&j8Q~a@=-Nu&~x^M*vil3akqGwncqL zzrYZ>^W(t-KS43{8zOQ?r~=x8s2}07B%XO34qAr%zT^*T4TdJt;U){8JLb9iX4^3+ zF00!Y>+2`}DUrf>IlNB)yhz+^e#wzY%`b1aDGZZ62v8HmabLVPaA)rua~|m+Me{W&^psD z&)R@a-Yb}+D&GV)B^V`yKD{{;$b80mBv zORG)imQZmj-F?iY+9PEBXW@L1v=2!}aYtfbYe!L2n|C$JKfgPPn|QYqqsxPwKC8q9 zkW1Hj2Eb2wB=>**GhBxuReBWg{+%x@RLY@Vq0-@fKc zJ{9-+?Oe*d)D4VM;BZt$vV)jO%JP2rHV^BW7kP?2W~|ud?EUrdcI+S2^po>DYcmTU zbMD5itnRx#K71=>dVTfpnD1lmDZ}79ad|2p=iUfuvA=gJcfPCNpHOhzSEYcgIR9bI z$x#iKXrC@pvG;|VjZ_KFk&WZ>7xuwv;=KJEIpWB}>RIpjiniw>CqmjR(b7aR5UOCX zejJ39%k>AT>97D$r8jmIdlVzY1AN{1A(h)_j)4bj3>i(r*#fC4Vx`KPoJ#b4U3;aL zeg4eEtwP;O;5J-vViW#@8K*~`~ukt**LZjVf7EZrXV z3LLw0{ZMzzntTSrrz4aB;j@;j9CS9;ya+C^@989rSe#!hw7lm<%=>(t&EkDwaSa)i zpX2;;y)cvQ+S-58kMy4)wypR-TzTf82|LQ8sW5iN={M!8Aa&=DZLE`94 z+ywq(j``kfN4D8ly?2?Hp^xW$UD#)LJ14IaU`9-j=V4yjI5xL=9`3merEa?By5 zi5pg+V*?0Ph+9g1p%Z~q@owpay%JN7Kg-eUR`MH*(}y%gtr0u(z1#VgXS%iX!y~)3 zi&SZjOGWRhkm{B1K$%Ml_8Q%HG4|V6ls^JgP&yCKdi>LG=WpP(`$!*fHu+Yu#bYob z%+AqRe+`838TalyKOSJm+u-`Rhxviee3sacaJfcTX;dHyCJUVPet%K$QFaPRDt>#e zQOui#x9xLG)br2DKEfCKfT&E!Wp?b|OY_b5wwacxeeYcc}2wO%SU1PZ7bH;AA1&(JxX zGY%-Vifv7n*T`f`JNl)%lr#*~E=Ahk^gA4g8^S86ry9Tda57Tn+WZOSo$XO~rG>K5 z!qa*e(_Ux51LeQj*&4pVqpF?4xYzfJ!)*rc%SWkjRfSneEzhQE3rOoIEK^R552i?yQt$;fEY!Zst5X8RDA>UK&wz$aD30IAI-t zK-$~sngmX=?mZHy9R|rpjUW>{Ax(M{xe6d44CgA`y#C9xpfp+ba4f^USO@cxk!nA_ zk)u{L;700yZV_45Gx2`2xC^VHeKWkrN0MLY#lf#==Sxn@hdWY?TtDT8@Vr;fu}{XQ z*Y4cA|0L95;MODAiPd(BZv>GRG(og+Mo`j{;<%v4*70qts&Cbf_|UbQvlwhOm>=Q= z6_Nji7(WGVvLi7&$3aijJTka85LZvq!5F|aO;Qf8EfSx}Z9}Z#jiP&hXfL*x@tx

SyQVC>6XEHgK4&9I! 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%0AU2aw$G8iy-Vni@N^Id?7(bem}5Y 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%0DQc+bdl;o?+W~Isehq`e6Cm7COg&q?0fJO?R@0 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

ZKo^V4^*XbzP}kkWi72?}~s; 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�k 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
    JCyszV*GKIL?Ba2 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

    LDm~-KI_yL>ww}=SI1IF; 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νowL4!?j)C;H2hRMZCs65)EVE>5YxM=aw$y3 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γcYVWy?1c!ZGzo$35Yq}fLC77*U(cUe? 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 z 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%0DZ4E) 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

    bk5&RD;vznbx0gD~J zUBnLTnU`XVaB#2Uk}k1}s(~F}@lRGBwua%9aR3^mye>Hyp+m8oIZY0lZe1dA5l}0f zd{PkTm;%jvu@lLjzBRSKUS}~zC?HI&J-)bb$M)Yb1g1albmC4>8tYRAN!&xl*PfK- zF#Z%S=my#tPsLqw9N?Do7i(!HgOFq@;4mKm699mDmIxe%C@|+WDu)zYnAh|ksCbzS zg=Q<-ovk1$uWd`1<4~FY6eehS+f?;>Nl2=xWN8-*VfS~GQWGn6i<^j5rIhMUv!-eQ z_rw}lsf$zkMKqj0?xNwBBI_Mq#nl}NcJj2p_e(c9`q-vx97eSK5L>6AS77_oQZ)a= zn{2;HDZwV3rPUv@wazqv-1K-;*BMP;I?3cn<6 zFBDMQ(YAp~d_JyW#pxw0`Q!Jz1UJeOgK6&%Un}v4DQJ#rsx%zfJb1$S%8%#dZBXI~ zQ>(J@7*5LLry&+XpQ2Cw?F^BYu=2bX(EHIih&RERVVeSvm>C0#bx=63I&+jl`;NHAP3PRQ#(WihUL` ziH8qK%@;MQNlpT@`HIR9z$R{Zb~6LsX;pBy44Aijb(&bt+C;_HVE%%A^_2;8D`P{@Dnl)!M+GZ^#iVENWK=~ofN4zFYCr>u7{k;Duh6}1| zXG__zRvwg*Q-8Nx@|lYBn6%o|_*n~T*gFzo&%7rQen=?Ao%lKe+%(Q38GXNMqtO{M zqBB{{8?Bfk7$;z+ICa4L6D^YzxN_5O_UW@gvBuyT7;3e9j^NKdr}w>kf1q*jomw_O zw+=R#OW_YMqLm7D?ZI=fkv>$&0T}Q}koujYUp&r%*`VI%Ksl%DEV^&NMaπiU6} zXKbBLU7ikCktsSsYPzfaSS`bHH#hT4g0O15h0gYkoSge98~*pu_@#kjUr+Cjg|dDO z=w2o0oF@cj1`Zc~KFlbOnKK@%gp62T>gGT5$};1*KxMkNBvXw*any z>X`P-|Awj-o-Ll|9$pl7X!`0aaOi7lG7PDiAc>xC(ln>&a&?nft3L=%vlY?Hu=_4B zEc1ELL4`pA8>e3cQeAU2S$d`4HKH>FGg){VMrGM$Wkimdkz{BnD2E;Qm}3GWauNXH zmZ72fW$Il<<_Re_ zO3vvme-43jZO)rSa2r}|5q-WBUExJu-X-Og)MPqAEIN=y!f6N!9M!)^k4$)O{Izh+ zD(&b9#U78u(ndmxK;D7EI!z;Gq(S4Q!p^He@dVmubA|{Hd=+h>bFyOotb@H11)`VU zplBPNXLScIVY1LKZ|}ktGHQ$mz&rYlsT^Ee4RP%RWIGjJX?yix5HY**h*owY^UM=T zOTlgL{!aq51$sTnQVo8L&hmk&QM64Uy1Ks(ks95LqZVlf*U?8KNC4qASiE z&7OQDG^_s2;1seza^>{RUvGl!5Vp}JKNZn+YH0o)+b3BQ&jm)`h^2iULuty|zUx5X z$9>fusrXlm=ZDw4vfje>7KP4HOjXmtm)H6$CHwILj(H^%857<$D(PEcz`|Q2ztSLu z2E&D#m7)Q~EPq@;_TSdQzPt>hMVrA};@v)StHYxBdT#1fSXk08dd~=Q~PF)PK|K-8@1pyU^HUXcvi}9py--hPzsju^YR(Yyi5At z^s|F$yftD~Y}($DHJLzD>IO2Ymg_?%qM9H|%z&mo@vJ&~h%5`%{&wT<&}z9aQ3i`U z|2R{h=d(WSoFMmbgy6?#4cTlo#NYw%v-78ol3Ngt}fNTSNMq-pOr+(LGT6StN_e30f`wj=-j z8&t3ujR_fbS1D7T7)@|dQH}y|WC1w3Tvk}KR82OT$Io6czyx!|EoXZ4znN{x*%Cs* z>^eT!MZ*Q@mM>e)4pdz+9hM84Q>&0cJlQ|*#~J88(Vz#2~5XV&lxgKV2$cYzIP zu-Tl`Mzbk(8~%}$uba=n|9YNB?4QYQD#s(iM>t2NG2u)5v}0XB)FN^fVMHH)yUgtN-r05KWGc=iGA5|eVQqXPS4_bWJaM7%cJCc`y?TnihdKnT=a*z$ zdxRPa>w_2r^XOw{Gw?goAanFmKVLNac*KJDnaT>HE7Wd(f&}*vu$?tdsLe?vaHWG-tw7hJN(qapb8VD)Mu)3ur1~)%tHs>SxVBMGjt>KG- z(^>^dqOgcD(zRG@wy9s3D~C-9r>Ceg#(Bq$+y=Q?Bcz>oH=#b=u6FrxMR#NPbJ5fk zk|MOHu-XYYmXJMvV;vKt;=KIItpb1yJ&VP6Jzp1S@O{r=d6a{(YDqwoshKNsE;0VJh-0mN@;fl z@(00TaRT~nt(0iOPKTNu|L!T7I8iV7dZINf^@8l|2H!@6@0p~yfXK1Dtx0>zWC&#& zMoP%Fzw^yF#zxOGWUKL|=%u-G$w6^GdSQ080TLR9Ozramey%CKjW)Zov-VirB5`jt zOP@9+Y#hKZu#9_kIu{-8v zR_~MZ>y??q)lbYF7~8_Se*O)Qm)N>31fMI1mvtj21Lp%QK{LfuEetQ-)*l3)90wZ$jv02r4A=IJ%akR4b{O=7 z|BYR2m|!m{w}a#y>Ae4`qt-{=wc)r)Q*F2=&#^trA_xv&^2&G7FI4au{%tB`H*txB zikcA)+Ot(nKI8D9?$`D&E$$^jU<|95r~78PZmIJ?X&4t)-p^yof4x(hwp#X4&mrdM z3yq&9!^(f{8Uwzo?0F!A1~uR*x3ob@3KvV(vde_|^sw~u|Loo}_DM?}#jfSzp5>tr z*{-4YW6OM1jkflUD+l$mz$ej=%iU>)2g}CWzi)i+pr@yq_B>-P2YQH;gO)QC0dw0YZ^>*@b~TK=(aw2K7OyV`T0 z3y(y<%M!o`AK`#G<24-@_?-E*<1K#O9Y?cZOq#Oa5!$SV!Q?8Wd5Lj+N9K|I4@d}wlQ_eRq#Yfb<66P^l?yLc4%oQJ&f7`q%) zXIc^s*6D+13lvC6g0Huazwpv1pS~yEM`B1oLu8L zUM03dIdmc9RA^aWRdnX5=whwW1`gAxy@^c;%6_Y@Gh8r z5wM$v)NghEtSPV>^OPM^4DgmV!49e*O=aUAs5`F)`P&%_@X1ughLlxh@?; zxLYFZEw}Z$)x8Fm0n*(4@I;rri91MN|4>%o??L(P^ddc1mVNH{4()D$m8ij`!@-(C z`5BCoOBNnT0YecdYvg{-G38ykTx#s?sNDg{5TpVXu=9NA3EIl0*`vmPGqYObumftH zzk-xfj+$g{rexYF@m*B-oetp?P+<2{SsKAPvYtmN>EC-iXC5c9f4IRG2vNP9W(9BU&~aW_RSyOG)ic)$ zrmBLww^;*eE9{~RSnsIR)1tE11oEAt5}qr0*1OO$Wexwz+SK>4odRl#PB^u9jn_U2 zI94RPsBkOSLjU(ru{XnWqdX}K4J!s7`A&=7(;^$MM@^soSe^98FI_YsKC`~alF3(J zZ)w|SKU~muRO%#H56Fwfz4(2qI%(?Dr(-WOR~?5hJk}eny8PBe{(4v?Itc4#A=#9h z;-hp{a<1vu*EZROi1i!6C7v6C?mnCig(lUIq51+RuTM9$$s%lUV{tfNX6E%o#Pgdn zj9p;5R0QMhy`+TIZ#U{KLOv_DHU2rJbfS(@eUvlx#B~Wt95i+C{l=_HPiE%KlSOv&trZe9}ni zlZ=3S8hWHG%(|i>UlZ^NjBzwA4=f8D8gHzM{qtay7-0RIoo*Iz`P;a;kl(?m+2wO8 zila%flM|!W32XVMaOo-q0l|iUWCW5AX`S5VQGb-%GU_*11GBRptP8pseX1|C=+x$y zEpBHx+3A*&#~N=G{0e`YzVavhrc~@7`=;*4C(liz%k;bIVf7Q|W|{@lt*HeN0NLs5 z@!{xcOmE5;gGWKsYYIk}T0&tqsg7Ow8JYcX=T+KH=I(v2BQZo`?al_@U#WwJIp4V3@wc*>#8*(bJk?w zw2Y+33jBZj(&cXtn!IPa%ht3HUwDDAW*)M@-A%(P(*0CtKG({TKy$!pAfdh!1bBKr z6;vi|W2FvNxWD(z`@^4c(w|0s;YyxNjcp)W`)`oE#*&DK+@rr4I#mf0n71AJ)n3BTo>Su=N7g_zY|XBbjE&7tl$tjwy_;5Z%WHV2Hn1P+;1F&X_Tv4C^$jv;9SaN z>XUxlvaea0z0{U5HsrVNn3=p_{73h}7x)WhZiRq`$pV4;uyfgufmIIcrf9LICGU4n zx#X_oDb2~&;H^BeDgAg3!>vsBXSy7LY-+=VOIxS>myl(l**6tNt{K{OFM!^R-Rei& zJXcoKuQgcX1%phrbMpu7)!CAdgM$Q>B=R<3&CX(1*11SV8LZ=MG@jOQ>LfS1EWY2$ zKC-}35^;X=-UR=^E31GFN|{Qt(jALS$@T68(cZ z-U+H>KAJY?S^P$1qi1fasrJpCHCGOBEZ9@G6Vg@Tuqe%!ac9=@1&DBt$jKElx+an? zdz)fR{j!RW*9o49PknpD=+!N|Me`0FA3`V;R=tNrL|U!Be+*W-LDnVZq*`nJ_p7M- zvUzjDRtE0x{1M#eV@H`j;-mTjTTC?iro4XBcvBEnK#cmu`=qXK^XWjRd*X6xBmP6ho{2X}%z+zd@ zrK-RCkgP~(CZO0%pq81ZacDKb;|s>lU!CDfeJv$&?x#6CX4&*|8qrhwi`vKTq2sd# zhUZ#^)OUMAv|r5Nau4cWvI)Xs`^1hDv-NNff;Mp<0(UN=H*`k~)5K;NCewT8PjsBs z_q|)#ySUaqtvt{jJ!o-~{Z(<0R&d4v#R0mBXLio{x!}ORN3Hw_D!EnuXCL;ic87e) z?;h_!#ztCS%%T1czy7c7xbm6C&x-We%w9v|&Ns&%| zCl_T0_qZnP;#NyUOJ746-V?o37|cz%iLz+7{Fu+sV(Y-ni#OL_zdyu4=#mc8f){gp z8n%`GDhwH^&>WIP7x@WG8ZuDO8^cqtac-hAp??zE&}S?bsRb2gO-Cbq2=FHcW?Hjw zUNY0A=>1-;j`E$#FKwp6aW-8m$FM6SkyUC)mxS7vVAEI|RA-n3p`JVX=%W8qGflDJ zc7GdSSfMLK?nn^C=HbqAx*)kwcyZ3`_}$x9$F7=g{O05#1!!IKz(<_I*o8ahD|KX& zY%N>w#X(>1iE4AXUqAmz(OXZhCHIn#o75)mcEV*0TB;iR_Dznk;EBLMZI{KQutu4$ zW21%#6`1}r>5_N!?oV)ivtgO=#&@w~E6$2ej=e5FvPJ1VzZ?XHpp>ZJB+@QGDb)R~ z0KE~X+1u6ln z4_P{JS=xjV_F7uwjcr<;P=1>R8IxPS94#F=;scny@hYt_?Vm@qo-)f`ETNkJ8{+{OL9wf)DVBy z`2P6*Ri4Yq`}%<+n@tr2+|MI!Ud891e1N<-xnE7mAH`cA)G%zC_yX%rbE}L+q}@h8Vq?iw zq}GjG7v7lqyJt`pl%AORxfB9b95XE=v^d7EL_R*Hmvu|m?CI%v)1h5ih@c{@aX8WG zT6cUctd-dfva9rw{#=_Q8TExrwAT1-JI$WrF9O7vnm{sYs;y12qBVOZUnI7eXfISR zTWLsm)}A?5Gkbby7Q~tr&osmCN<>Jew%f!-Z%TLpl`OwW9N&fi<>8Ex6jNWdETZqg zh91mDKu2+(k8^T7reF6V>~S(*K75|er7E&ju)kI24Vv-3)qox1HEO}-Z* z0uKX5sYtK}EPbOM(SUUp5 zciI06rNONUfb^19TbqcDX05ET#I{+h>UHwks~)B~noP>09FEIwb!!1zC(G{G#}26c zsE_F*>Aa9qE*f|i*BE&Zq+Bp~)!MXzNfAkJlZnH*bj_S$*1~>$1kQEHbP_=9aYwOZ zjgs-9cA}=V7xV|)8RzwvB~JSZGHS%NRs@x3JX5Rp4^0BS^7wt^OelGm#w3r$v4otK zB@%%8&Mcvd?-JGD^=y)bI=@TAnHW5DHh7?6$kOOb7<%nOP4Quw%iq{lpP!WyJGUn9;w1WH&Z3pde( zMeF3>F2xBZQ%k5%5+}Sq)3xJlN0L`8jBoB!IhE++kxqN;9+1epVEtqsrD{-1NkO9N zcZqY@9);m z=aTk<0Gkc4V5T*Q#w}wLSVCAyea~XFHVy6N>gFHAAEw2BD9PXcUH@{ojP|lbZ?16k zvRZsH=d14$3;b#@eqMy6pykH4HU--zm$Ls7>=0$|VlI0lwP~piA!>qEXcB}YZC?c0 zTGyg2PuPW>Lw4fAWi??2i0|)aiZ8W+dAD*r@s~X$|uheZ;M^ zI!vbpDd6Ae(t#O65z~{RD@Z2|Ke=tWt<`^So!s00vPvVe3o}*v8~&(z$b}l-&VGal z%0Ka1id!1yxa(JZomlU(#N;w|vPS+;I|3-A&yJ0-sf~cni6*c_D`+BV-BRV-fvTM{ z-^h6OGS4=^s@#O06CiD5Do_BIP2_rm2yyX}{mf1-IIPEU`OUpe(*Ps`$;)V!uf=g%E(`OVsB6SG!u<9Q{WD5# z%fvI~M7W!nHxc#ctA}2_4Y<$$X9<~p*W@nfO=X*}XY!9Q6`jqP5nZVKHiiO8-xtg< zQ)99j_fRb5U*u?mW-Ah4_~OWL$7`up9_3LvH)vREOt^o6COY%nu<9b8bm45Q#aVTw zRrUQ$G0U+7v$|ja7xC|amk3EEGFkhV*`P~{u3*NQ!rET}IOq48_SyUF(|Zz|U$3;D zyUYgW+I9g|0O#0}z!X4=O)ad1M`>@=aHu2Hm#b=jmFjbi7QZ61d5>S$52BH5qd?>F zDM9R@R7G52RPoFq7LdhqR=5SNQ_6YXU)X0IdC|9vu+neAO$93P-FGy3C*&x zUu55QbA!7IbvoMV6i!Hv>cKFFOQ=`ggm)altYth$go@(csoBd0iW5|LwDYsjdB1;n z3tZ$2{D)e@FiWrDYVJ{==shS2@ z(1Tl=!f8gLrWCe<+!MEC@D&PFvYy`zkF=S_`mng`m$C+k)oik^qhA%V@mP-}QJXH> zLldGOi4VGE@~}#fir|tSgLL^KfnHr6X+$`HJKQ|eeHCw=4D(vzs$7=fd5$fhA63A< z#O~JlnW{t{aa%WKRErinm-sbTvRRNuQIp2|U*|;>oaPj1QFXr)2SzrFRZZnxhOB`3 zd{-7sFH5dRGT)kCz5|SMDC2v*AMmYI>9suQ)Y6zzw60$1mA&Y#WXsTTf1#ACfqutT zr-~-;T&nFlIK3mW#7cBs;|iad{$r}Wl5+Sf0PCG2pD3)91uDS3JbjRxugKvkD(cxZ zP*MNdp4}--ccqheZ^~O-k^N9YIjHmX|6ZpNl=6&z{z&uiTG&L%QaaPys~O5sPpICp z3akySHiK)1S!hseW*=){+P}NkBtQRqAfYXZsl2Z7Z2`X1j}jQf%lv_bEWyGF4|!8+ zZqz|TnCJw9zFQj@f=FS|M^=+o|-~Uuvcj1AER-ubYC{jd#5&K}GfoTk>PJ-A6cgzG)qD*2wM&)dkaM+PMEXsJZnZa}0KTxvTl$IY48$ zLUIIQ$?vKD(Al^m6q=Uy=9R2S_KL$V2{+WszVP$VER!G>cPq~DF<7b&!=YaZLba>Iv;q{{gYkf5})xC*;663Or#f#cgwN z_t!F*TV=8B-_s!5dAwWIAI;CJ8xmD&o`-(IDS;Wh|BpGhm;IT!Ql1M`sh}{=+g|s5 zXn*$ZJjWG=17>RKc0ZJi+tD9j)Di~TbwF*c=@!6kTpHA&j7?5LJS^LuiYedwxyqmiFnVT-}~ zSa3rH$a{j5sK+ottINflJJ>^wBp9p!sj+c7_FK0FXbs2?g@cF}Lvast6MLhyxeg4>Y|L(rDkGlG?Bn~mWo!dsP zIyKj_b#=eFg`1&IO056v-ku0Mfh z#c=e}{U)$Z7_6%*Hw2CY*Sz4AzqSn)|1o1is)SCg zZB7K%AT$@@akcUNO;q}iQ<7LRl4pr84M)x*2f3NH`f~n!*=Am(-jmkX4S9U}H>PKaoPb4-4U_(tr+TTEE{ffhv-3 zdT8KG@9=e&O92K1;+t1hZCM!(c_hUY{H*cHcF`?`q2%K4z)B?N6U^R{N?y6UcklPw zulT6rv3|U;-H#H^?Cu=PTlz?-Hi>}A>c4bxrj)G0FF4+34Lh8m@wnuHDbw*y*@HQxyUiW$`lnHopkE~(f zrZ_FF7g*{&{QL|%&llib+H9Bk84p(u_U-gn`w6Xq2{p3_mN1r*kAle&_#&;Inu?$- z2Y~;92pv*mG(rQ(?2D)T>E%rRT@{5^09^pDC9OESiA)H!p7Bw;CLWmL{q>imUQ=4V zq~~pKs$MNQ&oOf@T2<1~5?)kUroF#43Nrjh5Tpb7{B?=g)-rFW$`?8+9<&rS+RL2? zLSfR_5<6PC$yD|nx+n?NV0$CN%nG)wn`*l*D>7sn)5SqQ6t;mpbB+zcp?Rx zPwERMCysv^`1N9HW%mLularMgLia{S+H&!j<`=0Q+Z#h(otIZm8ST;@B}GUdd-wgB z@$1O97f6G8_3c9hLrpQI_Ef~!?v$qmzwxe_4xD4s{?nAylV3C6PG(BZfA+aA(I;2> zfQ?-Y_dhbeH}w)s%D#;Z4XSbOYt#X+TBUh));x}6Twr4_hy?9VCoPy_O_qh(%9?vp zmR>A`Ru)ktf=={nYDymfN};_g=A8Pwj$XnbbS;(MuD1sM^>>uUX31V;53&S9UI|z3 zWCf}aWz1ErBxdRNE&R+8`qi!N9%n)P)P9I`o^WbL2SsQwF6$Aj-um=NXPK@SN7lDR zMD3s2!63Oa#BdwX0}cI`G~9_aG@DVXQ;MDJ<0YdDEMnH+1r7Dr9osxGh{&29GM>9{ri_OhSq=Z-iUEwg# z0T%pgucFk@49*CM7`z?lFuN{xffmE&(66}grgLN&&X_eL?dKpN*jzvhz;o(ahiuww{lhj+H- z_(Czp%}-D_AA^_i0Q&{(JBe!mgbvi*cl`BxF4?z$FVXVZ_P=I?*muLJ9f_ZQ9xpYG z6}Wod!my-(HOe$eV8nDj{ZKKW+&9K`R~W2V1ILn8I_l z;Sj~-tBNe0^Ldh+#DqIt!vCQof@`4nNq%1D$i{8N>`&M1JeYdnRZ$4Pn2Vld8aPWZ zTBF~ivQBxmRP3KT_F|0SMx+py3j6{g{3jHcmJd+jz-D!Te!b9(sxvN1o8fEX9thqx$aWAHu0!=CmPK!hQ^BVbQEiE z@V_A~z7{DSOoQ^!Pv}!m6n06}t{L3lJljxk?Ph_*g_~A&Fc6sqZnlUOl7c1(VUzAV z@TtT8$cUgyEetzCrM}ZscX{dRsM-jrw7c@p@u<;Q#b8z%>AlkpSX&K%M#}JzW5@A0R*lk7{2SAalv=@D`K#&Tb1} zqV0dFP=g=6HmXBq(vlFw9sH9lIg?#JM8NvKz;X9pKcWN*84+?McM~|$C zSez2;tf9_02meRr{fXl#i{Q*4BV}Slzu-}mYN(iPUUwZ1ub(tnjGKPr_0nXc?0{q{ zP$e?Q7-^VaMH3=Pya8t(5y3& zXF7`JS!7*a6wknaS(AVQ44jx!f*XhvZk#T+NJ}`2 zPX>B5SRM7|oa9S~59KCryRX_TIe2xI#q6t9KDJ`R3j34$U4QQN#zp8@P8z{_U9D=z>L zj{;I}Uu|Loq_+X)cqB&qg7gk&h@$_cyEUmrI%QI>MUjSebg*kbXQ7Tj>M!{-F&A!Z z3b;<2C^lgdR%R^40TVdFy9K-gd{ zBd5ILZK>pJ&e-k(gXR3AEW~>W4L0_wMAu=>GnznN-8a=iqT5~Xb}r413;vnK!ICc} zahRO&SAXXihs=-^fnd|6H0YGHjqYlbeD3ByymwJI3~`BgbtxTyI>auL~;_ulX=*L@z%s zl3px)c1KLz(dy@bB8OR)a$ec4Nr%FHcO=R{bSW8r3|z$0TMrd}u!QM7Gd zHW_}|EuR6|_H;zYrtv%{+|{1O(ZVzelZmqyc|CyeS=ap7!o+hu+t zhdTd_e8EU5>$5dbnO@3Oia^zp>u-ccs1(MlU+&{7pP?W%aWbUsFIZ$ z-#0yBM<6EpHAm6MKQK|9B#x4$|50=<-c0|09N*10Gi)dzAD+z@0`zH@HwAzKJWMQ^?W@ZIN207 zLf=#f+1gv<;w+bUJ£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
      oiEZF3K(VCml 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

      %&^#u`t`J7?z;rPLz*;14L@?5vvPP3pMfb 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

      wQt2?U6LdGh=#IIy6=f_n-o%5!Mop??t{ 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�op{b<3M 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

      qwc!Y*zhVPSdM{@ldkRf6mFRIb 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 z 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

      UM7Ms<54r3~L)xsc5&Q%oR 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 z z7*^q;joX4mH{tmnP#l>Tdjudo!j)7Qo!R4d;uF5v0`karXJXk{?L6UShNQ`;{hbBH z5w1h!LiZj}(t`3c^{e7EJBc1ruE7=Cqo7%Lcg{PxcZoRH=)Pv#cIF5ltZQ}uLAOa9 z{_Qg$LtYT4FNz|FG8LPm66&W#-~YrxQ*;)4)!wIA*&U_E!fG1%o~h)()rjvQ)v|kXT{IXb;MF3?@Jcc~ zgD#Z8iR>bf*KCk!gbf81;kJ&#H1ad=Iz$UYaRt45SKGYagzF*U>oeE<@d-K!AOQu1)#G zWWZX&E&gsQxw{4iJ1z@3PGZVMwy0ION!3mpjAzkZR);6hD4E@ zbeiZbd*(+hMK#b95lmHGpbO`a`4A<0GZ<;Sw_WqXRfk(#Y^M zhNGq`LSn$`M@wM~pr``?j{v~a=t3+2Je7@T;uKbL3ipc8zy;Kbi0d^;XxfknIdyAo*jXGO|Y0E=>6MxLPi1id?K_X3Fb_>(`bz|+mQ)%~so?uJ;tVf5aYYcrZ&HR38XR}24a@2zpGz;Jak2cx%gfLM!7 z17eq_v|6aBT>?Mw{%pYeDGeG0%ejYrorK60#lGV#9uZjF1ii|N^QZds1U=G6l&*U| z&Dx=o%T6+#ZH#26v2o4{VJ#3jWjQ*K`iZEh=6xjX3-vS-_3lKCZOc*6>SJd*{LDs^ zXf1k;fsqo#XlB&+-&FVBQY>GE3P?&Vf>~CmP(svr_m>fv=HvH=umG4B7zR{AqeHug|b#A=^0U&uc*FniVBe9FQze;wiud; z5EEBNmfomU%{APoUmUIvw31&d)m6zHM)8x);*jrvV6W4_*IYTxGBcSlWZ} zoG+mf{0IMCoL?)C7XUB|&WR$4XH`6v58)w$vNg4d&>OS}7l%`jM7(+;xg^2%qZFC= zC+n-rLwB^1AP1`L5l4{~>y-UwN_$l&@7sRIv@AABV++|p_=tR*| z_kYnF$>6P3)Z1rRLp7E`BY`*s@(Y_7&Xlbt(v`RLCz-gGVCcS%;cALBa!HZoeT~gK z!{!+=)>OAZ`}BP1#rdb?iDFW<7Pgh5`y<4x?88Dp7S%KP)#YL?t35 zX9S$gI~w&u<1$c;4S;&nBO@8kno#(cOcC&1PkP@*2Ll-ofD1~%y~(iRn~oRQA{`77 z&G1S5@>%i}nFzsU#>j@ zQ&w|aQdYw;uZoZE)uKfyQU*O}R|dF;VL|m1xf5#Vl#+Ee#4?o{cI#)sZC?y+rr|sJ ztWdC7wAB78pxPSyD5D3SQtAAlL;F|%BtQjSz7v&5hmw$ccV-G<7j@dnMfhdZs>pGP z3%bv~iR@==&5%VPnv!TTb|kpWPWRiql-fq}>`r;yrkL7B`*C@(($Y^tI(fp$&&0I2 zk_OwcCJ)NeF%q7d_F2IXW&KaYeipYjHQ8RFrH1gO$UuW_HdcaIhO#W%iV`ne_>F!b z?Fc*b5P8A%oVRmCol$ zgTSi<@YAK0x_#?)@B5&XaAL+hP;tE$@*ODOvLH3Ea5%LfSZ=N+xDK8=)(A>W)u~b` ziLo_K0prM!cMJ;)zx!50nV}(Bb}w`+0uYx%xt5g}x2}fo95GQ!b`ExbTNJv>4(^r_ zSprjg&GJm9vrgQP?qECnvIP(F=sXTzC7z&K?v2FSZmexY-yDk3S`go*;YbT1@xh^< z93X-rO(5fnft7y1qSK7yUz6QEj=O(Nxp?4fvKt2qxOZ~LR`N5O`kNJC# z20{$eUg_)~oqzu5<%%CM_lN~b9I5TK`g3ahW2L*2N`67e_tCv9ndNWpymuMAt(U@X zH!P;aL%U^qGK+ieNvj>X)-!xaHTtih*aJ;q!tEI_68rr6^M8AJ{d1RKu8aWWmzs{; zha!4{pVx0mlO}m&;Y`^o3SWQhP4CZI0gWzE7d*U1RFL{HoVaGV0XVaA<$0k_(~1(@ z4J&peRR~7_N^k^Pd4q6oXx$P=1aD#SQ1#i)OFwUOcBnb>U8w(pBydQ4FIW<%aDhYE z$1oGBDs`^)ytBt7H%PS2k2O6i)x0DHHyU$1*yp5QH_%GoXviw^If1p}N^q)d^q9rf z(jW-}!kB$h*zWjGgIU^Vh}E%goYWTg58H%OOLEf4LKWSZ#Q<3(ZT99gf zJQ3OWmXUQugBy>bh>6OnO#{qJ2jZ)Eh`O(c^E}to5}^V@RY6#M9~sT#iQ4aAT^F!> z_B&ShDk_NGQFr;Lt!g{f`^@yudCoYUDR)p8Wd)>V3?N5degAlF>AU|>9o}+6co%@B zQ367h&i>d$X2=JilsyFxs#bWqAlJmD!fi$rOl&@0(G3a7xOW3W=7AkOrHa>@ z*2r)i<2IfRt74DbDnEvt+q+zZQS0sVUs4Q`6(cAR!X_LI>e*-= zzYMy6oy}mrj9EUtL@C^TG(b2+Lde4^95MG${D8Nq!1gd!CC` z_qrc5%eVNBDKoI*=V-)>MmZwsFFV35y#|NS(t0sHJHAV{Gvda3f8W&3=3J0J^1$uy z&*kft>Cv#iOGX8Aow4sHYmce>ezAU#JeBY!Q18mS$Y+)2$`NbgHxBTZN80c<`oPbU?$$Nd?PO%QK5NXR1hnSFH+VjS!Pg zf^wqW`o+zqe--$N^EHaM9+h&u9swdpcIAz9bx!`tM! z+IW7y$h(q8d6B8YmmroL6$r(p_=V)@Or+HpT5itOKePJG3O#84ZP^QBwUyS7GS=G5 zgyWulXWOD3#|SoPhdpI5l6D@@2REN#B9sDVJ>WeWXo$nN*chmd~-9 zAMuKLtDEjhSy8HySEJXsaAN#gZLV@r%i<_IptWPnnx#=oMJs(|_oFOyYKtYTCfFHd zvz{;ytjgadu$UET;1X<`d;8ye)n(%P&*kuoe>;cOdm{QpES7g|F79i5p;(GhZR`5O8So) zWt0zkj?e!X)3}D3W}Qf;Pr;q87om9BXNj$q;YW7<@-)qUsPSV>*Q{H-Z%F^M} z*O)MSijBk(HZw;$c83d7aLnWmJ&&>_CQAf(=zdRHIwTE23kPga1R2jwo`_oV>fxlh zYpr1ze0STmQ~G?HOq9wy0901v=E$PyR?l|PfnNfO)~wCe26KQv^IX|*Vk9K5m@XJ14b8%jR>caa_)C{cS$CIGJM#iN;IYv?*s7+zI(Byq<9_w74I zO$BB2*CInqusfG|cpNsn=o@BGZ=;4Q5spS=;t|||nT80NVS^#VxFuxKcQte}&L;k* z=~WdPF?^Uw#gI&iD^WM7Q)iw|oWI%qex3n0@N>)Hw;9%?)1DOBlwFzpwu9NXp?}e* zGjtYqOLAXWEy4`PgzAuLpznEF=Fv{hbH#6#f7D8K6~ate8F^bTkW%_f zcIj_&1v4=bKc0pnpY3q*F-2r}VWCoO+F4CodRR#FBUKf^EqA7=>Xy`@`M7>Cgv5y0 zQ$EQj%bx^Zv;$$l2IRopH4oJ-T?UFCNtPDI}P`dI&>(WRp0PozkKnS zrxxvqSOX(liAGcwGq14QGk<)+k8(lJBhSgR)XJhKSnXU>ma;~0zW=f_u7@m%-)m=LM(F5(-*AKW zwuu>IaRA@%nopI?lPJE$bMtrK^{P1D3_VFYKu8o|2rOpkBamY2GtfHTE3m^8g17P% z*IMCFaoQUDkk1AMZALBik&y_W6GmHiGN7$SGkyAbU|Z!iR={lE`9@B*f)<-Wb338o&%y9GIaFEE$-i4Eshy!(b&R}m+N3AHYc)Tc7y zOLZy80b(CkqqjIu2S^Ms&r6yni&vY~3Ff}pnpwdGrC%|iJWjSqH6t&)IMbv>P*i8$ z*YQ6UDVz|!iVV6VBrdj$0?yNd-##*NQH0PVp&0u6u6-fLhJxhJRjO9tb z(}KaYSXHoKQ0;m#^-`>xRQ2@}FNp?GO`sv9ClaWy@w$tK%k$8$= z<@4$S%6JEiv5FV$OGH9g@~ua&L$0m4Hd;DQ(~>xu4MsKkh5uNU5Iw{4j&2{EGYse! z`UD&g-&Z8t+6GbBOMoi{qhGsvqO)qUhSuk5D2hAUI9n47DObY$ljNU<@3l{S7%~03 zUir1>jV}MUI#1DX@@K`5*0)p@u5uAo3&;W&m%3lTYOxpho0GuoQmgbI?f||zHcjoo zQI5Oh5H>kp3M1)}DPTCo5+!eFHx`2=H!wYIFij3p*VpU4XcGQq!Z{wIegkO~C47HU zDwBeGK^J*Nr>@e_AIZsg8OS=osc0T7nhxi)vyMxh^!gd@|NYd-61|fY>EtQtFI%WP z0zX;p?IM{JJ7D)bSJBcGwIR z)p}nnNYxF?Dzft{@eatH1ud4yS44vLlOg+ga33DD0_I=)GP=gz__BT8-zmk$+|>O5 zP{35`EK$LL4w{_8H?xkfdVpj-?VU^UESP-SpvoyQ^fU?H%|GO<+kyVd3H;3#%q4|K z3Fs%Ln5FojqIyX>$^6td#=#)Ubi*a%d&(U@c`p!XO!+`S2mBlfszd@p3F)7P;#R88 zxAa>Cc*JcDxjq>jL0>C*Z=yVaO^P+mjhq7OhQ2!)k zMbo5e7w~?@5tijL5incKH+;k;n`koPnW)_v{s&~zoKPVNk+6Yz%*=HuhGhMOf==NN z@a#e*SnUYnT{ZdFKJt=@$9c^B_@pysLtx|h)W8k+Iv1=>AQ&-#0l>>vh6J1_!EFN+ z(gyw74!!ydBR~a0XprJt_R1SUY8+xyQ+^c0wB3hjy5ai_s_-1)7q^V>k~Dvm6L?-6 z!}W_b=}Q}^D6kH3vFQk!Y=Yct!cUz%eno}#uJL%K0oa8m5O5Kx8!%%6NX7o(YPQ9^ z(7~lji#5lCABW;T+8-2R0RNm;-SvSdZ9u;-YdjN&*u{%oR03bfFt8wiZQC^7ExC)_ zDmEwC6B7~|saA*ttG2peqfM)AJ`l;L33t*_4?2>n+MqTx;R_7Pm+9JVlK1PoS7fsaYm9&*uMetk56?$2(get>1|EvJb1zH zru5>bQ*D>4UtKoYP{i^40~U-gnHJs@+`^}SzxtB-Kj4r^gU9gHFOby} zw_xE@K)#^bfDQOuapc*|5fsltoCCy90+mF;&pg3v0Z<*fs!yF{L;OV)Q1hD#RKi|! zHc3;B4MzULXm2>qXM&vwZHh$qexg`wDO<7|%jdyF-n20`tSUAzEoAF^bX3n`iJ+%E zkJS2>P9?Lvh!)A(4}p ztA!N#WEg)#q2P9p>k59O9m?N;2M}S=-wdT_e%fTPS$!1ElQ{L>r1i(y@CN)dNqMJR^w zPWc`tn1ES*Tmoxt_=YcCw z208L{pj0Fs5;xHBdi&Ahr{NQ9>j3U$wmGQujQr(e@>zL?7Y6Z+8@*>QH$E*nn`dty z0U_QubH3}Gb~72xl~U$9V%q4!n{3JNZRnvxF5?=#Qi zF$qA4f@l6wJGO;Mqdkhxu#7iQA1hEF)lnyN;rEgrpWr+m$#UgS!juiM(_Yv8im}Ob zs7U+$v&TT}Qm_^PI|1g%OdZwOj-Lo+iobw;=(h@}g^IsomvMwTi^WxcV!8;AtH?rq z#Uien;kGBGwZ=PCKjF1L;kDOL_vy*!U&5OJzVgrEb&Re~dV>I&cd&>&QH$za!n>77 z8jHFa-M6u`geH=OI(bPdwy1i#z)FM)IP&mzFr?ozz7D)H>Y4j?4#;ORmo@H@;A>#&-i^TQD}IXcj2Frm{#jBfKbsV zd@=1-*=_sRKY*8AwVLp<>sKkm`EHi7r*0A7%oKotY<1b7SmT4J601>VHy zuH~~SwR?pVsilvWZ;xd1?(k`dlasKUN(Uyqg8$h5yK_3f?idL2>iU5Vcku1&vRqBc zl(!N;pzy19AGX^*)^j=*5qAhE=?mIJBxrXA_g$&9*GR|vzDdGAdIv^)ZpP!xB1i@| zq59qbS-$Fby`P-OMwF9p&&Liy!Mcd+)UJ^ zL$<9lCdCo;KuB~O;$^YK5U=hIz&EkN&fhjg5ePk32pY@7hYT2`X5+JZdY`o0zZGjX z@&eTj8kYS6;z&*9w=Yw~MgrMAfrQ8T!isrUhfxNE;`fFZbAfL>s`)gN&J~r~-v$xN z$5@q@#xAoe3|`pgZ|2jD#9m?-$AyB3JSIw&Yt<~YoJH` zl?8h00&IQ)0J8zc8?Y3t`fxAe$@;|cjyDevJXz9yoQQoHM}oaFhTqH(1r6I-(V)6w z#fHUa&;FT}Z)ea4!~&+o0&3sF`7LjS_NV;3%Hg+R50Ohcl&sC$Q4*<0fjcV@z~P6z z1ciC-Lmjp!seA(Z6%Tb{P%bh-%51kYsCL@84eVc1|0zJQY*TOTBB}ltJ~~) zmWdsL>~Ddd;~C?_;MQn!5-8n@OnbG}xiq?oYC7s(DAE^K~2o;@8c43*FUmD%S zzjT<5njxNXmd{%y5)Fn=E*rMn6NDDw{u}V*4S4IMVwvSu=_d`6~OUdgXhb8d9XK*H0!K5H(uf3E${O1f8U8yWSLhu?}vSBdmKhaaE4?~-Pi6R-rp9oEc&;Li0ULGPQ}B#Zc83gkH9Hp9~zE0 zMMrg&h-4%Pr{z{2AAQ0Y$`vgIGfeCc0HCMFd@<=xzIT^`3yF6${8Ap>2W*~z6k_-& z1)WVwZC{oVpKJ!CgtBd9aT0slls1UHEZ-tExub6J-wd&XUB#R3IR$ugpE^g)dMHu? z9zMVGa$5Cig&C&1N6cGDLW5qg*dFF2)p_E-7tGGcegEx0zPk15w!?|HrV%rH_d1d% z3FYaO1Np{&NjLneNl8sRjUc-`5jhPbM-CkX27+L_+BB|Bq3(&DU6(9B_r>(IZ)Q2W zIjF0qC%St#c8?`pWs2Q_&Pe=5Z!i8U}`8|xyQ_iC(Ii=Ay zJsJ*5=^X7S_@y2``mcW6Ubuc$_ET%!1i<%S>iN%G0`C=^<2O1!*9m@wsz~HoO|_H)~#%;<;ok1@b50tqR`s%m5_YHE=T3^ z^w$e&SHiC*ysz-Eh=vrKy^dPCzV9(R#8fraF$1ZUx|2JOXRp@gRwf#-)HB1#%!dVqg4Xd(6Gvc`i!1l)4Da6~q39LreonwXRnJsGYj^#>Si) zD9fb}Cy+)AJ}L7} z_)IU=>xqCQg3kAA2=Rz*1$F|kxNZX3m zW+D}61mNjE89x;jsr_~D-g^cfhZ!XK31+}P7PoF*_HlN4uEN>~&da*x*Jq~FzzIQF z4AI<>dBnZQ#e!!$k;Um+9|!)I$sMYSboCf0FL`2#c=Tg(bm+3bTFKIN<(s5FmN3|L z(n@MwycoJC8%Cl4Y9Z%#}Zdmc3#p zHTZZ4=Y=r0Me9vhEegq>bzS;w_}ecBuT+>EQRQwQt+HXU8ntwx@3zW?7QR;5+`$P2 z_9W4(-Diy3Sj{+2aU&mF#M6xV3lycy_1>m~l;_&3ZW&P{EEU;aUM)g9g+`gOb@D8K zf@hf-dR_AN6uOzodP12fkMa`Fuhsf6^PFaPD8Jg1OEJEl)*>cAZ`ZgEJ~6!@mkRSe zO(fEY^?lT%g64e7vl?)S*zNeSgQs`erYQsj0IW{zd%7pYp@2wakW@V2stgYxVWyiR zL;w<+d>`%AlCoRvp>13OS|B6Jak4xfx;WK)W7Y693KCUMkm}fgYWfjF`5J}72RpCo z#}}aEdY)QSf%*QT{g&e-sD|rQeZ8-Tn z>m~tWjEJ$i%@yiH+-v+eY%L%{8Tl^=CIPGdUAI1vg7v)-Y8w0t)-d zol!)(DS^eK+?14ea>Zd8z;=m&N=C$lO+eQkZ~8EqNqv2221cB+4nV;N#M z=Be-DM(<3 zh)76vdQ${!Gjlw~s0sUq-dxYUohKAW&cX&P2phUm#ZY}zNu|gf!!DfsqG)byyx_Xs9qA)H_&t0FUHW*m7NBmCw-U5c*ED_) z3ppjU3hpAnb+g!q!NsdbcYb1^REfGjpMToSO>EZoyL}v z7i}pYOmeEvx<9QdI&AdVA0$~CTAlh}$J8jINbXeXH7gaLuzP+(hI_$C-zw^@6^gq$ z`jxW$`}M-#+=~INDRzMDSu#JECIc=vl45N_LV`m5G?QyVLaS7<=4!@BIGD&=R4id6 zU0n)7_AVZ}m}Uo~1Nkx|$5@{g3UzZ!a)K|Y8i$B7dSc5Z&W*Z+lqPH$I;uY?FMC7M z^ZJpMr&XvbT{X9&f-}Eh>xs>jW^s`r#kv@K2GFOo8q_K%-!S8V^?Mni{I-)KZpWL_ z{n*JWQ#YK=HOk&mn$JOnRii2;rs9v%9$I`r)mUTJIJtb)cypTgduo9_Ytu4QvwJYyTXt@c#-nMbYoA50D$cy zcgN5(b=MhCvE@~WWhy0;9Wh{AT$p!~&5fwbGPN3^%7u-2=A5h=!vCd;m5PS4oLq-r zM%${|1M~SMGWB71c*M~?j|S)6&>*?j%%=^wT0pplb>Lnu!jAv~%OAf$f0Q`Yw{tzc z_&Wix_Uyc@cWrAVq7cT_nlT6iKYaX)kg=0X;1vj){cDar1GPW=v-(3D^oQd5s)M!c zcwwYjCax5PudDxt(U55n89x(UvGwtW6J{U060Q1y_DL!$%#EfP{}~x}0jw~?4vaMG zSG2WGoz7MG25-M7$%xJtO=Ex_NeLscN{xoCiMnlhdN=;D)iD_DOoX?eps{ZBy4lrg z)PWjxngnfT3}ppRO@~7rTNl6Qym`bIJ(@PUb#dG2lIO>za~nD*oFzsSAbh9>c)kJv z{2<7`pJ5ll%_i>vkn?-|ImNwSzJOB+WQZ|9S`TqabB?Js$DE$iIHQl4oonK)l9V_i zlB+;Px@N?~@(Kb-n*-9CEUY+tD~EYYHU5^Ms%IY#{IQ4lVKtMo3UL#Nexk6@jas5o zPV5M*CJC+C(JXQXw9At*M2hbDJ;WiX#$z4zn@V-T$~9uu+AhW7BL;1u#k(WLNuXQ>Prbd6Js^rOHQ0~wbWTSy<7 z)7^o) zbs1+iWq1VwUs@s}%=Jt)nLhbyVs%%m$R_0VhD_12F(+}82YHz^Q1rIMYIOE7%UrLL z{4-TK>$ULKo!k=}`FD46+W_Db*bCntFs)rNVV8v|=C<@d43VhH^eDi0aR96dXx>zi z&d6*wm(FYgz~dQ0G>4Nd3^WdvbGzV77iwH!R`D=8bmrO1Y;-6`3D>T|Va{?yD%Y6I zd3L%!@Dd?IX$SNc;mFb#;ju^FYZU2o9P^^lwuUUX9k_t6toxlC5TEUjFo+}M#x_BI z&lOkBGZSu!Hj0S~`~$r=muvJ{d!%YzulkNYgVsQ*p>sXosJYq%B-#qfAhRI%Z2obK zH_V*u>-yA}zDjLOGwfEjF+|DrhPIp{=aRQARd2P7_vu*RGhMWbF2!6W)q*-S6iAw_ zS65Z!SAlaR+iJ%PM@t@gC$naPr6TeMp8m;{-2n%lWm>lZPnc_G@&*h=Gi5bE3QYh{ zSNXYP18?%g8D}KA2)cgD2SP5}xo!4DshGO|D*phy`~DB?!;(n?AUBZ>{~mJp>nmu` zlq898KWe#rpNMBfjI%BmJ)xhIKLbtj+kbQ!S%DsT?}o*H(J`_vby;e znS}bQkSQHQL(O`nMxwKkbG?KkQ!Qoee$qc(nPWH7{@E8a_J0hW_dgVV9LJqIcjp|= zKKq=*nb}+JID4HLQuas)Nrc?8_om1eLWt7RnORw>RFoZs(D+hvU;o1AhtK2ldB0z; z=d-JJMzuvU(ksvKGUUEOO7CAiZGClIj6`P3Kz~`4X)W`U7VgJ|L#~(tl6kTEKK{X#tAx62A<4v7jd_ zSD_RvM<_$|?g*!EtAaM|d)M_KZ+TNLwI|1#pNZEV4tF%|puajo_cB6YFQy1h!I&3W zL}+LiPvB9?iU<>jHdTu>xgM1{9F+Mo{LO%Ns_G$RAO`3b${aU0D1;#MLCHwvEY#tf zA5I*kOp&BZX*c%)cx#Fvf+zE1g&+lzGo0-UT(y02-#RpQeY0wO> zRFm@OK``y5J{i%&x?xEk%#uN6Pg;-&>>xtyqSM)Z=3$dJU}|Zvo5k?YaMOd)A&+PG z{eOsBe!P11p7=G}R@^mcC9^4PxH*uvOh0)Iw6m8=2r( zCh!tzuWMn?gG1KUPDxOuf^HYfMc^ah7U|?4plsR;aPVa%EUUI^NG=ry)ZjaS(8>#(NV`N?!$l_B!2W6oP(xjK005-GOBg&2H zd}$lEmw6q5R?Z; zF3I|Msc!s9rUPy;OO5MntOI46nQCN`e$g*|V*nC|fLsomOI*5R&QeMGc=o=DmQC8n zlKH!i{o^!*?R=a8HHNfuT0}$ugd5=ojgwU6Ox3D45rvuSymZCsH>@#CCxT31S2D_r zjD}9>S=+rDB2#%so(%R({Zc@uioYGpO6A{wjHagSEnc{d)R%m9ZyuTZ*1_$Ux zO5Ebr2C#dPmWnPon>Y>Dsc42 zHJ#bC!xEppjB~J(tpA;srLWke-66V=SK#+Y!&6P^%1y6%wlCptTj3kzQ{Oum5&#=9 zz2H!YyHt3STk%tExh1Q&Qr{PIUrqaT&GKoJ@62Z!TvHsIAl_Zzog;|3|6OY1D=Jfw zXux^vq=%L&9TEX-F}4lt$clGy#XyV6X;B1JsLR5*{E|5_P(sz zL%#I}nP+3V8O!6y ztl>8nB>7Mr4yD-dWUz3P7^n3^*29$RaKLHlp94xpG%`gyk#3%^qTS+Ws#++^2B_|~ zXZcK#2QeaEF7JZO(WxT5-?*!z?a-+mrTxrxVp-}JgNL`sNUB8UT+?`Gwpd(}fPx@l zaxoE=;*Vqblba*WcDa~#PZn|cfo3Yl;fuPCchd1fGJcXh=|bei9IB{m+v|%0<^W+R zNO$~RQmeg4y?s~Jdi}F?)iwKJpU;uRn$uBcHXk@=hxSs;?{6qok5(<~mR=d zsK610T0i}rn9*f5vG|}DOHe72a(hB{Lql0Nc!V06&LA?7<{BJyCYbWi*^UaQmb6EE zJ(dz;2`bQlb#BI;Y!Qp^n3eau7cl8xEY3EZwi|GKQPbdvpp+ZtXRenPC5GQW&&uW@ z3+w2an{4Q^BJ*4>bbo&@BU&@{o#P8YDM=Jcd0xuDN~lV*BmoY@Ul4zT4>DQfm^eze zP;~OF;v&awvU}Wlnsy>cqSnu9LR8 z+8p{Gp$TQgW=Hu*H1Lj#?&C|0JXk*s<9d`e2YWlk7d2abU;z+V*bn^L_Bs->5*Hen=AG4InQq9oz z_`c4y@sdP~6Z~8rCWS-JLUVF6ukNLxC?Vi@91v-mEl4ok$n~xvq$P?g#Fri|i`&BZ zqkWJnl$S3Av|FFGJFI@TS21thYwVLWP2u7dBEGq_EPe_Ew~SYw>8G*sD!mvxOqp$g z=Nn9Z#j+lF<~)jsTWh>+Y>}O)_1l!ZA}~>*6Qj^wW4d!&KYah7`n7b{C&L?uZxjBS z*}Q$>q8+hvbp4AsvfT3bMo+|}T|+@dMmKK8=fQX))_MfDe`aIjHba51Z|=62QZ9|W)hpDq++y|}AQR5+ydfk6Fl#1RLpvB#7*z0utMn@r*yyb5Q!Rzu zk>01u_~RcmcGJQhpso0ay+IDm_I5XRjULj9A@<2>9#CO>sXs%bs;4%SG4BOT*O(7q z<bRHJ2m}Moc3a7}}7blNX+ak434&-UBE-!*9yXIBIvXj3`p4 zT4J;O`$HKaq}SHkJAPzaULpwqHEg8=i8vKLkZpS#6EnE6`N>CH%}^I+SJil_^RC*h z#Z(xoyIb()ZACqS3pzN7ouC`C)q|cfL6_5{I+cI0t1rzLOd0&FdOd0Qt7UakYi_Ad z@BwiN0Oqa6li#t|nA|Rb|KpZduXv~l*Wf9*#N+EWvk*yP%@e@v*wP9BWOByxjB@KA%rVF6Al6))kmKR6T4r;aL7 zR#&7Vn$GXF=E`#E-`nG}hJ0%fw$a;Zko$GdXS%?J&#$|$O=l;#58OEG^t!JlX}##2 zY9lTmHZnFnFdeY&|JFmBOq=nDS-|Lvm1bAFIf!C5K^RNWIN-9m zHHhw~ISXN|5oP3Hg(5N0H6}>ZrAiK6XMP58u>m9(|H)aXy#RUZt6YQ6Tj!Osf_w3# zxMpron=VT4{Zi%IP4;*QF9WwOt)LdX7HNk&fO)NOr=D&LvfgjIBdaMc!D<>$GtVk-VKa9njG8p58cXQ6zAd1UN;^L4w;^M8lHV{O0=&OUH~Qu6RTB6*}23 zB5IL)D9~bA&5h=-6+f1|SQ%%r%yAFX3;v_688iwCX(TA;i4~fm&-48-jc4MzYp~Pf za6T8Sy$oX&1YXlVjoR$Be9`+6J2mm-!Nnsk*Jy-`;Bey*nxk)CO}{TJP?`Wp9>bTb$_fgxfNNmlKWaYnG5E0+M=&U4I6IX z$nXyL;T;tjG=v$Y=uU8;-7k!grf)Tx3GzyseDjH2(o!ci1h8mfk+6xT(6Y53&l696 zSJs}h`)-q@_0{RiVbGH@pL&x7hWXoxhOB(SE*82mkHtkzW&zHNR)dJvccMrS`jtz* zqQ8hs1|#IQ?9R(-tyPRFDeVV>H^^k@yC-aQUzxeLHj*@@2$igC0k$7Wq$I~a3)>E~ z@w)ZtR>aFFCqjEoQj5>WCO!(DjHHw-lUz(ls^$#~V!wHp#Z9n(xc{sI7qiwroxRs! zq!sz}i&9)xn27NlKjGWC9!lFd-9l&DWVvns+SP#T+BEE6p|v+putchRzftd!ctC}qlBjo~SfmotX zC77L$F{?$GbE&^FM5OXAfo|~jnG;J)^v6iKW^U|uov%LK>dwQ{xgtin-Ypv4SpsRn zKQx(etod2+4d<_+fFW+9AFgFx91^{=PesCRT`XGsP`_AoXr9G8nmbPyR3@t|305Tt zS6^d)@6Gu1p;h#v#>Lerp^JG`rNic56=3}+#op*SAcmjeJQb}e?qOO3Dm!2TvbU7){n$CRmqS{^;O=|1*Yy01$mT{NJ!4FB1?;2YI9* zt})>v=^$%55JP8zG8sveuKo0YgZie}FT^yO6)mF3USwW#JiB`zdvM-#737Ai8)1nd zHfs*zizo9cTauMagl7QwpLmZXqjxqV0oJ8TMHl44l2JwUGz zZ?{_uZZc`mtPnESHj@YzDEiiW&Hqz?*QZBEe6~!*{cl_}cGBcC z`?0D1qKL6-6wLUPDz@mg6GAg_N-v3htsUuEAM-i@#RlW5Y>fJ7^T|)YbtQ}-t}sip zZk&EnP5=H+>@Tm=`DgIE<{xjAzjSR)GV?1Rk|nF$Ed3+3%49$As0V1eWo)A~?bns@ z)DLXohIl?WZiwnD9Wt?m+He$_nRN{w_0ay1(pfXpT?&~p(>N7|r(??ZeHG-MXpjkHp`;HVw;DvUnhiA*$LuI6v;WhB+xso zHgg1vrP`}WL)7^~soRlB;_=~?MHdPtK=b$+>w{dMzW8%Cqwn;FB=sq`^#wNq%7yP& zq4mVzea9CqaMHG^MQ)jc_4HGuo;?I$Lt0>gBm@MtiT{lqr+PCAX^OePETDOUa0;Gx z=wI2~&PG5L$jbE`v?(X1y|fV_W8=LQ7J`FE;JB>e*Vk4b$wF-PWunHWhxO@`CeBn<))(8u%a6l^?2 z(HtsfU_8$f6x=4NtjzI18B0BJqv&G0PfodhquqCkAKn>lXw82V{lTyt&*#Lf(!(sz zWYpj$wa|B=GOyYx!2gc-og$Bc;BL_`JrNePtkVVzNzkz&wdl4 zJ+}b6LEpzoPobQ&i$FIpO>ur)d)745!es6kUlnj}P^8u0R;pUQ)p0jaV~nbyIklx7N+U znR$lS?s})rvtp}lKCLeq(KNBtd<#sWMfb(am?h@bMx}2n6cr|8&7QWq7ruRqcGslY zNLCr?))}8W3*2D6Ww-=-N~zwv>Fun_<~hTVf9}5dyw~EKE>*Fef*o{LttV5W`a3>h zza4(S4U+NgMMla5sk4K|+JkYwIruIWox28_bQQ2{v9q9OD&9P2ASix6^Ic`1q+a#* zsHvy^ov}vfmyskEzZ;b?;pxtO5Q}(-i+x?G{aAoBfP3DA@Gps})$>tq!(Wqm=86oz z7N9M1xbl~55TyYGeD$Wr)VyoZZH}cIz-tjB;2UgWFj`=N$FsRI0f{6i^rc}b)ZrNk zno5E&)p1=XK?ZT0;`UD0Ag!*UY?BjHf}+j00{I%h8bXzpn$5W2IlHcSLexFrq8U`RJtM6p(3z-P4|FfC62+2_2XX0o(eVg3@u%k`bS*W@Z{&{bE z@>B+WKIC)sy2Hz~Omsv?pAm@=^8n<5;yD728d7-(kz3#-);&L4~{XEfdop zr|00duJ2E6igPyM7d)(3I71)BkAvRaN!`h=5B#BHB!MhP6_%0WsuH~~UZnF1br!^$&-!IQN^BRqmLu(M@6uP2-Z z7h^Y2HSbA3)%emPjI1w`USLU_|tf! zLN&C*`1XQ?7H_deDL)HhJ5k9nrGd3~v(2kO@yO1H<{G&~k=@##Dcf7Zf_h4Wx=IeKAd%;9enu`T>sKpl52&UZ>y)#J$=^erP?h)k zRZx-XGLdMz1Igwc_d(0;zXL%x_uEx*+MtzQ@Z8@Q#+mUMJY z?8`M$@EuQ{hqsS`PpVY!bz79fjW>7r6}60nm_oKm{Z|yJ%7vHxWq5MXv}$WKS)CA= z6CE+oTpY{r3y<56byAa!-hp;$LU{v2R_{NWd03pTc4JZVaO9l}R<5*H_<@L>c?;w} zgFkR~3q2!|o26#U%fOeT(S`jzm^A#EJX9tnzd%bX+SFVncMz8u$gBU$P4 z2`Jrr7|ew*kA3SEn;%_MWoGXPNWi4?kpKynF~%5k3ig*F#!+S>?_JrUvNlzNbf|9~ zd#@X);}oeyJdi4RE1B_D5(qpqu`7OGNdeGl`{yuc6~wBpKVJmY>PhpQa=FO1>9qoy zwPhghbf>*^)ObQXriI?w%+0Pu2>3q5)1Tl)qWa~{qr;!~tMHX5pHaAfmY^yu90yM= zI(j+Fm8x|1kG|bZUDQr+hR@~163y?lA7tUt;nhk`-LaL2E)!r|UhA6sOvkeyd8;8Y zRRs9&)*FY`9wDI66_eCUPgH~VbVvi2926+!y3UdR*z2bM13&NAUSFpzNiWYf}^HCIej3P+V( zbEjP3D$UsMuLVDu@0l1G(MMQf3YE6BxCuZy4hHz)9Xz$E+9UE_S+tSA&#qIoQyBy5 zA5?-T`E|mn=@(gpD_Dua7Iu_T%1KO4qA+WnPckV|Z&Sl|vs)y4v2qb8Ch0-q)~t-x zw_S=GdSu*tl84`FoQDpTjEsYbU>6&Y?T$ywW%h1qnQj-}2^9${5 zzjxe7WlXMbpPa*s#xTRxuhLiss66a7hzP@v0M%05IeO$ z+57(95z&tSebD{%;eVcbHxAcE^(=Ng?!dHK1RTLd=$8jQ?(b()JpPiNXuh;p$Ii#LUkNom zzFQtSed%rm;``{AN`A)77mT21p-QE&-IKtfL=VE~P&8uBeki0^Fu91RD>#^?y-+2Y zt<6+T%~oKFU9SwxbTdVs*A}cVFckuT5M*1SQ}v^*>V1hMv=IXe$&AM`+loY$0#d{X z?m>_FCVhfIe5OI8AcR-?CFxs14%RYvkiWL>nq8I~!y4J(E;Ti}^8Zxy4zambum zFv#<*y6r@wCM6q}AM`-5-DDIr2{O2(KIQb6skZ1Xu@u#`kart+{t3Y2)ZD$(iC6&;1<_T8#o+pm*4>K*OO8B#Z}&XA0F^OX#A zuX&>ZtsS{4zIj5<@3lP};g9@xqB1;UcfzJD8UbBnsEowrdJ~Pg?9t1xYKzT1<0?DV z4?#o3?Qi1I;ZN?GCU_Ov5A%QTn88)Bd#K!h7D*ruMc#=x4U!VKBqyX7g9xLtts_3U z@+EE!FU~zHJTqnl%I{<^c%l4VoZ1c*sgas^z_G8X(dmdzCybG&rd`~dy0~FQqs%Y_ zdxyOV`KxTBxgwFBr9oTolI&TVepr1|!}HAAoUZ;&Tc@kJ#m_LgB#JZkB;uEIPeA>~ z?JM-ymtqOid8UGq4lNMz@?-<}`-is7RG4zVF>BpEy~eUe*S~c6wUvPyxvN0gutNRK zyx~@IS6Hf1GJhBoSsK2v=$#@&K~WHJWe`II>jm}6rGqSo94p6C%PHZavQA`)*$AW& zVx@e?OM=aFbN*aBj)kknLJuqw+Vr|9jPv+@ohE{E?Ty2cIHpFPj6AW9BoSClW}m3sZ5v ztU1ur_}C>CE1kFQfQJ($vV2a##BYwD*Kw#egvqi8qo?ml(2^~W>nR`RP=M`Z`Bd{> z3s$0kG2FPuT`=h7m2+%{Kx0{wEbn?dw=Z2oC+Fo9S;MBrkf_kI3L5XOU+A7M%sClW z{J4dGJZ9K1AP?hIh2|eH2Xj2gtGTyG6`5qxJRzp`j+qAF3yF zKM=%bd@ujlo7P(1Q z=6In_ZEZep-NjfBbH>D75w{f$$EK+CD&i;X9uNC{U*u5`3CUU7XsZdI>FaFK>rT)yvs54??QDUmFpPcbb-^3^Aqvvf^ zA?H}Gxbasro1gl__Ckl`)PgXL(kWw!UP`jH_;p`CAdC81)y;2zAnf_76fgz__@`P0 zB@lu9Bc>q0@k^%jDT43nWuaEYO;GJs)nt$9=SbOp3+<7j4q_k730ii3WLbc%rn4mLmteoSgQRPEx)MV%Iz~T#q+AYJMNtd6i4fT!N!bxoI(YKiv)^nQfp3CVLjUl!oQ;wf0JIh7Yc$t>q4@wUIfZTINM% zj)pD#B3g8gedlU-{56KSx!cSAmKL!!U zTOiKXk5B^~p(2uajOz9}Qa8OG%tT@WhkTS9oPx^(l$>NP`4re|rrSH1g}h1ZBwOD? z5%Ziy``TB6&)l!NT_=aU)3(s@F+r+p@!JLEYEsJbsAYE^7;^Dvb;)Jys`%|YV!v#e z1snp;#Q3_oG#hCb=MhaH>2NkDmuV_rZrwHcMhzI$neq!SFmF#Xy2hAc_9_4~Sn`GE zz_$`y0WBA`7KfN1PRbU)gj$~exPXl!YW7h_EFzX3mhz5-jwkvB`W;-j&JSK$)zqxv z-j7bYc_(5vt`cuaBJI(RS_k8P5(kif1d}zps?CpA8`dF=q?@K)HLWj51;IPb5K%5R?>)hdJnYl%-B7;335uBWi0Plv$=@9ieaoRi(<2ae=^@V zW)^=d;R*&yg`XB2nBh)RJwcZwCYehVR#Y*8A9^j`V(#WMvw*-XKQwa^+`UvbURJby zd-wK>_}MC!avyh1;1A`kx7w2DFDhj2OLYCFM=xTx38G-96$RvAY zT*R^58dBEJ7_^Kj-Zyy&4iV!JU-A}vi(hRB6m5>UaiT<6@D^PlGeokR4r)Zl$mZqM z&4gfU5c5bcZt-S@{u&739+v$zXrmMkTqU(??_tvKx9*NZ7$U>Z^)Jhz`)yBK`VDA| zsZZzF#8xKd>f4D|**o)XN?%R43L=f9tw+^%t&3dl7WIe8ZG-Z&iIVYNw^7Usrs(Up z_E-x@Gb>@c>6et+_Cy=Z%?^!Lo+;m=u>{eXY+yNVHS4{whP?DPcHv9lUe>AJG&R2~ zvYMP%!)ri6UYs*YPimIHM&F+lvq_z;0uig?GjkH0@{Uiu1q})WHT(p*Kq0r9PnMQ3lM>1dkg*03D7J(b)3wp4ZPMtQS?vU@ zO>%`UU@fbFxv)Tq?R;o@6^}GxqZ#&Tt#;#12r631fLPPo%l-oK1yzia&mXwvC!@n3 znJ;uOf%Uq|yV@R2LC2x(!}`C9Br)6i615$w_FAAOKJmx!{IM`eT+$|O8zZ_Ue*?#Q z1ESb4JtG#Xv;bhcGMm!lZQ`{p-h67L8sHv7U>_?uk4Q?&t-LWxEq>_uR=39PmQOkQ zTL*K*k=C4-lC0Ooi=W80JAE4TeD?)!bQ`BaD5xe8V{VwGQ+{<|VEA%yOf zoBFC-I{oNTmH$Wl*%L{)Oq6CgtV;2!sF$KarreN7CvT+m$ILTq3dy?dINRbSZFNnUY!-jZXe}oD^ri^4%PKxCN!hLAMKUA@ms7#|BM7BLbaNSEgJ;okY#O;Hr+MUZBZs=T~Yn z(g*EKk6h}*>`h-@$;o22PJ^6VnzZyeYmbJmVr*@lCBM=x21R;F*DV4mEpbQCTx zX*ct((wwLk8=JN^9!Tj8Idt9Sz4MV zDJvmt24U2oA!EP7&u+>W($S=sUA7r9s8%I+D>eyN6NibQI90;U1DS|^bUs~wtO%Np za9j8L@af0x!r44`W|_i!>O`E}<@SqNCGxG@u^;Pm?N`**o77K0Q>F7CqUUr)EWPcL zy#;+(H@~WEMs_LJ#MyJim&}cRFs}pgB-GpSesHjCWx8`0s8_{ z`acpsMlBVp1lspE**X$>x@A}gVj8_m$;srYY8)La+}TGo?&JL!WcdN*Cr0(TTMy|? zNBT5`1$!esyhnRMK*wZylv2{HFPxh-`J*;Q;qm5%rY--LTZa4rwYUJtoNYLTOjQ$HEC_p69cRjxmmH_y6T*jw%fX+ z&CSY_n~=Qlr+g{|8#f`o{kO3X`YCDWT``3YRX$Jha~mGZnRo=Xo4ki0Mw1e@oe|fb zTu^U{vP?ObnEM-T?%ig5LpI2J)fBdYT%gzQ-6 zGV}C8L4`eh5(=&^O2PZP72kZ14`5th+Po3Sau`@ED?(Ir%}yyzdmBSr4@!zH&CqGj zF)JIl55CvTZE70|-HtO(rQY*jmnI{n-?Y%*hlWgAd>ZhZ0O`6Oj!o1)@QNvBoNC@p zS;Ed=^73fC^H?e6hg)SJUpS)-oiab)lcAN_nyNzQNGOsu94abxjr?UP|FzC`&#y$< zeWZ~tU)5ehOMz`=OUq;p4{l(h>x3S6-?%71B^uGts}ZED5<2Lxr`B&f*TwaDiI$QD z1g8YBNkwwMbfbeuVWreW)i{=LkM*rx@8nV6Vhn+~42VRqg(t%$qhH_=by}80+=*wY2Vnv~Pk$(k`kMaOhBwPTe8DuTb;if0%YE^avH!>;|I;t`gwpge%j zsLznrC%EySf5g5}yeT2_$T%Qg(EGTJ4@izU4oYEZk3AL-kowHnueg!^9@d8qp0XcB zXxK-DEq3}|*4dP(V?y90S~_Xj9?N{WYOQVYemCIZLKI#86wv22bUI4G!8vk=O@3ro zRr*TNfy))0lvf|iQ+z9`AVM;m`jg*SBhzfZ=V zzX=4rHEZ;|8PyU-xcU#1ZRD}`@hwuIN@*ZZxB;9lDi!Y((fFi>_T6_Hz=*OJ#+5Ybz~=i!EIk-%RHE+&(QBaU zKUbqr0az{H!Smmj>IGpSQH-mV+^;fw@0Sg0D<7E-cl}r!2u>>~huSk%6T!))EgO@X z5OfeL1s6SH`}S*@-qq6eMFm2*ur>+E#7mvrDu1di^IstJJ%!y{>sakC0K`b;Vz{&%3e=9gK;i4mkIqSbFO!pH z`0w9d-{ls!Iv$lDs8(iJZGML{BF!4 zdZ*Pq>=Edq%ah2>Y5#HQ5M;A$0vMosYP_mAiYlI%Se6_|Dx9tJ8ts3tHdPosu5h0= zJBrHcx%)nzkqKD7>1sY=?`;MD&B-Ak<}z<+aFokqhd+J*A_@jz=gu2tDKmpllbl6P zldL#rW=$ALGJ6t0mt@j(I8AplGKq5xVwis^4~O;y6EBBukZTR6?nIRlhlWLyF{j$k zDq{{c1mLwLNNPU^4|zp~7;ByH7)%hdrwz7Sa`SU?hXo!Chw3MKiW0 zXqQn7WTeX+?X0+2nqX!{)9+jvAySggsy^;bSADbm@#g~m)$*UeGDHGiXnyN;?&9Qn zeWkZc<3nygC%8L^&vjc!(C_KP>PjlZ@8J@v;`oPUP`AQBo_qqfN#b%?2-rgA&U4j_ z)8jDy61Ij~y&XQx@=hRPP~+vo)t=)AZKyoLf92*PZtpBDi}eyDg*}rvMX1~W--qPy_wZDdRLpn&ZM)J zE1wzeXNi*giXlo;VqU}4{IF^z7dLWGDWzQmX>JP~p2Y}8HhX1!(DK7p|36oPt=?wt zfW6*s%T?Pb^wy=XZ0Bm^Xan9wA?r>^)Yac_%6KQ+mjyO`k;f&y@ap^dv=l)GmQ$;9In#}1#G4QVLM==SZ2-`0zw=m2hn3|k zT88-;%EP2$d$#jED?GKtdBZ;l$odc@mh;0K?)Ifhwk?88>Jf!=Ex({LJ}5A<&uz+y zR~^vjPBQ&S!6pvqN7nUfz{r&bghmr$Xv#AZ3Mn&Jp7<6&x#P9 zW(A7ORjW^v;5-`ErSE4ypJ^f|+WdSx&M9l(Zl2A_GkiZx|dk z6ZK6?QmXrXiuYJb>ItRv&ddXC=2U?iA4FwLQjn#2rh9xpy9;slyZZw{C(?JG2gu}y zBd@b>1`!0GEt#Mk_H&#-XvBu!m*a((Tu0qjH@9aiudcl*Np_X-{I!}|`G&xmhgjLo-mC9?{mJwO{k83oVpnnG|+F( z3US3!Jkr~{`!li5l5+M^R1&Z{oDhUW3GtY{FKNc$($!a>Owk}xy%Z@};Rc(4ow@)| z(muoD^y9i7K*y-wvIhrl&wg;{#;QsANz9Q)M1K`?MlS%vZ-zk5(j_>v5ADcFhbb%Q z0&em%OpG9!Cv~_OQ~o~Fg0hazOYi66!Md1Nm(R?WBWtZfr4(u${5^5ub;v_PwB9{{ zQbdW~Ggs-72l*KnA~mcpF8ZI#xN574*M-{SuJ8|Hmkq=0S!J=Tgm+QK;y#XP0Rb8D z3l8!+oy!@%#{&Z6p>1dGuwB^H{ZHpvILB3;et4eKU5Q_+tbqSOq6v$Ac7NPcmBs?6 ze_|#mFXLU~KP*wp5M+WIo%xl^YU+8vIpiP~A*27tzHsPesl4w_8@L`Q`|FEQ7Q?|Q zEuh(!^OEI9T_9El@x9Jdatb-YHJ1DGTYK9)=(uflp^lj3{x)pt@wgO+ z^AAq>d4W;~XoKU1v_`RVGoj+A!Y3<x;Rd{SQ6>xWyH51=NLR3x$t;8e9s zA2TR$vX|g(s`mBah400fcQK@XQSF+`#<;$N+c^|GMPmDhwxplfzu*2pUnlot$WUF< zZ_9vg8cLxWRz80vF|dy{KcS2AxnZh@FH0r!{kvw?Y&XPXk(%2(gNr!8_I!4fhE(sS zsqwmbZ^n}=H`z$R&T0|orCVys!;UPp03Qp7P3vX;DYJTWIs@( z?^+%}0+?()$}9ZR$Y|WhXbJ^SK(Q21{mZ1qds$eAS1zqOo)xHec{k0TP~wsNB`NbI zmuG2=tV9g$OVa0Q_^T>5_G(-~3HKjnaPc{5BIyjckBb-%)FP!MEy2M>p>4|e(G7tW z>3Fy%Pdc7Ogc)tJ1U}8a)_cRd!`U95qE^>}_%RN{KT#Y!@xPKJ($Or2yoAu1uxL|( zPM~vfq2oEAx?~k0Pl`!AI^iG4rvu9b#{p1u0G@}})XnuaXGaXYs9W_S$RF-0KJ zVqa6UL7k8eS7C&tu%@IPh@!bdR#Bz+yHFSizEdz?Bl9&$W~yU}Zjax!TnPb&cbN81 z7WZ?=K}loT83PgT=xP3X1hkcy$->SKAXyDvBXuyZ6pxR(Oz<O=;6X!;3{PmnCkWGZ1wx-kt?^B=A+5B?6*w6OgC$ zgP2gAc54R8XcwzeftzDd{d=tL?cDl%n247`QMurDd)7vr@I$ijm)D#LKzMyX@SARr zGj0WE%5={hc`&Njo=l78r^K>GL5O>tS~%bxv+6_&*fJc*zyTGfnbnmc*0JmhM4@qI zHhBVmtU=sukNVgFTO7^c;jG74<+2p*rPkZCbuYo>om6-FP%5|?Cleayqukp zn#=rl4g^DTx((X&^B4a3Ewtmlde^+bhrm)iH?!+&lTiEcf*++iWVHfcoiC4=)46U3 zM4<_}nwK3Tewn#&c)N&viFoGCb!~+Uc*vOo6icep9va|c#z$bdd6FcYQ7c$6W`fUa z0iT~4xqlLF)wvR9$cJyQ*3uH{eI?-}^=UHTG^yKREKpV~&?8xq;LUQgn&t6N0mW_= zhg|(oI+bFoH#Erg`oL(4#~=rblA;M&I)DgEQRHEvs{+E+bXes>#e@NlZ5+pE3j7TW z{_e@y^}5zg0;B47uI(0~iopbD5L?$!Y^~E5jt&YS`<&NvK_Wu`lXT|sP_FMEpWPUP znXwH9gRzsbFIi@ov4w{0RAbGSY)PeKW^7}h5ke|!A(bs56=N@CNl_|msnnsIjyf_w z-`DT&=fCHW5v$~ktHJi=Us1feq!pJ+7;v}oQI;zmo2c8`|WjCi$uIw70{S&J zULGySTFXzsHzb{H@JdpYVi}AJcuK6ObIj|Xf5fp>!jwscMl*)eKYg5znUhaR^p#_< zOOlDh=&5q4ne(tWz6bgN?8=8z`(&l^Oz558Qg@p8XY;qOJ^U^DF&n`%vg{l}w=cm~ zvMgh>BH{($bG+tvA;>P^omr>5bDBLh7w^1x830P5KUAQB=x!kU27}K`OCE1LJ9s9LO^1B zW4KaY&Q+`2o8~m}&!co)pxAS}4oF-_B0|3Pr|`KSA}@W^E>>WE0PZXHlislzry1UV z4RK7wR2*6NHJHcLS?$N4Q9~XcQzaQ51M)rQ)CLqsJ8K{haNJxiS`#z^YQ$;Ms6KUx zdqiWpX@9!uVUUyX9mZu$jPu=jH~85SQgT(6;~3g4w)nyAtn&`wz-0*q`Y0Wb ztp4|2*T1!6sxgPe^n$0zC*1WYTe;LJ0TH3>={g(!dN}g?Y2|u-T&v|zs*-U%ScP}N zd`m3&hxZ@Zi}BUI?sK_X_)8`MPo4)-kINW(i!}oC#6G_=@}Z6oI;ccBDSh@QOu#`cx&;ia-cqmP>ZheW0LBzlsF@E zBSSZCr-3u|cV-y*>_BaCuHu$?g4+Y)#(>7M<|)Rh^TyH{Z?NacO1F?*gUaC#S$d>O z=X{#r$cpo9FcL>bR!s?b0>rb5BJLMO_yXYK#|5j20c$_H<2P~I$E^=N>cJ_F++mCe zFkv(l)C^T)$ic9j!4&)`e?ClM3YL6Mo-fm~36zZi*r4+D3elm(&V9aTVU@t_qOuzP zKW?E5@bYR4blWxPZTBOQ1;qy7)RHTu&5EXH+niQB>T{I56Y5Qho@vB+nDUfuhX7>v z_P?9+Bpprxnr~8C`6|cm(3P($cKmWU6xb2udCNM<{_iOf#Rv9hi$r%g{Ru_~YsPyy zT1giuo}JSk(3@hn)8GQ~sW?Wsep%dYnrUTEJtv&_?_wt@!xwyz?^J;{{1!E$UAq%` zc=ng5U*BPO)NLj(yl+SUHr2wH6JD`vlRqUmu_HQ7kr~D#3usW2XJE^?HgtK!ooRSm z>kW-h_EleSF?qv>Tt+S}&s-PG>i#lodAjvJ?s2vQ3QbZxb~l;q?8+8(-)p^1tGPY9)_CR5ZB zZRDln7QQjm6w&8#%ON=f*pPTF%T|o!jF^Y#73-Lr8yA%ft|%RZT5R+sglQgEBVV;$ zdVZ|}Gu-_=cABNk)3nNKs*(s__|+6qKFI7xOBiV}-khC$+f;$Im3Sf0w(fkgdn{*( zrPxTYKyl-)M8w-qH=qzVl4KWKW}1(Te7!U=+JcTij>PWa&Mm_J0zh%UM)vn_&`l7=b+obO}vEEXX<=XQ^39UGtt=%e3-SBjk;wN3>3Zx4yG7(2rc z0mjBBU#<$4dam9Q(_J>EUWYvDL>;7nf1S!#{MV!#sD{O@Lrw2zP#QGjv>u0q<}JrO z_~cIV@NsZws`1*-1cJ7s!lJL&r#e<%%emBFj`?1Rq4t4qJw0sMEM){=Y+lw(ic4$x zSO0apmVH3X_v)@oaY+yGGUF_p8yx8EWOWZ(Q@NLPe>_ZF2XXGoxsS?szU6<`|1;B= zhOB2GSqK<~cv8arq}e5~&Qe&l4Op3^kzV;hk_G~0Bi7nS+v#6J$7&`Y9ey05a8!wp zvbyb~Oayz<1Pcmm?sMiwJLk&D3eaIc(YdcGHL-Us+Lk5_uAWVBs`0ftRD)@OXW(($(Q@DMOo z4x9+Q_V|*NXB8CJFNL^vYU>P^x}?B}Ie8l$t_?=yI^VeJ1C@xuOvn)d^? zj)B)!={0TBJCg#k{U7Zd6$m-`yPoq61(BU z3?9x)HP;u=_^xY*#+lMae5QZD&p|5_>ERqa^XQ@_5P+KUKbU66+3m^37z{_r8F`oe zTsFI3@LVgb0pN1&E<$cBZkKWWt$>6kpObeKG`v@7mZ3dX^YiOs&$++9zqK97m+eX7 zZ%iks{r%n~vVlu2P1XK&svvc%1(cUs_jG*+_$rc%5hTv2>ui zeVugitAa!jIIt0h=y74Z!ECuODw4oU3ev|nCvLt$)X*DI$;3PCndaSFIWo-+D|xJ@ z-CMS5e6!#@?K*Xr9Bo8XykOdXE6YjyMN@V``o3eWqMP}zwHv+qVKp(~)#;)K zDSC~Y+GROSO;&yMG=s{qVOmROpvr+xCvXF4zA?(nVJ`BfbT&M8KOT~3iVeN@IIlZY z(wp>akV{5@4~VPre{QwvwSASanZQT8LO+K&h!~BBZ6MnP`DqSc6>tT|uH0V_x-1Mv zL|@#QetY3Emnje?>zaY`@F^G+6p%b^fV5oIHkYP}OD;Z73_oPMu>{f;Bor}t7R0Tx zfueuP0zb&ct~|RXm)I8f=|<9r<>%MV0QT%9IYJr@`Kj1wVlPZD8g(COD~2_gfd`p% zPa-heuInejS4>gr;pmZ6db8iKTvYG0nv4*O%e-#m!_30gHB@&H9yQzKvL@j+2(>E~ z;oeI1@L9Z8=|;P154x|^>1*$!o)`)(iR{3o&8T5~mzJI{;6L3M?Gg2z>5 z%ffnIsW~0daM*Fw`PvAVPj2~uYA8-B&L=XW$0k0mvVd=oI^Pxqq znt^cI={r?QHVUPELD@L3(Lf(*yRzlHqonT8dw%=z>m@WB=1XGaogriY5kl?O9qEl8 zgTqRey_=Ld1cLPz>mGG(5am(#>fQ5Sgp-dQ0bpam!};D1rbQ2D5k9pYU!&~;X2?(D z5uiiTDR$6_T8_vCPUYW*>|i=cbTmY-?M!oR$gfcWlk0)`(Q8@qKQ@k%%M|gx;!2iq z-Tx0uvcw8tV4=qXWTSRN}f*Gr5mz7Gc`4jnMr_~ z^o``_K9tB}$;!qLqypzz5;sr>g*Hvc+^1T&p3C{6c|bTDCDBb8SCv*e^88Q(;uA8? zfrrkQ1{h`PE#!>*|22mb4iYd&X$n8&h*eb7Jv02WLXHZuz4v-eonb6p^_XE$iK1|i zJ0Er>2QkXi$Rhzae&q?u8$Xe*qQhdwQ0Ef2@LP;M-319&P$)zC?M6!W5_qTVtlM+(;utNWlN4LzIN)9v;u z(neY4A2vv~p^vj4XRKA`a^P%oe0|*`Lo?V$BbRfH{qcFzo{( zXe6Na#RU)n-|mrsE`SjMFmZsXDQW0K4^T3!l_eGu0rA^pXXujH2p>O|NIYsbl_F~3 z7Yn6UeX^vn?}^Shr5(6vpqj_Egg#w-mb8S?j&+Q+*-o2s)(M|X<*24A$KQ&sD`gxY zY+C>65RN5s`uKH!W|;!PQsJZxTp)U z>vjl?r^cdajL&^XkEqzWJCcOI0$lLRi zGGeA2g*FVTx9YCeZXlje@zE0s3`vvC2@=pyuAaYM3~Dt#PYza;T^MuiY(q?GgJDz3 zhxy9A7akjcu`MiD?KIhYe#6A{5yX~f4f+&-(wVnbs)QUApa6vlX0tLT8tHs!TLZ_p9+=1-NY5D`w~S6g-M?_QzW-#qPYCal?p#SY)k#_~r) zRIK_jdhM(7n_aLV=ysujz#~;}_0i|4Ry!4t<0vl5c6MkBq_<~_L{(jwYdqvTcET9I z_y2eSpxOsS?JyJ4VDGBWpSK9O^w0SiE>B8T{1J|A_rSCPq_R)ue$)9P@mz+Y@Y_{q zNc)O&L1T7tIN|Hkj-uj$=XA*g zh5r6D&CYA#?*#*Y-PK6{E(O_C@PB_V&L!G4!ziQnJY)HZ6WOj0y!m6>AvVfgIH|r) zlceEvv}b0-`Va@dYNr@hao#1yO{mK~Giq1BtAX``Ca1pwm&a=9w-Q!A)$0ni_wy?R zr+p2s;(M-}8eE;~OYLGADEC;a!}YK%GzDOX1wl|?5GoDaVh-nMKh zyhsA^Si`{BOj{wSTLXmTkQU%}xDza?L<34UT;2#5)`*3?e|q>>Z0S*1h*o83q#nG( z^bjljdTY=PX`e^W<_qGvBAe|R3DqcJe>MLoVUdO_TW{`9JiL`M!@0yV8r!~g$-gXX zOeD57H-n`Sc-~T+1I+G62`or!0@6-{iMhXF=X|Oqzvui%G}*^KmesTZlM8iYO}K27 z<)`urw#KKx3Z!(|*M|z{xV_gd2rslSB&Vg0U%i#mkN&PKBEn{>AXr)aC}p*=B34A%(5w5p;fj_j2t!K@{Sw>n(a9~X*(nW*0~|0SSx6=&_swp!A6@(~nt zF0MpfyD>mQF7~l}MjT>CSi60x4VkIxnL!Qq7dz}va?Eep0wB8rsU7Cc#{dFY(5d9? z-=hb!h8^BzC9ZV1N$j0_zbOw)AE|5tpZfrrao}UImmlv6Emx;&;?grrg*xVWYb;J@ zaKrOae7NjD-Z=74xx!VSD;8^3=c@rQwyocq(M9unsY`%_^LPP7zN(Wj!%r%I(-zkt z^l%BTfWYY<6nyYZ{KE#yn~)i(V6#xpcqrbVxHT#Nm7sd>JYF~0!Nk2gCpsNbIbq{~cs z6lbR+Xvb`jt<_)?$0UzSgLOz+S7YIz-VFcb+op|d-wiN*95@$YrKFf`$VksT09eAI z@hO>tYu%|Rh$zAQeaeUk()BE*CkZ)e@Ngt$2fVf?V7&!KN1KCbA$R|+W?0p zT>MnS!Iz)}LwQ7@4#4G)f`X6yp1!FlKyT#fO{M$wJ^U62^-h+I>cK^WRM(!GKG=}Z zE<-VyBI#yj8xCcL=@yg3Tfyx{%Y8=YG1fQIxdMDF@cHe5mkzo?%9a8}RfZ{LUw3Uu z7QLxePRPg`9}-aeubuv(i{8^Nmo9<@;bD_w0__0;i9#Hp9_mP6d1obR=A; zuwBE{N93Q4lR_RYV7690X_gwO91;TqGNRDUsM-pAe$V-<|Kws0QHzZIo>Y8BDXp8b zsxUvgCDQ@+70LwfaIu_Zn5hxWZHg7Y0+d(+D)^ABG{l}b3BG|CkpIh~loz|hdmK>a zRjVXnj~4(N*9(>Q4v*|T8|>HD>>Jx%;mPJ!4lQ4u%V!apzT5RwaC-YwmM&gPV++_r zWQN?nUY(fk&lY>qkP!jO(A;^b2fl%< zK~H_?ihz->NP{3lZze%c?bDmQJe=gekxpq%N`YML=UoADfKp z1up-W^)H1G%D8N;iG3-a|48QGDIvDbC4Lb{rivRKZl*$e>T>NHE{)hq^w?&+u-9SR zQzuhApq}BbdRu8X|H}gJW-0Pb0d{m~!2D#=l=>36W9$5=UEj^gwUPi0kk&EYD7s6c z0d&lv^549ht`|qM2scvuRCP?@EG#<)?fczpDPG}k zd*Los5l~YB8ElXiJI&W=)6_x~%EUMvpQ5Q|*yP|gfX#zt-%SfK7X}mP(@8Yx17LAM z#WcUgtwICUY0>xyRQO@F>P?Znx4-H{c=vMychP49drYYxKMqZ=1t5W8&lg< zE*eh3bTO}Hr4?;{*8Bk-ZdJPVuLS&tdiHY%|^-bzti|Y1U=X zQeXdg^{hl9ESe7Wa=6^qRo9`FO>FcZExA77fM!mE?1>qspXB|FGM3LfJb9=Z?R58* z{_um*f^k5@Mg>ratTb*a6LksaBcwN8dysfPITFX(9y zLaD#nByv$DOkBh2!dIZm6gFwSQ}#k(5jiV9TtBW)^h$r$S?mdyj`F00XSv;-aPGrc zxiTR?VC#yBxFWZ%zY$u2Qjx>{-Ijl+QRdsaOx}dg&2YfH;?>Om=J6y9R|URvsYtb3 zL1&`K5Thl>pS?PP)7SsBZrxLvigyG-R&v;4!;R@0tHU!b`Um4SB#nUa^KfrcWpo#e zLe3Ppt|n-u9rJi8m6#ROkQsa3{=&Fl%HT*4EhF)ppJyyc?7)JK@hH|1$S5xHMrGim z;WEaz*H=EOpri^$Tg3I4lMZQLxpPm5P}ed@xLb!}v`&;BoXABUBHy3bVoDIzV>i zty*|_|JcGV2E)!{i5Ex$5eGXwz5INa_j#;U|n!Vj!mRr;HEVK=E zg#VYYdZf>{Haz=n&;>nbH_0b;JvEYgp?Wg1S&uLVm^S5zQ1$HAqDSu9znVV#H!Atw z)%Hc|o8=ziRi;*@8~?Gs*T6nSgwf!YXhqPA`OE7;MXBsGo#2d!ca@P=_P6fL+iO5E zT_6kxVz>L+@xI`N#ihi@BdnH@x@-UT@~To~}=c_*`BsFJ3FUnO`h|7yr*_ z-c1D6J(YOA;3e(RRPu>AgNCe#GN&ko*F(Yi-ES8!c{^yApI6U1Z@N`bZeSI{O)sU`jM&e9q6^&v7%(9EI z#Rt-YC{iYHjWjbUjKKp>pjaMTP`!I2@!#licSjOnfu8djIX-XBPiDpdTT6+* z25<6(#00IZyCD}%WTN399iPh&4@3P=1{vJ$&84JTQ!OJpsT3aAIwxtsr9M3!0M{*J&Slg6)5g@^G)08 zzDQ)jb{Q~2G_T0}%myqDVD+cUjq=!y`Yk&bD3~`ms*)!^8(LAlZ4#ZK1bMr|{^#!D z_UxVEe4r-V?bo|hAB1IMx0)kH_aExRydn`_CI3#@5^*K%DP_Da+tgI32x)IWdYyk8 z+WkB0UMxi2M#`}U7ZBJn*$It&oT()MJM%97kksU%zvK0NzJBmH)qE%WRp&?~Eh~mz z4har46&0eaw#D||l(D+Ij)`Kg z19`q4LSgiTB$QiKzJ4imI)9%ll`I38*OXKiN1)kNXMleO28% z;ZNT2TW<*)K=rQU7O}6ybG%bf0synD#Hm8*l1Ly>`u6p-`3hq7l-8BkG2-Za+W@JA zKwa-M7tqs>MGtcuts`=T&mD5ti$51PFMV}3S^4MTB2LD*><`T57gXs#d%Lwyw3b`D z$+ydOg!s0VEOzujImDcvAG1@WriVFoGws=On>SwEwlypSkV&aejy9GXP-2SoCS%~~ z&Z7{$E2rc4mlp13dbNBlIu#gbdPnNr={7q1(`1Q8YpsLYw+W8OLjd#18sPDx!-|hH zH0qAF)7X)XtiJzRKb!v+oN-_f18s&7a^_xnwCyv)NSxOGCq7$mRbePqD|RopHE5NM z#v5BWaH^EXid6YP2SE~vC4e)}tilGZ45V5GZS?5{XYf)5J>hlp37NbqakmBsbLEl2 z49n}POpx8@O0)k3S5-w9AD-J8bgTWTBWHDC`{kX(|NbwyTB_E#vs-BJ#j$GZ(;7UN@rswrlKBNj;r0qM$K?+mJuCF-m zDrY4$jGFdtlii*^(WDZ?G=l0K(Asy}L%2ojH;Q}t!+XzI0YcYO;{f#$J4cIak2X7_ zZ&TeC+E4K|eauo!vtzWqie|^+VgKI{R_@g1zquc^#t_V@JK63S!sq;ws$!^eNjz)V ze!`FhvBm~l|x09Nd9{3)`% zL|>rd5XN-3WfrMi24EFxh4+u?@L#ysY1|F}K1L|mnHEUYabL5$5RCj+RPv%kYdYDy zfg}zG%hiG1EZsV0t+5fE=%aFOeI#)C_Q(wbKws2{W3`{5z#<_3gelg9(Iwcm#i%^lwE`f=3fF zf*cz?J*cR|9_YIfsqcaiYEDTrA&(Qg^fHV6XxWP=j_kG!o^Ug%vk{~lcO0|HXv!|DzUW;SW-m*` zyLVJfbYsAxc_>z=UL*h4D;tAw%8R2^;E+j8x_%R=mQNh|_Mnj|7!Lw7EzU}vf+|o&6E<7(jgoG*jG7zUgkV!( zY8`3E4DT$>xu-Kb35{M?qg#fIul|}mHSH&HMBMFAtQW=}Eg3Rf4b2Pje&L{UE!N#l z=NYn@&TmN*AGFPQOZa$v%&|h&BOT$543>Vj1T*{Gu2;A%5Tg2KX_PWdj&E62K(i%T zSdS_=Q3)CpYm;6Om>1pGBFozt)~i(P@UE&6Yd~F{p+oNdoKuIJ%s9F?e5gg{k;U$h zy6P0v3A)nwEJs%-Tik|}a>qirE}wowv84l2IC{LXgI7=*MS z8P2~!p4#ltF83fnjJnwc@}T1D;z!+(f-kH&tm2UglC$L$(4$7F&o z)UI!`-_#{c7h5GG=kI#PRl~8#_7H`|dL>8v7%69~@D1)cE&J1Kx%>($SQ@4;x(tA+ zZxsSVbX5|X;io#)Mp9`E!<*$U!YqFg9!e3zFE-?@`V_)kl-z zFVNIUvN^Qtp=q)UcrrxY+!S0+lxQ3sR1M3_m%3Ri`*vxFUBDcmZPLUwS(7u2Ri|@; zZf6{U$}kTiOEdg*)NwFWyxx>;I=CFI=RR5TbEZ@Fk$xl=?Qo^|X?^-uV`*olgH7^` zUFcZ?VNym_&vT~ea2uCkFfVp8>ASs+NTj+;f2AOeGpetmFOZ)?AQ-8Xp7HoD*XVAq zs{2dCqcPO;!Q~^(n>JiR6-LR;rPwCPQ}uE4QovB;Xs{y&9AdeaFRRW7|1da5N5tHI ztexHSR4qep{6oN+lB-1Q($h7_#}XT7SLzDX`n^S7<>W8>#QoMMG{%ZTJDxwI-`Sq$ zBu)$5v3UNUd{U;J>6GMT*-$OD4{w*n8Nc+2e=DX&KX$xqG z8v+%4Ge%Vxa1bY!C`tp6{tpey>e-HWYjP2v^i>>R{8_yh)gR)sR&5?Tx_Y^K@VM+_ zx`rkmn4I|!@J8a2lr*wVgQmP{6TM&(vdr)?w?eihqd*cn?gZuS%~J>ckJns7hM^wq zv_aIY&H}9t_BG1I=ww93%PE+^$D*5iYY!%}j0DX2u`||-27)oV|At^lB<#2qGAbEORl=P9$U^>NtnS#H@(eFQyG6LFjrhb6=wla&Uko115_t6 zF82sNTkJ^W48Az*$#1uaT;s77H}nsC;-@vD_FcFgybXPWkU^CD1c$Gv2S*6fRYbQ= z*hliDm6W9i%Spj{q<5lRHjV3OxCDLGlCwXFGU(z&~NXR_ss35GEf;3ZmHvwX6vz z{BlLN-TC;Y8J=lio?dWq5iGZ`d%q=j;(Sg@?T_le@0&mF_m1qE#6>Sh*=LY4;mxmV z#IISVycha!;W9w1mpJ_V=YOIeq$^4@!1S3JWoUy+k$1i$A43 zR9L>FmLf+DGp@i9ln_z@!KtPNM<-?kxI7(SCV%p=@gWUNJR0!ZagMSrN z=|4boOdw|Ew%9APL7K?4bJYXZFJ#Q?(#+DYe{xG}3B))yfK|8W6q?d9LmU((m6VAf zX<9m}1$nV#Fs1(lRgnB`nMH&TXyXRd4MBXu9(enXJ+;n0mgDOlkp3bOQZ9~$k1N1i z7|IOLtEH=|6t~MewMVA2Rt+9ijle(u&p;J5-iYh0h1Dg+UO?LLqjHNAU@2~VzA$Fj7 zG_?!UZ7BAj;cZXH+gc6LsD#I?hjbhrSavP(ms|@jP`6ZwL>R-Mvr+pcwnxY?Xt|Gd8)nF;l3{} zPMk=g20@%xWFS117}>->Oi3HT3qC-J@N6U?;{c(9y+koh8XODkgD^}T+q@bma{vhujR7FPXCIEy==40zJ>S2 zDxMb7)+A&A_hGtl2 z>gZ2Z0jY9Ev!jF5SW4ZO$fX=r&KRID1p=k#c1AOf_Dv5@ycg->y)0wBqOp{A$SO!y zm!snXWD%oopG9>+1vtJiR2A_kXbI01BvAf~$n6X$u^Cl>68ipOymi7(9o;N^ zfxQ7~3;T}i2lCKYX`QxK$WXVR%NfS??wR3Pl4)5v4eTOF8#g?AGEbLYucTRn3II?8 z06qvNieRJE!pbJuD2E5CVHEI{WJ#ZXDQzHn98e)lDNN}*pbT@ugg8L}ss#Xyn}lrS za|$rfy}bTsziY_h5va96TjKlQ=+$t%GP$_1VrOE|bFt#YB0nzz=d3+R zIdIi&j-71&pz!r%z&a*9(@!_8*2GgS>THR5Jfe@SNw~X8w=F#b zb8|1P9#ev=bqdvrL`5#2AAa65 z__n*sZ_fj=h_*LgkYwpF#j*3}D+hTsEM?kl^FS?~WC0bQ{-7OL^qi>G`Vr+y2O=Dt z1rN2Ful^_;q-Y#knWFA!!L!~uL|xSKEDC?D&(aNH+5NHA+#8S)A7vu7`@fSlJ#2W! zJYOedZl1s7n!0t3ui$vTVEE>+ao?%vzL17Sho#Tp&3cRxnqQQ{x|}Ht23Ee4%aRNb zEMM+pO4pGqxf(f*ol}EvchjH$rr2*4RY-oDYDx!mr2}sRR_V2_n=ZeMp5l+Y&c*jp z_PBGZ(3hA<5uE14eVYGwqhQ+x7Z~LUl0D?O^ck|@gA@lgC*`g_{&=Cs-IyBl*70)BE+c7ZTeIN+{?zaJ6m7)%uG2%&G} zJD{yg&aO$Q<{GToJjQ6^a?hGwQ-7gWtEgnhGpWmzGnekFAB;?$_+p-~sMXbfx%oIbNb(6g>);wiR>RTfC9~1g}9G9kB z$J2A*S(8AT0G_XYG|${IuSM9c%J&N6Zy55^aMPz_bu(ce>QU)YaAH2Y(Aa@+qYA-zvf4@N4{)< z2}xIboPJ@P6Z}}hv@jvs3i`?wf2%>nsv|9{18kmbYmfr=t9z<;pXX0mvc{a^Q<6JUdoosPFr^>*EK!b8(miMmrs z&!5F~Mf`(7Ld117JBR#II_5-1S2Qd_-F%AuX z#NmwNh;<52tBiL)=(bi}|LN$s{PEGa`6Dx=SJ?+uC*Q;z09K_i2#ioj?>i8uA4K{O zL}9es{?~5*-+kM|)GZ!SMOL*Oe9|+`%wyotZvUaZeg&VlzuMT_XQ!<}omcMm2~^_r zPxp=Z)y=y>!df8U7C^&skahw~$zeKyeN6r3Fm@;C;TJ&9&}G4 z?Mo4VkD?~p06!Z1`{n@^2m8DF)gZ;R7xX<}TTrONIk?p{T|VFLh5OOakl!}B*N$wS zMpoT=i4 zbVkvOtyz57^mI_M`6f12??s2SEwN0qpmfxIu;OlnCb$nA4*W;wQ_)Y4%MOjjdHp&H z*q+nb5gh4Q7RdeV6E{q)4!-#u0-3%FusjrGH7!Feiak&b#{nEZ=}2SR$=q@4r{dj)fAi zv*Trfw4o<#zH?bwb#P6NgsHKNVHb!{fW=8=?wWuG(ja^Yd}|jI=3K6KTs66`A1|6l zwRpKC4GHIBVR1{lQfnvOuJh}}<9acKC>Ltpb)t#qw zoxlg`^^NZ0_9zWfYslF5=Q$yTO|@V}AVE4p(Z_FIiddhVN_<%fCS_Hy=&vHlAHbee4t^)dIY za~R|64{LDIRypH!5vJrk!#HP0uz1tzP5MC!r*xSd-y}icQaOl?jBPJR&1*B7$ER9KO20OoEEI zAo}}Laqi1cvcg7}6y#)HbHFH%(WPpsBNnX`3Av}$S-7(dn<_JH?)m}X68KRrWm1nV zvykLQy^`>f`%yNsAz}z~WUCCEm)bD;{RRQ^G%!=1l6N4L&;pSM^@MF&`ZMx=3lIc? zeV76$`*6L(2%W`Q8^C^RL^|r--lvAt%%abYg?Tbhb8g4Rex9zY42sECs;RNzBeXm9 z*#)WQ61TZd2VqqO@38Lm8-4+f!F8OqALP4An)OQe9{C+eqoON6sb1xcF2ke)K+;M1 zMwxP690w(hjD;|+MrcR)nDpt_GtEZoej!e_I!1Fj+x2CU$hNNvi%I7P3y<&b)^e?X zn<|T#Y(}2R>-LHbCyQ0pGETzOL-5QJqznlFQ>FK#w*#grVotwlXHcX?b}-UpqrnEz z*urkIs@)vuSCsQ2GF`-`2+|W5MJXs(3Fq(X5V#q;;CThVp9Z*Ux-?~bML}O3a>IbL zJ(S7X7l4THr7H%JiHz29&gpToKzb1hUZ~KBE^Cu|bmpRwR)OXU{_VLFP z8`RYW35lcq${0nNsWrZ_eqb#?v2w!&MXqQkz*~>>9la{?>e~mFna{=)HfPJRsg~vQ zS>c+}adCGC;qS|Cx0`E}61BeRZ|tf?TSZ>xfc}z- zzM17=V*JxzC0C7SYce7;N0BCU!NV+(>9Py5#4>xmAj;)xrhMc=4gFt2)y>VTY z2h@xUQ`NJ1LNs<8m+JXV^YHmu*RoZ#Z|GCJ#E%^EU$&(*22c5Z!w{jVrAm_7m#)<^ zjbxJ`S}E1Ssd%U+OAmP>bbvVh5N7gMeQ%V-y$cT)PZ+Z!@=~#BQlpzN-BJx?p!yMC zKKrJ9bLgGu2qCFP#-PF;onxOOcKnX%fWm$tKkJ+)P}{S?24%|Xc*8`h0HPfG<+lJ| z0r*p5Q#L%qK*V=-9$F+%N)G1NFZB6tng*!+5(Ng5qB=m&2TMCZ)}}76#f9qN==e}p zdnxhY5CSi@OOa$rmqF}=tGUzq3^DH0hEvj0Z>MnaT!N;apg+j=Wk~CN#YY2j?lt*E z9?YyWqpJ!Z*%<7rOciFYj-b=7z}uMymdSo?eq8Y?QoF{c$O>+w;jt|LRUE_z7S&$r zk+u?RG2mdG)XAL1>Juw^jlGV9BAXmHHbA0KJVX%Y%aZuKB9WU>FWQHus-4(24}8JG zrmNdHRkZ_=rs5C@H?l~Q{q0Bmy}Q!weVO$A>HL|b0qk3nPUN+Ip;Kk6_dlS9qx_Ef zzv0=*eL$t-W2>9rxf)>f^zwHZdR7UzV5z@oL)PA^WOi`&@u;#hW^Lu8Cz?n1l)3*kaa^L^mk}Zo>g8hw{V6u9p_9h|y&%6% z&~9N0m*E9WM;lLsWNSr3hC6tDuqfDD;RNJsBL|S|e3PPVoTbbRfBp^`vR(Mj&m7ao zh8(iM1h}r&bk(CFy87D!YNm>a=ayi?iv-x&>trE!Y<9IVOApuOY@-FNI?@7Wl#I9E z`M5r)Bx5H?wLofb#}8n?d6Rv8HF@SJv;&T1h!IX!!j}PAEY&Jt?Uw8EFzM{B;d8+L znDWQ{5kTLwH3^GD;i`Y8vJ*)+E?+l1U*TdeG_-5}bGX=-_P`-%$r>olTVvrB2s5 z{>FUdHMECW{IP1S6FSm0zxPV+nbJiP9B!#J(F4a%Zo4SU1ae%vL_F_zLDkou0dAiG zkns&auKD^x9&JG-M&K~xWWDghaXaIVY{BT^e?;T^DFM2ThV@#O=g5HIZ~YS;?{wwh zC+JENBaC#ZWKxL za&oJlPm6n1`K`FQ)M10~+-h+VFevQ9&-BBYf5+*M&@5`yHzEm!S)=$f%D9js zHbYsRgSc66=#LhqIoBKr^> zBq2%=nQ-Qs7s;k(;4_k^g0MTv(1HA1QkcmV6X|Ed`hym05w4W(WXT1Hj-h%G|fAt(Y?_0B-=LDzgwWsTlq_ zy!1>sO;giwyzcX}-z~cT^@iMPN|&~amV4X}I}_}vz1+~dvGSp>v7s;f0wX2_;Jh)M zPpMneza5GX3iY7B^syr$9mP!Q%w^&Lfi(c&dOtFVu%W4uOcKZpqKP|^i-M|i@XtRy z!{ss%H9>;Jv6h+IPj>Yl@<((wmyR|UfaC#RkZWywU;$XJF1}y4AP{@vSR8S7&yK)mjFti&)Qkb&jn|T>(rW##snDnO{;RTl4bNjRA~I4OJQ=>@!mbK} z8Rmfxt*AscDVDJ%`bmRqf~53U*-1avUgC5iN?zD{`|D3yoN*fa(^Cr zdM)PEI&z%s1pvFR9EEJz+~gkq%mpViMniaG$n~cO)tFMtJ&y?G_^PMs#Fn-ojo+<@ zhO3U%d$yoj zX69>bEIcmo8!~A2XTfZykg}N$sw`Id6$!puB{)il?^h#ESHW(QM3R<}A0TQScvuh# zdRKW;`wS>0UnOitW$TlwZ=VRf{{}Ww>?f(}P?$(-mB^2%{gh2bQiFbDFnH5Z8G*@u&}xTJeKQv_Nxkn54-bMzRI``qlpWQRf60^%7)s2z93XdJV=+@ zYYSCD$d`K|L&w_iA}b_qShbicQ2gblLTR<+3;>K!1y2UVhjl)gn~%ABxOx(uBi{Gsqz!2kakI`4lf|2K}G?Hu#in{$j~bIk0$SH~Wq zgF{wDNhReR=h(^Ksbh~28A;;c7$G5qC@WF&mDER)^YzR954^AYzTc1QdR@=wvucTc z7td3)L3*OW3O6hX0E<9D8zPyh9pC``B~L1|Ckm#9H${HI{QG?VxE&yfXBr^;!}~dx zr`YGs*t7S%ySQAlmqnFDdJW#0+G1q*`x(9uviPTrKz&iDBCfB3s=r5afLr(Ba(AQGG;Ap7H!kGEzn}( zaZ6e>rCucG(w(aMsQ(=QC-z>$+)SgLVKGa4cP(`Y@u3Y-f@eu0BAjXPPAV*n2xb1Q z8$)z6MZvz-V^rQAOkRH7MSBcC3zPf%6uvP?pe3{bjCKQ!PbDAhjuNKmlh`Mue=W-A z(`Zrx4pVf?b9A6Q(Sj|Yz(WIb#EWSuyx74nldv6>$8j8KYH?dOAbxg0dlNnHF<6v| z&a-BUHRmhwr++OM+x8c0xh+Ot6RGc}<9xrL^$=28dpnBSw#dAVP_-=XiD zihiPO7lC%38Sfm^oJIRnE;0Ifd`M#dzNnjZ^jp$oXKkAI_!JkOa3bGwOpSc+_O$Ix z66*GEPf5Mgo?Kg;e7huBWWhxLw&pwib&u?R$*iRZD$brtHx2$2v6cW}pvCLqt59Ls$oHc9hQ=V-~ zNa>i&a(r)0>TRfCRSa!>UQk(Bz$gb{h_Qlq3Pb_Vs^3et7vkIAS1-K3`|dxhbLJ9D zT$WmTR@XHoukfUve669bvcypYYf`Ka`a7om#RC3{7nKX1qV0f1m$|r^;kSmvcK>k+ zP?mWgbdOg^6cO$xjCM1y!6H?UTqLN00aS+Ivx^||MTv_~|8{#E0>iw3+Emb^>DT%- zZr;%GdHP7!q4;rwZ1j;6Abgtu-HHCGuuR=KM)4Q|^G?ezC$H;n^Hgmu%C@h{22h!o zkE<`Nak!eiXb<7%^1#k`-XZGNv6n=&DX`FxWV4q>ev&q~4-i5r9JTBfOHAP z)R<=fxu7pv%QWF--c>72kLE-T)#czkkjN_dRM6t*Vu2IS9LL{o7vFA|l{pJr+{Fqb zaU0+#^Y|Qzfh8M)c`!7GDC5lG+~26I(S2`tU0fd6#|Gk=LBTr@;z3*5Xo#GUit^Ns z|0Ip0ms%RLCNSIIF5xpk?jBeqEgMwa&H~2fl{}ahrQiKEn0*}OAK<-v%Zq|VC^%$_ zR%V`i57k(O>QcdV&jDgi!;ErE-p(jRh7$R%Jpm{Z86CSN2ZDn3rN z_nk11;O6f-`<$UUxw8zIeO`l2=HV=MoMEss2~2!7nn_3p)W zqxCmIfDW^Rj6Vgd{n!W|1Jlq^x_LyH4GYkkO0sS)7CQx&4y}pznh2YAuGf+3_l=1+ zKk!Sw${4LOvR@R?{APrcdw@&*pl#axQE6FhB-5P-;;AubLIs75e)#?If2zb-E271} zkCJtTv37SY>_n}hnmw(2pMxD<9&OEQ%bFAL5CUEjq%bl2V_V}`;p-hPLw`Q|AdUb$ z=$Yitq)d?Rb=f_>vod7eq;k#BP#=jL!9eav;Ow^c;G4TER%RLvHb-`Wbd!@65@XG4 z^WW_Ot9QfPLq9z;Gu#^V&Yiu$;1Dk$tQQb7Oc}|-^!1G(>hN90+*#!^B*Vt|s&&SVT{sV1etD z1c(Erh||;pmML!3c=8I zq=4C~@AM6i!zR7sz5Bd2?xO53Jp7>ag|Wz-c{ry&7vd@F^cvK~9YYPc-z;VBuh zPlPfiumfOWyfF|e3`sI6x=zAnU0@u}@!PT_{$4O=2uSCxn(#)_yvlgof-jjt%FU;Y zgzxf%ScB?m{T8xK6sQd}2s>ye%Xys1F7k@t;)y!~42u+u9%ShMug8VM;OKcYRAO|Vy_>i0n~co0DyYZzZ=m|S(*vI!D(HJ=-n#LWIpQ|Cn%qZB8kl0xr6*) zD{5A2>nUmi04fxA{R4pZ!{+&zq6JH8jNf7wNXEGg_1mTJ{y%R^KW_;tzlcA5ooy`^ zWxj2b{VeaZv5r4s%gC^fuv4w`i%NELfkG$sj%EWJwD)Q19EN)jH{=`LeCGy@eBNXY zHl2Hen{O3vw1~hTjQ!v3Pt} z%r)%om({8-n?t{?lfvAoe7vixj4SdjES!5<$miPtCX1sCjySLg=>-r;JhGD3UQ63L z*#LqCQUI_>QJ6@Yt^(Zjra3-Q$hACBl*KEV%Sp{1GLWRzxR~Tupk7Q04_1CzY>br3 zVj_i`Yzi!qw#gbSpB2qCOTChH57G76)?nnB@0o{M0fOKGK%}+6U{S@h%X{L;eIhIZ z0M=BL;57EWAiivDr8JsxC8o6B;g&Q%&k5PS*VZn-@i0f;2>^B+^DB82R9CA1O)CE{ zdh6bHA=#MVc&~r-v0)C7loBL`(cv+{tY%AZZ()cf{pD3dK;HX9n5GEnR@W@Dn3TVZ z@fj!eBWI>lnXT9k13TwZ#F?)n#lh^oX3HL(MSe=9DjuuZeVPYp2VTB<=k+=*v>;z7 zq)f`^uqIW|w)n>WI#>Jp6g+^^aD%AM zjH5xSz7i49RIu1BlQZNdM1V$QaSk`-pQSR1b5?N0M4AZ!Oh#VJH9d~q9dB)s%lcYv z5y@x)Fp6Md(%pEJS7MlyiLCkyYv;X|L{00@zs->oYjW`{CN?IZU$66N=DEr1G*;L3 zIwM|lWdXdjiRqc}Y)OjAv)`X$-RC}`lbI=0U+|9c4KwNrvrkj^$}igK?vA6_Eo#pJ zfj^{KI3aGbO}YAy4DfFNNMtI><8Vfp)2B_Cv^|^$6lO;q<5F=r9v;!7PkN#pZsizalvf1;+A%@l1MF{u^^Ek?8IqvVeRB2bD9}~SFB=cFA@$!!)Ge~dH z2!4WanO*;QyT}+QqFDJ3}sdwmC#$HG*aWN$g=g`Ob| zwv34^r$Awuy5V!b7B_U$L)Jn>6|WiZXE7+DRM$rrhES@1Kd z9FlQ#?ZQyRbEbk~kLZ764x@x>6|ee8?+V9X#urqPCvM7_Jq<%6TC@WUPWXJW%iNoNcGy|XSV{Rtxt*VugKDgT(3R$s!E| zViJSS6KahjopsXPxJuo0#W}eiS|CNxUV{6IqSMGC6C@)-68 z`jUrZ55-YGqgM}8XfuW4sNf5#w`Ga9WkM3-uJd&!X{T~45`TFpw_@U^eZpsa9y#&f zmCQkAdr z$3=E&kxN+oT>x`UBug!xwU){xntOD>2Z5^T2)j;*wcvF4i(1j@@I8LR*dQ5|&g0MH#Qd%jjXKZz?9s@(C# zaedCw_rI+3niNqyWmiMz-a1$8tQTgD^JRc+!nzEmKC#?QH4ElFGLv}k66m5V_&Ht9 zq?JAR7W)*6;~S9!XTs}2vNxbYItF+r&H1DkGU@pqJVfbsRZNLHza&6l80H-ng&B+y z66gnK(<4e#{HC<-7!gv-{WZT6G*wq)#jrvvK;Ifpa9orkBKpds_nAMgT`|n!u3Q6~ zprFnzvWzTfv^l;U&&)uvwx9XbBh$|vaNsonPHt{ukszNr2+9nGI`C&qIgi2#cJBfK zDd@lb8Ra|T0Irg9r$7|{wfEYtj5A7~fHRTB+I4L-gSAfG0|kdzKOo^AD0vVph99^V z1l?|7^4rp~aL%kbbDL7FAOxQdf9~FAd1nA#w#aabIwqNHE&PN3W&wsjDrS-Qvhl)= z=gF3FTG{+^l#r22BB5M@I4-IyvLJ{n*PV+$>al>aDDU9S)c{N%m-if)&!<)H(X(6z zmF-JQ?jSwv+`hirs($cq-o;Am(Fz0NhIH|N(JzvK3RLhNpdqPW`;s$I0q;55X|yDr z?fWA2yF|hGRzhnLq3S1l4XgEtd^q!edpYqe{#raBCUp;J&1@MG*XKq{%cz7_jJwW z2G&z6@k3Sd@@W*C8d5JP5E+2B%|(5%E_KQ)Rg-i9%Vs>)QCD+&ka8TEx?1|R=$@Q3 zg#Q*Ib}GosIWzhv2f-4jTMi~4Dwx`0>~t_-l6LYtY2S4|VSm}1zpX8gvecoM&z$AF zHk8C)4F%*7X-+O#RqnuPSLj$H=7+%+Oy`j|=&l(qBu6@M4Q!DGW#FLu z!B#^i_;IJZwM0ZJ6~=Rmw0*9|6i>L+jn17r7YS+YnJQA^Wq(^iRx`c*k~#He;gTO&%_SUavg9=3zJy|)U5@Ax@8<_ zVl3KV)mz~q48VZB%J^f$uO^j!6#@x4$)-tqb?Lg4tKM0dzht0&$2!H4l*B2U4ZH&r zO1{Qf3YFvD2c(Bfj~ttb({E}VMf(g$Pd0$mrnt*;a?h8`A56(FF+I09QP(Od5jDB*Q>~owVX{RU}OrHjs;5ebNv-kwUoSESV zv@RU8-d3Q!9?{}XJN8_i0inHXr^Fn3-HJDAXIrB;^#Q1yuvZ5=*oH-_2mh`+m#Sg6 zY3q~XQa1M|I2nwI8|4?qX2Ex)AU|}KQlF$IUj8BtLS~&^?o%E0pG@;*AMk`Qe&=O> zrszVQbSv_t%Vv=yv5hP?WF9lsd4%GKv+$=9@YHeWR3!TnHTN5U&8f9XClahe0>!%K z#f_ee=-1XVX(hJiU76f67d z$#1}aZI{=7`cPZX$CL~82E>_mtK7^6Gabq@RTa{lpkk#k$W~QbB(rlj41K`iU>xLH zaNS%h;MWHY>=O;UK#j}CVj2Y~7FHVYWI|Mic8a5!eG})EfSdg?Q?sb^SZx=+Un;OH zj%9H%yFgsACO8JVe&r|0JtV}^20~XmET2K@tmRZl4x=;O*GzzHQve1*Uv+MSFW$nM z`?|G6nqbTwHx92m#-nrzG|$HOGWS}&_Ng~LwC6+sCHFb>_h4!xGCN~i|2(S;UfWYC@fGIsdRE8eR*2?EVtTV>#bF1 z6UqgWTJn?o`m))h$IGqfi`t!ReWW^bOLj!+#J3&>6*&5>r|2kUMdSP!C|`NHG9o)X zigXU~;$mes_j)N#uoP-%JDwj2FNs9FPe$-BjK5OsbNY=&Z=ub%B0pJA&`->51H})f zqkxJ?-~??tt|Ysuy=djlS9p}IU0qR6|8t#5vE{(l)H;??Gy@w{W2M=V5$ozE1-Xqo ztEG;>&NIe8Sf`xtJm_iMwp6Ti7VGL;jqRIcb=6s~nHpO%@1SjxR<_eF&~BNYdom}1 zoeqfx&8@`X-_QkDf%f;^SevE<1$B$u6l?zrxoEG-+h!|(RYl-Tv7XxZ`1#|0+Sh3^ zJwx$)B2qs^UMK*ZajF$sE%~k&X_I!NEIuXg<8 zGuQ+aV7T>Fb}MMl`C-OlXz!cnsZr(G=-M)M2fcyKlgQwuI>~pF;?A%z0F%!uOs@qp zA@SZ(f;?wtTvx)^WJd-?i6V$)$zVDtHQc#2F(*hT(d~}y1YKr|?hy;}>LAZGSynXz zE7|8cUeQ0kq8AzJsHt+xt;u}I^-?KM)Up-q5iDNL?&e1E+%?ZaqOJ_YA9?m6ot}Sze>;=~9Yf7Vjgk85WoU;nEd@^#IXYPr20eA5at5)?AKvch&paP{lY zswbEqvPmxu;<4AI#}q<4SpipW5`PJ+MEJpZtSLNuLWKzY>o*s%v>0WFgS-SDEQ z0L~P16bYpIPp>P9Zj{8Jz@6Snofp*eZlH(211z$nwd3eT{U*?4HV(0fqyLEgefbD3 zEFPZ&nqcELKH0!lpp%%mv5`fzwTny@NZnhbfVIak4n|4uk&Nje3!7YxUq^RdIgHa= zGcN!5d}tCo!?Z}V6m1UcUKNT0|*OhY^*;FdTa$)pA?D4CsI?rfVXH6p?&&$bc| zt@^=i(u@zWmP}=w$Yh}zoK5_ew(NYIW7l;<{ z2eaBrJT1>ZvBhf^atSEPWSa_@NU_@wpsMpCo)Bd#9v&D&sw-^KjjKYsdwdgVH7 zj-Cxp%^Fk8UEkGKsZEZHGeFl4)2ZvA+kY>CdmRx{RGDcN97M8JVLp9e)X z0Zu`ge1Tg7bhjTR@*OjCWyL+WtO}=Rl~Wmjr>J{O z-F)LN7h*iDBTid=%4AvuJdfOk^j9sMDW2<$^{@?caJ5xt&=YFHSEs?IXC_bR44a+? zTbZGDbSI`Z?i!z3UEo1Sg!)|7Bge$l@~I0MauD9&eS0WRSQEK5zSkedsZY%+AAaGA zA6>|E4G8`I;#lOeqdQY>#`m_PlS@}VXm6t+A8D7<&;$IwaX*v<#6f@Ko8KD#*v(}G zheT~m^3E#i>!fhJZJWB-f01?c&SNa^Jd09gylYoxx%_E1$Vje1+e~N|hcG<}F0bl;ywU{74p za0LM%46i1m`6Ce>?(%xc5?QDPyeb{RVh=s#tgAsmK}lhGt^*+69qgX?Co-_6sD%fG zmygn#qH*jl)NwzgUQ4F?NXVW2^FOmitA@fq*bf1KQ|2;{i|1H-ad3w7W|~JL)t+PO zy5QU8t5U;UL_6HO90(qD(Tj)1pPxwL)c)qp(Uq}s5G;J>_PB0;Jt=Z5zZqSHXOR;~ zVC%hUwJT~>eADOsf4yG}lB|DfZ(MuyT!0HC1|QOs9OdWxdnlMh9M;$NG%1a|sUmXg zGU8YETSfy?Rd18To7zPm2{TWEoNkz$#PPqCmzrYzw_z%8=bU7CsLZ);Y9nsWsqB5o z0X`uEc!y*y z?yMxCl<#Q)>Eo>1{}Dr?S_`V2-0Zg?+$(}lq~u5hq49N+Rxcx4PA%=B$5J&(KjxP> z_DJ5-A3%9}3Wi_$M`F82OPHAJZ@L`x?E>f8{Fv&s9Q%$7=bu#%xmQzU7^eMP%%qfH zdWB$>EJPpottj|q*4GTaFPf1aM9HSEFJ=Y7TqEL{EasU%PS0-sw$qlW|>^34T zscYI+WHv<$5BzJ@qHNLm);#zq;BWIS&8v4m{FppGC2>CE40b?uZPHpsi<7oj#lKUO z?=|jcs)wwx#%R-xxLV<8tP_DHVG6vG_$;TXp8)Ha$-Cu`t5l`%I~_CSooqd7p5=`WX+80I)9{kc zOlf_<+hlYrJSX2L`9*KXwX*exq54c-g0%}8_wI@_$4w;kDJ_5NlOrr5J$W0bP#{Q_lTQzKQ&6gs z$)e6ze}jCRt-+VlwQDANrkwrY#>|5@>w9m^uzdD3YMQ}C?R%Tl39R^c@l>s9k*z<( zN-u4IJLW<^hX#@o9zthQCZeI8p~>+rWYm7T)Lm~9yB7B_1e*@ZO?>BjDluLNz+8B& zo(~o=-e5L1&WPhq_e8ZsCZ&HqLwcVPx9!AiJQk#`njQpba`{bYdMk? zuZu5K`R=DZf3&)ZiSw5aF|Pcqt5Lyu5k}{aMUh2{@K+wcNDny@KEpC&Z%y7DJO|>LxqDcBn8sB{0w|EY+la~en)2$XYFu&l z4)8Dc(=QUT27m72nRJYeVq@CVmu&9*zW3yNM7plf?Xq2|e}jzb12jQj4md4>)0x59E!{ec|N= z(nTf4AE`MXC5ViYh9&O1+(xu{rP{8ubpAmoaf!Zt&F8+JTNBoBw$6swCX&ejju7pn z!B$>+YjV1_y$-+%JhP>3BrryQYfZELaCh7V1uO9*aMd##XLo4OLxd2cIS~(=)Mj)vr z75LcGaLWa#RDysl0N4Sf;uLNm(jv)PTI)`3wHlvQ331nj7?0EzA_JIkY5!B`t0EE8 z?{po$90C{h3$}MQN~$Hn$*g}8?eHlsAt`_VCjWhDl)ce6?$0v$g2j!ZSbmFmFTEjt zkSIt4=^inahBGLpo(WH#fN!TNwo9eosutX<#?dvGZ4-e5;5Z?y;SJXA9bpZL}-r|JrG}Yk&YG zSjQ#EZ_EAa=V-0x>kR=+$s$yanVjxd^W|~^s3YG3E%q)*_C^m;{u&CRt@oz^7YQkT z%iT>M7+n|~*}@YNsA1_Hl5)9@GdS9^J8js&2_ZNx{Lr}iHiR`7mn$d$Ha@a+rjk{s zfM>(zx2vPu+yFodVtQZ1YpKzdt8BTr*O^r`P!0e)dh=?tmmCOBQJ+k|kaoe|(NA$A zMQ?O4FFQTAD><Ay@crLp)Bv$-c@ zwX=g^;e}QDujPv%C{IngBqgo&tq=)YTW?c%fJzKeQ7jj#Of9Kg ze65f|aW+mWr%b`Wn}%;p3B8_b?6JL+pMA+qu=> z{=-yYtUm%3L^R|C7+i(}i0=*h?N;w|n>9)8>di{b8G5)%dY#yjq>Oeb&cxXkL6LDh zA!S6vQn-9VNG>rc2tNK$p%YH}#^Nw~ko)4{$V>`?-SeGEB*jwzVoXaA+|DhoQ+Hl= zf)N!LiK&KVimcJC`LaZH-XY)_asIAFKc%0NYm)53{L9Qb?WKji6LV$I4C(HyP`_#- zclw%Z+V{qchok)Z{iBKj!~=W25MYPmvH7fL#sab<=RV2Jj;ud*R?FZF!3wBg1yf*; zNG!Z4=R=uXF&qbfq?%Pi&+?b%49v);@%j+bIR|{T>h3e#4ddontF^*>=c`PXYj+1{ z-(fH1IuFeP_>m;vf$H|zRM!9^uxLbVWjg-Isi4klv4@s)rs2?VPTIHYzwdaqg0~sB zER;Rds-Z9}1@Y8Q^fS&$`aYxldFJx=3}H9%PpPM4>d2c}QCoS7sUZdS1(Nm|`1l66 zGj6enX6M}F0c|Ob`+`Ve=zjq=`(9x+0OHozFYX8@6w>_q}`iYuh~yY z0+TZ!x3(z+yLARH%cJM?Lf%^q(?tbLG*K?e59$jbiz%?FCmGXH&+^-rryF}cw;W

SVTBmi8o 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 z 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�S>udZAfe7`kEG;E*J?hpkN|I>_*(!PBE; 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