From 182ea3a1615141fcd90de3a5c8da40f472062142 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Sat, 25 Jul 2026 15:44:38 +0800 Subject: [PATCH 01/34] Add LingBot-Video (Dense-1.3B) support with attention-only LoRA SFT Model code: - LingBotVideoDiT (diffsynth/models/lingbot_video_dit.py) video denoiser - Qwen3-VL text-encoder wrapper (lingbot_video_text_encoder.py) - T2V/V2V pipeline (diffsynth/pipelines/lingbot_video.py) - LingBotVideoUniPCScheduler (FlowMatchScheduler subclass): UniPC multistep for inference, flow-matching schedule for training - Reuse QwenImageVAE via an additive, backward-compatible 5D-video encode/decode path in qwen_image_vae.py - Register models + state-dict converters in model_configs.py Training (issue's core deliverable): - LingBotVideoTrainingModule (examples/lingbot_video/model_training/train.py) with the flow-matching SFT objective - Attention-only LoRA launch script (to_q,to_k,to_v,to_out; MoE/FFN/router left frozen) Examples + docs: - T2V/V2V inference and low-VRAM examples - examples/lingbot_video/README.md Part of the SFT training support for modelscope/DiffSynth-Studio#1530. Co-Authored-By: Claude Opus 4.8 --- diffsynth/configs/model_configs.py | 28 +- diffsynth/diffusion/flow_match.py | 291 ++++++++ diffsynth/models/lingbot_video_dit.py | 693 ++++++++++++++++++ .../models/lingbot_video_text_encoder.py | 104 +++ diffsynth/models/qwen_image_vae.py | 43 +- diffsynth/pipelines/lingbot_video.py | 339 +++++++++ .../lingbot_video_dit.py | 16 + .../lingbot_video_text_encoder.py | 16 + examples/lingbot_video/README.md | 106 +++ .../lingbot-video-dense-1.3b.py | 36 + .../lingbot-video-dense-1.3b_low_vram.py | 27 + .../lora/lingbot-video-dense-1.3b.sh | 32 + .../lingbot_video/model_training/train.py | 171 +++++ 13 files changed, 1900 insertions(+), 2 deletions(-) create mode 100644 diffsynth/models/lingbot_video_dit.py create mode 100644 diffsynth/models/lingbot_video_text_encoder.py create mode 100644 diffsynth/pipelines/lingbot_video.py create mode 100644 diffsynth/utils/state_dict_converters/lingbot_video_dit.py create mode 100644 diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py create mode 100644 examples/lingbot_video/README.md create mode 100644 examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py create mode 100644 examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py create mode 100644 examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh create mode 100644 examples/lingbot_video/model_training/train.py diff --git a/diffsynth/configs/model_configs.py b/diffsynth/configs/model_configs.py index 7f5b95ce0..19f2c3af9 100644 --- a/diffsynth/configs/model_configs.py +++ b/diffsynth/configs/model_configs.py @@ -1322,8 +1322,34 @@ }, ] +lingbot_video_series = [ + { + # Example: ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors") + # Dense 1.3B DiT (num_experts=0 -> pure SwiGLU MLP FFN). Model __init__ + # defaults already match transformer/config.json, so no extra_kwargs. + "model_hash": "2bcf511fe5e0000519394d242b4d8abd", + "model_name": "lingbot_video_dit", + "model_class": "diffsynth.models.lingbot_video_dit.LingBotVideoDiT", + "state_dict_converter": "diffsynth.utils.state_dict_converters.lingbot_video_dit.LingBotVideoDiTStateDictConverter", + }, + { + # Example: ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/*.safetensors") + # Qwen3-VL text encoder (2 shards). Hash is over the merged key set of both + # shards. The checkpoint stores only the `model.*` submodule (713 tensors, + # no tied lm_head), matching a bare Qwen3VLModel exactly -> identity converter. + "model_hash": "b8750c24f732c87797f551196c4cef78", + "model_name": "lingbot_video_text_encoder", + "model_class": "diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder", + "state_dict_converter": "diffsynth.utils.state_dict_converters.lingbot_video_text_encoder.LingBotVideoTextEncoderStateDictConverter", + }, + # VAE: the LingBot-Video VAE (vae/*.safetensors) is byte-structurally identical + # to QwenImageVAE (hash ed4ea5824d55ec3107b09815e318123a, registered in + # qwen_image_series). It is loaded via that existing entry as model_name + # "qwen_image_vae"; the pipeline fetches it and uses the 5D-video code path. +] + MODEL_CONFIGS = ( stable_diffusion_xl_series + stable_diffusion_series + qwen_image_series + wan_series + flux_series + flux2_series + ernie_image_series + z_image_series + ltx2_series + anima_series + mova_series + joyai_image_series + boogu_image_series + ace_step_series + hidream_o1_image_series - + image_metrics_series + ideogram4_series + krea2_series + + image_metrics_series + ideogram4_series + krea2_series + lingbot_video_series ) diff --git a/diffsynth/diffusion/flow_match.py b/diffsynth/diffusion/flow_match.py index b9104e869..d20f6f966 100644 --- a/diffsynth/diffusion/flow_match.py +++ b/diffsynth/diffusion/flow_match.py @@ -400,3 +400,294 @@ def step(self, model_output, timestep, sample): noise = self.clip_noise(torch.randn(denoised.shape, device=denoised.device, dtype=denoised.dtype)) sample = sigma_ * noise * self.noise_scale_schedule[timestep_id] + (1.0 - sigma_) * denoised return sample + + +class LingBotVideoUniPCScheduler(FlowMatchScheduler): + """ + UniPC multistep predictor-corrector scheduler for flow-matching, ported from + LingBot-Video's ``FlowUniPCMultistepScheduler`` (a vendored diffusers UniPC + variant, ``prediction_type="flow_prediction"``). + + This scheduler is used for **inference** sampling only. Its ``step`` implements + the stateful multistep UniP predictor + UniC corrector. Training reuses the + flow-matching interpolation (``add_noise``) and velocity target + (``training_target`` / ``training_weight``) inherited from ``FlowMatchScheduler`` + — UniPC is a sampler, not a training objective. + + Base-sigma grid matches the original exactly: ``sigma = 1 - linspace(1, 1/N, N)[::-1]`` + (i.e. ``sigma in [0, 1-1/N]``), which is offset by one position from the native + diffusers UniPC grid and is required for numerical parity with LingBot-Video. + """ + order = 1 + + def __init__( + self, + shift=1.0, + num_train_timesteps=1000, + solver_order=2, + predict_x0=True, + solver_type="bh2", + lower_order_final=True, + disable_corrector=(), + final_sigmas_type="zero", + ): + if solver_type not in ("bh1", "bh2"): + raise NotImplementedError(f"solver_type={solver_type} is not implemented") + if final_sigmas_type not in ("zero", "sigma_min"): + raise ValueError("final_sigmas_type must be one of 'zero' or 'sigma_min'") + self.num_train_timesteps = num_train_timesteps + self.shift = shift + self.solver_order = solver_order + self.predict_x0 = predict_x0 + self.solver_type = solver_type + self.lower_order_final = lower_order_final + self.disable_corrector = list(disable_corrector) + self.final_sigmas_type = final_sigmas_type + self.prediction_type = "flow_prediction" + self.num_inference_steps = None + self.training = False + # base sigma grid (drives sigma_min / sigma_max and the training schedule) + self.sigmas, self.timesteps = self._flow_sigmas(num_train_timesteps, shift) + self.sigma_min = self.sigmas[-1].item() + self.sigma_max = self.sigmas[0].item() + self._reset_multistep_state() + + def _flow_sigmas(self, n, shift): + # sigma = 1 - alpha, alpha = linspace(1, 1/n, n)[::-1] -> sigma in [0, 1-1/n] + alphas = np.linspace(1, 1 / n, n)[::-1].copy() + sigmas = torch.from_numpy(1.0 - alphas).to(dtype=torch.float32) + if shift != 1.0: + sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) + timesteps = sigmas * n + return sigmas, timesteps + + def _reset_multistep_state(self): + self.model_outputs = [None] * self.solver_order + self.timestep_list = [None] * self.solver_order + self.lower_order_nums = 0 + self.last_sample = None + self.this_order = None + self._step_index = None + self._begin_index = None + + @property + def step_index(self): + return self._step_index + + @property + def begin_index(self): + return self._begin_index + + def set_begin_index(self, begin_index=0): + self._begin_index = begin_index + + def set_timesteps(self, num_inference_steps=50, denoising_strength=1.0, shift=None, training=False, **kwargs): + if shift is None: + shift = self.shift + if training: + # Flow-matching training schedule (UniPC is inference-only): full-resolution + # sigma grid + per-timestep loss weights from the base class. + self.sigmas, self.timesteps = self._flow_sigmas(self.num_train_timesteps, shift) + self.set_training_weight() + self.training = True + return + self.training = False + # Inference grid. denoising_strength<1 starts partway down the chain + # (DiffSynth convention), matching the original at strength=1.0. + sigma_start = self.sigma_min + (self.sigma_max - self.sigma_min) * denoising_strength + sigmas = np.linspace(sigma_start, self.sigma_min, num_inference_steps + 1)[:-1].copy() + sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) + sigma_last = 0.0 if self.final_sigmas_type == "zero" else self.sigma_min + timesteps = sigmas * self.num_train_timesteps + sigmas = np.concatenate([sigmas, [sigma_last]]).astype(np.float32) + self.sigmas = torch.from_numpy(sigmas) + # int64 timesteps match the values the original model was conditioned on + self.timesteps = torch.from_numpy(timesteps).to(dtype=torch.int64) + self.num_inference_steps = len(timesteps) + self._reset_multistep_state() + + def _sigma_to_alpha_sigma_t(self, sigma): + return 1 - sigma, sigma + + def index_for_timestep(self, timestep, schedule_timesteps=None): + if schedule_timesteps is None: + schedule_timesteps = self.timesteps + indices = (schedule_timesteps == timestep).nonzero() + pos = 1 if len(indices) > 1 else 0 + return indices[pos].item() + + def _init_step_index(self, timestep): + if self.begin_index is None: + if isinstance(timestep, torch.Tensor): + timestep = timestep.to(self.timesteps.device) + self._step_index = self.index_for_timestep(timestep) + else: + self._step_index = self._begin_index + + def convert_model_output(self, model_output, sample): + # prediction_type == "flow_prediction" + sigma_t = self.sigmas[self.step_index] + if self.predict_x0: + return sample - sigma_t * model_output + return sample - (1 - sigma_t) * model_output + + def multistep_uni_p_bh_update(self, model_output, sample, order): + model_output_list = self.model_outputs + m0 = model_output_list[-1] + x = sample + + sigma_t, sigma_s0 = self.sigmas[self.step_index + 1], self.sigmas[self.step_index] + alpha_t, sigma_t = self._sigma_to_alpha_sigma_t(sigma_t) + alpha_s0, sigma_s0 = self._sigma_to_alpha_sigma_t(sigma_s0) + + lambda_t = torch.log(alpha_t) - torch.log(sigma_t) + lambda_s0 = torch.log(alpha_s0) - torch.log(sigma_s0) + h = lambda_t - lambda_s0 + device = sample.device + + rks, D1s = [], [] + for i in range(1, order): + si = self.step_index - i + mi = model_output_list[-(i + 1)] + alpha_si, sigma_si = self._sigma_to_alpha_sigma_t(self.sigmas[si]) + lambda_si = torch.log(alpha_si) - torch.log(sigma_si) + rk = (lambda_si - lambda_s0) / h + rks.append(rk) + D1s.append((mi - m0) / rk) + rks.append(1.0) + rks = torch.tensor(rks, device=device) + + R, b = [], [] + hh = -h if self.predict_x0 else h + h_phi_1 = torch.expm1(hh) + h_phi_k = h_phi_1 / hh - 1 + factorial_i = 1 + B_h = hh if self.solver_type == "bh1" else torch.expm1(hh) + for i in range(1, order + 1): + R.append(torch.pow(rks, i - 1)) + b.append(h_phi_k * factorial_i / B_h) + factorial_i *= i + 1 + h_phi_k = h_phi_k / hh - 1 / factorial_i + R = torch.stack(R) + b = torch.tensor(b, device=device) + + if len(D1s) > 0: + D1s = torch.stack(D1s, dim=1) + if order == 2: + rhos_p = torch.tensor([0.5], dtype=x.dtype, device=device) + else: + rhos_p = torch.linalg.solve(R[:-1, :-1], b[:-1]).to(device).to(x.dtype) + else: + D1s = None + + if self.predict_x0: + x_t_ = sigma_t / sigma_s0 * x - alpha_t * h_phi_1 * m0 + pred_res = torch.einsum("k,bkc...->bc...", rhos_p, D1s) if D1s is not None else 0 + x_t = x_t_ - alpha_t * B_h * pred_res + else: + x_t_ = alpha_t / alpha_s0 * x - sigma_t * h_phi_1 * m0 + pred_res = torch.einsum("k,bkc...->bc...", rhos_p, D1s) if D1s is not None else 0 + x_t = x_t_ - sigma_t * B_h * pred_res + return x_t.to(x.dtype) + + def multistep_uni_c_bh_update(self, this_model_output, last_sample, this_sample, order): + model_output_list = self.model_outputs + m0 = model_output_list[-1] + x = last_sample + model_t = this_model_output + + sigma_t, sigma_s0 = self.sigmas[self.step_index], self.sigmas[self.step_index - 1] + alpha_t, sigma_t = self._sigma_to_alpha_sigma_t(sigma_t) + alpha_s0, sigma_s0 = self._sigma_to_alpha_sigma_t(sigma_s0) + + lambda_t = torch.log(alpha_t) - torch.log(sigma_t) + lambda_s0 = torch.log(alpha_s0) - torch.log(sigma_s0) + h = lambda_t - lambda_s0 + device = this_sample.device + + rks, D1s = [], [] + for i in range(1, order): + si = self.step_index - (i + 1) + mi = model_output_list[-(i + 1)] + alpha_si, sigma_si = self._sigma_to_alpha_sigma_t(self.sigmas[si]) + lambda_si = torch.log(alpha_si) - torch.log(sigma_si) + rk = (lambda_si - lambda_s0) / h + rks.append(rk) + D1s.append((mi - m0) / rk) + rks.append(1.0) + rks = torch.tensor(rks, device=device) + + R, b = [], [] + hh = -h if self.predict_x0 else h + h_phi_1 = torch.expm1(hh) + h_phi_k = h_phi_1 / hh - 1 + factorial_i = 1 + B_h = hh if self.solver_type == "bh1" else torch.expm1(hh) + for i in range(1, order + 1): + R.append(torch.pow(rks, i - 1)) + b.append(h_phi_k * factorial_i / B_h) + factorial_i *= i + 1 + h_phi_k = h_phi_k / hh - 1 / factorial_i + R = torch.stack(R) + b = torch.tensor(b, device=device) + + D1s = torch.stack(D1s, dim=1) if len(D1s) > 0 else None + if order == 1: + rhos_c = torch.tensor([0.5], dtype=x.dtype, device=device) + else: + rhos_c = torch.linalg.solve(R, b).to(device).to(x.dtype) + + if self.predict_x0: + x_t_ = sigma_t / sigma_s0 * x - alpha_t * h_phi_1 * m0 + corr_res = torch.einsum("k,bkc...->bc...", rhos_c[:-1], D1s) if D1s is not None else 0 + D1_t = model_t - m0 + x_t = x_t_ - alpha_t * B_h * (corr_res + rhos_c[-1] * D1_t) + else: + x_t_ = alpha_t / alpha_s0 * x - sigma_t * h_phi_1 * m0 + corr_res = torch.einsum("k,bkc...->bc...", rhos_c[:-1], D1s) if D1s is not None else 0 + D1_t = model_t - m0 + x_t = x_t_ - sigma_t * B_h * (corr_res + rhos_c[-1] * D1_t) + return x_t.to(x.dtype) + + def step(self, model_output, timestep, sample, **kwargs): + if self.num_inference_steps is None: + raise ValueError("Run set_timesteps() before step().") + if self.step_index is None: + self._init_step_index(timestep) + + use_corrector = ( + self.step_index > 0 + and self.step_index - 1 not in self.disable_corrector + and self.last_sample is not None + ) + + model_output_convert = self.convert_model_output(model_output, sample) + if use_corrector: + sample = self.multistep_uni_c_bh_update( + this_model_output=model_output_convert, + last_sample=self.last_sample, + this_sample=sample, + order=self.this_order, + ) + + for i in range(self.solver_order - 1): + self.model_outputs[i] = self.model_outputs[i + 1] + self.timestep_list[i] = self.timestep_list[i + 1] + self.model_outputs[-1] = model_output_convert + self.timestep_list[-1] = timestep + + if self.lower_order_final: + this_order = min(self.solver_order, len(self.timesteps) - self.step_index) + else: + this_order = self.solver_order + self.this_order = min(this_order, self.lower_order_nums + 1) + assert self.this_order > 0 + + self.last_sample = sample + prev_sample = self.multistep_uni_p_bh_update( + model_output=model_output_convert, sample=sample, order=self.this_order, + ) + if self.lower_order_nums < self.solver_order: + self.lower_order_nums += 1 + self._step_index += 1 + return prev_sample diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py new file mode 100644 index 000000000..59fe8fd1d --- /dev/null +++ b/diffsynth/models/lingbot_video_dit.py @@ -0,0 +1,693 @@ +import math +from typing import Optional, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from ..core.attention import attention_forward +from ..core.gradient import gradient_checkpoint_forward +from ..core.device.npu_compatible_device import get_device_type + + +# Modules kept in fp32 regardless of the model's bulk compute dtype. The custom +# `to()` below honours this list so the sensitive AdaLN / norm / router paths stay +# in full precision, matching the original lingbot-video precision policy. +LINGBOT_VIDEO_FP32_MODULES = ( + "time_embedder", + "time_modulation", + "scale_shift_table", + "norm", + "norm1", + "norm2", + "norm_q", + "norm_k", + "norm_post_attn", + "norm_post_ffn", + "norm_out", + "norm_out_modulation", + "router", +) + + +def should_keep_in_fp32(name: str) -> bool: + return any(module_name in name.split(".") for module_name in LINGBOT_VIDEO_FP32_MODULES) + + +def get_timestep_embedding( + timesteps: torch.Tensor, + embedding_dim: int, + flip_sin_to_cos: bool = True, + downscale_freq_shift: float = 0.0, + scale: float = 1.0, + max_period: int = 10000, +) -> torch.Tensor: + """Sinusoidal timestep embedding (matches diffusers.get_timestep_embedding).""" + assert timesteps.ndim == 1 + half_dim = embedding_dim // 2 + exponent = -math.log(max_period) * torch.arange( + start=0, end=half_dim, dtype=torch.float32, device=timesteps.device + ) + exponent = exponent / (half_dim - downscale_freq_shift) + emb = torch.exp(exponent) + emb = timesteps[:, None].float() * emb[None, :] + emb = scale * emb + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=-1) + if flip_sin_to_cos: + emb = torch.cat([emb[:, half_dim:], emb[:, :half_dim]], dim=-1) + if embedding_dim % 2 == 1: + emb = F.pad(emb, (0, 1, 0, 0)) + return emb + + +class Timesteps(nn.Module): + """Parameter-free sinusoidal timestep projection (matches diffusers.Timesteps).""" + + def __init__(self, num_channels: int, flip_sin_to_cos: bool = True, downscale_freq_shift: float = 0.0, scale: int = 1): + super().__init__() + self.num_channels = num_channels + self.flip_sin_to_cos = flip_sin_to_cos + self.downscale_freq_shift = downscale_freq_shift + self.scale = scale + + def forward(self, timesteps: torch.Tensor) -> torch.Tensor: + return get_timestep_embedding( + timesteps, + self.num_channels, + flip_sin_to_cos=self.flip_sin_to_cos, + downscale_freq_shift=self.downscale_freq_shift, + scale=self.scale, + ) + + +class TimestepEmbedding(nn.Module): + """Two-layer timestep MLP (matches diffusers.TimestepEmbedding, act_fn='silu'). + + Submodule names `linear_1` / `linear_2` are kept identical so the original + checkpoint keys (`time_embedder.linear_1.*`, `time_embedder.linear_2.*`) load + without renaming. + """ + + def __init__(self, in_channels: int, time_embed_dim: int, sample_proj_bias: bool = True): + super().__init__() + self.linear_1 = nn.Linear(in_channels, time_embed_dim, bias=sample_proj_bias) + self.act = nn.SiLU() + self.linear_2 = nn.Linear(time_embed_dim, time_embed_dim, bias=sample_proj_bias) + + def forward(self, sample: torch.Tensor) -> torch.Tensor: + return self.linear_2(self.act(self.linear_1(sample))) + + +class LingBotVideoRMSNorm(nn.Module): + """RMSNorm with fp32 accumulation (ported verbatim from lingbot-video).""" + + def __init__(self, dim: int, eps: float = 1e-6): + super().__init__() + self.weight = nn.Parameter(torch.ones(dim)) + self.variance_epsilon = eps + + def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + variance = hidden_states.pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + return (self.weight * hidden_states).to(input_dtype) + + +def apply_rotary_emb(x: torch.Tensor, freqs_cis: torch.Tensor) -> torch.Tensor: + """Apply complex RoPE to `(B, S, H, D)` attention tensors.""" + with torch.amp.autocast(get_device_type(), enabled=False): + x_c = torch.view_as_complex(x.float().reshape(*x.shape[:-1], -1, 2)) + out = torch.view_as_real(x_c * freqs_cis.unsqueeze(2)).flatten(3) + return out.type_as(x) + + +class LingBotVideoRotaryEmbedding(nn.Module): + """Complex64 RoPE table indexed by 3D position ids. Holds no persistent state.""" + + def __init__(self, axes_dims: Tuple[int, ...], axes_lens: Tuple[int, ...], theta: float): + super().__init__() + self.axes_dims = tuple(axes_dims) + self.axes_lens = list(axes_lens) + self.theta = theta + self.freqs_cis = None + + @staticmethod + def precompute_freqs_cis(dim: Tuple[int, ...], end: Tuple[int, ...], theta: float): + freqs_cis = [] + for d, e in zip(dim, end): + freqs = 1.0 / (theta ** (torch.arange(0, d, 2, dtype=torch.float64, device="cpu") / d)) + timestep = torch.arange(e, device=freqs.device, dtype=torch.float64) + freqs = torch.outer(timestep, freqs).float() + freqs_cis.append(torch.polar(torch.ones_like(freqs), freqs).to(torch.complex64)) + return freqs_cis + + def forward(self, position_ids: torch.Tensor) -> torch.Tensor: + # position_ids: (S, 3) int -> (S, head_dim/2) complex64 + device = position_ids.device + max_vals = position_ids.max(dim=0).values.tolist() + needs_rebuild = self.freqs_cis is None or any(m >= l for m, l in zip(max_vals, self.axes_lens)) + if needs_rebuild: + for i in range(len(self.axes_lens)): + if max_vals[i] >= self.axes_lens[i]: + self.axes_lens[i] = int(max_vals[i] * 1.5) + 1 + self.freqs_cis = self.precompute_freqs_cis(self.axes_dims, tuple(self.axes_lens), theta=self.theta) + self.freqs_cis = [freqs_cis.to(device) for freqs_cis in self.freqs_cis] + elif self.freqs_cis[0].device != device: + self.freqs_cis = [freqs_cis.to(device) for freqs_cis in self.freqs_cis] + return torch.cat([self.freqs_cis[i][position_ids[:, i]] for i in range(len(self.axes_dims))], dim=-1) + + +def make_joint_position_ids(text_len: int, grid_t: int, grid_h: int, grid_w: int, device: torch.device) -> torch.Tensor: + """3D positions in [video; text] order. Text t-axis is 1..text_len; video t-axis starts at text_len+1.""" + tt = torch.arange(grid_t, device=device, dtype=torch.int32) + (text_len + 1) + hh = torch.arange(grid_h, device=device, dtype=torch.int32) + ww = torch.arange(grid_w, device=device, dtype=torch.int32) + grid = torch.stack(torch.meshgrid(tt, hh, ww, indexing="ij"), dim=-1).flatten(0, 2) + text_t = torch.arange(text_len, device=device, dtype=torch.int32) + 1 + text_pos = torch.stack([text_t, torch.zeros_like(text_t), torch.zeros_like(text_t)], dim=-1) + return torch.cat([grid, text_pos], dim=0) # (Nx + L, 3) + + +def _cat_interleave(a: torch.Tensor, len_a: list, b: torch.Tensor, len_b: list) -> torch.Tensor: + a_split = torch.split(a, len_a, dim=1) + b_split = torch.split(b, len_b, dim=1) + blocks = [] + for x_part, text_part in zip(a_split, b_split): + blocks.extend([x_part, text_part]) + return torch.cat(blocks, dim=1) + + +class LingBotVideoTextEmbedder(nn.Module): + """CondProjection: RMSNorm(text_dim) -> Linear -> SiLU -> Linear.""" + + def __init__(self, text_dim: int, hidden_size: int): + super().__init__() + self.norm = LingBotVideoRMSNorm(text_dim, eps=1e-6) + self.linear_1 = nn.Linear(text_dim, hidden_size, bias=True) + self.linear_2 = nn.Linear(hidden_size, hidden_size, bias=True) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self.norm(x) + return self.linear_2(F.silu(self.linear_1(x))) + + +class LingBotVideoAttention(nn.Module): + def __init__(self, hidden_size, num_heads, norm_eps, qkv_bias, out_bias): + super().__init__() + self.num_heads = num_heads + self.head_dim = hidden_size // num_heads + self.to_q = nn.Linear(hidden_size, hidden_size, bias=qkv_bias) + self.to_k = nn.Linear(hidden_size, hidden_size, bias=qkv_bias) + self.to_v = nn.Linear(hidden_size, hidden_size, bias=qkv_bias) + self.norm_q = LingBotVideoRMSNorm(self.head_dim, norm_eps) + self.norm_k = LingBotVideoRMSNorm(self.head_dim, norm_eps) + self.to_out = nn.Linear(hidden_size, hidden_size, bias=out_bias) + + def forward(self, x, rotary_emb, attention_mask=None): + q = self.to_q(x).unflatten(2, (self.num_heads, self.head_dim)) + k = self.to_k(x).unflatten(2, (self.num_heads, self.head_dim)) + v = self.to_v(x).unflatten(2, (self.num_heads, self.head_dim)) + q = apply_rotary_emb(self.norm_q(q), rotary_emb) + k = apply_rotary_emb(self.norm_k(k), rotary_emb) + # q/k/v are (B, S, H, D); DiffSynth's attention_forward handles the layout. + out = attention_forward( + q, k, v, + q_pattern="b s n d", k_pattern="b s n d", v_pattern="b s n d", out_pattern="b s n d", + attn_mask=attention_mask, + ) + return self.to_out(out.flatten(2, 3).type_as(x)) + + +class LingBotVideoMLP(nn.Module): + def __init__(self, hidden_size, intermediate_size): + super().__init__() + self.gate_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.up_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.down_proj = nn.Linear(intermediate_size, hidden_size, bias=False) + + def forward(self, x): + return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) + + +class LingBotVideoRouter(nn.Module): + """TokenChoiceTopKRouter inference path (no capacity / jitter / load stats). + + The asymmetry is preserved: selection uses the bias-added score, while the + gating weights gather the bias-free score. + """ + + def __init__(self, hidden_size, num_experts, top_k, score_func, norm_topk_prob, n_group, topk_group, route_scale): + super().__init__() + self.num_experts = num_experts + self.top_k = top_k + self.score_func = score_func + self.norm_topk_prob = norm_topk_prob + self.n_group = n_group + self.topk_group = topk_group + self.route_scale = route_scale + self.weight = nn.Parameter(torch.empty(num_experts, hidden_size)) + self.register_buffer("e_score_correction_bias", torch.zeros(num_experts), persistent=True) + + def _group_limited_topk(self, scores_for_choice): + seq_len = scores_for_choice.shape[0] + experts_per_group = self.num_experts // self.n_group + grouped = scores_for_choice.view(seq_len, self.n_group, experts_per_group) + group_scores = grouped.topk(2, dim=-1)[0].sum(dim=-1) + group_idx = torch.topk(group_scores, k=self.topk_group, dim=-1, sorted=False)[1] + group_mask = torch.zeros_like(group_scores) + group_mask.scatter_(1, group_idx, 1) + score_mask = group_mask.unsqueeze(-1).expand(seq_len, self.n_group, experts_per_group).reshape(seq_len, -1) + masked = scores_for_choice.masked_fill(~score_mask.bool(), float("-inf")) + return torch.topk(masked, k=self.top_k, dim=-1, sorted=False)[1] + + def forward(self, tokens: torch.Tensor): + with torch.amp.autocast(tokens.device.type, enabled=False): + logits = F.linear(tokens.float(), self.weight.float()) + if self.score_func == "softmax": + scores = F.softmax(logits, dim=-1) + else: + scores = logits.sigmoid() + scores_for_choice = scores + self.e_score_correction_bias.unsqueeze(0) + if self.n_group is not None and self.n_group > 1: + top_indices = self._group_limited_topk(scores_for_choice) + else: + top_indices = torch.topk(scores_for_choice, k=self.top_k, dim=-1, sorted=False)[1] + top_scores = scores.gather(1, top_indices) + if self.top_k > 1 and self.norm_topk_prob: + top_scores = top_scores / (top_scores.sum(dim=-1, keepdim=True) + 1e-20) + top_scores = top_scores * self.route_scale + return top_indices, top_scores.to(tokens.dtype) + + +class LingBotVideoGroupedExperts(nn.Module): + """Weight layout matches GroupedExperts: w1 [E,I,H], w2 [E,H,I], w3 [E,I,H].""" + + def __init__(self, num_experts, hidden_size, intermediate_size): + super().__init__() + self.num_experts = num_experts + self.w1 = nn.Parameter(torch.empty(num_experts, intermediate_size, hidden_size)) + self.w2 = nn.Parameter(torch.empty(num_experts, hidden_size, intermediate_size)) + self.w3 = nn.Parameter(torch.empty(num_experts, intermediate_size, hidden_size)) + + +def _round_up_to_multiple(value: int, multiple: int) -> int: + return ((value + multiple - 1) // multiple) * multiple + + +class LingBotVideoSparseMoeBlock(nn.Module): + """MoE FFN. Keeps only the portable eager expert path (grouped_mm with a + per-expert for-loop fallback); the sglang / triton / fp8 / context-parallel + backends from the source are intentionally dropped for the DiffSynth port. + """ + + def __init__(self, hidden_size, intermediate_size, num_experts, top_k, moe_intermediate_size, + score_func, norm_topk_prob, n_group, topk_group, routed_scaling_factor, n_shared_experts): + super().__init__() + self.hidden_size = hidden_size + self.num_experts = num_experts + self.router = LingBotVideoRouter( + hidden_size, num_experts, top_k, score_func, norm_topk_prob, n_group, topk_group, routed_scaling_factor, + ) + self.experts = LingBotVideoGroupedExperts(num_experts, hidden_size, moe_intermediate_size) + self.shared_experts = None + if n_shared_experts is not None and n_shared_experts > 0: + self.shared_experts = LingBotVideoMLP(hidden_size, moe_intermediate_size * n_shared_experts) + + @staticmethod + def _reorder_tokens(tokens, top_scores, top_indices, num_experts): + num_tokens = tokens.shape[0] + top_k = top_indices.shape[1] + flat_scores = top_scores.reshape(-1) + flat_indices = top_indices.reshape(-1) + active_positions = torch.where(flat_scores != 0)[0] + active_experts = flat_indices[active_positions] + + counts = torch.zeros(num_experts, device=tokens.device, dtype=torch.int64) + counts.scatter_add_(0, active_experts, torch.ones_like(active_experts, dtype=torch.int64)) + + sort_order = torch.argsort(active_experts, stable=True) + sorted_positions = active_positions[sort_order] + sorted_scores = flat_scores[sorted_positions] + original_token_idx = sorted_positions // top_k + permuted_tokens = tokens[original_token_idx] + return permuted_tokens, counts, sorted_positions, sorted_scores, num_tokens, top_k + + @staticmethod + def _pad_grouped_tokens(tokens, counts, align: int = 8): + num_tokens = tokens.shape[0] + num_experts = int(counts.shape[0]) + max_len = _round_up_to_multiple(num_tokens + num_experts * align, align) + counts_i64 = counts.to(torch.int64) + total_per_expert = torch.clamp_min(counts_i64, align) + aligned_counts = ((total_per_expert + align - 1) // align * align).to(torch.int32) + write_offsets = torch.cumsum(aligned_counts, dim=0) - aligned_counts + start_indices = torch.cumsum(counts_i64, dim=0) - counts_i64 + + fill_value = num_tokens + permuted_indices = torch.full((max_len,), fill_value, dtype=torch.int64, device=tokens.device) + for expert_idx in range(num_experts): + length = int(counts_i64[expert_idx].item()) + if length == 0: + continue + write_start = int(write_offsets[expert_idx].item()) + start = int(start_indices[expert_idx].item()) + permuted_indices[write_start:write_start + length] = torch.arange( + start, start + length, device=tokens.device, dtype=torch.int64 + ) + + tokens_with_pad = torch.vstack((tokens, tokens.new_zeros((tokens.shape[-1],)))) + input_shape = tokens_with_pad.shape + return input_shape, tokens_with_pad[permuted_indices], permuted_indices, aligned_counts + + @staticmethod + def _unpad_grouped_tokens(output, input_shape, permuted_indices): + unpermuted = output.new_empty(input_shape) + unpermuted[permuted_indices, :] = output + return unpermuted[:-1] + + def _run_grouped_experts(self, tokens, counts): + if not hasattr(torch, "_grouped_mm"): + return self._run_experts_for_loop(tokens, counts) + input_shape, padded_tokens, permuted_indices, aligned_counts = self._pad_grouped_tokens(tokens, counts) + offsets = torch.cumsum(aligned_counts, dim=0, dtype=torch.int32) + h = F.silu(torch._grouped_mm(padded_tokens.bfloat16(), self.experts.w1.bfloat16().transpose(-2, -1), offs=offsets)) + h = h * torch._grouped_mm(padded_tokens.bfloat16(), self.experts.w3.bfloat16().transpose(-2, -1), offs=offsets) + out = torch._grouped_mm(h, self.experts.w2.bfloat16().transpose(-2, -1), offs=offsets).type_as(padded_tokens) + return self._unpad_grouped_tokens(out, input_shape, permuted_indices) + + def _run_experts_for_loop(self, tokens, counts): + count_list = counts.tolist() + splits = torch.split(tokens, count_list, dim=0) + outputs = [] + for expert_idx, expert_tokens in enumerate(splits): + if expert_tokens.numel() == 0: + continue + h = F.silu(expert_tokens @ self.experts.w1[expert_idx].transpose(-2, -1)) + h = h * (expert_tokens @ self.experts.w3[expert_idx].transpose(-2, -1)) + h = h @ self.experts.w2[expert_idx].transpose(-2, -1) + outputs.append(h) + if not outputs: + return tokens.new_zeros(tokens.shape) + return torch.cat(outputs, dim=0) + + @staticmethod + def _restore_tokens(expert_output, sorted_positions, sorted_scores, num_tokens, top_k): + dim = expert_output.shape[-1] + unsorted = torch.zeros((num_tokens * top_k, dim), dtype=expert_output.dtype, device=expert_output.device) + unsorted[sorted_positions] = expert_output + unsorted = unsorted.reshape(num_tokens, top_k, dim) + + scores_unsorted = torch.zeros(num_tokens * top_k, dtype=sorted_scores.dtype, device=sorted_scores.device) + scores_unsorted[sorted_positions] = sorted_scores + scores_unsorted = scores_unsorted.reshape(num_tokens, top_k, 1) + return (unsorted.float() * scores_unsorted).sum(dim=1).to(expert_output.dtype) + + def _run_selected_experts(self, tokens, top_scores, top_indices): + permuted_tokens, counts, sorted_positions, sorted_scores, num_tokens, top_k = self._reorder_tokens( + tokens, top_scores, top_indices, self.router.num_experts + ) + expert_output = self._run_grouped_experts(permuted_tokens, counts) + return self._restore_tokens(expert_output, sorted_positions, sorted_scores, num_tokens, top_k) + + def forward(self, hidden_states: torch.Tensor, padding_mask: Optional[torch.Tensor] = None): + # hidden_states: (B, S, H); padding_mask: (B*S,) with 1=valid (only needed when B>1) + B = hidden_states.shape[0] + tokens = hidden_states.view(-1, self.hidden_size) + top_indices, top_scores = self.router(tokens) + if padding_mask is not None: + pm = padding_mask.unsqueeze(-1).to(top_scores.dtype) + top_scores = top_scores * pm + top_scores = top_scores / (top_scores.sum(dim=-1, keepdim=True) + 1e-9) + top_scores = top_scores * self.router.route_scale + + out = self._run_selected_experts(tokens, top_scores, top_indices) + + out = out.view(B, -1, self.hidden_size) + if self.shared_experts is not None: + out = out + self.shared_experts(hidden_states) + return out + + +class LingBotVideoBlock(nn.Module): + def __init__(self, hidden_size, num_attention_heads, intermediate_size, norm_eps, qkv_bias, out_bias, + num_experts, num_experts_per_tok, moe_intermediate_size, decoder_sparse_step, mlp_only_layers, + n_shared_experts, score_func, norm_topk_prob, n_group, topk_group, routed_scaling_factor, layer_idx): + super().__init__() + self.layer_idx = layer_idx + h = hidden_size + self.scale_shift_table = nn.Parameter(torch.zeros(1, 6 * h)) + self.norm1 = LingBotVideoRMSNorm(h, norm_eps) + self.attn = LingBotVideoAttention(h, num_attention_heads, norm_eps, qkv_bias, out_bias) + self.norm_post_attn = LingBotVideoRMSNorm(h, norm_eps) + self.norm2 = LingBotVideoRMSNorm(h, norm_eps) + # Sparsity decision matches the source MoEBlock: mlp_only_layers + decoder_sparse_step + num_experts. + if layer_idx not in mlp_only_layers and (num_experts > 0 and (layer_idx + 1) % decoder_sparse_step == 0): + self.ffn = LingBotVideoSparseMoeBlock( + h, intermediate_size, num_experts, num_experts_per_tok, moe_intermediate_size, + score_func, norm_topk_prob, n_group, topk_group, routed_scaling_factor, n_shared_experts, + ) + else: + self.ffn = LingBotVideoMLP(h, intermediate_size) + self.norm_post_ffn = LingBotVideoRMSNorm(h, norm_eps) + + def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=None): + expected_tokens = x.shape[0] * x.shape[1] + if temb6.ndim != 2 or temb6.shape[0] != expected_tokens: + raise ValueError( + "LingBotVideoBlock expects token-level temb6 with shape (B*S, 6D); " + f"got {tuple(temb6.shape)} for hidden states {tuple(x.shape)}." + ) + # AdaLN modulation / norms run in fp32 (sensitive path); cast to the bulk + # compute dtype only at the bf16 Linear boundary. + mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.unsqueeze(0) + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = mod.chunk(6, dim=-1) + gate_msa, gate_mlp = gate_msa.tanh(), gate_mlp.tanh() + scale_msa, scale_mlp = 1.0 + scale_msa, 1.0 + scale_mlp + + bulk_dtype = self.attn.to_q.weight.dtype + attn_in = (self.norm1(x) * scale_msa + shift_msa).to(bulk_dtype) + attn_out = self.attn(attn_in, rotary_emb, attention_mask) + x = x + (gate_msa * self.norm_post_attn(attn_out)).to(x.dtype) + + ffn_in = (self.norm2(x) * scale_mlp + shift_mlp).to(bulk_dtype) + if isinstance(self.ffn, LingBotVideoSparseMoeBlock): + ffn_out = self.ffn(ffn_in, padding_mask=moe_padding_mask) + else: + ffn_out = self.ffn(ffn_in) + x = x + (gate_mlp * self.norm_post_ffn(ffn_out)).to(x.dtype) + return x + + +class LingBotVideoDiT(nn.Module): + """LingBot-Video MoE DiT ported for DiffSynth-Studio. + + Supports both the Dense (`num_experts=0`, FFN = MLP) and MoE + (`num_experts>0`, FFN = sparse MoE) variants from a single class. The bulk of + the network runs in the model's compute dtype (e.g. bf16) while the modules in + `LINGBOT_VIDEO_FP32_MODULES` are pinned to fp32 by the custom `to()`. + """ + + _supports_gradient_checkpointing = True + _no_split_modules = ["LingBotVideoBlock"] + _repeated_blocks = ["LingBotVideoBlock"] + + def to(self, *args, **kwargs): + device, dtype, non_blocking, _ = torch._C._nn._parse_to(*args, **kwargs) + if dtype is None or dtype == torch.float32: + return super().to(*args, **kwargs) + if not torch.is_floating_point(torch.empty((), dtype=dtype)): + return super().to(*args, **kwargs) + + if device is not None: + super().to(device=device, non_blocking=non_blocking) + + for name, param in self.named_parameters(): + if not torch.is_floating_point(param): + continue + target_dtype = torch.float32 if should_keep_in_fp32(name) else dtype + param.data = param.data.to(dtype=target_dtype, non_blocking=non_blocking) + if param.grad is not None: + param.grad.data = param.grad.data.to(dtype=target_dtype, non_blocking=non_blocking) + + for name, buffer in self.named_buffers(): + if not torch.is_floating_point(buffer): + continue + target_dtype = torch.float32 if should_keep_in_fp32(name) else dtype + buffer.data = buffer.data.to(dtype=target_dtype, non_blocking=non_blocking) + + return self + + def __init__( + self, + patch_size: Tuple[int, int, int] = (1, 2, 2), + in_channels: int = 16, + out_channels: int = 16, + hidden_size: int = 2048, + num_attention_heads: int = 16, + depth: int = 24, + intermediate_size: int = 6144, + text_dim: int = 2560, + freq_dim: int = 256, + norm_eps: float = 1e-6, + rope_theta: float = 256.0, + axes_dims: Tuple[int, int, int] = (32, 48, 48), + axes_lens: Tuple[int, int, int] = (8192, 1024, 1024), + qkv_bias: bool = False, + out_bias: bool = True, + patch_embed_bias: bool = True, + timestep_mlp_bias: bool = True, + num_experts: int = 0, + num_experts_per_tok: int = 8, + moe_intermediate_size: int = 512, + decoder_sparse_step: int = 1, + mlp_only_layers: Tuple[int, ...] = (), + n_shared_experts: Optional[int] = None, + score_func: str = "sigmoid", + norm_topk_prob: bool = True, + n_group: Optional[int] = None, + topk_group: Optional[int] = None, + routed_scaling_factor: float = 1.0, + ): + super().__init__() + head_dim = hidden_size // num_attention_heads + assert head_dim == sum(axes_dims), f"head_dim {head_dim} != sum(axes_dims) {sum(axes_dims)}" + mlp_only_layers = tuple(mlp_only_layers) + + # Config attributes used by forward / pipeline. + self.patch_size = tuple(patch_size) + self.in_channels = in_channels + self.out_channels = out_channels + self.hidden_size = hidden_size + self.num_attention_heads = num_attention_heads + self.depth = depth + self.gradient_checkpointing = False + + self.patch_embedder = nn.Linear(in_channels * math.prod(patch_size), hidden_size, bias=patch_embed_bias) + self.time_proj = Timesteps(freq_dim, flip_sin_to_cos=True, downscale_freq_shift=0) + self.time_embedder = TimestepEmbedding(freq_dim, hidden_size, sample_proj_bias=timestep_mlp_bias) + self.time_modulation = nn.Sequential(nn.SiLU(), nn.Linear(hidden_size, 6 * hidden_size)) + self.text_embedder = LingBotVideoTextEmbedder(text_dim, hidden_size) + self.rope = LingBotVideoRotaryEmbedding(axes_dims, axes_lens, rope_theta) + self.blocks = nn.ModuleList([ + LingBotVideoBlock( + hidden_size=hidden_size, num_attention_heads=num_attention_heads, intermediate_size=intermediate_size, + norm_eps=norm_eps, qkv_bias=qkv_bias, out_bias=out_bias, num_experts=num_experts, + num_experts_per_tok=num_experts_per_tok, moe_intermediate_size=moe_intermediate_size, + decoder_sparse_step=decoder_sparse_step, mlp_only_layers=mlp_only_layers, + n_shared_experts=n_shared_experts, score_func=score_func, norm_topk_prob=norm_topk_prob, + n_group=n_group, topk_group=topk_group, routed_scaling_factor=routed_scaling_factor, layer_idx=i, + ) + for i in range(depth) + ]) + self.norm_out = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=norm_eps) + self.norm_out_modulation = nn.Sequential(nn.SiLU(), nn.Linear(hidden_size, 2 * hidden_size)) + self.proj_out = nn.Linear(hidden_size, math.prod(patch_size) * out_channels) + + def forward( + self, + hidden_states: torch.Tensor, # (B, C, T, H, W) + timestep: torch.Tensor, # (B,) in [0, 1000] (= sigma * 1000) + encoder_hidden_states: torch.Tensor, # (B, L, text_dim) + encoder_attention_mask: Optional[torch.Tensor] = None, # (B, L) 1=valid + use_gradient_checkpointing: bool = False, + use_gradient_checkpointing_offload: bool = False, + **kwargs, + ): + B, C, T, H, W = hidden_states.shape + pF, pH, pW = self.patch_size + gt, gh, gw = T // pF, H // pH, W // pW + n_video = gt * gh * gw + L = encoder_hidden_states.shape[1] + device = hidden_states.device + if encoder_attention_mask is not None: + text_lens = encoder_attention_mask.sum(dim=-1).long() + else: + text_lens = torch.full((B,), L, dtype=torch.long, device=device) + text_lens_list = [int(v) for v in text_lens.detach().cpu().tolist()] + packed_batch = B > 1 + + # patchify: token order (f h w), feature order (pf ph pw c) -- matches patchify_and_embed + patch_tokens = hidden_states.reshape(B, C, gt, pF, gh, pH, gw, pW) + patch_tokens = patch_tokens.permute(0, 2, 4, 6, 3, 5, 7, 1).reshape(B, n_video, pF * pH * pW * C) + + if packed_batch: + x = torch.cat([self.patch_embedder(patch_tokens[i:i + 1]) for i in range(B)], dim=1) + text_parts = [self.text_embedder(encoder_hidden_states[i:i + 1, :text_lens_list[i], :]) for i in range(B)] + text = torch.cat(text_parts, dim=1) + joint = _cat_interleave(x, [n_video] * B, text, text_lens_list) + else: + x = self.patch_embedder(patch_tokens) + text = self.text_embedder(encoder_hidden_states) + joint = torch.cat([x, text], dim=1) # [video; text] + joint_seq_len = joint.shape[1] + + # Per-sample RoPE: video t-axis start = real text length of this sample + 1. + rotary_parts = [self.rope(make_joint_position_ids(text_lens_list[i], gt, gh, gw, device)) for i in range(B)] + if packed_batch: + rotary = torch.cat(rotary_parts, dim=0).unsqueeze(0) + else: + rotary = torch.stack(rotary_parts, dim=0) # (B, S, head_dim/2) complex64 + + attention_mask = None + moe_padding_mask = None + if packed_batch: + # Block-diagonal mask so packed samples only attend within their own block + # (replaces the source's flash varlen path; numerically equivalent, no flash dep). + sample_seq_lens = [n_video + tl for tl in text_lens_list] + total = sum(sample_seq_lens) + block_mask = torch.zeros((total, total), dtype=torch.bool, device=device) + start = 0 + for slen in sample_seq_lens: + block_mask[start:start + slen, start:start + slen] = True + start += slen + attention_mask = block_mask[None, None, :, :] # (1,1,total,total) + else: + has_padding = encoder_attention_mask is not None and bool((text_lens < L).any()) + if has_padding: + key_mask = torch.cat( + [torch.ones(B, n_video, dtype=torch.bool, device=device), encoder_attention_mask.bool()], dim=1 + ) + attention_mask = key_mask[:, None, None, :] # (B,1,1,S) -> SDPA broadcast + moe_padding_mask = key_mask.reshape(-1).float() # (B*S,) + + # Timestep -> per-token modulation. + timestep_proj = self.time_proj(timestep.float()) + t_emb = self.time_embedder(timestep_proj) # (B, D) + if packed_batch: + temb_input = torch.cat( + [t_emb[i:i + 1].unsqueeze(1).expand(1, sample_seq_lens[i], -1) for i in range(B)], dim=1 + ) # (1, total, D) + else: + temb_input = t_emb.unsqueeze(1).expand(B, joint_seq_len, -1) # (B, S, D) + b_eff, s_eff = temb_input.shape[0], temb_input.shape[1] + temb6 = self.time_modulation(temb_input.reshape(b_eff * s_eff, -1)) # (B*S, 6D) + + for block in self.blocks: + joint = gradient_checkpoint_forward( + block, + use_gradient_checkpointing=use_gradient_checkpointing, + use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, + x=joint, temb6=temb6, rotary_emb=rotary, + attention_mask=attention_mask, moe_padding_mask=moe_padding_mask, + ) + + final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1)) + shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) + final_hidden = self.norm_out(joint) * (1.0 + scale) + shift + projected = self.proj_out(final_hidden.to(self.proj_out.weight.dtype)) + + if packed_batch: + split_lengths = [] + for tl in text_lens_list: + split_lengths.extend([n_video, tl]) + parts = torch.split(projected, split_lengths, dim=1) + x = torch.cat(parts[::2], dim=1).reshape(B, n_video, -1) + else: + x = projected[:, :n_video] + + # unpatchify (matches the rearrange in postprocess) + Cout = self.out_channels + x = x.reshape(B, gt, gh, gw, pF, pH, pW, Cout) + x = x.permute(0, 7, 1, 4, 2, 5, 3, 6).reshape(B, Cout, T, H, W) + return x diff --git a/diffsynth/models/lingbot_video_text_encoder.py b/diffsynth/models/lingbot_video_text_encoder.py new file mode 100644 index 000000000..434c471da --- /dev/null +++ b/diffsynth/models/lingbot_video_text_encoder.py @@ -0,0 +1,104 @@ +import torch +from typing import Optional + + +class LingBotVideoTextEncoder(torch.nn.Module): + """ + Text encoder for LingBot-Video. + + The checkpoint (``text_encoder/*.safetensors``) is a + ``Qwen3VLForConditionalGeneration`` exported by transformers, but only the + ``model.*`` submodule (language_model + visual, 713 tensors) is stored — the + tied ``lm_head`` is absent because ``tie_word_embeddings=True``. Wrapping a + bare ``Qwen3VLModel`` therefore matches the checkpoint keys exactly (0 missing + / 0 unexpected), so the state-dict converter is the identity. + + ``forward`` mirrors :class:`QwenImageTextEncoder`: it forces + ``output_hidden_states=True`` and returns the tuple of per-layer hidden + states. The pipeline selects ``hidden_states[-1]`` (the original + ``HIDDEN_STATE_SKIP_LAYER == 0``) as the prompt embedding. + """ + + def __init__(self): + super().__init__() + from transformers import Qwen3VLConfig, Qwen3VLModel + config = Qwen3VLConfig(**{ + "architectures": ["Qwen3VLForConditionalGeneration"], + "image_token_id": 151655, + "model_type": "qwen3_vl", + "text_config": { + "attention_bias": False, + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 2560, + "initializer_range": 0.02, + "intermediate_size": 9728, + "max_position_embeddings": 262144, + "model_type": "qwen3_vl_text", + "num_attention_heads": 32, + "num_hidden_layers": 36, + "num_key_value_heads": 8, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_interleaved": True, + "mrope_section": [24, 20, 20], + "rope_type": "default", + }, + "rope_theta": 5000000, + "tie_word_embeddings": True, + "use_cache": True, + "vocab_size": 151936, + }, + "tie_word_embeddings": True, + "video_token_id": 151656, + "vision_config": { + "deepstack_visual_indexes": [5, 11, 17], + "depth": 24, + "hidden_act": "gelu_pytorch_tanh", + "hidden_size": 1024, + "in_channels": 3, + "initializer_range": 0.02, + "intermediate_size": 4096, + "model_type": "qwen3_vl", + "num_heads": 16, + "num_position_embeddings": 2304, + "out_hidden_size": 2560, + "patch_size": 16, + "spatial_merge_size": 2, + "temporal_patch_size": 2, + }, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + }) + self.model = Qwen3VLModel(config) + self.config = config + + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + pixel_values: Optional[torch.Tensor] = None, + pixel_values_videos: Optional[torch.FloatTensor] = None, + image_grid_thw: Optional[torch.LongTensor] = None, + video_grid_thw: Optional[torch.LongTensor] = None, + **kwargs, + ): + outputs = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + inputs_embeds=inputs_embeds, + pixel_values=pixel_values, + pixel_values_videos=pixel_values_videos, + image_grid_thw=image_grid_thw, + video_grid_thw=video_grid_thw, + output_hidden_states=True, + return_dict=True, + **kwargs, + ) + return outputs.hidden_states diff --git a/diffsynth/models/qwen_image_vae.py b/diffsynth/models/qwen_image_vae.py index 2845354f2..be5e48017 100644 --- a/diffsynth/models/qwen_image_vae.py +++ b/diffsynth/models/qwen_image_vae.py @@ -707,6 +707,8 @@ def __init__( self.std = 1 / torch.tensor(std).view(1, 16, 1, 1, 1) def encode(self, x, **kwargs): + if x.ndim == 5: + return self.encode_video(x) x = x.unsqueeze(2) x = self.encoder(x) x = self.quant_conv(x) @@ -715,8 +717,10 @@ def encode(self, x, **kwargs): x = (x - mean) * std x = x.squeeze(2) return x - + def decode(self, x, **kwargs): + if x.ndim == 5: + return self.decode_video(x) x = x.unsqueeze(2) mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) x = x / std + mean @@ -724,3 +728,40 @@ def decode(self, x, **kwargs): x = self.decoder(x) x = x.squeeze(2) return x + + def count_conv3d(self, model): + return sum(1 for m in model.modules() if isinstance(m, QwenImageCausalConv3d)) + + def encode_video(self, x, **kwargs): + # x: (B, C, T, H, W). Temporal chunking with a persistent causal feature + # cache — mathematically equivalent to encoding the whole clip at once, but + # bounded in memory. Chunk layout (1 + 4k frames) matches the WanVAE-derived + # temporal downsampling (temperal_downsample=[False, True, True]). + t = x.shape[2] + iter_ = 1 + (t - 1) // 4 + feat_cache = [None] * self.count_conv3d(self.encoder) + out = None + for i in range(iter_): + feat_idx = [0] + chunk = x[:, :, :1, :, :] if i == 0 else x[:, :, 1 + 4 * (i - 1): 1 + 4 * i, :, :] + out_ = self.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) + out = out_ if out is None else torch.cat([out, out_], dim=2) + x = self.quant_conv(out) + x = x[:, :16] + mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) + x = (x - mean) * std + return x + + def decode_video(self, x, **kwargs): + # x: (B, 16, T', H, W) in DiT latent space. Denormalize, then decode one + # latent frame at a time through the persistent causal feature cache. + mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) + x = x / std + mean + x = self.post_quant_conv(x) + feat_cache = [None] * self.count_conv3d(self.decoder) + out = None + for i in range(x.shape[2]): + feat_idx = [0] + out_ = self.decoder(x[:, :, i:i + 1, :, :], feat_cache=feat_cache, feat_idx=feat_idx) + out = out_ if out is None else torch.cat([out, out_], dim=2) + return out diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py new file mode 100644 index 000000000..0c8085e67 --- /dev/null +++ b/diffsynth/pipelines/lingbot_video.py @@ -0,0 +1,339 @@ +import torch +import numpy as np +from PIL import Image +from tqdm import tqdm +from typing import Optional, Union +from typing_extensions import Literal + +from ..core.device.npu_compatible_device import get_device_type +from ..core import ModelConfig +from ..diffusion.base_pipeline import BasePipeline, PipelineUnit +from ..diffusion.flow_match import LingBotVideoUniPCScheduler + +from ..models.lingbot_video_dit import LingBotVideoDiT +from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder +from ..models.qwen_image_vae import QwenImageVAE + + +# Number of tokens the Qwen3-VL processor truncates the prompt to. Copied verbatim +# from the original lingbot-video pipeline so the encoded prompt matches. +TOKEN_LENGTH = 37698 +# Which hidden-state layer to use as the prompt embedding: 0 -> the last layer. +HIDDEN_STATE_SKIP_LAYER = 0 + +# Chat template that wraps the user prompt inside the prompt-enhancement system +# prompt. `apply_text_to_template(prompt) == PROMPT_TEMPLATE.format(prompt)`. +PROMPT_TEMPLATE = ( + "<|im_start|>system\nGiven a user input that may include a text prompt alone, " + "a text prompt with an image reference, or a text prompt with a video reference " + "or a video reference alone, generate an \"Enhanced prompt\" that provides detailed " + "visual descriptions suitable for video generation. Evaluate the level of detail " + "in the user's input: if it is simple, enrich it by adding specifics about colors, " + "shapes, sizes, textures, lighting, motion dynamics, camera movement, temporal " + "progression, and spatial relationships to create vivid, concrete, and temporally " + "coherent scenes to create vivid and concrete scenes. Please generate only the " + "enhanced description for the prompt below and avoid including any additional " + "commentary or evaluations:<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n" + "<|im_start|>assistant\n" +) + +# Default T2V negative prompt (structured JSON string), copied verbatim. +DEFAULT_NEGATIVE_PROMPT = ( + '{"universal_negative": {"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "unstable color", "color flicker", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], "artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], "composition_and_content": ["text", "watermark", "signature", "logo", "subtitles", "pillarboxed", "side bars", "portrait image in landscape frame"], "temporal_and_motion_stability": ["flickering", "jittery", "motion blur", "temporal inconsistency", "warping", "morphing", "incoherent motion", "unnatural movement", "static object with sudden jump", "frame-to-frame inconsistency"], "material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "liquid freezing improperly", "distorted reflections"]}}' +) + +# VAE downsample factors (QwenImageVAE / Wan-VAE): 8x spatial, 4x temporal. +VAE_SCALE_FACTOR_SPATIAL = 8 +VAE_SCALE_FACTOR_TEMPORAL = 4 + + +class LingBotVideoPipeline(BasePipeline): + """ + Text-to-video pipeline for LingBot-Video. + + Follows the DiffSynth ``PipelineUnit`` + ``model_fn`` pattern (see + :class:`~diffsynth.pipelines.wan_video.WanVideoPipeline`). Components: + + - ``dit``: :class:`~diffsynth.models.lingbot_video_dit.LingBotVideoDiT` (MoE / + Dense video DiT), conditioned on ``timestep`` and ``encoder_attention_mask``. + - ``text_encoder``: + :class:`~diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder` + (Qwen3-VL). The prompt is wrapped in :data:`PROMPT_TEMPLATE`, encoded, and the + template-prefix tokens are cropped (``crop_start``). + - ``vae``: :class:`~diffsynth.models.qwen_image_vae.QwenImageVAE` (byte-identical + to the LingBot-Video VAE). Latent normalisation is baked into the VAE's + ``encode``/``decode`` 5D-video code path, so the pipeline never re-applies + ``latents_mean`` / ``latents_std``. + + Sampling uses :class:`~diffsynth.diffusion.flow_match.LingBotVideoUniPCScheduler` + (UniPC multistep). Classifier-free guidance runs as two independent forwards. + """ + + def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): + super().__init__( + device=device, torch_dtype=torch_dtype, + height_division_factor=16, width_division_factor=16, + time_division_factor=4, time_division_remainder=1, + ) + self.scheduler = LingBotVideoUniPCScheduler() + self.text_encoder: LingBotVideoTextEncoder = None + self.dit: LingBotVideoDiT = None + self.vae: QwenImageVAE = None + self.processor = None + # Cached number of template-prefix tokens to crop from the prompt embedding. + self._crop_start: Optional[int] = None + self.in_iteration_models = ("dit",) + self.units = [ + LingBotVideoUnit_ShapeChecker(), + LingBotVideoUnit_NoiseInitializer(), + LingBotVideoUnit_PromptEmbedder(), + LingBotVideoUnit_InputVideoEmbedder(), + ] + self.model_fn = model_fn_lingbot_video + self.compilable_models = ["dit"] + + def _compute_crop_start(self) -> int: + # Number of tokens contributed by the template prefix (everything before the + # user prompt). Computed once by tokenising the template up to a marker. + if self._crop_start is None: + marker = "<|USER_INPUT_MARKER|>" + marked = PROMPT_TEMPLATE.format(marker) + marker_pos = marked.find(marker) + if marker_pos < 0: + self._crop_start = 0 + else: + prefix = self.processor( + text=marked[:marker_pos], + images=None, + videos=None, + return_tensors="pt", + ) + self._crop_start = int(prefix["input_ids"].shape[1]) + return self._crop_start + + @staticmethod + def from_pretrained( + torch_dtype: torch.dtype = torch.bfloat16, + device: Union[str, torch.device] = get_device_type(), + model_configs: list[ModelConfig] = [], + processor_config: ModelConfig = None, + vram_limit: float = None, + ): + # Initialize pipeline + pipe = LingBotVideoPipeline(device=device, torch_dtype=torch_dtype) + model_pool = pipe.download_and_load_models(model_configs, vram_limit) + + # Fetch models by name (registered in diffsynth/configs/model_configs.py). + pipe.text_encoder = model_pool.fetch_model("lingbot_video_text_encoder") + pipe.dit = model_pool.fetch_model("lingbot_video_dit") + pipe.vae = model_pool.fetch_model("qwen_image_vae") + + # Initialize the Qwen3-VL processor (tokenizer + image/video processor). + if processor_config is not None: + processor_config.download_if_necessary() + from transformers import AutoProcessor + pipe.processor = AutoProcessor.from_pretrained(processor_config.path) + + # VRAM Management + pipe.vram_management_enabled = pipe.check_vram_management_state() + return pipe + + @torch.no_grad() + def __call__( + self, + # Prompt + prompt: str = "", + negative_prompt: str = DEFAULT_NEGATIVE_PROMPT, + # Video-to-video + input_video: list[Image.Image] = None, + denoising_strength: float = 1.0, + # Randomness + seed: int = None, + rand_device: str = "cpu", + # Shape + height: int = 480, + width: int = 480, + num_frames: int = 81, + # Classifier-free guidance + cfg_scale: float = 6.0, + # Scheduler + num_inference_steps: int = 40, + sigma_shift: float = 3.0, + # progress_bar + progress_bar_cmd=tqdm, + ): + # Scheduler + self.scheduler.set_timesteps(num_inference_steps, denoising_strength=denoising_strength, shift=sigma_shift) + + # Inputs + inputs_posi = {"prompt": prompt} + inputs_nega = {"negative_prompt": negative_prompt} + inputs_shared = { + "input_video": input_video, "denoising_strength": denoising_strength, + "seed": seed, "rand_device": rand_device, + "height": height, "width": width, "num_frames": num_frames, + "cfg_scale": cfg_scale, + } + for unit in self.units: + inputs_shared, inputs_posi, inputs_nega = self.unit_runner(unit, self, inputs_shared, inputs_posi, inputs_nega) + + # Denoise + self.load_models_to_device(self.in_iteration_models) + models = {name: getattr(self, name) for name in self.in_iteration_models} + for progress_id, timestep in enumerate(progress_bar_cmd(self.scheduler.timesteps)): + # The DiT is conditioned on sigma * 1000 (== the raw scheduler timestep). + # Pass it as fp32 so the integer inference timesteps are represented + # exactly (bf16 cannot represent values > 256 without rounding). + timestep_input = timestep.unsqueeze(0).to(dtype=torch.float32, device=self.device) + + # Inference (two independent forwards for CFG). + noise_pred_posi = self.model_fn(**models, **inputs_shared, **inputs_posi, timestep=timestep_input) + if cfg_scale != 1.0: + noise_pred_nega = self.model_fn(**models, **inputs_shared, **inputs_nega, timestep=timestep_input) + noise_pred = noise_pred_nega + cfg_scale * (noise_pred_posi - noise_pred_nega) + else: + noise_pred = noise_pred_posi + + # Scheduler step (UniPC multistep). Uses the raw scheduler timestep to + # locate its internal step index, so pass it unmodified. + inputs_shared["latents"] = self.scheduler.step(noise_pred, timestep, inputs_shared["latents"]) + + # Decode. The VAE's 5D-video path already un-normalises the latents, so no + # manual latents_mean / latents_std handling is needed here. + self.load_models_to_device(['vae']) + latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) + video = self.vae.decode(latents) + video = self.vae_output_to_video(video) + self.load_models_to_device([]) + return video + + +class LingBotVideoUnit_ShapeChecker(PipelineUnit): + def __init__(self): + super().__init__( + input_params=("height", "width", "num_frames"), + output_params=("height", "width", "num_frames"), + ) + + def process(self, pipe: LingBotVideoPipeline, height, width, num_frames): + height, width, num_frames = pipe.check_resize_height_width(height, width, num_frames) + return {"height": height, "width": width, "num_frames": num_frames} + + +class LingBotVideoUnit_NoiseInitializer(PipelineUnit): + def __init__(self): + super().__init__( + input_params=("height", "width", "num_frames", "seed", "rand_device"), + output_params=("noise",), + ) + + def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, rand_device): + length = (num_frames - 1) // VAE_SCALE_FACTOR_TEMPORAL + 1 + shape = ( + 1, pipe.dit.in_channels, length, + height // VAE_SCALE_FACTOR_SPATIAL, width // VAE_SCALE_FACTOR_SPATIAL, + ) + # fp32 noise: the UniPC sampler accumulates state in fp32 for stability + # (matches the original pipeline's fp32 latents). + noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device, torch_dtype=torch.float32) + return {"noise": noise} + + +class LingBotVideoUnit_PromptEmbedder(PipelineUnit): + def __init__(self): + super().__init__( + seperate_cfg=True, + input_params_posi={"prompt": "prompt"}, + input_params_nega={"prompt": "negative_prompt"}, + output_params=("context", "encoder_attention_mask"), + onload_model_names=("text_encoder",), + ) + + def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): + # T2V: visual_template is empty, so the text is simply the templated prompt. + text = PROMPT_TEMPLATE.format(prompt) + inputs = pipe.processor( + text=[text], + images=None, + videos=None, + do_resize=False, + truncation=True, + max_length=TOKEN_LENGTH, + padding="longest", + return_tensors="pt", + ) + inputs = inputs.to(pipe.device) + # The text encoder returns the tuple of per-layer hidden states. + hidden_states = pipe.text_encoder(**inputs) + prompt_embeds = hidden_states[-(HIDDEN_STATE_SKIP_LAYER + 1)] + prompt_mask = inputs["attention_mask"] + + # Crop the prompt-enhancement template prefix. + crop_start = pipe._compute_crop_start() + if crop_start > 0: + prompt_embeds = prompt_embeds[:, crop_start:] + prompt_mask = prompt_mask[:, crop_start:] + + # Batch=1: drop the right padding before the DiT forward. + if prompt_embeds.shape[0] == 1: + true_len = int(prompt_mask[0].sum().item()) + prompt_embeds = prompt_embeds[:, :true_len] + prompt_mask = prompt_mask[:, :true_len] + + return prompt_embeds.to(dtype=pipe.torch_dtype), prompt_mask + + def process(self, pipe: LingBotVideoPipeline, prompt) -> dict: + pipe.load_models_to_device(self.onload_model_names) + prompt_embeds, prompt_mask = self.encode_prompt(pipe, prompt) + return {"context": prompt_embeds, "encoder_attention_mask": prompt_mask} + + +class LingBotVideoUnit_InputVideoEmbedder(PipelineUnit): + def __init__(self): + super().__init__( + input_params=("input_video", "noise"), + output_params=("latents", "input_latents"), + onload_model_names=("vae",), + ) + + def process(self, pipe: LingBotVideoPipeline, input_video, noise): + if input_video is None: + # Text-to-video: start from pure noise. + return {"latents": noise} + pipe.load_models_to_device(self.onload_model_names) + # preprocess_video -> (B, C, T, H, W) in [-1, 1], in pipe.torch_dtype. + video = pipe.preprocess_video(input_video) + # QwenImageVAE.encode (5D path) already applies latent normalisation. + input_latents = pipe.vae.encode(video).to(dtype=torch.float32, device=pipe.device) + if pipe.scheduler.training: + return {"latents": noise, "input_latents": input_latents} + else: + latents = pipe.scheduler.add_noise(input_latents, noise, timestep=pipe.scheduler.timesteps[0]) + return {"latents": latents} + + +def model_fn_lingbot_video( + dit: LingBotVideoDiT, + latents: torch.Tensor = None, + timestep: torch.Tensor = None, + context: torch.Tensor = None, + encoder_attention_mask: Optional[torch.Tensor] = None, + use_gradient_checkpointing: bool = False, + use_gradient_checkpointing_offload: bool = False, + **kwargs, +): + # Cast the latent / text inputs to the DiT's bulk compute dtype (e.g. bf16). + # The DiT keeps its AdaLN / norm / router paths in fp32 internally. + dit_dtype = dit.patch_embedder.weight.dtype + hidden_states = latents.to(dtype=dit_dtype) + encoder_hidden_states = context.to(dtype=dit_dtype) + noise_pred = dit( + hidden_states=hidden_states, + timestep=timestep, + encoder_hidden_states=encoder_hidden_states, + encoder_attention_mask=encoder_attention_mask, + use_gradient_checkpointing=use_gradient_checkpointing, + use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, + ) + # Return fp32 so the UniPC sampler / MSE loss run in full precision. + return noise_pred.float() diff --git a/diffsynth/utils/state_dict_converters/lingbot_video_dit.py b/diffsynth/utils/state_dict_converters/lingbot_video_dit.py new file mode 100644 index 000000000..3774568ee --- /dev/null +++ b/diffsynth/utils/state_dict_converters/lingbot_video_dit.py @@ -0,0 +1,16 @@ +def LingBotVideoDiTStateDictConverter(state_dict): + # The LingBot-Video DiT checkpoint (transformer/diffusion_pytorch_model.safetensors) + # is saved by diffusers with module-hierarchy keys that already match + # `LingBotVideoDiT` exactly (patch_embedder / time_embedder / time_modulation / + # text_embedder / blocks.N.* / norm_out_modulation / proj_out). The only work + # needed is stripping any wrapper prefix a repackaged/compiled checkpoint may add. + prefixes = ["model.diffusion_model.", "_orig_mod.", "module.", "transformer."] + state_dict_ = {} + for name in state_dict: + new_name = name + for prefix in prefixes: + if new_name.startswith(prefix): + new_name = new_name[len(prefix):] + break + state_dict_[new_name] = state_dict[name] + return state_dict_ diff --git a/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py b/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py new file mode 100644 index 000000000..ba4ef6db3 --- /dev/null +++ b/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py @@ -0,0 +1,16 @@ +def LingBotVideoTextEncoderStateDictConverter(state_dict): + # The LingBot-Video text encoder checkpoint stores a Qwen3VLForConditionalGeneration + # with keys already under `model.language_model.*` and `model.visual.*`, which is + # exactly the layout of the wrapped `Qwen3VLModel` (assigned to `self.model`). The + # tied `lm_head` is not stored, so no key mapping is required — this is an identity + # converter that only strips any wrapper prefix a repackaged checkpoint may add. + prefixes = ["_orig_mod.", "module."] + state_dict_ = {} + for name in state_dict: + new_name = name + for prefix in prefixes: + if new_name.startswith(prefix): + new_name = new_name[len(prefix):] + break + state_dict_[new_name] = state_dict[name] + return state_dict_ diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md new file mode 100644 index 000000000..c112a6ff9 --- /dev/null +++ b/examples/lingbot_video/README.md @@ -0,0 +1,106 @@ +# LingBot-Video + +[LingBot-Video](https://github.com/modelscope) is a flow-matching video-generation model. This directory provides DiffSynth-Studio inference and training (LoRA SFT) support for the **Dense-1.3B** text-to-video checkpoint. + +The integration is built on the standard DiffSynth pipeline stack: + +- **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. The Dense-1.3B build uses a plain FFN; the architecture also supports an MoE FFN. +- **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. +- **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal. +- **Scheduler** — `LingBotVideoUniPCScheduler`: UniPC multistep for inference; it falls back to the full-resolution flow-matching schedule for training. + +## Installation + +Follow the top-level DiffSynth-Studio installation. LingBot-Video additionally requires `transformers >= 5.x` (for Qwen3-VL) and `imageio` / `imageio-ffmpeg` for video I/O. + +```bash +pip install -e . +``` + +## Model download + +```bash +modelscope download --model Robbyant/lingbot-video-dense-1.3b --local_dir ./models/Robbyant/lingbot-video-dense-1.3b +``` + +The inference examples below use `ModelConfig(model_id=...)`, which downloads the required files automatically the first time they run. You can also point `ModelConfig(path=...)` at local files (see the training script). + +## Inference + +```bash +python examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +``` + +Minimal text-to-video: + +```python +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +video = pipe(prompt="A playful puppy runs across a lush green meadow ...", height=480, width=832, num_frames=81, seed=0) +save_video(video, "output.mp4", fps=15, quality=5) +``` + +The pipeline ships a default (T2V) negative prompt, so `negative_prompt` is optional. Video-to-video is supported by passing `input_video=` (a list of frames or a `VideoData`) together with `denoising_strength < 1`. + +**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference/lingbot-video-dense-1.3b_low_vram.py`. + +## Training (LoRA SFT) + +`model_training/train.py` fine-tunes the DiT with LoRA using the flow-matching SFT objective. + +```bash +bash examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh +``` + +### Dataset format + +A metadata CSV (or JSONL) with a `video` column (path relative to `--dataset_base_path`) and a `prompt` column: + +``` +video,prompt +videos/000.mp4,A playful puppy runs across a lush green meadow ... +videos/001.mp4,A serene lake at sunrise, mist rising from the water ... +``` + +Pass `--data_file_keys "video"` so the loader treats the `video` column as a file to load. + +### Attention-only LoRA (default scope) + +The launch script patches LoRA on the joint text+video self-attention only: + +``` +--lora_base_model "dit" +--lora_target_modules "to_q,to_k,to_v,to_out" +--lora_rank 32 +--remove_prefix_in_ckpt "pipe.dit." +``` + +The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are left frozen. To also adapt the FFN, add those module names to `--lora_target_modules`. + +### Useful flags + +- `--use_gradient_checkpointing` — trade compute for memory (recommended; the trainer enables it regardless). +- `--num_frames`, `--height`, `--width` — training clip shape (`num_frames` must satisfy `4k+1`; H/W divisible by 16). +- `--max_timestep_boundary` / `--min_timestep_boundary` — restrict the sampled training timesteps to a sub-range of the schedule. +- `--lora_checkpoint ` — resume / continue from a previously trained LoRA. + +### Applying a trained LoRA + +Trained LoRA checkpoints are written to `--output_path` with the `pipe.dit.` prefix stripped (keys like `blocks.0.attn.to_q.lora_A.weight`). To continue training from one, pass it via `--lora_checkpoint`. + +## Notes + +- The text encoder shares its checkpoint fingerprint with the existing `krea2_text_encoder` (identical Qwen3-VL architecture), so the model loader instantiates both when loading LingBot-Video. This is redundant load time only — the pipeline fetches the correct encoder by name and the other is released. +- Latent normalisation is handled inside the VAE's 5D-video code path; the pipeline does not re-apply `latents_mean` / `latents_std`. diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py new file mode 100644 index 000000000..97de5a949 --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -0,0 +1,36 @@ +import torch +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) + +# Text-to-video. The default (T2V) negative prompt is built into the pipeline, +# so `negative_prompt` can be left unset. +video = pipe( + prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=6.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=5) + +# Video-to-video. `denoising_strength < 1` keeps part of the input structure. +video = VideoData("video_lingbot-video-dense-1.3b.mp4", height=480, width=832) +video = pipe( + prompt="A playful puppy wearing black sunglasses runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + input_video=video, denoising_strength=0.7, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=6.0, + seed=1, +) +save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=5) diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py new file mode 100644 index 000000000..b34f81c8a --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py @@ -0,0 +1,27 @@ +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + + +# Low-VRAM inference. `vram_limit` turns on DiffSynth's automatic VRAM management, +# which keeps model weights on CPU and streams them to the GPU layer-by-layer during +# each forward. The value below reserves ~2 GB of headroom on top of the models. +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, +) + +video = pipe( + prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=6.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b_low_vram.mp4", fps=15, quality=5) diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh new file mode 100644 index 000000000..316f47264 --- /dev/null +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh @@ -0,0 +1,32 @@ +# Download the LingBot-Video Dense-1.3B weights (DiT + text encoder + VAE + processor). +# This fetches the whole repo once into ./models so the paths below resolve locally. +modelscope download --model Robbyant/lingbot-video-dense-1.3b --local_dir ./models/Robbyant/lingbot-video-dense-1.3b + +# Attention-only LoRA SFT. +# `--lora_target_modules "to_q,to_k,to_v,to_out"` patches LoRA on the joint +# text+video self-attention only, leaving the MoE / FFN experts and the router frozen. +accelerate launch examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/example_video_dataset \ + --dataset_metadata_path data/example_video_dataset/metadata.csv \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --dataset_repeat 100 \ + --model_paths '[ + [ + "./models/Robbyant/lingbot-video-dense-1.3b/text_encoder/model-00001-of-00002.safetensors", + "./models/Robbyant/lingbot-video-dense-1.3b/text_encoder/model-00002-of-00002.safetensors" + ], + "./models/Robbyant/lingbot-video-dense-1.3b/transformer/diffusion_pytorch_model.safetensors", + "./models/Robbyant/lingbot-video-dense-1.3b/vae/diffusion_pytorch_model.safetensors" + ]' \ + --processor_path "./models/Robbyant/lingbot-video-dense-1.3b/processor" \ + --learning_rate 1e-4 \ + --num_epochs 5 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-dense-1.3b_lora" \ + --lora_base_model "dit" \ + --lora_target_modules "to_q,to_k,to_v,to_out" \ + --lora_rank 32 \ + --use_gradient_checkpointing diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py new file mode 100644 index 000000000..c1507ced3 --- /dev/null +++ b/examples/lingbot_video/model_training/train.py @@ -0,0 +1,171 @@ +import torch, os, argparse, accelerate, warnings +from diffsynth.core import UnifiedDataset +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth.diffusion import * +os.environ["TOKENIZERS_PARALLELISM"] = "false" + + +class LingBotVideoTrainingModule(DiffusionTrainingModule): + def __init__( + self, + model_paths=None, model_id_with_origin_paths=None, + processor_path=None, + trainable_models=None, + lora_base_model=None, lora_target_modules="", lora_rank=32, lora_checkpoint=None, + preset_lora_path=None, preset_lora_model=None, + use_gradient_checkpointing=True, + use_gradient_checkpointing_offload=False, + extra_inputs=None, + fp8_models=None, + offload_models=None, + resume_from_checkpoint=None, remove_prefix_in_ckpt=None, + device="cpu", + task="sft", + max_timestep_boundary=1.0, + min_timestep_boundary=0.0, + ): + super().__init__() + # Warning + if not use_gradient_checkpointing: + warnings.warn("Gradient checkpointing is detected as disabled. To prevent out-of-memory errors, the training framework will forcibly enable gradient checkpointing.") + use_gradient_checkpointing = True + + # Load models. The Qwen3-VL processor (tokenizer + image/video processor) is + # passed separately via `processor_config`, mirroring the inference pipeline. + model_configs = self.parse_model_configs(model_paths, model_id_with_origin_paths, fp8_models=fp8_models, offload_models=offload_models, device=device) + processor_config = self.parse_path_or_model_id(processor_path) + self.pipe = LingBotVideoPipeline.from_pretrained(torch_dtype=torch.bfloat16, device=device, model_configs=model_configs, processor_config=processor_config) + self.pipe = self.split_pipeline_units(task, self.pipe, trainable_models, lora_base_model) + self.resume_from_checkpoint(resume_from_checkpoint, remove_prefix_in_ckpt) + + # Training mode. The UniPC scheduler falls back to the full-resolution + # flow-matching schedule during training (see LingBotVideoUniPCScheduler). + # Attention-only LoRA is the default scope: pass + # `--lora_target_modules "to_q,to_k,to_v,to_out"` to leave the MoE / FFN + # (gate_proj / up_proj / down_proj) and the router untouched. + self.switch_pipe_to_training_mode( + self.pipe, trainable_models, + lora_base_model, lora_target_modules, lora_rank, lora_checkpoint, + preset_lora_path, preset_lora_model, + task=task, + ) + + # Store other configs + self.use_gradient_checkpointing = use_gradient_checkpointing + self.use_gradient_checkpointing_offload = use_gradient_checkpointing_offload + self.extra_inputs = extra_inputs.split(",") if extra_inputs is not None else [] + self.fp8_models = fp8_models + self.task = task + self.task_to_loss = { + "sft:data_process": lambda pipe, *args: args, + "sft": lambda pipe, inputs_shared, inputs_posi, inputs_nega: FlowMatchSFTLoss(pipe, **inputs_shared, **inputs_posi), + "sft:train": lambda pipe, inputs_shared, inputs_posi, inputs_nega: FlowMatchSFTLoss(pipe, **inputs_shared, **inputs_posi), + } + self.max_timestep_boundary = max_timestep_boundary + self.min_timestep_boundary = min_timestep_boundary + + def get_pipeline_inputs(self, data): + inputs_posi = {"prompt": data["prompt"]} + inputs_nega = {} + inputs_shared = { + # Assume you are using this pipeline for inference, + # please fill in the input parameters. + "input_video": data["video"], + "height": data["video"][0].size[1], + "width": data["video"][0].size[0], + "num_frames": len(data["video"]), + # Please do not modify the following parameters + # unless you clearly know what this will cause. + "cfg_scale": 1, + "seed": None, + "rand_device": self.pipe.device, + "use_gradient_checkpointing": self.use_gradient_checkpointing, + "use_gradient_checkpointing_offload": self.use_gradient_checkpointing_offload, + "max_timestep_boundary": self.max_timestep_boundary, + "min_timestep_boundary": self.min_timestep_boundary, + } + inputs_shared = self.parse_extra_inputs(data, self.extra_inputs, inputs_shared) + return inputs_shared, inputs_posi, inputs_nega + + def forward(self, data, inputs=None): + if inputs is None: inputs = self.get_pipeline_inputs(data) + inputs = self.transfer_data_to_device(inputs, self.pipe.device, self.pipe.torch_dtype) + for unit in self.pipe.units: + inputs = self.pipe.unit_runner(unit, self.pipe, *inputs) + loss = self.task_to_loss[self.task](self.pipe, *inputs) + return loss + + +def lingbot_video_parser(): + parser = argparse.ArgumentParser(description="Simple example of a LingBot-Video training script.") + parser = add_general_config(parser) + parser = add_video_size_config(parser) + parser.add_argument("--processor_path", type=str, default=None, help="Path to the Qwen3-VL processor directory (or `model_id:origin_file_pattern`). Used to tokenize prompts.") + parser.add_argument("--max_timestep_boundary", type=float, default=1.0, help="Max timestep boundary (fraction of the training schedule, in [0, 1]).") + parser.add_argument("--min_timestep_boundary", type=float, default=0.0, help="Min timestep boundary (fraction of the training schedule, in [0, 1]).") + parser.add_argument("--initialize_model_on_cpu", default=False, action="store_true", help="Whether to initialize models on CPU.") + return parser + + +if __name__ == "__main__": + parser = lingbot_video_parser() + args = parser.parse_args() + accelerator = accelerate.Accelerator( + gradient_accumulation_steps=args.gradient_accumulation_steps, + kwargs_handlers=[accelerate.DistributedDataParallelKwargs(find_unused_parameters=args.find_unused_parameters)], + ) + dataset = UnifiedDataset( + base_path=args.dataset_base_path, + metadata_path=args.dataset_metadata_path, + repeat=args.dataset_repeat, + data_file_keys=args.data_file_keys.split(","), + main_data_operator=UnifiedDataset.default_video_operator( + base_path=args.dataset_base_path, + max_pixels=args.max_pixels, + height=args.height, + width=args.width, + height_division_factor=16, + width_division_factor=16, + num_frames=args.num_frames, + time_division_factor=4, + time_division_remainder=1, + ), + ) + model = LingBotVideoTrainingModule( + model_paths=args.model_paths, + model_id_with_origin_paths=args.model_id_with_origin_paths, + processor_path=args.processor_path, + trainable_models=args.trainable_models, + lora_base_model=args.lora_base_model, + lora_target_modules=args.lora_target_modules, + lora_rank=args.lora_rank, + lora_checkpoint=args.lora_checkpoint, + preset_lora_path=args.preset_lora_path, + preset_lora_model=args.preset_lora_model, + use_gradient_checkpointing=args.use_gradient_checkpointing, + use_gradient_checkpointing_offload=args.use_gradient_checkpointing_offload, + extra_inputs=args.extra_inputs, + fp8_models=args.fp8_models, + offload_models=args.offload_models, + resume_from_checkpoint=args.resume_from_checkpoint, + remove_prefix_in_ckpt=args.remove_prefix_in_ckpt, + task=args.task, + device="cpu" if (args.initialize_model_on_cpu or args.enable_model_cpu_offload) else accelerator.device, + max_timestep_boundary=args.max_timestep_boundary, + min_timestep_boundary=args.min_timestep_boundary, + ) + model_logger = ModelLogger( + args.output_path, + remove_prefix_in_ckpt=args.remove_prefix_in_ckpt, + enable_tensorboard_log=args.enable_tensorboard_log, + enable_swanlab_log=args.enable_swanlab_log, + swanlab_project=args.swanlab_project, + enable_wandb_log=args.enable_wandb_log, + wandb_project=args.wandb_project, + ) + launcher_map = { + "sft:data_process": launch_data_process_task, + "sft": launch_training_task, + "sft:train": launch_training_task, + } + launcher_map[args.task](accelerator, dataset, model, model_logger, args=args) From 67bcd02540bf3a4014aabc83f0af0a97f45208cc Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Sun, 26 Jul 2026 12:17:19 +0800 Subject: [PATCH 02/34] Add docs, prompt rewriting, LoRA validation, and low-VRAM example for LingBot-Video - docs/{en,zh}/Model_Details/LingBot-Video.md + index.rst toctree entries - two-stage prompt rewriter (structured JSON captions) + offline caption rewrite tool - LoRA training validation script - relocate low-VRAM inference into model_inference_low_vram/ Co-Authored-By: Claude Opus 4.8 --- diffsynth/pipelines/lingbot_video.py | 16 +- .../lingbot_video_prompt_rewriter.py | 298 +++++++++++++++++ .../pipelines/lingbot_video_system_prompts.py | 301 ++++++++++++++++++ docs/en/Model_Details/LingBot-Video.md | 160 ++++++++++ docs/en/index.rst | 1 + docs/zh/Model_Details/LingBot-Video.md | 160 ++++++++++ docs/zh/index.rst | 1 + examples/lingbot_video/README.md | 42 ++- .../lingbot-video-dense-1.3b.py | 8 +- .../lingbot-video-dense-1.3b_rewrite.py | 60 ++++ .../lingbot-video-dense-1.3b.py} | 4 +- .../lora/lingbot-video-dense-1.3b.sh | 18 +- .../model_training/rewrite_captions.py | 95 ++++++ .../lingbot_video/model_training/train.py | 7 +- .../validate_lora/lingbot-video-dense-1.3b.py | 24 ++ 15 files changed, 1178 insertions(+), 17 deletions(-) create mode 100644 diffsynth/pipelines/lingbot_video_prompt_rewriter.py create mode 100644 diffsynth/pipelines/lingbot_video_system_prompts.py create mode 100644 docs/en/Model_Details/LingBot-Video.md create mode 100644 docs/zh/Model_Details/LingBot-Video.md create mode 100644 examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py rename examples/lingbot_video/{model_inference/lingbot-video-dense-1.3b_low_vram.py => model_inference_low_vram/lingbot-video-dense-1.3b.py} (95%) create mode 100644 examples/lingbot_video/model_training/rewrite_captions.py create mode 100644 examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 0c8085e67..9b1f4c0c5 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -13,6 +13,7 @@ from ..models.lingbot_video_dit import LingBotVideoDiT from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder from ..models.qwen_image_vae import QwenImageVAE +from .lingbot_video_prompt_rewriter import normalize_caption # Number of tokens the Qwen3-VL processor truncates the prompt to. Copied verbatim @@ -141,9 +142,10 @@ def from_pretrained( @torch.no_grad() def __call__( self, - # Prompt - prompt: str = "", - negative_prompt: str = DEFAULT_NEGATIVE_PROMPT, + # Prompt. Accepts a structured caption (dict / list), a path to a prompt.json, + # or a plain string; see normalize_caption / the prompt rewriter. + prompt: Union[str, dict, list] = "", + negative_prompt: Union[str, dict, list] = DEFAULT_NEGATIVE_PROMPT, # Video-to-video input_video: list[Image.Image] = None, denoising_strength: float = 1.0, @@ -165,6 +167,14 @@ def __call__( # Scheduler self.scheduler.set_timesteps(num_inference_steps, denoising_strength=denoising_strength, shift=sigma_shift) + # Normalise the caption to the structured-JSON string the DiT was trained on. + # A dict/list caption or a path to a prompt.json is serialised via the model's + # compact-JSON convention; a plain string (already a caption / prose) is left + # untouched, so this is a no-op for existing callers. DEFAULT_NEGATIVE_PROMPT is + # already such a JSON string and passes through unchanged. + prompt = normalize_caption(prompt) + negative_prompt = normalize_caption(negative_prompt) + # Inputs inputs_posi = {"prompt": prompt} inputs_nega = {"negative_prompt": negative_prompt} diff --git a/diffsynth/pipelines/lingbot_video_prompt_rewriter.py b/diffsynth/pipelines/lingbot_video_prompt_rewriter.py new file mode 100644 index 000000000..6c3cdbe0c --- /dev/null +++ b/diffsynth/pipelines/lingbot_video_prompt_rewriter.py @@ -0,0 +1,298 @@ +"""Prompt handling for LingBot-Video. + +The LingBot-Video DiT is trained on **structured JSON captions**, not free-form +prose. Feeding a flat sentence is out-of-distribution and noticeably degrades +quality; feeding the structured caption the model expects restores it. This module +provides the two pieces needed to keep prompts in-distribution: + +1. :func:`normalize_caption` — the lightweight, dependency-free path used by the + pipeline and the training module. It turns a caption expressed as a ``dict`` / + ``list`` / path to a ``prompt.json`` into the exact compact-JSON string the DiT + consumes (a plain string is passed through untouched). This mirrors the original + ``lingbot_video.utils.caption_from_sample`` byte-for-byte. + +2. :class:`Rewriter` — a faithful port of the original two-stage prompt rewriter + (``rewriter/rewriter_core.py`` + ``rewriter/inference.py``). Stage 1 *expands* a + brief idea into a natural-language caption; stage 2 *maps* that caption into the + structured JSON. Stage 1 runs the base model, stage 2 runs the base model with a + LoRA adapter active. The bundled :class:`TransformersBackend` loads the rewriter + VLM locally; :func:`make_backend` also accepts a custom backend object (anything + exposing ``generate(text, image, use_lora) -> str``) so the rewriter can be driven + by a hosted / OpenAI-compatible endpoint without shipping the weights. + +Typical use:: + + from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt + caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) + video = pipe(prompt=caption, ...) # caption is the structured JSON string +""" + +import io +import json +import os +import re + +# Optional deps: only needed for the local rewriter backend / image loading, never +# for normalize_caption (the common path). +try: + import requests +except ImportError: + requests = None + +try: + from PIL import Image +except ImportError: + Image = None + +try: + from json_repair import repair_json +except ImportError: + repair_json = None + +from .lingbot_video_system_prompts import ( + VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, +) + + +# --------------------------------------------------------------------------- +# Layer 1: caption -> in-distribution prompt string +# --------------------------------------------------------------------------- + +# Keys that describe how to *render* the clip rather than its content. When a full +# sample dict is given without an explicit "caption" key, these are stripped before +# serialisation (kept identical to the original ``caption_from_sample``). +_RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} + + +def _serialize_caption(caption) -> str: + """dict/list -> compact JSON (the exact model format); anything else -> ``str()``.""" + if isinstance(caption, (dict, list)): + return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) + return str(caption) + + +def _caption_from_sample(sample) -> str: + """Port of ``lingbot_video.utils.caption_from_sample``. + + A *sample* dict either carries the structured caption under ``"caption"`` or IS + the caption once the runtime keys are dropped. + """ + if isinstance(sample, dict): + if "caption" in sample: + caption = sample["caption"] + else: + caption = {k: v for k, v in sample.items() if k not in _RUNTIME_KEYS} + else: + caption = sample + return _serialize_caption(caption) + + +def normalize_caption(prompt): + """Normalise a caption into the compact-JSON string the LingBot DiT expects. + + Accepts: + + - ``dict`` / ``list`` — a structured caption (or a full sample dict with a + ``"caption"`` key), serialised via the original compact-JSON convention. + - a path to a ``prompt.json`` file (``str`` ending in ``.json`` that exists) — + loaded, then handled as the dict/list case. + - any other ``str`` — returned unchanged (already a caption string, or free-form + prose the caller intentionally wants to feed as-is). + - ``None`` — returned unchanged. + + Plain strings are passed through, so this is safe to call unconditionally on + prompts that are already in the right format. + """ + if prompt is None: + return prompt + if isinstance(prompt, str): + if prompt.endswith(".json") and os.path.isfile(prompt): + with open(prompt, "r", encoding="utf-8") as f: + prompt = json.load(f) + return _caption_from_sample(prompt) + return prompt + if isinstance(prompt, (dict, list)): + return _caption_from_sample(prompt) + return str(prompt) + + +# --------------------------------------------------------------------------- +# Layer 2: raw idea -> structured caption (the two-stage rewriter) +# --------------------------------------------------------------------------- + +# mode -> (step1 system prompt, step2 system prompt, feed image?, add duration?) +MODES = { + "t2v": dict(s1=VIDEO_STEP1_EXPAND, s2=VIDEO_STEP2_MAP, image=False, duration=True), + "ti2v": dict(s1=VIDEO_STEP1_EXPAND, s2=VIDEO_STEP2_MAP, image=True, duration=True), + "t2i": dict(s1=IMAGE_STEP1_EXPAND, s2=IMAGE_STEP2_MAP, image=False, duration=False), +} + + +def _has_cjk(s: str) -> bool: + return any("一" <= c <= "鿿" for c in s) + + +def load_image(src): + """Load a first-frame image from a local path / http(s) URL / PIL.Image -> RGB PIL.""" + if Image is None: + raise ImportError("loading a first-frame image requires the Pillow package.") + if isinstance(src, Image.Image): + return src.convert("RGB") + if isinstance(src, str) and re.match(r"^https?://", src): + if requests is None: + raise ImportError("fetching an image URL requires the requests package.") + return Image.open(io.BytesIO(requests.get(src, timeout=30).content)).convert("RGB") + return Image.open(src).convert("RGB") + + +def _step1_text(mode, prompt, dur): + sys = MODES[mode]["s1"] + if mode == "t2i": + return sys + "\n\nUser image prompt:\n" + prompt + dur_line = f"\n\n视频时长:{dur} 秒" if _has_cjk(prompt) else f"\n\nVideo Duration: {dur} seconds" + return sys + "\n\n" + prompt + dur_line + + +def _step2_text(mode, detailed, dur): + sys = MODES[mode]["s2"] + if mode == "t2i": + return sys + "\n\nDETAILED CAPTION:\n" + detailed + return (sys + f"\n\nVideo Duration: {dur} seconds\n\nDETAILED CAPTION:\n" + + detailed + "\n\nOutput the JSON now.") + + +def parse_json(raw): + """Parse the stage-2 output into a dict, or ``None`` if it cannot be parsed. + + VLMs occasionally emit unstable JSON (missing quotes, trailing commas, ``` fences), + so we strip any code fence, then try the stdlib parser first and fall back to + ``json_repair`` when it is installed (recommended for messy outputs).""" + s = (raw or "").strip() + m = re.search(r"```(?:json)?\s*(\{.*\})\s*```", s, re.DOTALL) + if m: + s = m.group(1) + try: + obj = json.loads(s) + if isinstance(obj, dict): + return obj + except Exception: + pass + if repair_json is not None: + try: + obj = repair_json(s, return_objects=True) + return obj if isinstance(obj, dict) else None + except Exception: + return None + return None + + +def save_caption(result, duration, path): + """Save as ``{"caption": , "duration": }`` — + exactly the ``prompt.json`` the pipeline / runner consume. ``duration`` is integer + seconds for T2V/TI2V and ``None`` for T2I (a still image has no duration).""" + dur = int(round(duration)) if MODES[result["mode"]]["duration"] else None + with open(path, "w", encoding="utf-8") as f: + json.dump({"caption": result["json"], "duration": dur}, f, ensure_ascii=False, indent=2) + return path + + +class TransformersBackend: + """Local rewriter VLM + LoRA adapter (peft). stage1 = base (adapter disabled), + stage2 = base + LoRA. Loads the rewriter model into memory; the weights are NOT + the DiT — set ``base``/``adapter`` (or ``REWRITER_BASE_MODEL``/``REWRITER_ADAPTER``) + to the rewriter VLM and its stage-2 adapter.""" + + def __init__(self, base=None, adapter=None, device="auto", max_new_tokens=6144): + import contextlib + import torch + from peft import PeftModel + from transformers import AutoModelForImageTextToText, AutoProcessor + + self._contextlib = contextlib + self._torch = torch + + base = base or os.environ.get("REWRITER_BASE_MODEL", "") + adapter = adapter or os.environ.get("REWRITER_ADAPTER", "") + if not base or not adapter: + raise ValueError( + "Set the rewriter base and adapter paths via base=/adapter= or the " + "REWRITER_BASE_MODEL / REWRITER_ADAPTER environment variables." + ) + self.processor = AutoProcessor.from_pretrained(base, trust_remote_code=True) + model = AutoModelForImageTextToText.from_pretrained( + base, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True) + self.model = PeftModel.from_pretrained(model, adapter).eval() + self.max_new_tokens = max_new_tokens + + def generate(self, text, image, use_lora): + torch = self._torch + content = ([{"type": "image", "image": image}] if image is not None else []) \ + + [{"type": "text", "text": text}] + messages = [{"role": "user", "content": content}] + chat = self.processor.apply_chat_template( + messages, tokenize=False, add_generation_prompt=True, enable_thinking=False) + inputs = self.processor( + text=[chat], images=([image] if image is not None else None), return_tensors="pt" + ).to(self.model.device) + # stage1 (expand): disable LoRA; stage2 (map): keep LoRA active. + adapter_ctx = self._contextlib.nullcontext() if use_lora else self.model.disable_adapter() + with torch.no_grad(), adapter_ctx: + out = self.model.generate(**inputs, max_new_tokens=self.max_new_tokens, do_sample=False) + gen = out[:, inputs["input_ids"].shape[1]:] + return self.processor.batch_decode(gen, skip_special_tokens=True)[0] + + +def make_backend(backend="transformers", base=None, adapter=None): + """Build a rewriter backend. + + - ``"transformers"`` — the bundled local :class:`TransformersBackend`. + - a custom object / callable — returned as-is if it already exposes + ``generate(text, image, use_lora) -> str``. Use this to drive the rewriter from + a hosted or OpenAI-compatible endpoint without downloading the VLM locally. + """ + if backend == "transformers": + return TransformersBackend(base, adapter) + if hasattr(backend, "generate"): + return backend + raise ValueError( + f"unknown backend: {backend!r}; pass 'transformers' or an object exposing " + "generate(text, image, use_lora)." + ) + + +class Rewriter: + """Two-stage orchestrator. The backend implements ``generate(text, image, use_lora) -> str``.""" + + def __init__(self, backend): + self.backend = backend + + def rewrite(self, prompt, mode="t2v", first_frame=None, duration=5): + if mode not in MODES: + raise ValueError(f"mode must be one of {list(MODES)}") + cfg = MODES[mode] + dur = int(round(duration)) + img = None + if cfg["image"]: + if first_frame is None: + raise ValueError(f"{mode} requires first_frame (path / URL / PIL.Image)") + img = load_image(first_frame) + # stage 1: EXPAND -- base model (no LoRA) + detailed = self.backend.generate(_step1_text(mode, prompt, dur), img, use_lora=False).strip() + # stage 2: MAP -- base + LoRA + raw = self.backend.generate(_step2_text(mode, detailed, dur), img, use_lora=True).strip() + return {"mode": mode, "detailed": detailed, "json": parse_json(raw), "json_raw": raw} + + +def rewrite_prompt(prompt, mode="t2v", first_frame=None, duration=5, + backend="transformers", base=None, adapter=None, return_result=False): + """Rewrite a brief idea into the structured caption string the pipeline expects. + + Returns the compact-JSON caption string (ready to pass as ``pipe(prompt=...)``). + Pass ``return_result=True`` to also get the full stage-1/stage-2 dict. + """ + rw = Rewriter(make_backend(backend, base, adapter)) + result = rw.rewrite(prompt, mode=mode, first_frame=first_frame, duration=duration) + caption = normalize_caption(result["json"]) if result["json"] is not None else result["json_raw"] + if return_result: + return caption, result + return caption diff --git a/diffsynth/pipelines/lingbot_video_system_prompts.py b/diffsynth/pipelines/lingbot_video_system_prompts.py new file mode 100644 index 000000000..35064b564 --- /dev/null +++ b/diffsynth/pipelines/lingbot_video_system_prompts.py @@ -0,0 +1,301 @@ +# LingBot-Video prompt-rewriter system prompts. +# +# Copied VERBATIM from the original lingbot-video package +# (rewriter/system_prompts.py) so the two-stage rewriter produces captions in the +# exact format the DiT was trained on. Do not paraphrase these strings — the model +# is sensitive to them. Four constants: VIDEO_STEP1_EXPAND / VIDEO_STEP2_MAP +# (text->natural caption, then caption->structured JSON) and the IMAGE_* pair. + +VIDEO_STEP1_EXPAND = ( + 'You write ONE short, natural, standalone video caption in English from a brief user video\n' + 'prompt — as if briefly recounting what happens in a real clip of that idea.\n' + '\n' + "INPUT: a short user prompt (and, when provided, the video's first frame as a visual anchor).\n" + '\n' + 'HARD LENGTH LIMIT: the output MUST be UNDER 1000 characters. Aim for roughly 400-800\n' + 'characters. Concise is a top priority.\n' + '\n' + 'STYLE — a flowing story, NOT a checklist:\n' + '- Connected, natural English prose. NO headings, NO bullets, NO field labels.\n' + '- The MAIN THREAD is what HAPPENS — lead with the action. Do NOT march subject-by-subject\n' + ' listing attributes; weave the few details you keep into the action naturally.\n' + '- One cohesive paragraph; never pad to add length.\n' + '\n' + 'WHAT TO COVER (only these):\n' + '- The scene in a brief phrase.\n' + '- Each main subject by name/what-it-is plus ONE most defining visual trait — not a full\n' + ' appearance list.\n' + '- What happens over the clip, in correct chronological order as the backbone, with an EXPLICIT\n' + ' timestamp in seconds on each action, distributed within the given video duration — e.g.\n' + ' "at 0.0s", "from 1.2s to 2.7s", "around the 3.4s mark", "finally from 4.0s to 5.0s". Span the\n' + ' actions from 0s up to (but never beyond) the stated duration; the last one ends at or before it.\n' + ' Attach a timestamp ONLY to a real action or change; mention a static/unchanging element once\n' + ' with NO timestamp — never put a whole-clip span on something that merely exists.\n' + '- A one-word shot type only if it matters; otherwise skip the camera.\n' + "- Named entities only if clearly implied — don't invent identities.\n" + '\n' + 'FAITHFUL EXPANSION:\n' + '- Stay consistent with the prompt; elaborate plausibly but never contradict it. If a first\n' + ' frame is given, ground the scene and subject in it.\n' + '- Keep actions in their natural, real-world direction — never reverse them. Commit to one\n' + " coherent interpretation; don't hedge with alternatives.\n" + '- Keep subject identities and counts consistent.\n' + '\n' + 'DOMAIN NOTES (apply whichever fits):\n' + '- Multiple events / sequence: lay out consecutive actions in STRICT chronological order as\n' + ' distinct, separated steps with approximate timing — never blur them into one vague action.\n' + '- Robot manipulation (VLA): subjects are robotic arm(s), gripper(s) and workspace objects,\n' + ' NOT people — no clothing/skin/gender/expression. When two arms are present, ALWAYS keep the\n' + ' LEFT and RIGHT arm distinct and state which arm/gripper does each motion; never swap, merge,\n' + ' or leave it ambiguous. Manipulation is STRICTLY NOT reversible.\n' + "- First-person (EGO): a head-mounted first-person view; camera motion IS the wearer's head\n" + ' movement. The agent is the camera-wearer, a PERSON shown through their own hands/arms and\n' + ' viewpoint; never a robot or external third-person subject. Stay strictly first-person.\n' + '\n' + 'Output ONLY the caption text — no preamble, no headings, no explanation.\n' + '\n' + "## EXAMPLES — one representative example per domain. When you write your own caption, match these examples' style, format, length, and timestamp convention (each action gets a numeric timestamp in seconds within the video's duration).\n" + '\n' + '### Example 1 — general\n' + 'USER PROMPT:\n' + '低角度广角镜头,镜头静止。中央大型条纹热气球缓慢上升并飘移(气球呈红橙黄绿蓝条纹,底部深色),背景中多个热气球在天空漂移。地面草地上散布着正在充气的热气球,一辆红色皮卡停放在旁。随后一辆蓝色拖车进入画面并横穿前景(覆盖蓝色防水布)。饱和色彩,硬光,日光,电影质感。\n' + '\n' + 'DETAILED CAPTION:\n' + 'At a vibrant hot air balloon festival on a sunny day, a wide shot shows a grassy field under a blue sky. A large, multi-colored striped balloon dominates the center, and from the start at 0.0 seconds until 5.3 seconds, it slowly rises and drifts slightly upward and to the right. Simultaneously during the 0.0s to 5.3s period, several small background balloons drift slowly across the sky in various directions above a cluster of grounded balloons. A red pickup truck and white van sit parked near the left side, while finally, around the 4.3s mark until 5.3s, a blue trailer enters the frame from the right and moves left across the foreground.\n' + '\n' + '### Example 2 — multi-event\n' + 'USER PROMPT:\n' + 'Subtitle: Outdoor High-Intensity Workout — All live-action, hyper-realistic, fixed shot with slight handheld unsteadiness.\n' + '\n' + 'Style: Hard daylight, high-angle wide shot, center composition, sharp shadows, athletic tension.\n' + '\n' + '1. Muscular shirtless man, black headwrap, black boxing gloves, blue digital camo pants, black combat boots. Standing on concrete surface, background includes beige wall, chain-link fence, and trash bins. Stands in a boxing stance with hands up.\n' + '\n' + '2. Drops into a deep squat, then jumps upward explosively.\n' + '\n' + '3. Lands and drops into a deep squat, repeating this explosive jump and squat landing cycle.\n' + '\n' + '4. After the final landing and squat, begins to stand up.\n' + '\n' + 'Overall movements coherent and natural, high contrast lighting, focused and athletic atmosphere.\n' + '\n' + 'DETAILED CAPTION:\n' + 'In an outdoor urban setting against a beige wall, a shirtless man wearing boxing gloves performs a workout on concrete. From 0.0s to 0.6s he stands in a boxing stance with hands up. Then from 0.6s to 1.2s he drops into a deep squat, followed by the period from 1.2s to 1.8s where he jumps upward explosively. From 1.8s to 2.4s he lands and drops into a deep squat, then from 2.4s to 3.0s jumps upward explosively again. Around the 3.0s to 3.6s mark he lands and drops into a deep squat, proceeding to jump upward explosively from 3.6s to 4.2s. From 4.2s to 4.8s he lands and drops into a deep squat once more, and finally from 4.8s to 5.0s he begins to stand up.\n' + '\n' + '### Example 3 — VLA\n' + 'USER PROMPT:\n' + '环境:自动化超市补货工作站,俯视视角,明亮均匀人工光,清晰功能化氛围。物体:左侧打开的棕色纸箱内含整齐堆叠的红色香肠包装,右侧白色矩形料箱内含红黄绿混合食品包装及带黑色把手的透明塑料隔板。机器人:双臂系统。左臂黑色机身银色底座黑色夹爪(全程静止悬停),右臂白色机身黑色夹爪腕部蓝色指示灯(活动主体)。动作:右臂向下向左移动伸入白色料箱,抓取隔板黑色把手,向右滑动隔板,释放把手,向上向右收回复位。左臂悬停于纸箱上方保持静止。相机:固定高角度俯视视角,全程静止镜头,宽画幅,超广角镜头,柔和人工光,极致细节。\n' + '\n' + 'DETAILED CAPTION:\n' + 'A top-down wide shot shows an automated workspace with a cardboard box of sausage packages on the left and a white bin on the right. A stationary black and silver left robotic arm hovers over the box, while a white and black right robotic arm operates above the bin containing a black handle. From 0.0s to 2.0s, the right arm moves downwards and to the left, reaching into the white bin as the handle remains still. Then from 2.0s to 6.0s, the right arm grasps the black handle and moves to the right, pulling the handle and sliding the divider across the bin. Finally from 6.0s to 9.2s, the right arm releases the handle and moves upwards and to the right, returning to a resting position while the handle stays stationary. The box and bin remain fixed throughout.\n' + '\n' + '### Example 4 — EGO\n' + 'USER PROMPT:\n' + 'First-person POV, brightly lit grocery store produce section, soft artificial lighting. Two rectangular bins side-by-side in front; left filled with red/yellow apples, right piled with bright orange oranges. Background shows aisles and shoppers, one in red shirt with basket. Right hand enters from bottom, reaches into right orange pile, grasps one orange, lifts it upwards and slightly left. Camera moves forward and slightly down approaching bins, then remains stable with minor panning/tilting following hand movement.\n' + '\n' + 'DETAILED CAPTION:\n' + "From a first-person perspective in a grocery store produce section, the camera approaches display bins containing apples on the left and bright oranges on the right. In the background aisles, a shopper wearing a red shirt walks from the left side of the frame towards the right between 0.0s and 2.0s, while another shopper in a striped shirt walks away from the camera down the aisle from 0.0s to 5.0s. The operator's right hand enters the frame from the bottom from 0.0s to 2.5s, then reaches into the pile of oranges and grasps one from 2.5s to 3.5s. Finally, the hand lifts the grasped orange upwards and to the left from 3.5s to 5.0s, selecting it from the cluster." +) + +VIDEO_STEP2_MAP = ( + 'You are a structuring engine. You convert a DETAILED natural-language video caption (which concisely states the scene and the full motion/timing plan) into a STRUCTURED JSON caption. Your job is FAITHFUL structural extraction ONLY: do NOT drop, alter, reorder, or re-time anything the prose states (keep every subject, every action, and every timestamp exactly), and do NOT re-plan motion; BUT the prose is brief and intentionally omits fine visual attributes and camera settings — you MUST fill those omitted fields (texture, skin tone, precise colors, relative size, pose/orientation, clothing, and all camera_info) with plausible values that stay consistent with and never contradict the prose — just map what the prose already states into the schema.\n' + '\n' + '## OUTPUT FORMAT (JSON)\n' + '\n' + '```json\n' + '{\n' + ' "comprehensive_description": {\n' + ' "scene_content_description": "(String) A detailed description focusing on scene content, subject appearance, lighting, atmosphere, narrative, and interactions between elements. Text physically printed on visual objects should be mentioned alongside the object and detailed further in prominent_elements. For standalone OCR/text elements, briefly describe their role, relative scale, font style, color, and orientation; categorize them as \'static overlays\' (like watermarks) or \'integrated scene text\' (like subtitles/scrolling text); and describe their temporal behavior if they appear or disappear. Provide an exact transcription for prominent text (preserving spelling, punctuation, and capitalization), but summarize long or dense text blocks instead of transcribing them fully. **Do not describe camera movement here**. Maximum 800 words.",\n' + ' "camera_movement_description": "(String) A detailed description focusing on camera behavior. Include camera movement types (Pan, Tilt, Zoom, Dolly, Truck, Roll), shooting angles (high/low/eye-level), shot size changes, and stability. Maximum 100 words. If the camera is essentially stationary, set to \'\'."\n' + ' },\n' + '\n' + ' "prominent_elements": [\n' + ' {\n' + ' "name": "(String) Short label for the object (e.g., \'red sports car\', \'elderly man\')",\n' + ' "description": "(String) Detailed visual description of this specific element",\n' + ' "actions": [\n' + ' {\n' + ' "timestamp": "(String) Time range when this action occurs, e.g., \'[0.0s - 3.0s]\'",\n' + ' "action": "(String) Specific action description during this time period. **Direction must be described from the observer\'s perspective**. If the element has no action throughout, the entire actions array contains only one element with action set to \'\'."\n' + ' }\n' + ' ],\n' + ' "location": "(String) Precise position in the frame or main area of activity (from observer\'s perspective)",\n' + ' "relative_size": "(String) small / medium / large / dominant",\n' + ' "shape_and_color": "(String) Basic geometric shape and dominant colors",\n' + ' "texture": "(String) e.g., smooth, rough, metallic, furry, glossy, matte",\n' + ' "appearance_details": "(String) Specific details such as patterns, text physically printed on the object, wear marks, or distinctive markings",\n' + ' "relationship": "(String) This object\'s spatial or contextual relationship with other elements in the scene. If this object obscures text, specify exactly what it covers (e.g., \'blocking the letter O in COW). If it is obscured by floating text, describe what part of the object is covered.",\n' + ' "orientation": "(String) e.g., upright, tilted, horizontal, facing away, diagonal",\n' + ' \n' + ' "pose": "(String) Body posture and its changes (human/humanoid only, otherwise empty)",\n' + ' "expression": "(String) Facial expression and emotional changes (human/humanoid only, otherwise empty)",\n' + ' "clothing": "(String) Clothing description, including colors and styles (human/humanoid only, otherwise empty)",\n' + ' "gender": "(String) Apparent gender (human/humanoid only, otherwise empty)",\n' + ' "skin_tone_and_texture": "(String) Skin appearance (human/humanoid only, otherwise empty)",\n' + ' \n' + ' "is_cluster": "true (only for cluster objects, omit otherwise)",\n' + ' "number_of_objects": "(String) Exact number if countable, otherwise \'several\' (3-6), \'many\' (7-20), or \'numerous\' (20+)"\n' + ' }\n' + ' ],\n' + '\n' + ' "camera_info": {\n' + ' "color": "(String) Warm, Cool, Mixed, Saturated, Desaturated, Black and White, Red, Orange, Yellow, Green, Cyan, Blue, Magenta, or Pink",\n' + ' "frame_size": "(String) Extreme Wide, Wide, Medium Wide, Medium, Medium Close Up, Close Up, or Extreme Close Up",\n' + ' "shot_type_angle": "(String) High angle, Low angle, Dutch angle, Overhead, Aerial, or Eye level",\n' + ' "lens_size": "(String) Ultra Wide / Fisheye, Wide, Medium, Long Lens, or Telephoto",\n' + ' "composition": "(String) Center, Balanced, Symmetrical, Left heavy, Right heavy, or Short side",\n' + ' "lighting": "(String) Hard light, Soft light, High contrast, Low contrast, Side light, Top light, Underlight, Backlight, Edge light, or Silhouette",\n' + ' "lighting_type": "(String) Daylight, Sunny, Overcast, Moonlight, Artificial light, Practical light, Tungsten, Fluorescent, Firelight, or Mixed light"\n' + ' }\n' + '}\n' + '```\n' + '\n' + '## IMPORTANT RULES\n' + '\n' + '1. **Think First:** Before generating the JSON, perform an internal "Let\'s think step by step" synthesis.\n' + '2. **Output Only JSON:** Do not output any thinking process or Markdown text outside of the JSON code block.\n' + '3. **Strict Fidelity (No Modification)**:\n' + '- Identity: Never alter the identity of subjects (e.g., a "real tiger" remains "real tiger").\n' + '- Actions: Verbs must be preserved exactly (e.g., "walking" cannot be changed to "running"). Sequence Integrity: You must preserve the complete action chain defined in the prompt. Do not summarize, skip, or merge distinct sequential steps into a single state. No Collective Summarization: Do not use summary phrases (e.g., "a sequence of...", "various movements") to cover multiple steps. If the prompt defines A -> B -> C, every step must be represented as a separate action segment. Any skipped step or summarized sequence is a CRITICAL ERROR.\n' + '- Quantity: If a number is specified, it must be exact. Quantifiers must be strictly preserved. "All" means all, "every" means every, "a single" means exactly 1. Do not paraphrase quantifiers into vague terms.\n' + '- Spatial Integrity: Relative positions (e.g., "A on the left of B") must be fixed as stated.\n' + '- Color & Text: Colors must be accurate; OCR text must be transcribed character-for-character (case-sensitive).\n' + '4. **Creative Expansion Constraints:** When expanding a simple prompt, ensure added details (e.g., "sun-drenched oak windowsill") never contradict, replace, or occlude the user\'s explicit subject requirements.\n' + '5. **Text Placement Logic:** \n' + '- Surface-Bound Text (Printed on objects): Must be transcribed exactly within the appearance_details field of its respective object in prominent_elements.\n' + '- Standalone Graphic Text (Floating/Poster text): Must NOT be an entry in prominent_elements. Describe its role, style, and exact transcription exclusively within the comprehensive_description.\n' + "- Dynamic Text: If the scene contains moving or updating text (e.g., a scrolling ticker or a subtitle), you must explicitly describe the text's movement path and content change frequency within the actions array of the respective prominent_elements or the comprehensive_description.\n" + '6. **Occlusion & Relational Mapping:** Explicitly document overlaps. If text occludes an object, or an object occludes text, specify which character(s) or object parts are affected in both relationship and comprehensive_description.\n' + '7. **Handle Missing Data:** If an attribute is not applicable to an element (e.g., pose for a mountain), set its value to "" (an empty string). Never use "N/A", "unknown", "not applicable", etc.\n' + '8. **Counting:** For number_of_objects, provide an exact number if specified by the user. Otherwise, use: "several" (3-6), "many" (7-20), or "numerous" (20+).\n' + '9. **Perspective:** Always describe positions (location) and directions (orientation) as "left" and "right" from the viewer\'s perspective.\n' + '10. **Visual Descriptive Realism:** Avoid abstract or emotional adjectives (e.g., "beautiful," "sad"). Instead, translate them into visually observable details (e.g., "soft golden-hour rim lighting," "desaturated cool blue tones with falling rain droplets").\n' + '11. **Clusters:** When describing a cluster (e.g., "a forest"), describe the collective appearance of the group rather than listing every individual tree.\n' + '12. **Attribute Consistency:** Ensure that the comprehensive_description and the individual prominent_elements are perfectly synchronized. Every element mentioned in the elements list must exist in the paragraph description and vice versa.\n' + '13. **Negative Constraints:** Any explicit prohibitions (e.g., "no text," "no background") must be strictly upheld. Never add elements that the user has explicitly requested to exclude.\n' + '14. **Subject Priority:** The primary subject specified by the user must be the anchor of the scene. Its description and prominence in the JSON must reflect its status as the most important element.\n' + '15. **Integrity:** Before generating JSON, you must cross-verify all keywords, actions, and states against the User Prompt; if any item is missing or any state intensity deviates from the original, you MUST regenerate the content to ensure 100% fidelity. \n' + '16. **Non-OCR Classification:** Do not force objects into "text" status. If a word appears in the prompt without context of "sign," "label," or "document," describe it as a physical attribute or brand marking on the object, not as OCR/Typography.\n' + "17. **Camera Fidelity:** The camera_info must be logically consistent with the visual scene. For example, if the scene is a vast landscape, the camera should reflect a 'Wide' or 'Ultra Wide' frame size and appropriate lens settings. Avoid contradictory pairings (e.g., 'Extreme Close Up' with a 'Wide' lens).\n" + '18. **Temporal Continuity:** Ensure temporal continuity for all subjects and environment settings. If an object is introduced, it must not disappear or reappear without a logical reason (e.g., leaving the frame or being occluded). Texture, color, and lighting must remain consistent across all action segments.\n' + "19. **Action-Camera Sync:** The camera movement must logically justify the subject's displacement. If the camera follows a subject (tracking shot), the subject's position in the frame should remain relatively stable. If the camera is static, the subject must show movement within the frame.\n" + "20. **Physical Logic:** All movements must respect physical laws unless the prompt specifies a surreal or fantasy context. Avoid 'gliding' motions; ensure footsteps or object interactions (e.g., picking up an item) align with the timestamped actions.\n" + '21. **Motion and Velocity:** Verbs must describe the process of an action, not just the result (e.g., use \'rising from the chair\' instead of just \'standing\'). Every action in the actions array must include a velocity modifier (e.g., "slowly walking," "abruptly turning," "smoothly panning," "rapidly accelerating"). Avoid generic verbs without speed or force descriptors.\n' + '22. **Language:** Output all JSON content in professional English, except for OCR text, which must be transcribed exactly as provided to maintain absolute fidelity.\n' + '23. **Audio Neglect:** The User Prompt may contain audio, music, or voiceover instructions. Strictly ignore all audio-related instructions. Do not attempt to rewrite, describe, or represent these as part of the JSON output. Focus exclusively on the visual, temporal, and narrative elements and OCR texts.\n' + '24. **Duration Adherence:** A target video duration is provided in the input. Every timestamp in the `actions` array MUST fall within `[0.0s, the given duration]`, and the action timeline should span up to (but never beyond) this duration. Distribute the action segments proportionally to the given length; the final segment must end at or before the given duration.\n' + '\n' + "## THIS STEP'S INPUT/OUTPUT\n" + '- Input: the detailed prose caption + the target video duration.\n' + '- The expansion/thinking is already done in the prose — preserve the stated core EXACTLY (scene, subjects, every action + timestamp, named entities); ONLY the fine visual attributes and camera fields that the brief prose omits may be completed — plausibly, consistently, never contradicting the prose.\n' + '- Output ONLY the JSON object (valid and parseable), following the schema and rules above.' +) + +IMAGE_STEP1_EXPAND = ( + 'You write ONE short, natural, standalone IMAGE caption in English from a brief user image\n' + 'prompt — as if briefly describing a real photo of that idea.\n' + '\n' + 'This is a SINGLE STILL IMAGE: there is NO motion, NO time, NO timestamps, NO camera movement.\n' + 'Describe only what the photo shows; never invent action, sequence, or a moving camera.\n' + '\n' + 'HARD LENGTH LIMIT: the output MUST be UNDER 1000 characters. Aim for roughly 400-800\n' + 'characters. Concise is a top priority.\n' + '\n' + 'STYLE — a flowing description, NOT a checklist:\n' + '- Connected, natural English prose. NO headings, NO bullets, NO field labels.\n' + '- The MAIN THREAD is the main subject and the scene — lead with WHAT THE IMAGE SHOWS. Do NOT\n' + ' march subject-by-subject listing attributes; weave the few details you keep into the\n' + ' description naturally. One cohesive paragraph; never pad to add length.\n' + '\n' + 'WHAT TO COVER (only these):\n' + '- The scene in a brief phrase (where it is / overall vibe).\n' + '- Each main subject by name/what-it-is plus ONE most defining visual trait — not a full\n' + ' appearance list. The key spatial arrangement only if it defines the image.\n' + '- A one-word shot type only if it matters (e.g. close-up, wide shot, aerial); otherwise skip the camera.\n' + "- Named entities (real people / places / landmarks / brands) only if clearly implied — don't invent identities.\n" + '\n' + 'FAITHFUL EXPANSION:\n' + '- Stay consistent with the prompt; elaborate plausibly but never contradict it. Commit to one\n' + " coherent interpretation; don't hedge with alternatives.\n" + '- Keep subject identities and counts consistent.\n' + '\n' + 'Output ONLY the caption text — no preamble, no headings, no explanation.\n' + '\n' + '\n' + "## EXAMPLES — one representative example per type. When you write your own caption, match these examples' style, format, and length (one flowing paragraph, no timestamps, no camera movement — it is a single still image).\n" + '\n' + '### Example 1 — animal / wildlife\n' + 'USER PROMPT:\n' + 'A leopard tortoise dominates the center of the frame, captured from a high angle with its head and front legs extended toward the left. Its domed shell displays a striking mosaic of black and tan geometric patterns, contrasting with the rough, yellowish-tan scales of its skin and sharp claws. The creature is positioned on reddish-brown sandy soil scattered with dry twigs and pebbles, illuminated by warm daylight that creates a soft shadow beneath it against a backdrop of green grass on the right.\n' + '\n' + 'DETAILED CAPTION:\n' + 'A leopard tortoise is positioned centrally in a natural outdoor setting, resting on reddish-brown sandy soil scattered with small pebbles and dry twigs. Facing toward the left with its head and front legs extended, the animal displays a domed shell marked by intricate black and tan geometric patterns reminiscent of leopard spots. Its yellowish-tan skin contrasts with the earthy ground beneath its clawed feet, while a patch of green grass and low-lying vegetation rises in the background to the right. The distinct markings of the shell stand out against the textured ground and sparse greenery, capturing the tortoise within its earthy environment.\n' + '\n' + '### Example 2 — architecture / landmark\n' + 'USER PROMPT:\n' + '极度广角镜头,高角度拍摄。明亮日光,硬光,暖色调,清晰阴影。宏伟的古典风格宫殿庭院,浅色石材。中央巨大的多层拱形入口,饰有金色和蓝色装饰带,深色凹陷内部可见小金门。宽阔石阶通向圆形分层平台。两侧对称亭阁,顶部为反射金色圆顶,蓝色瓷砖拱门,装饰攀爬绿藤和粉色花朵。露台布满茂盛绿植和小花。若干穿着传统长袍(白、灰、棕、红)的小人物散布庭院以示比例。背景岩石山坡,远处建筑,晴朗明亮天空。写实建筑摄影。\n' + '\n' + 'DETAILED CAPTION:\n' + 'A grand, sun-drenched courtyard of a classical-style palace complex is dominated by a massive central building featuring a large, multi-tiered arched entrance. Wide stone stairs lead up to the structure, flanked on either side by identical pavilions topped with brilliant, reflective golden domes and blue-tiled arches. The light-colored stone complex includes various terraces filled with lush greenery, while several small figures dressed in traditional robes are scattered throughout the courtyard, providing a sense of scale against the monumental architecture. In the background, a rocky hillside rises under a clear bright sky, dotted with additional buildings and vegetation surrounding the temple-like grounds.\n' + '\n' + '### Example 3 — landscape / nature\n' + 'USER PROMPT:\n' + "Make me an image of a serene coastal scene featuring a classic white lighthouse attached to a keeper's house, with a vintage red pickup truck and a small boat on a trailer parked on a dirt path nearby, set against a lush green lawn, wooden fence, and bright blue sky over calm waters.\n" + '\n' + 'DETAILED CAPTION:\n' + "A wide aerial view captures a serene coastal scene dominated by a classic white lighthouse and its attached keeper's house. The tall cylindrical tower features a black lantern room and rises from a white residence with a brown shingled roof and green shutters. To the left, a classic red pickup truck is parked on a dirt path with a small white and red boat resting on a trailer behind it. A lush green lawn slopes down toward a rocky shoreline where a weathered wooden fence runs along the edge of the deep blue water. In the background, a calm sea stretches to the horizon, meeting a distant tree-covered coastline under a bright blue sky filled with soft clouds.\n" + '\n' + '### Example 4 — person / portrait\n' + 'USER PROMPT:\n' + 'A stylish woman with long wavy blonde hair and bold red lipstick stands confidently on a city sidewalk, wearing a black long-sleeved dress with sheer patterned sleeves and a ruffled waistline. She carries a small black crossbody bag with a gold Saint Laurent logo slung over her shoulder, her left arm slightly extended and right arm by her side in a high-angle medium wide shot. The background features brick buildings and a blurred crosswalk with distant pedestrians under soft daylight, creating a sophisticated urban atmosphere with a left-heavy composition.\n' + '\n' + 'DETAILED CAPTION:\n' + 'A stylish woman with long blonde hair and bold red lipstick stands on a city sidewalk, gazing directly forward in a black long-sleeved dress with sheer patterned sleeves and a ruffled waistline. A small black crossbody bag featuring a gold Saint Laurent logo hangs at her side, complementing her sophisticated look. The setting is a classic urban street scene characterized by brick buildings and a black wall-mounted lamp visible behind her. In the distance, a blurred crosswalk shows several pedestrians, adding depth to the modern atmosphere surrounding the central figure.' +) + +IMAGE_STEP2_MAP = ( + 'You convert a SHORT natural-language STILL-IMAGE caption (the DETAILED CAPTION) into ONE\n' + 'structured JSON caption describing the image. Output ONLY the JSON object — no prose, no code fence.\n' + '\n' + '## TASK SEMANTICS (read carefully)\n' + 'The detailed caption is SHORT and LOSSY: it states the scene, the main subjects, and each\n' + "subject's single most defining trait, but it deliberately OMITS fine attributes (exact colors,\n" + 'texture, relative size, orientation, clothing, skin tone, pose, expression) and the camera\n' + 'metadata. Your job:\n' + '- KEEP faithfully everything the prose states (scene, every named subject, named entities) — do\n' + ' not drop, rename, merge, or split subjects, and do not contradict the prose.\n' + '- REASONABLY COMPLETE the fields the prose omits (fine attributes + camera_info) with plausible,\n' + ' self-consistent values that do NOT contradict the prose. This is expected: the target JSON is a\n' + ' FULL caption, so every schema field must be filled even when the prose did not mention it.\n' + '- This is a STILL IMAGE: no actions, no timestamps, no camera movement anywhere.\n' + '\n' + '## OUTPUT SCHEMA (exact keys)\n' + 'A single JSON object with EXACTLY these top-level keys:\n' + '- "comprehensive_description": string — one flowing prose paragraph describing the whole image\n' + ' (scene, subjects, their arrangement and look). No field labels inside it.\n' + '- "camera_info": object with EXACTLY these 7 string keys, each set to ONE value from its list:\n' + ' - "color": Warm | Cool | Mixed | Saturated | Desaturated | White | Green | Blue | Red | Cyan\n' + ' - "frame_size": Extreme Close Up | Close Up | Medium Close Up | Medium | Medium Wide | Wide | Extreme Wide\n' + ' - "shot_type_angle": Eye level | Low angle | High angle | Overhead | Aerial\n' + ' - "lens_size": Ultra Wide / Fisheye | Wide | Medium | Long Lens | Telephoto\n' + ' - "composition": Center | Balanced | Symmetrical | Left heavy | Right heavy\n' + ' - "lighting": Soft light | Hard light | Top light | Underlight | Backlight\n' + ' - "lighting_type": Daylight | Artificial light\n' + '- "world_knowledge": array of strings — named entities / real-world facts (people, places,\n' + ' landmarks, brands) stated or clearly implied by the prose; [] if none. NEVER invent identities.\n' + '- "prominent_elements": array of objects, one per notable subject/object. Each element has:\n' + ' - always: "name", "description", "location", "relative_size" (one of: dominant | large | medium | small),\n' + ' "shape_and_color", "texture", "appearance_details", "relationship", "orientation"\n' + ' - for a PERSON, additionally: "pose", "expression", "clothing", "gender" (male | female),\n' + ' "skin_tone_and_texture"\n' + ' - for a GROUP/crowd of like items, additionally: "is_cluster": true and "number_of_objects": ""\n' + '\n' + '## RULES\n' + '- Output STRICT valid JSON only (double quotes, no trailing commas, no comments, no code fence).\n' + '- Fill EVERY field; never leave a required field empty. Values you complete must be consistent\n' + ' with the prose and with each other.\n' + '- Keep the number and identity of prominent_elements aligned with the subjects the prose names\n' + ' (you may add a clearly-implied background element, but do not invent unrelated subjects).\n' + '- Copy named entities verbatim into world_knowledge.\n' + '- No actions, no timestamps, no camera-movement fields — this is a still image.' +) diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md new file mode 100644 index 000000000..de0261fbf --- /dev/null +++ b/docs/en/Model_Details/LingBot-Video.md @@ -0,0 +1,160 @@ +# LingBot-Video + +LingBot-Video is a flow-matching text-to-video generation model. This document covers DiffSynth-Studio's inference and LoRA SFT training support for the **Dense-1.3B** text-to-video checkpoint. + +The integration is built on the standard DiffSynth pipeline stack: + +- **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. The Dense-1.3B build uses a plain FFN; the architecture also supports an MoE FFN. +- **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. +- **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal compression. +- **Scheduler** — `LingBotVideoUniPCScheduler`: UniPC multistep for inference; it falls back to the full-resolution flow-matching schedule for training. + +## Installation + +Before using this project for model inference and training, please install DiffSynth-Studio first. + +```shell +git clone https://github.com/modelscope/DiffSynth-Studio.git +cd DiffSynth-Studio +pip install -e . +``` + +LingBot-Video additionally requires `transformers >= 5.x` (for Qwen3-VL) and `imageio` / `imageio-ffmpeg` for video I/O. For more information about installation, please refer to [Install Dependencies](../Pipeline_Usage/Setup.md). + +## Quick Start + +Run the following code to quickly load the [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) model and perform text-to-video inference. The required files are downloaded automatically the first time the code runs. + +```python +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +video = pipe( + prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, seed=0, +) +save_video(video, "video.mp4", fps=15, quality=10) +``` + +**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see the low-VRAM example in the table below. + +## Model Overview + +| Model ID | Inference | Low VRAM Inference | Full Training | Full Training Validation | LoRA Training | LoRA Training Validation | +|-|-|-|-|-|-|-| +|[Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|-|-|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| + +## Model Inference + +The model is loaded via `LingBotVideoPipeline.from_pretrained`, see [Loading Models](../Pipeline_Usage/Model_Inference.md#loading-models) for details. + +Input parameters for `LingBotVideoPipeline` inference include: + +* `prompt`: Prompt describing the content appearing in the video. Accepts a structured caption (`dict` / `list`), a path to a `prompt.json`, or a plain string; see [Prompt rewriting](#prompt-rewriting-important-for-quality). +* `negative_prompt`: Negative prompt describing content that should not appear in the video. A default (T2V) negative prompt is built into the pipeline, so this can be left unset. +* `input_video`: Input video (a list of frames or a `VideoData`) for video-to-video generation, used together with `denoising_strength`. +* `denoising_strength`: Denoising strength, range 0~1, default value is 1.0. Lower values keep more of the input video structure. Only effective when `input_video` is provided. +* `height`: Video height, default 480. Must be a multiple of 16. +* `width`: Video width, default 480. Must be a multiple of 16. +* `num_frames`: Number of video frames, default 81. Must satisfy `4k+1` (the VAE compresses time by 4×). +* `cfg_scale`: Classifier-free guidance scale, default 6.0. A value of 3.0 is recommended for the Dense-1.3B model. +* `num_inference_steps`: Number of inference steps, default 40. +* `sigma_shift`: Flow-matching timestep shift, default 3.0. +* `seed`: Random seed. Default is `None`, meaning completely random. +* `rand_device`: Device for generating the initial noise, default `"cpu"`. +* `progress_bar_cmd`: Progress bar, default `tqdm`. Can be disabled by setting to `lambda x: x`. + +When running low on VRAM, please refer to [VRAM Management](../Pipeline_Usage/VRAM_management.md) to enable VRAM management features. + +## Prompt rewriting (important for quality) + +LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality; feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict`, a path to a `prompt.json`, or a plain string, and normalises it (via `normalize_caption`) to the exact compact-JSON format the DiT was trained on — a plain string is passed through unchanged, so existing scripts keep working. + +To turn a **brief idea** into that structured caption, use the bundled two-stage rewriter (`diffsynth/pipelines/lingbot_video_prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. + +```python +from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt +caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) +video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) +``` + +The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT). Point it at the weights via `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER` (or `base=` / `adapter=`), or drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. See `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py`. + +## Model Training + +LingBot-Video is trained through [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py), which fine-tunes the DiT with LoRA using the flow-matching SFT objective. The script parameters include: + +* General Training Parameters + * Dataset Basic Configuration + * `--dataset_base_path`: Root directory of the dataset. + * `--dataset_metadata_path`: Metadata file path of the dataset (a CSV / JSONL with a `video` column and a `prompt` column). + * `--dataset_repeat`: Number of times the dataset is repeated in each epoch. + * `--dataset_num_workers`: Number of processes for each DataLoader. + * `--data_file_keys`: Field names to be loaded from metadata as files, usually video file paths, separated by `,`. + * Model Loading Configuration + * `--model_paths`: Paths of models to be loaded. JSON format. + * `--model_id_with_origin_paths`: Model IDs with original paths, separated by commas. + * Training Basic Configuration + * `--learning_rate`: Learning rate. + * `--num_epochs`: Number of epochs. + * `--task`: Training task, default is `sft`. + * Output Configuration + * `--output_path`: Model saving path. + * `--remove_prefix_in_ckpt`: Remove prefix in the state dict of the saved model. + * `--save_steps`: Interval of training steps to save the model. If left blank, the model is saved once per epoch. + * LoRA Configuration + * `--lora_base_model`: Which model to add LoRA to, e.g. `dit`. + * `--lora_target_modules`: Which layers to add LoRA to. + * `--lora_rank`: Rank of LoRA. + * `--lora_checkpoint`: Path of a LoRA checkpoint to resume / continue from. + * Gradient Configuration + * `--use_gradient_checkpointing`: Whether to enable gradient checkpointing. + * `--use_gradient_checkpointing_offload`: Whether to offload gradient checkpointing to memory. + * `--gradient_accumulation_steps`: Number of gradient accumulation steps. + * Video Width/Height Configuration + * `--height`: Height of the video. Must be divisible by 16. + * `--width`: Width of the video. Must be divisible by 16. + * `--num_frames`: Number of frames in the video. Must satisfy `4k+1`. +* LingBot-Video Specific Parameters + * `--processor_path`: Path of the Qwen3-VL processor used by the text encoder. + +The launch script first downloads the example video-SFT dataset used across DiffSynth-Studio, then trains on it: + +```shell +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ + --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset +``` + +### Attention-only LoRA (default scope) + +The recommended launch script patches LoRA on the joint text+video self-attention only: + +``` +--lora_base_model "dit" +--lora_target_modules "to_q,to_k,to_v,to_out" +--lora_rank 32 +--remove_prefix_in_ckpt "pipe.dit." +``` + +The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are left frozen. To also adapt the FFN, add those module names to `--lora_target_modules`. + +For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). `train.py` runs each prompt through `normalize_caption`. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/rewrite_captions.py` before training. + +We have written recommended training scripts, please refer to the table in the "Model Overview" section above. For how to write model training scripts, please refer to [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, please refer to [Training Framework Detailed Explanation](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). + +## Notes + +- The text encoder shares its checkpoint fingerprint with the existing `krea2_text_encoder` (identical Qwen3-VL architecture), so the model loader instantiates both when loading LingBot-Video. This is redundant load time only — the pipeline fetches the correct encoder by name and the other is released. +- Latent normalisation is handled inside the VAE's 5D-video code path; the pipeline does not re-apply `latents_mean` / `latents_std`. diff --git a/docs/en/index.rst b/docs/en/index.rst index e062d679f..8b5b17507 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst @@ -41,6 +41,7 @@ Welcome to DiffSynth-Studio's Documentation Model_Details/Ideogram-4 Model_Details/Krea-2 Model_Details/Boogu-Image + Model_Details/LingBot-Video .. toctree:: :maxdepth: 2 diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md new file mode 100644 index 000000000..9f1a5f2bd --- /dev/null +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -0,0 +1,160 @@ +# LingBot-Video + +LingBot-Video 是一个基于 flow-matching 的文生视频生成模型。本文档介绍 DiffSynth-Studio 对 **Dense-1.3B** 文生视频权重的推理与 LoRA SFT 训练支持。 + +该接入基于标准的 DiffSynth Pipeline 组件栈构建: + +- **DiT** — `LingBotVideoDiT`(`diffsynth/models/lingbot_video_dit.py`),视频去噪器。Dense-1.3B 版本使用普通 FFN;该架构同时支持 MoE FFN。 +- **文本编码器** — `LingBotVideoTextEncoder`(Qwen3-VL)。提示词会被包裹进提示增强的对话模板中编码,随后裁剪掉模板前缀 token。 +- **VAE** — 复用 DiffSynth 的 `QwenImageVAE`(与 LingBot-Video 的 VAE 逐字节一致),空间 8× / 时间 4× 压缩。 +- **调度器** — `LingBotVideoUniPCScheduler`:推理时使用 UniPC 多步调度;训练时回退到完整分辨率的 flow-matching 调度。 + +## 安装 + +在使用本项目进行模型推理和训练前,请先安装 DiffSynth-Studio。 + +```shell +git clone https://github.com/modelscope/DiffSynth-Studio.git +cd DiffSynth-Studio +pip install -e . +``` + +LingBot-Video 还额外依赖 `transformers >= 5.x`(用于 Qwen3-VL)以及 `imageio` / `imageio-ffmpeg`(用于视频读写)。更多关于安装的信息,请参考[安装依赖](../Pipeline_Usage/Setup.md)。 + +## 快速开始 + +运行以下代码可以快速加载 [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) 模型并进行文生视频推理。首次运行时会自动下载所需文件。 + +```python +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +video = pipe( + prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, seed=0, +) +save_video(video, "video.mp4", fps=15, quality=10) +``` + +**低显存:** 向 `from_pretrained` 传入 `vram_limit=` 即可开启逐层 offload,详见下表中的低显存示例。 + +## 模型总览 + +|模型 ID|推理|低显存推理|全量训练|全量训练后验证|LoRA 训练|LoRA 训练后验证| +|-|-|-|-|-|-|-| +|[Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|-|-|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| + +## 模型推理 + +模型通过 `LingBotVideoPipeline.from_pretrained` 加载,详见[加载模型](../Pipeline_Usage/Model_Inference.md#加载模型)。 + +`LingBotVideoPipeline` 推理的输入参数包括: + +* `prompt`: 描述视频内容的提示词。支持结构化 caption(`dict` / `list`)、`prompt.json` 路径,或普通字符串;详见[提示词改写](#提示词改写对质量很重要)。 +* `negative_prompt`: 负向提示词,描述不希望出现在视频中的内容。Pipeline 内置了默认(T2V)负向提示词,因此可以不设置。 +* `input_video`: 输入视频(帧列表或 `VideoData`),用于视频生视频,需与 `denoising_strength` 配合使用。 +* `denoising_strength`: 降噪强度,取值范围 0~1,默认为 1.0。值越小,越保留输入视频的结构。仅在提供 `input_video` 时生效。 +* `height`: 视频高度,默认为 480,需能被 16 整除。 +* `width`: 视频宽度,默认为 480,需能被 16 整除。 +* `num_frames`: 视频帧数,默认为 81,需满足 `4k+1`(VAE 在时间维上做 4× 压缩)。 +* `cfg_scale`: 分类器自由引导系数,默认为 6.0。Dense-1.3B 模型推荐使用 3.0。 +* `num_inference_steps`: 推理步数,默认为 40。 +* `sigma_shift`: flow-matching 时间步偏移,默认为 3.0。 +* `seed`: 随机种子,默认为 `None`,即完全随机。 +* `rand_device`: 生成初始噪声的设备,默认为 `"cpu"`。 +* `progress_bar_cmd`: 进度条,默认为 `tqdm`,可设为 `lambda x: x` 关闭。 + +显存不足时,请参考[显存管理](../Pipeline_Usage/VRAM_management.md)启用显存管理功能。 + +## 提示词改写(对质量很重要) + +LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。喂入一句普通句子属于分布外(out-of-distribution)输入,会明显降低质量;喂入模型期望的结构化 caption 则能恢复质量。Pipeline 接受 `dict`、`prompt.json` 路径或普通字符串形式的 caption,并将其(通过 `normalize_caption`)归一化为 DiT 训练时使用的紧凑 JSON 格式——普通字符串会原样透传,因此已有脚本无需改动。 + +若要把一个**简短想法**转成该结构化 caption,可使用内置的两阶段改写器(`diffsynth/pipelines/lingbot_video_prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 + +```python +from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt +caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) +video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) +``` + +改写器是**独立的 VLM + 阶段二 LoRA 适配器**(不是 DiT)。可通过 `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER`(或 `base=` / `adapter=`)指向权重,也可以通过传入一个暴露 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,来驱动托管的 / OpenAI 兼容的推理端点。详见 `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py`。 + +## 模型训练 + +LingBot-Video 通过 [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py) 进行训练,使用 flow-matching SFT 目标对 DiT 做 LoRA 微调。脚本的参数包括: + +* 通用训练参数 + * 数据集基础配置 + * `--dataset_base_path`: 数据集的根目录。 + * `--dataset_metadata_path`: 数据集的元数据文件路径(含 `video` 列与 `prompt` 列的 CSV / JSONL)。 + * `--dataset_repeat`: 每个 epoch 中数据集重复的次数。 + * `--dataset_num_workers`: 每个 Dataloader 的进程数量。 + * `--data_file_keys`: 元数据中需要按文件加载的字段名称,通常是视频文件路径,以 `,` 分隔。 + * 模型加载配置 + * `--model_paths`: 要加载的模型路径。JSON 格式。 + * `--model_id_with_origin_paths`: 带原始路径的模型 ID,用逗号分隔。 + * 训练基础配置 + * `--learning_rate`: 学习率。 + * `--num_epochs`: 轮数(Epoch)。 + * `--task`: 训练任务,默认为 `sft`。 + * 输出配置 + * `--output_path`: 模型保存路径。 + * `--remove_prefix_in_ckpt`: 在保存模型的 state dict 中移除前缀。 + * `--save_steps`: 保存模型的训练步数间隔。留空则每个 epoch 保存一次。 + * LoRA 配置 + * `--lora_base_model`: LoRA 添加到哪个模型上,例如 `dit`。 + * `--lora_target_modules`: LoRA 添加到哪些层上。 + * `--lora_rank`: LoRA 的秩(Rank)。 + * `--lora_checkpoint`: 用于续训 / 继续训练的 LoRA 检查点路径。 + * 梯度配置 + * `--use_gradient_checkpointing`: 是否启用 gradient checkpointing。 + * `--use_gradient_checkpointing_offload`: 是否将 gradient checkpointing 卸载到内存中。 + * `--gradient_accumulation_steps`: 梯度累积步数。 + * 视频宽高配置 + * `--height`: 视频高度,需能被 16 整除。 + * `--width`: 视频宽度,需能被 16 整除。 + * `--num_frames`: 视频帧数,需满足 `4k+1`。 +* LingBot-Video 专有参数 + * `--processor_path`: 文本编码器使用的 Qwen3-VL processor 路径。 + +启动脚本会先下载 DiffSynth-Studio 通用的示例视频 SFT 数据集,然后在其上训练: + +```shell +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ + --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset +``` + +### 仅注意力 LoRA(默认范围) + +推荐的启动脚本仅在文本+视频联合自注意力上添加 LoRA: + +``` +--lora_base_model "dit" +--lora_target_modules "to_q,to_k,to_v,to_out" +--lora_rank 32 +--remove_prefix_in_ckpt "pipe.dit." +``` + +MoE / FFN 专家(`gate_proj`、`up_proj`、`down_proj`)与 router 保持冻结。若要同时微调 FFN,可将这些模块名加入 `--lora_target_modules`。 + +为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。`train.py` 会对每条 prompt 调用 `normalize_caption`。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/rewrite_captions.py` 离线改写一次。 + +我们编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 + +## 注意事项 + +- 文本编码器与已有的 `krea2_text_encoder` 共享同一 checkpoint 指纹(Qwen3-VL 架构相同),因此模型加载器在加载 LingBot-Video 时会同时实例化两者。这只是冗余的加载耗时——Pipeline 会按名称取用正确的编码器,另一个会被释放。 +- Latent 归一化在 VAE 的 5D 视频代码路径内部处理;Pipeline 不会再额外应用 `latents_mean` / `latents_std`。 diff --git a/docs/zh/index.rst b/docs/zh/index.rst index 7928a58e6..eca57685c 100644 --- a/docs/zh/index.rst +++ b/docs/zh/index.rst @@ -41,6 +41,7 @@ Model_Details/Ideogram-4 Model_Details/Krea-2 Model_Details/Boogu-Image + Model_Details/LingBot-Video .. toctree:: :maxdepth: 2 diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index c112a6ff9..6b0bc884e 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -54,7 +54,28 @@ save_video(video, "output.mp4", fps=15, quality=5) The pipeline ships a default (T2V) negative prompt, so `negative_prompt` is optional. Video-to-video is supported by passing `input_video=` (a list of frames or a `VideoData`) together with `denoising_strength < 1`. -**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference/lingbot-video-dense-1.3b_low_vram.py`. +**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference_low_vram/lingbot-video-dense-1.3b.py`. + +## Prompt rewriting (important for quality) + +LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality (softer, less coherent motion); feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict`, a path to a `prompt.json`, or a plain string, and normalises it to the exact compact-JSON format the DiT was trained on — a plain string is passed through unchanged, so existing scripts keep working. + +```python +# All three are equivalent once normalised, and all are accepted by pipe(prompt=...): +pipe(prompt={"caption": {"comprehensive_description": {...}}, "duration": 5}) # dict +pipe(prompt="assets/cases/t2v/example_1/prompt.json") # prompt.json path +pipe(prompt='{"comprehensive_description":{...}}') # already-serialised string +``` + +To turn a **brief idea** into that structured caption, use the bundled two-stage rewriter (`diffsynth/pipelines/lingbot_video_prompt_rewriter.py`), a faithful port of the original: stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. + +```python +from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt +caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) +video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) +``` + +The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT). Point it at the weights via `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER` (or `base=`/`adapter=`). If you serve the rewriter behind a hosted / OpenAI-compatible endpoint instead of loading it locally, pass a custom object exposing `generate(text, image, use_lora)` as `backend=`. See `model_inference/lingbot-video-dense-1.3b_rewrite.py`. ## Training (LoRA SFT) @@ -64,9 +85,16 @@ The pipeline ships a default (T2V) negative prompt, so `negative_prompt` is opti bash examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh ``` +The launch script first downloads the example video-SFT dataset used across DiffSynth-Studio, then trains on it: + +```bash +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ + --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset +``` + ### Dataset format -A metadata CSV (or JSONL) with a `video` column (path relative to `--dataset_base_path`) and a `prompt` column: +Bring your own data by pointing `--dataset_base_path` / `--dataset_metadata_path` at a metadata CSV (or JSONL) with a `video` column (path relative to `--dataset_base_path`) and a `prompt` column — the same layout as the example dataset above: ``` video,prompt @@ -76,6 +104,16 @@ videos/001.mp4,A serene lake at sunrise, mist rising from the water ... Pass `--data_file_keys "video"` so the loader treats the `video` column as a file to load. +For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). `train.py` runs each prompt through `normalize_caption`, so a `dict`-valued prompt (in JSONL) or a path to a `prompt.json` is serialised automatically, and a plain string is used as-is. If your dataset stores raw prose, rewrite it once offline before training: + +```bash +python examples/lingbot_video/model_training/rewrite_captions.py \ + --metadata metadata.csv --output metadata_rewritten.csv \ + --base /path/to/rewriter-base --adapter /path/to/rewriter-step2-lora --duration 5 +``` + +then train on `metadata_rewritten.csv`. (This is done offline because running the rewriter VLM inside the dataloader on every step would be prohibitively slow.) + ### Attention-only LoRA (default scope) The launch script patches LoRA on the joint text+video self-attention only: diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index 97de5a949..eb2ddcbb1 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -19,10 +19,10 @@ video = pipe( prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=6.0, + num_inference_steps=40, cfg_scale=3.0, seed=0, ) -save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=5) +save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=10) # Video-to-video. `denoising_strength < 1` keeps part of the input structure. video = VideoData("video_lingbot-video-dense-1.3b.mp4", height=480, width=832) @@ -30,7 +30,7 @@ prompt="A playful puppy wearing black sunglasses runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", input_video=video, denoising_strength=0.7, height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=6.0, + num_inference_steps=40, cfg_scale=3.0, seed=1, ) -save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=5) +save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py new file mode 100644 index 000000000..8ca89d4bc --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py @@ -0,0 +1,60 @@ +import os +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt, normalize_caption + + +# LingBot-Video is trained on STRUCTURED-JSON captions, not free-form prose. Feeding a +# flat sentence is out-of-distribution and visibly degrades quality; rewriting the idea +# into the structured caption the model expects restores it. This example shows the two +# supported ways to obtain that caption. + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) + + +# --- Option A: rewrite a brief idea with the two-stage prompt rewriter -------------- +# The rewriter is a separate VLM + LoRA adapter (NOT the DiT). Point these at the +# rewriter base model and its stage-2 adapter: +# export REWRITER_BASE_MODEL=/path/to/rewriter-base +# export REWRITER_ADAPTER=/path/to/rewriter-step2-lora +# If you serve the rewriter behind a hosted / OpenAI-compatible endpoint instead, pass +# a custom backend object exposing generate(text, image, use_lora) as `backend=`. +if os.environ.get("REWRITER_BASE_MODEL") and os.environ.get("REWRITER_ADAPTER"): + caption = rewrite_prompt( + "A playful puppy runs across a lush green meadow, chasing a red ball. " + "Dynamic side-tracking camera.", + mode="t2v", duration=5, backend="transformers", + ) + print("Rewritten caption:\n", caption) +else: + # --- Option B: no rewriter model — supply a structured caption directly ---------- + # A dict (or a path to a prompt.json) is serialised to the exact model format by + # normalize_caption; the pipeline also calls it internally, so pipe(prompt=) + # works too. Replace this stub with a real structured caption for best quality. + caption = normalize_caption({ + "caption": { + "comprehensive_description": { + "scene_content_description": "A playful golden puppy runs across a lush green meadow dotted with wildflowers, chasing a bright red ball under a clear blue sky.", + "camera_movement_description": "Dynamic side-tracking shot following the puppy.", + } + }, + "duration": 5, + }) + +video = pipe( + prompt=caption, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b_rewrite.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py similarity index 95% rename from examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py rename to examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index b34f81c8a..b6e3bf1db 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_low_vram.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -21,7 +21,7 @@ video = pipe( prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=6.0, + num_inference_steps=40, cfg_scale=3.0, seed=0, ) -save_video(video, "video_lingbot-video-dense-1.3b_low_vram.mp4", fps=15, quality=5) +save_video(video, "video_lingbot-video-dense-1.3b_low_vram.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh index 316f47264..594e3868a 100644 --- a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh @@ -2,17 +2,25 @@ # This fetches the whole repo once into ./models so the paths below resolve locally. modelscope download --model Robbyant/lingbot-video-dense-1.3b --local_dir ./models/Robbyant/lingbot-video-dense-1.3b +# Download the example video-SFT dataset (a small text-to-video set with a `video` + +# `prompt` metadata.csv), the same DiffSynth-Studio example dataset the other training +# scripts use. NOTE: its prompts are plain prose; for best quality rewrite them into +# structured captions first with model_training/rewrite_captions.py (see the README). +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset + # Attention-only LoRA SFT. # `--lora_target_modules "to_q,to_k,to_v,to_out"` patches LoRA on the joint # text+video self-attention only, leaving the MoE / FFN experts and the router frozen. +# `--num_frames 169` = 7 s at the model's native 24 fps (169 = 4k+1, required by the +# VAE's 4x temporal compression). The loader samples the first 169 frames of each clip. accelerate launch examples/lingbot_video/model_training/train.py \ - --dataset_base_path data/example_video_dataset \ - --dataset_metadata_path data/example_video_dataset/metadata.csv \ + --dataset_base_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B \ + --dataset_metadata_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B/metadata.csv \ --data_file_keys "video" \ --height 480 \ --width 832 \ - --num_frames 81 \ - --dataset_repeat 100 \ + --num_frames 169 \ + --dataset_repeat 200 \ --model_paths '[ [ "./models/Robbyant/lingbot-video-dense-1.3b/text_encoder/model-00001-of-00002.safetensors", @@ -23,7 +31,7 @@ accelerate launch examples/lingbot_video/model_training/train.py \ ]' \ --processor_path "./models/Robbyant/lingbot-video-dense-1.3b/processor" \ --learning_rate 1e-4 \ - --num_epochs 5 \ + --num_epochs 20 \ --remove_prefix_in_ckpt "pipe.dit." \ --output_path "./models/train/lingbot-video-dense-1.3b_lora" \ --lora_base_model "dit" \ diff --git a/examples/lingbot_video/model_training/rewrite_captions.py b/examples/lingbot_video/model_training/rewrite_captions.py new file mode 100644 index 000000000..3b234af9e --- /dev/null +++ b/examples/lingbot_video/model_training/rewrite_captions.py @@ -0,0 +1,95 @@ +"""Offline: rewrite a training metadata file's raw prompts into structured JSON captions. + +LingBot-Video is trained on structured-JSON captions. If your dataset's ``prompt`` +column holds free-form prose, run this ONCE before training to rewrite every prompt +into the structured caption the DiT expects, and train on the rewritten metadata. This +is done offline on purpose — running the (large) rewriter VLM inside the dataloader on +every step would be prohibitively slow. + +The rewriter is a separate VLM + stage-2 LoRA adapter (NOT the DiT). Provide it via +``--base``/``--adapter`` or the ``REWRITER_BASE_MODEL`` / ``REWRITER_ADAPTER`` env vars. + +Usage: + python rewrite_captions.py --metadata metadata.csv --output metadata_rewritten.csv \ + --base /path/to/rewriter-base --adapter /path/to/rewriter-step2-lora --duration 5 + +Supports .csv / .json / .jsonl metadata (same formats as the training dataset loader). +The output keeps every other column and replaces the ``--prompt-column`` with the +compact-JSON caption string. Rows whose stage-2 output fails to parse are kept with +their original prompt and logged, so training never silently trains on a broken row. +""" + +import argparse +import json +import os + +from diffsynth.pipelines.lingbot_video_prompt_rewriter import Rewriter, make_backend, normalize_caption + + +def _load_rows(path): + if path.endswith(".json"): + with open(path, "r", encoding="utf-8") as f: + return json.load(f), "json" + if path.endswith(".jsonl"): + rows = [] + with open(path, "r", encoding="utf-8") as f: + for line in f: + line = line.strip() + if line: + rows.append(json.loads(line)) + return rows, "jsonl" + import pandas + df = pandas.read_csv(path) + return [df.iloc[i].to_dict() for i in range(len(df))], "csv" + + +def _save_rows(rows, path, fmt): + if fmt == "json": + with open(path, "w", encoding="utf-8") as f: + json.dump(rows, f, ensure_ascii=False, indent=2) + elif fmt == "jsonl": + with open(path, "w", encoding="utf-8") as f: + for row in rows: + f.write(json.dumps(row, ensure_ascii=False) + "\n") + else: + import pandas + pandas.DataFrame(rows).to_csv(path, index=False) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--metadata", required=True, help="input metadata (.csv/.json/.jsonl)") + ap.add_argument("--output", required=True, help="output metadata with rewritten captions") + ap.add_argument("--prompt-column", default="prompt") + ap.add_argument("--mode", default="t2v", choices=["t2v", "ti2v", "t2i"]) + ap.add_argument("--duration", type=float, default=5) + ap.add_argument("--backend", default="transformers") + ap.add_argument("--base", default=None, help="rewriter base model (or REWRITER_BASE_MODEL)") + ap.add_argument("--adapter", default=None, help="rewriter stage-2 LoRA (or REWRITER_ADAPTER)") + ap.add_argument("--first-frame-column", default=None, + help="for ti2v: column holding the first-frame image path/URL") + args = ap.parse_args() + + rows, fmt = _load_rows(args.metadata) + rewriter = Rewriter(make_backend(args.backend, args.base, args.adapter)) + + ok, failed = 0, 0 + for i, row in enumerate(rows): + raw = row.get(args.prompt_column, "") + first_frame = row.get(args.first_frame_column) if args.first_frame_column else None + result = rewriter.rewrite(raw, mode=args.mode, first_frame=first_frame, duration=args.duration) + if result["json"] is not None: + row[args.prompt_column] = normalize_caption(result["json"]) + ok += 1 + else: + failed += 1 + print(f"[warn] row {i}: stage-2 JSON did not parse; keeping original prompt.") + if (i + 1) % 20 == 0: + print(f" ... {i + 1}/{len(rows)} rewritten") + + _save_rows(rows, args.output, fmt) + print(f"[done] {ok} rewritten, {failed} kept-as-is -> {os.path.abspath(args.output)}") + + +if __name__ == "__main__": + main() diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index c1507ced3..1d7e74ab4 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -1,6 +1,7 @@ import torch, os, argparse, accelerate, warnings from diffsynth.core import UnifiedDataset from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption from diffsynth.diffusion import * os.environ["TOKENIZERS_PARALLELISM"] = "false" @@ -65,7 +66,11 @@ def __init__( self.min_timestep_boundary = min_timestep_boundary def get_pipeline_inputs(self, data): - inputs_posi = {"prompt": data["prompt"]} + # LingBot-Video is trained on structured-JSON captions. Normalise the metadata + # "prompt" column (dict / prompt.json path -> compact JSON; plain string kept + # as-is) so LoRA trains in-distribution. Prepare captions offline with + # model_training/rewrite_captions.py if your dataset stores raw prose. + inputs_posi = {"prompt": normalize_caption(data["prompt"])} inputs_nega = {} inputs_shared = { # Assume you are using this pipeline for inference, diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py new file mode 100644 index 000000000..e695867f6 --- /dev/null +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py @@ -0,0 +1,24 @@ +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +pipe.load_lora(pipe.dit, "models/train/lingbot-video-dense-1.3b_lora/epoch-19.safetensors", alpha=1) + +video = pipe( + prompt="from sunset to night, a small town, light, house, river", + height=480, width=832, num_frames=169, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=10) From 55c83577e83b1eb8722527768400a45a8b7e6f7e Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 11:26:26 +0800 Subject: [PATCH 03/34] Add LingBot-Video MoE-30B-A3B support Register the MoE 30B-A3B DiT (128 experts, top-8 group-limited routing, 1 shared expert) and add VRAM management module maps for the LingBot-Video DiT and text encoder, which previously had no entry and fell back to whole-model wrapping. The MoE experts store their weights as grouped nn.Parameter rather than nn.Linear, so the expert container itself is wrapped -- without that the experts, which are the bulk of the model, would stay resident. Also fixes three issues surfaced while validating the MoE path: - _run_grouped_experts guarded the fast path with hasattr(torch, "_grouped_mm"), which is True on CPU even though the kernel is CUDA-only. Now device-aware. - The block and DiT forwards derived the activation dtype from .weight.dtype. Under VRAM management the wrapped layer holds its weight in the offload dtype (or on meta for disk offload), so this read the wrong dtype. Resolved from computation_dtype instead. - The fp32-pinned timestep and modulation MLPs were fed fp32 activations while VRAM management wraps every nn.Linear at computation_dtype, raising a dtype mismatch on any low-VRAM run. Resolved per-layer. The dense low-VRAM example set only vram_limit, which is a no-op without offload_dtype/offload_device, so VRAM management never activated; corrected along with the same claim in the docs. Validated against the official implementation with identical weights: router selection and gate scores are bit-exact, and the full DiT matches bit-exactly at fp32 (bf16 differs only because diffusers' .to() downcasts the fp32-pinned modules). The registered model_hash matches the released checkpoint headers across all 977 keys with no shape mismatches. Co-Authored-By: Claude Opus 4.8 --- diffsynth/configs/model_configs.py | 16 ++++++ .../configs/vram_management_module_maps.py | 17 ++++++ diffsynth/models/lingbot_video_dit.py | 52 +++++++++++++++---- docs/en/Model_Details/LingBot-Video.md | 34 ++++++++++-- docs/zh/Model_Details/LingBot-Video.md | 34 ++++++++++-- .../lingbot-video-moe-30b-a3b.py | 38 ++++++++++++++ .../lingbot-video-dense-1.3b.py | 23 +++++--- .../lingbot-video-moe-30b-a3b.py | 42 +++++++++++++++ 8 files changed, 233 insertions(+), 23 deletions(-) create mode 100644 examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py diff --git a/diffsynth/configs/model_configs.py b/diffsynth/configs/model_configs.py index 19f2c3af9..c79105dd1 100644 --- a/diffsynth/configs/model_configs.py +++ b/diffsynth/configs/model_configs.py @@ -1332,6 +1332,22 @@ "model_class": "diffsynth.models.lingbot_video_dit.LingBotVideoDiT", "state_dict_converter": "diffsynth.utils.state_dict_converters.lingbot_video_dit.LingBotVideoDiTStateDictConverter", }, + { + # Example: ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors") + # MoE 30B-A3B DiT (128 experts, top-8 with group-limited routing, 1 shared + # expert). The released package also ships a `refiner/` DiT with the exact + # same architecture and key set, so it hashes identically and is loaded + # through this entry too; the pipeline separates them by load order. + "model_hash": "65b83aa625cd362ff5ff3409fb367a6f", + "model_name": "lingbot_video_dit", + "model_class": "diffsynth.models.lingbot_video_dit.LingBotVideoDiT", + "state_dict_converter": "diffsynth.utils.state_dict_converters.lingbot_video_dit.LingBotVideoDiTStateDictConverter", + "extra_kwargs": { + "depth": 48, "axes_lens": (4096, 512, 512), "num_experts": 128, + "moe_intermediate_size": 768, "n_group": 4, "topk_group": 2, + "n_shared_experts": 1, "routed_scaling_factor": 2.5, + }, + }, { # Example: ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/*.safetensors") # Qwen3-VL text encoder (2 shards). Hash is over the merged key set of both diff --git a/diffsynth/configs/vram_management_module_maps.py b/diffsynth/configs/vram_management_module_maps.py index 1f35eee51..4430d1f5b 100644 --- a/diffsynth/configs/vram_management_module_maps.py +++ b/diffsynth/configs/vram_management_module_maps.py @@ -408,6 +408,23 @@ "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule", "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", }, + "diffsynth.models.lingbot_video_dit.LingBotVideoDiT": { + "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", + "torch.nn.LayerNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + "diffsynth.models.lingbot_video_dit.LingBotVideoRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + # The MoE experts keep their weights as bare `nn.Parameter` (w1/w2/w3 of + # shape [E, I, H]) rather than `nn.Linear`, so `AutoWrappedLinear` cannot + # reach them. Wrapping the container itself is what makes the 30B-A3B + # checkpoint offloadable -- without this the experts, which are the bulk + # of the model, would stay resident. + "diffsynth.models.lingbot_video_dit.LingBotVideoGroupedExperts": "diffsynth.core.vram.layers.AutoWrappedModule", + }, + "diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder": { + "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", + "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule", + "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule", + "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + }, } def QwenImageTextEncoder_Module_Map_Updater(): diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 59fe8fd1d..d6221597a 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -34,6 +34,24 @@ def should_keep_in_fp32(name: str) -> bool: return any(module_name in name.split(".") for module_name in LINGBOT_VIDEO_FP32_MODULES) +def resolve_bulk_dtype(linear: nn.Module) -> torch.dtype: + """Dtype the bulk Linear path will actually compute in. + + Reading `linear.weight.dtype` is wrong under DiffSynth's VRAM management: the + wrapped layer holds its weight in the offload dtype (e.g. float8) between + forwards, and on `meta` when offloaded to disk, casting to `computation_dtype` + only inside its own forward. `computation_dtype` is the value to feed the + activations, so prefer it whenever the layer is wrapped. + """ + computation_dtype = getattr(linear, "computation_dtype", None) + if isinstance(computation_dtype, torch.dtype): + # fp8 compute still takes bf16 activations; AutoWrappedLinear quantises internally. + if computation_dtype in (torch.float8_e4m3fn, torch.float8_e4m3fnuz, torch.float8_e5m2): + return torch.bfloat16 + return computation_dtype + return linear.weight.dtype + + def get_timestep_embedding( timesteps: torch.Tensor, embedding_dim: int, @@ -367,7 +385,10 @@ def _unpad_grouped_tokens(output, input_shape, permuted_indices): return unpermuted[:-1] def _run_grouped_experts(self, tokens, counts): - if not hasattr(torch, "_grouped_mm"): + # `torch._grouped_mm` exists as a symbol on every backend but only has a CUDA + # kernel, so probing with `hasattr` alone would crash on CPU (and on NPU). + # Fall back to the mathematically equivalent per-expert loop off CUDA. + if not hasattr(torch, "_grouped_mm") or tokens.device.type != "cuda": return self._run_experts_for_loop(tokens, counts) input_shape, padded_tokens, permuted_indices, aligned_counts = self._pad_grouped_tokens(tokens, counts) offsets = torch.cumsum(aligned_counts, dim=0, dtype=torch.int32) @@ -451,7 +472,7 @@ def __init__(self, hidden_size, num_attention_heads, intermediate_size, norm_eps self.ffn = LingBotVideoMLP(h, intermediate_size) self.norm_post_ffn = LingBotVideoRMSNorm(h, norm_eps) - def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=None): + def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=None, bulk_dtype=None): expected_tokens = x.shape[0] * x.shape[1] if temb6.ndim != 2 or temb6.shape[0] != expected_tokens: raise ValueError( @@ -459,13 +480,17 @@ def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=No f"got {tuple(temb6.shape)} for hidden states {tuple(x.shape)}." ) # AdaLN modulation / norms run in fp32 (sensitive path); cast to the bulk - # compute dtype only at the bf16 Linear boundary. + # compute dtype only at the bf16 Linear boundary. `bulk_dtype` is supplied + # by the parent module: under VRAM management the attention weights are + # held in the offload dtype (or on `meta` for disk offload), so their + # `.dtype` is not the dtype the Linear will actually compute in. + if bulk_dtype is None: + bulk_dtype = resolve_bulk_dtype(self.attn.to_q) mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.unsqueeze(0) shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = mod.chunk(6, dim=-1) gate_msa, gate_mlp = gate_msa.tanh(), gate_mlp.tanh() scale_msa, scale_mlp = 1.0 + scale_msa, 1.0 + scale_mlp - bulk_dtype = self.attn.to_q.weight.dtype attn_in = (self.norm1(x) * scale_msa + shift_msa).to(bulk_dtype) attn_out = self.attn(attn_in, rotary_emb, attention_mask) x = x + (gate_msa * self.norm_post_attn(attn_out)).to(x.dtype) @@ -651,9 +676,12 @@ def forward( attention_mask = key_mask[:, None, None, :] # (B,1,1,S) -> SDPA broadcast moe_padding_mask = key_mask.reshape(-1).float() # (B*S,) - # Timestep -> per-token modulation. + # Timestep -> per-token modulation. The timestep MLP is one of the fp32-pinned + # modules, so its input is fp32 -- but VRAM management wraps every `nn.Linear` + # at `computation_dtype` regardless of that policy, so resolve the dtype from + # the layer itself instead of assuming fp32. timestep_proj = self.time_proj(timestep.float()) - t_emb = self.time_embedder(timestep_proj) # (B, D) + t_emb = self.time_embedder(timestep_proj.to(resolve_bulk_dtype(self.time_embedder.linear_1))) # (B, D) if packed_batch: temb_input = torch.cat( [t_emb[i:i + 1].unsqueeze(1).expand(1, sample_seq_lens[i], -1) for i in range(B)], dim=1 @@ -661,8 +689,10 @@ def forward( else: temb_input = t_emb.unsqueeze(1).expand(B, joint_seq_len, -1) # (B, S, D) b_eff, s_eff = temb_input.shape[0], temb_input.shape[1] - temb6 = self.time_modulation(temb_input.reshape(b_eff * s_eff, -1)) # (B*S, 6D) + mod_dtype = resolve_bulk_dtype(self.time_modulation[1]) + temb6 = self.time_modulation(temb_input.reshape(b_eff * s_eff, -1).to(mod_dtype)) # (B*S, 6D) + bulk_dtype = resolve_bulk_dtype(self.patch_embedder) for block in self.blocks: joint = gradient_checkpoint_forward( block, @@ -670,12 +700,16 @@ def forward( use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, x=joint, temb6=temb6, rotary_emb=rotary, attention_mask=attention_mask, moe_padding_mask=moe_padding_mask, + bulk_dtype=bulk_dtype, ) - final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1)) + out_mod_dtype = resolve_bulk_dtype(self.norm_out_modulation[1]) + final_mod = self.norm_out_modulation( + temb_input.reshape(joint.shape[0] * joint.shape[1], -1).to(out_mod_dtype) + ) shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) final_hidden = self.norm_out(joint) * (1.0 + scale) + shift - projected = self.proj_out(final_hidden.to(self.proj_out.weight.dtype)) + projected = self.proj_out(final_hidden.to(resolve_bulk_dtype(self.proj_out))) if packed_batch: split_lengths = [] diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index de0261fbf..f1969bdce 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -1,10 +1,10 @@ # LingBot-Video -LingBot-Video is a flow-matching text-to-video generation model. This document covers DiffSynth-Studio's inference and LoRA SFT training support for the **Dense-1.3B** text-to-video checkpoint. +LingBot-Video is a flow-matching text-to-video generation model. This document covers DiffSynth-Studio's inference support for the **Dense-1.3B** and **MoE-30B-A3B** text-to-video checkpoints, and LoRA SFT training support for Dense-1.3B. The integration is built on the standard DiffSynth pipeline stack: -- **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. The Dense-1.3B build uses a plain FFN; the architecture also supports an MoE FFN. +- **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. A single class covers both variants: Dense-1.3B uses a plain FFN (`num_experts=0`), MoE-30B-A3B a sparse MoE FFN. - **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. - **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal compression. - **Scheduler** — `LingBotVideoUniPCScheduler`: UniPC multistep for inference; it falls back to the full-resolution flow-matching schedule for training. @@ -48,13 +48,39 @@ video = pipe( save_video(video, "video.mp4", fps=15, quality=10) ``` -**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see the low-VRAM example in the table below. +**Low VRAM:** set `offload_dtype` / `offload_device` on each `ModelConfig` to enable layer-by-layer offloading, optionally with `vram_limit=` — see the low-VRAM example in the table below. + +## MoE-30B-A3B + +[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b) is the larger variant: 30B total parameters with ~3B active per token. Each MoE layer holds 128 routed experts plus 1 shared expert, and routes each token to 8 experts using group-limited top-k (4 groups, top-2 groups). + +It loads through the same pipeline; only the model ID and the shard glob change (the checkpoint is split across 13 shards): + +```python +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), +) +``` + +Notes specific to the MoE variant: + +- The expert matmuls use `torch._grouped_mm` on CUDA, falling back to an equivalent per-expert loop elsewhere. +- The experts store their weights as grouped `nn.Parameter` tensors rather than `nn.Linear`, so VRAM management wraps the expert container itself. Since the experts are the bulk of the model, the low-VRAM path is what keeps resident VRAM near the ~3B active footprint instead of the full 30B. +- The released package also ships a second-stage `refiner/` DiT (same architecture, used to upscale a base result). It is not wired into the pipeline yet. ## Model Overview | Model ID | Inference | Low VRAM Inference | Full Training | Full Training Validation | LoRA Training | LoRA Training Validation | |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|-|-|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| ## Model Inference @@ -69,7 +95,7 @@ Input parameters for `LingBotVideoPipeline` inference include: * `height`: Video height, default 480. Must be a multiple of 16. * `width`: Video width, default 480. Must be a multiple of 16. * `num_frames`: Number of video frames, default 81. Must satisfy `4k+1` (the VAE compresses time by 4×). -* `cfg_scale`: Classifier-free guidance scale, default 6.0. A value of 3.0 is recommended for the Dense-1.3B model. +* `cfg_scale`: Classifier-free guidance scale, default 6.0. A value of 3.0 is recommended for LingBot-Video. * `num_inference_steps`: Number of inference steps, default 40. * `sigma_shift`: Flow-matching timestep shift, default 3.0. * `seed`: Random seed. Default is `None`, meaning completely random. diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 9f1a5f2bd..55d954e55 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -1,10 +1,10 @@ # LingBot-Video -LingBot-Video 是一个基于 flow-matching 的文生视频生成模型。本文档介绍 DiffSynth-Studio 对 **Dense-1.3B** 文生视频权重的推理与 LoRA SFT 训练支持。 +LingBot-Video 是一个基于 flow-matching 的文生视频生成模型。本文档介绍 DiffSynth-Studio 对 **Dense-1.3B** 与 **MoE-30B-A3B** 文生视频权重的推理支持,以及对 Dense-1.3B 的 LoRA SFT 训练支持。 该接入基于标准的 DiffSynth Pipeline 组件栈构建: -- **DiT** — `LingBotVideoDiT`(`diffsynth/models/lingbot_video_dit.py`),视频去噪器。Dense-1.3B 版本使用普通 FFN;该架构同时支持 MoE FFN。 +- **DiT** — `LingBotVideoDiT`(`diffsynth/models/lingbot_video_dit.py`),视频去噪器。同一个类同时覆盖两个版本:Dense-1.3B 使用普通 FFN(`num_experts=0`),MoE-30B-A3B 使用稀疏 MoE FFN。 - **文本编码器** — `LingBotVideoTextEncoder`(Qwen3-VL)。提示词会被包裹进提示增强的对话模板中编码,随后裁剪掉模板前缀 token。 - **VAE** — 复用 DiffSynth 的 `QwenImageVAE`(与 LingBot-Video 的 VAE 逐字节一致),空间 8× / 时间 4× 压缩。 - **调度器** — `LingBotVideoUniPCScheduler`:推理时使用 UniPC 多步调度;训练时回退到完整分辨率的 flow-matching 调度。 @@ -48,13 +48,39 @@ video = pipe( save_video(video, "video.mp4", fps=15, quality=10) ``` -**低显存:** 向 `from_pretrained` 传入 `vram_limit=` 即可开启逐层 offload,详见下表中的低显存示例。 +**低显存:** 在每个 `ModelConfig` 上设置 `offload_dtype` / `offload_device` 即可开启逐层 offload,可再配合 `vram_limit=`,详见下表中的低显存示例。 + +## MoE-30B-A3B + +[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b) 是更大的版本:总参数量 30B,每个 token 激活约 3B。每个 MoE 层包含 128 个路由专家和 1 个共享专家,并使用 group-limited top-k(4 组,取 top-2 组)将每个 token 路由到 8 个专家。 + +它复用同一条 pipeline,只需更换模型 ID 与分片通配符(权重被切分为 13 个 shard): + +```python +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), +) +``` + +MoE 版本的注意事项: + +- 专家矩阵乘在 CUDA 上使用 `torch._grouped_mm`,在其他设备上回退到等价的逐专家循环。 +- 专家权重以分组的 `nn.Parameter` 而非 `nn.Linear` 存储,因此显存管理包装的是专家容器本身。由于专家占据了模型的绝大部分参数,低显存路径能让常驻显存接近约 3B 的激活规模,而不是完整的 30B。 +- 官方权重包中还提供了第二阶段的 `refiner/` DiT(架构相同,用于在 base 结果之上做超分精修),目前尚未接入 pipeline。 ## 模型总览 |模型 ID|推理|低显存推理|全量训练|全量训练后验证|LoRA 训练|LoRA 训练后验证| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|-|-|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| ## 模型推理 @@ -69,7 +95,7 @@ save_video(video, "video.mp4", fps=15, quality=10) * `height`: 视频高度,默认为 480,需能被 16 整除。 * `width`: 视频宽度,默认为 480,需能被 16 整除。 * `num_frames`: 视频帧数,默认为 81,需满足 `4k+1`(VAE 在时间维上做 4× 压缩)。 -* `cfg_scale`: 分类器自由引导系数,默认为 6.0。Dense-1.3B 模型推荐使用 3.0。 +* `cfg_scale`: 分类器自由引导系数,默认为 6.0。LingBot-Video 推荐使用 3.0。 * `num_inference_steps`: 推理步数,默认为 40。 * `sigma_shift`: flow-matching 时间步偏移,默认为 3.0。 * `seed`: 随机种子,默认为 `None`,即完全随机。 diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py new file mode 100644 index 000000000..78861647f --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py @@ -0,0 +1,38 @@ +import torch +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + + +# The MoE checkpoint is sharded, so the file pattern has to match all shards. +# 30B total parameters with 3B active per token (128 experts, top-8 routing). +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), +) + +# Text-to-video. The default (T2V) negative prompt is built into the pipeline, +# so `negative_prompt` can be left unset. +video = pipe( + prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b.mp4", fps=15, quality=10) + +# Video-to-video. `denoising_strength < 1` keeps part of the input structure. +video = VideoData("video_lingbot-video-moe-30b-a3b.mp4", height=480, width=832) +video = pipe( + prompt="A playful puppy wearing black sunglasses runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + input_video=video, denoising_strength=0.7, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=1, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_v2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index b6e3bf1db..1b55b8db7 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -3,16 +3,27 @@ from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -# Low-VRAM inference. `vram_limit` turns on DiffSynth's automatic VRAM management, -# which keeps model weights on CPU and streams them to the GPU layer-by-layer during -# each forward. The value below reserves ~2 GB of headroom on top of the models. +# Low-VRAM inference. Setting `offload_dtype` / `offload_device` is what actually turns +# on DiffSynth's VRAM management: weights are kept on CPU in fp8 and streamed to the GPU +# layer-by-layer, then computed in bf16. `vram_limit` on its own has no effect. +vram_config = { + "offload_dtype": torch.float8_e4m3fn, + "offload_device": "cpu", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py new file mode 100644 index 000000000..31903d1eb --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py @@ -0,0 +1,42 @@ +import torch +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + + +# Low-VRAM inference. Setting `offload_dtype` / `offload_device` is what actually turns +# on DiffSynth's VRAM management: weights are kept on CPU in fp8 and streamed to the GPU +# layer-by-layer, then computed in bf16. `vram_limit` on its own has no effect. +# +# This matters most for the MoE variant: the 128 experts hold the bulk of the 30B +# parameters while only 3B are active per token, so offloading them keeps resident VRAM +# far below the full model size. +vram_config = { + "offload_dtype": torch.float8_e4m3fn, + "offload_device": "cpu", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, +) + +video = pipe( + prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_low_vram.mp4", fps=15, quality=10) From df7ea8e4c09099628bd396259d2d747a97a1f2c8 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 15:31:26 +0800 Subject: [PATCH 04/34] Address PR #1539 review: unify scheduler, restore VAE, split rewriter - Scheduler: use FlowMatchScheduler (Wan template) instead of a bespoke UniPC scheduler; flow_match.py restored byte-identical to main. - VAE: restore QwenImageVAE to upstream; the 5D-video encode/decode and latent normalisation now live in LingBotVideoPipeline (encode_video / decode_video). - Rewriter: keep only normalize_caption in diffsynth core; move the two-stage prompt rewriter + system prompts into the inference examples. - Examples: merge into one lingbot-video-dense-1.3b.py (T2V / V2V / optional rewrite); drop the separate _rewrite.py. - Training .sh: use --model_id_with_origin_paths instead of local --model_paths. - Docs: sync en/zh Model_Details + example README. Co-Authored-By: Claude Opus 4.8 --- diffsynth/diffusion/flow_match.py | 291 ------------------ diffsynth/models/qwen_image_vae.py | 43 +-- diffsynth/pipelines/lingbot_video.py | 73 ++++- .../lingbot_video_prompt_rewriter.py | 246 +-------------- docs/en/Model_Details/LingBot-Video.md | 38 ++- docs/zh/Model_Details/LingBot-Video.md | 38 ++- examples/lingbot_video/README.md | 14 +- .../lingbot-video-dense-1.3b.py | 49 ++- .../lingbot-video-dense-1.3b_rewrite.py | 60 ---- .../model_inference/prompt_rewriter.py | 226 ++++++++++++++ .../prompts/t2v_example_1.json | 77 +++++ .../prompts/t2v_example_2.json | 101 ++++++ .../prompts/t2v_example_3.json | 155 ++++++++++ .../model_inference/system_prompts.py | 0 .../lingbot-video-dense-1.3b.py | 34 +- .../lora/lingbot-video-dense-1.3b.sh | 15 +- .../model_training/rewrite_captions.py | 7 +- .../lingbot_video/model_training/train.py | 7 +- 18 files changed, 783 insertions(+), 691 deletions(-) delete mode 100644 examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py create mode 100644 examples/lingbot_video/model_inference/prompt_rewriter.py create mode 100644 examples/lingbot_video/model_inference/prompts/t2v_example_1.json create mode 100644 examples/lingbot_video/model_inference/prompts/t2v_example_2.json create mode 100644 examples/lingbot_video/model_inference/prompts/t2v_example_3.json rename diffsynth/pipelines/lingbot_video_system_prompts.py => examples/lingbot_video/model_inference/system_prompts.py (100%) diff --git a/diffsynth/diffusion/flow_match.py b/diffsynth/diffusion/flow_match.py index d20f6f966..b9104e869 100644 --- a/diffsynth/diffusion/flow_match.py +++ b/diffsynth/diffusion/flow_match.py @@ -400,294 +400,3 @@ def step(self, model_output, timestep, sample): noise = self.clip_noise(torch.randn(denoised.shape, device=denoised.device, dtype=denoised.dtype)) sample = sigma_ * noise * self.noise_scale_schedule[timestep_id] + (1.0 - sigma_) * denoised return sample - - -class LingBotVideoUniPCScheduler(FlowMatchScheduler): - """ - UniPC multistep predictor-corrector scheduler for flow-matching, ported from - LingBot-Video's ``FlowUniPCMultistepScheduler`` (a vendored diffusers UniPC - variant, ``prediction_type="flow_prediction"``). - - This scheduler is used for **inference** sampling only. Its ``step`` implements - the stateful multistep UniP predictor + UniC corrector. Training reuses the - flow-matching interpolation (``add_noise``) and velocity target - (``training_target`` / ``training_weight``) inherited from ``FlowMatchScheduler`` - — UniPC is a sampler, not a training objective. - - Base-sigma grid matches the original exactly: ``sigma = 1 - linspace(1, 1/N, N)[::-1]`` - (i.e. ``sigma in [0, 1-1/N]``), which is offset by one position from the native - diffusers UniPC grid and is required for numerical parity with LingBot-Video. - """ - order = 1 - - def __init__( - self, - shift=1.0, - num_train_timesteps=1000, - solver_order=2, - predict_x0=True, - solver_type="bh2", - lower_order_final=True, - disable_corrector=(), - final_sigmas_type="zero", - ): - if solver_type not in ("bh1", "bh2"): - raise NotImplementedError(f"solver_type={solver_type} is not implemented") - if final_sigmas_type not in ("zero", "sigma_min"): - raise ValueError("final_sigmas_type must be one of 'zero' or 'sigma_min'") - self.num_train_timesteps = num_train_timesteps - self.shift = shift - self.solver_order = solver_order - self.predict_x0 = predict_x0 - self.solver_type = solver_type - self.lower_order_final = lower_order_final - self.disable_corrector = list(disable_corrector) - self.final_sigmas_type = final_sigmas_type - self.prediction_type = "flow_prediction" - self.num_inference_steps = None - self.training = False - # base sigma grid (drives sigma_min / sigma_max and the training schedule) - self.sigmas, self.timesteps = self._flow_sigmas(num_train_timesteps, shift) - self.sigma_min = self.sigmas[-1].item() - self.sigma_max = self.sigmas[0].item() - self._reset_multistep_state() - - def _flow_sigmas(self, n, shift): - # sigma = 1 - alpha, alpha = linspace(1, 1/n, n)[::-1] -> sigma in [0, 1-1/n] - alphas = np.linspace(1, 1 / n, n)[::-1].copy() - sigmas = torch.from_numpy(1.0 - alphas).to(dtype=torch.float32) - if shift != 1.0: - sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) - timesteps = sigmas * n - return sigmas, timesteps - - def _reset_multistep_state(self): - self.model_outputs = [None] * self.solver_order - self.timestep_list = [None] * self.solver_order - self.lower_order_nums = 0 - self.last_sample = None - self.this_order = None - self._step_index = None - self._begin_index = None - - @property - def step_index(self): - return self._step_index - - @property - def begin_index(self): - return self._begin_index - - def set_begin_index(self, begin_index=0): - self._begin_index = begin_index - - def set_timesteps(self, num_inference_steps=50, denoising_strength=1.0, shift=None, training=False, **kwargs): - if shift is None: - shift = self.shift - if training: - # Flow-matching training schedule (UniPC is inference-only): full-resolution - # sigma grid + per-timestep loss weights from the base class. - self.sigmas, self.timesteps = self._flow_sigmas(self.num_train_timesteps, shift) - self.set_training_weight() - self.training = True - return - self.training = False - # Inference grid. denoising_strength<1 starts partway down the chain - # (DiffSynth convention), matching the original at strength=1.0. - sigma_start = self.sigma_min + (self.sigma_max - self.sigma_min) * denoising_strength - sigmas = np.linspace(sigma_start, self.sigma_min, num_inference_steps + 1)[:-1].copy() - sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) - sigma_last = 0.0 if self.final_sigmas_type == "zero" else self.sigma_min - timesteps = sigmas * self.num_train_timesteps - sigmas = np.concatenate([sigmas, [sigma_last]]).astype(np.float32) - self.sigmas = torch.from_numpy(sigmas) - # int64 timesteps match the values the original model was conditioned on - self.timesteps = torch.from_numpy(timesteps).to(dtype=torch.int64) - self.num_inference_steps = len(timesteps) - self._reset_multistep_state() - - def _sigma_to_alpha_sigma_t(self, sigma): - return 1 - sigma, sigma - - def index_for_timestep(self, timestep, schedule_timesteps=None): - if schedule_timesteps is None: - schedule_timesteps = self.timesteps - indices = (schedule_timesteps == timestep).nonzero() - pos = 1 if len(indices) > 1 else 0 - return indices[pos].item() - - def _init_step_index(self, timestep): - if self.begin_index is None: - if isinstance(timestep, torch.Tensor): - timestep = timestep.to(self.timesteps.device) - self._step_index = self.index_for_timestep(timestep) - else: - self._step_index = self._begin_index - - def convert_model_output(self, model_output, sample): - # prediction_type == "flow_prediction" - sigma_t = self.sigmas[self.step_index] - if self.predict_x0: - return sample - sigma_t * model_output - return sample - (1 - sigma_t) * model_output - - def multistep_uni_p_bh_update(self, model_output, sample, order): - model_output_list = self.model_outputs - m0 = model_output_list[-1] - x = sample - - sigma_t, sigma_s0 = self.sigmas[self.step_index + 1], self.sigmas[self.step_index] - alpha_t, sigma_t = self._sigma_to_alpha_sigma_t(sigma_t) - alpha_s0, sigma_s0 = self._sigma_to_alpha_sigma_t(sigma_s0) - - lambda_t = torch.log(alpha_t) - torch.log(sigma_t) - lambda_s0 = torch.log(alpha_s0) - torch.log(sigma_s0) - h = lambda_t - lambda_s0 - device = sample.device - - rks, D1s = [], [] - for i in range(1, order): - si = self.step_index - i - mi = model_output_list[-(i + 1)] - alpha_si, sigma_si = self._sigma_to_alpha_sigma_t(self.sigmas[si]) - lambda_si = torch.log(alpha_si) - torch.log(sigma_si) - rk = (lambda_si - lambda_s0) / h - rks.append(rk) - D1s.append((mi - m0) / rk) - rks.append(1.0) - rks = torch.tensor(rks, device=device) - - R, b = [], [] - hh = -h if self.predict_x0 else h - h_phi_1 = torch.expm1(hh) - h_phi_k = h_phi_1 / hh - 1 - factorial_i = 1 - B_h = hh if self.solver_type == "bh1" else torch.expm1(hh) - for i in range(1, order + 1): - R.append(torch.pow(rks, i - 1)) - b.append(h_phi_k * factorial_i / B_h) - factorial_i *= i + 1 - h_phi_k = h_phi_k / hh - 1 / factorial_i - R = torch.stack(R) - b = torch.tensor(b, device=device) - - if len(D1s) > 0: - D1s = torch.stack(D1s, dim=1) - if order == 2: - rhos_p = torch.tensor([0.5], dtype=x.dtype, device=device) - else: - rhos_p = torch.linalg.solve(R[:-1, :-1], b[:-1]).to(device).to(x.dtype) - else: - D1s = None - - if self.predict_x0: - x_t_ = sigma_t / sigma_s0 * x - alpha_t * h_phi_1 * m0 - pred_res = torch.einsum("k,bkc...->bc...", rhos_p, D1s) if D1s is not None else 0 - x_t = x_t_ - alpha_t * B_h * pred_res - else: - x_t_ = alpha_t / alpha_s0 * x - sigma_t * h_phi_1 * m0 - pred_res = torch.einsum("k,bkc...->bc...", rhos_p, D1s) if D1s is not None else 0 - x_t = x_t_ - sigma_t * B_h * pred_res - return x_t.to(x.dtype) - - def multistep_uni_c_bh_update(self, this_model_output, last_sample, this_sample, order): - model_output_list = self.model_outputs - m0 = model_output_list[-1] - x = last_sample - model_t = this_model_output - - sigma_t, sigma_s0 = self.sigmas[self.step_index], self.sigmas[self.step_index - 1] - alpha_t, sigma_t = self._sigma_to_alpha_sigma_t(sigma_t) - alpha_s0, sigma_s0 = self._sigma_to_alpha_sigma_t(sigma_s0) - - lambda_t = torch.log(alpha_t) - torch.log(sigma_t) - lambda_s0 = torch.log(alpha_s0) - torch.log(sigma_s0) - h = lambda_t - lambda_s0 - device = this_sample.device - - rks, D1s = [], [] - for i in range(1, order): - si = self.step_index - (i + 1) - mi = model_output_list[-(i + 1)] - alpha_si, sigma_si = self._sigma_to_alpha_sigma_t(self.sigmas[si]) - lambda_si = torch.log(alpha_si) - torch.log(sigma_si) - rk = (lambda_si - lambda_s0) / h - rks.append(rk) - D1s.append((mi - m0) / rk) - rks.append(1.0) - rks = torch.tensor(rks, device=device) - - R, b = [], [] - hh = -h if self.predict_x0 else h - h_phi_1 = torch.expm1(hh) - h_phi_k = h_phi_1 / hh - 1 - factorial_i = 1 - B_h = hh if self.solver_type == "bh1" else torch.expm1(hh) - for i in range(1, order + 1): - R.append(torch.pow(rks, i - 1)) - b.append(h_phi_k * factorial_i / B_h) - factorial_i *= i + 1 - h_phi_k = h_phi_k / hh - 1 / factorial_i - R = torch.stack(R) - b = torch.tensor(b, device=device) - - D1s = torch.stack(D1s, dim=1) if len(D1s) > 0 else None - if order == 1: - rhos_c = torch.tensor([0.5], dtype=x.dtype, device=device) - else: - rhos_c = torch.linalg.solve(R, b).to(device).to(x.dtype) - - if self.predict_x0: - x_t_ = sigma_t / sigma_s0 * x - alpha_t * h_phi_1 * m0 - corr_res = torch.einsum("k,bkc...->bc...", rhos_c[:-1], D1s) if D1s is not None else 0 - D1_t = model_t - m0 - x_t = x_t_ - alpha_t * B_h * (corr_res + rhos_c[-1] * D1_t) - else: - x_t_ = alpha_t / alpha_s0 * x - sigma_t * h_phi_1 * m0 - corr_res = torch.einsum("k,bkc...->bc...", rhos_c[:-1], D1s) if D1s is not None else 0 - D1_t = model_t - m0 - x_t = x_t_ - sigma_t * B_h * (corr_res + rhos_c[-1] * D1_t) - return x_t.to(x.dtype) - - def step(self, model_output, timestep, sample, **kwargs): - if self.num_inference_steps is None: - raise ValueError("Run set_timesteps() before step().") - if self.step_index is None: - self._init_step_index(timestep) - - use_corrector = ( - self.step_index > 0 - and self.step_index - 1 not in self.disable_corrector - and self.last_sample is not None - ) - - model_output_convert = self.convert_model_output(model_output, sample) - if use_corrector: - sample = self.multistep_uni_c_bh_update( - this_model_output=model_output_convert, - last_sample=self.last_sample, - this_sample=sample, - order=self.this_order, - ) - - for i in range(self.solver_order - 1): - self.model_outputs[i] = self.model_outputs[i + 1] - self.timestep_list[i] = self.timestep_list[i + 1] - self.model_outputs[-1] = model_output_convert - self.timestep_list[-1] = timestep - - if self.lower_order_final: - this_order = min(self.solver_order, len(self.timesteps) - self.step_index) - else: - this_order = self.solver_order - self.this_order = min(this_order, self.lower_order_nums + 1) - assert self.this_order > 0 - - self.last_sample = sample - prev_sample = self.multistep_uni_p_bh_update( - model_output=model_output_convert, sample=sample, order=self.this_order, - ) - if self.lower_order_nums < self.solver_order: - self.lower_order_nums += 1 - self._step_index += 1 - return prev_sample diff --git a/diffsynth/models/qwen_image_vae.py b/diffsynth/models/qwen_image_vae.py index be5e48017..2845354f2 100644 --- a/diffsynth/models/qwen_image_vae.py +++ b/diffsynth/models/qwen_image_vae.py @@ -707,8 +707,6 @@ def __init__( self.std = 1 / torch.tensor(std).view(1, 16, 1, 1, 1) def encode(self, x, **kwargs): - if x.ndim == 5: - return self.encode_video(x) x = x.unsqueeze(2) x = self.encoder(x) x = self.quant_conv(x) @@ -717,10 +715,8 @@ def encode(self, x, **kwargs): x = (x - mean) * std x = x.squeeze(2) return x - + def decode(self, x, **kwargs): - if x.ndim == 5: - return self.decode_video(x) x = x.unsqueeze(2) mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) x = x / std + mean @@ -728,40 +724,3 @@ def decode(self, x, **kwargs): x = self.decoder(x) x = x.squeeze(2) return x - - def count_conv3d(self, model): - return sum(1 for m in model.modules() if isinstance(m, QwenImageCausalConv3d)) - - def encode_video(self, x, **kwargs): - # x: (B, C, T, H, W). Temporal chunking with a persistent causal feature - # cache — mathematically equivalent to encoding the whole clip at once, but - # bounded in memory. Chunk layout (1 + 4k frames) matches the WanVAE-derived - # temporal downsampling (temperal_downsample=[False, True, True]). - t = x.shape[2] - iter_ = 1 + (t - 1) // 4 - feat_cache = [None] * self.count_conv3d(self.encoder) - out = None - for i in range(iter_): - feat_idx = [0] - chunk = x[:, :, :1, :, :] if i == 0 else x[:, :, 1 + 4 * (i - 1): 1 + 4 * i, :, :] - out_ = self.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) - out = out_ if out is None else torch.cat([out, out_], dim=2) - x = self.quant_conv(out) - x = x[:, :16] - mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) - x = (x - mean) * std - return x - - def decode_video(self, x, **kwargs): - # x: (B, 16, T', H, W) in DiT latent space. Denormalize, then decode one - # latent frame at a time through the persistent causal feature cache. - mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) - x = x / std + mean - x = self.post_quant_conv(x) - feat_cache = [None] * self.count_conv3d(self.decoder) - out = None - for i in range(x.shape[2]): - feat_idx = [0] - out_ = self.decoder(x[:, :, i:i + 1, :, :], feat_cache=feat_cache, feat_idx=feat_idx) - out = out_ if out is None else torch.cat([out, out_], dim=2) - return out diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 9b1f4c0c5..f16082d39 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -8,11 +8,11 @@ from ..core.device.npu_compatible_device import get_device_type from ..core import ModelConfig from ..diffusion.base_pipeline import BasePipeline, PipelineUnit -from ..diffusion.flow_match import LingBotVideoUniPCScheduler +from ..diffusion.flow_match import FlowMatchScheduler from ..models.lingbot_video_dit import LingBotVideoDiT from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder -from ..models.qwen_image_vae import QwenImageVAE +from ..models.qwen_image_vae import QwenImageVAE, QwenImageCausalConv3d from .lingbot_video_prompt_rewriter import normalize_caption @@ -62,12 +62,13 @@ class LingBotVideoPipeline(BasePipeline): (Qwen3-VL). The prompt is wrapped in :data:`PROMPT_TEMPLATE`, encoded, and the template-prefix tokens are cropped (``crop_start``). - ``vae``: :class:`~diffsynth.models.qwen_image_vae.QwenImageVAE` (byte-identical - to the LingBot-Video VAE). Latent normalisation is baked into the VAE's - ``encode``/``decode`` 5D-video code path, so the pipeline never re-applies - ``latents_mean`` / ``latents_std``. + to the LingBot-Video VAE). The 5D-video encode/decode and its latent + normalisation live in this pipeline (:meth:`encode_video` / :meth:`decode_video`), + so the VAE itself stays identical to its image use elsewhere. - Sampling uses :class:`~diffsynth.diffusion.flow_match.LingBotVideoUniPCScheduler` - (UniPC multistep). Classifier-free guidance runs as two independent forwards. + Sampling uses :class:`~diffsynth.diffusion.flow_match.FlowMatchScheduler` (Wan + template; first-order flow-matching Euler). Classifier-free guidance runs as two + independent forwards. """ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): @@ -76,7 +77,7 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): height_division_factor=16, width_division_factor=16, time_division_factor=4, time_division_remainder=1, ) - self.scheduler = LingBotVideoUniPCScheduler() + self.scheduler = FlowMatchScheduler(template="Wan") self.text_encoder: LingBotVideoTextEncoder = None self.dit: LingBotVideoDiT = None self.vae: QwenImageVAE = None @@ -204,19 +205,59 @@ def __call__( else: noise_pred = noise_pred_posi - # Scheduler step (UniPC multistep). Uses the raw scheduler timestep to - # locate its internal step index, so pass it unmodified. + # Scheduler step (first-order flow-matching Euler). Uses the raw scheduler + # timestep to locate its internal step index, so pass it unmodified. inputs_shared["latents"] = self.scheduler.step(noise_pred, timestep, inputs_shared["latents"]) - # Decode. The VAE's 5D-video path already un-normalises the latents, so no + # Decode. decode_video un-normalises the latents on the 5D-video path, so no # manual latents_mean / latents_std handling is needed here. self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) - video = self.vae.decode(latents) + video = self.decode_video(latents) video = self.vae_output_to_video(video) self.load_models_to_device([]) return video + def _count_conv3d(self, model): + return sum(1 for m in model.modules() if isinstance(m, QwenImageCausalConv3d)) + + def encode_video(self, x): + # x: (B, C, T, H, W). Temporal chunking with a persistent causal feature cache + # — mathematically equivalent to encoding the whole clip at once, but bounded + # in memory. Chunk layout (1 + 4k frames) matches the WanVAE-derived temporal + # downsampling (temperal_downsample=[False, True, True]). Kept here in the + # pipeline (not on the VAE) so QwenImageVAE stays identical to its image use. + vae = self.vae + t = x.shape[2] + iter_ = 1 + (t - 1) // 4 + feat_cache = [None] * self._count_conv3d(vae.encoder) + out = None + for i in range(iter_): + feat_idx = [0] + chunk = x[:, :, :1, :, :] if i == 0 else x[:, :, 1 + 4 * (i - 1): 1 + 4 * i, :, :] + out_ = vae.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) + out = out_ if out is None else torch.cat([out, out_], dim=2) + x = vae.quant_conv(out) + x = x[:, :16] + mean, std = vae.mean.to(dtype=x.dtype, device=x.device), vae.std.to(dtype=x.dtype, device=x.device) + x = (x - mean) * std + return x + + def decode_video(self, x): + # x: (B, 16, T', H, W) in DiT latent space. Denormalize, then decode one latent + # frame at a time through the persistent causal feature cache. + vae = self.vae + mean, std = vae.mean.to(dtype=x.dtype, device=x.device), vae.std.to(dtype=x.dtype, device=x.device) + x = x / std + mean + x = vae.post_quant_conv(x) + feat_cache = [None] * self._count_conv3d(vae.decoder) + out = None + for i in range(x.shape[2]): + feat_idx = [0] + out_ = vae.decoder(x[:, :, i:i + 1, :, :], feat_cache=feat_cache, feat_idx=feat_idx) + out = out_ if out is None else torch.cat([out, out_], dim=2) + return out + class LingBotVideoUnit_ShapeChecker(PipelineUnit): def __init__(self): @@ -243,7 +284,7 @@ def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, r 1, pipe.dit.in_channels, length, height // VAE_SCALE_FACTOR_SPATIAL, width // VAE_SCALE_FACTOR_SPATIAL, ) - # fp32 noise: the UniPC sampler accumulates state in fp32 for stability + # fp32 noise: the flow-matching sampler accumulates state in fp32 for stability # (matches the original pipeline's fp32 latents). noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device, torch_dtype=torch.float32) return {"noise": noise} @@ -313,8 +354,8 @@ def process(self, pipe: LingBotVideoPipeline, input_video, noise): pipe.load_models_to_device(self.onload_model_names) # preprocess_video -> (B, C, T, H, W) in [-1, 1], in pipe.torch_dtype. video = pipe.preprocess_video(input_video) - # QwenImageVAE.encode (5D path) already applies latent normalisation. - input_latents = pipe.vae.encode(video).to(dtype=torch.float32, device=pipe.device) + # encode_video applies latent normalisation on the 5D-video path. + input_latents = pipe.encode_video(video).to(dtype=torch.float32, device=pipe.device) if pipe.scheduler.training: return {"latents": noise, "input_latents": input_latents} else: @@ -345,5 +386,5 @@ def model_fn_lingbot_video( use_gradient_checkpointing=use_gradient_checkpointing, use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, ) - # Return fp32 so the UniPC sampler / MSE loss run in full precision. + # Return fp32 so the flow-matching sampler / MSE loss run in full precision. return noise_pred.float() diff --git a/diffsynth/pipelines/lingbot_video_prompt_rewriter.py b/diffsynth/pipelines/lingbot_video_prompt_rewriter.py index 6c3cdbe0c..a6d55bff4 100644 --- a/diffsynth/pipelines/lingbot_video_prompt_rewriter.py +++ b/diffsynth/pipelines/lingbot_video_prompt_rewriter.py @@ -1,62 +1,24 @@ -"""Prompt handling for LingBot-Video. +"""Caption normalization for LingBot-Video. The LingBot-Video DiT is trained on **structured JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and noticeably degrades -quality; feeding the structured caption the model expects restores it. This module -provides the two pieces needed to keep prompts in-distribution: - -1. :func:`normalize_caption` — the lightweight, dependency-free path used by the - pipeline and the training module. It turns a caption expressed as a ``dict`` / - ``list`` / path to a ``prompt.json`` into the exact compact-JSON string the DiT - consumes (a plain string is passed through untouched). This mirrors the original - ``lingbot_video.utils.caption_from_sample`` byte-for-byte. - -2. :class:`Rewriter` — a faithful port of the original two-stage prompt rewriter - (``rewriter/rewriter_core.py`` + ``rewriter/inference.py``). Stage 1 *expands* a - brief idea into a natural-language caption; stage 2 *maps* that caption into the - structured JSON. Stage 1 runs the base model, stage 2 runs the base model with a - LoRA adapter active. The bundled :class:`TransformersBackend` loads the rewriter - VLM locally; :func:`make_backend` also accepts a custom backend object (anything - exposing ``generate(text, image, use_lora) -> str``) so the rewriter can be driven - by a hosted / OpenAI-compatible endpoint without shipping the weights. - -Typical use:: - - from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt - caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) - video = pipe(prompt=caption, ...) # caption is the structured JSON string +quality; feeding the structured caption the model expects restores it. + +This module holds only the lightweight, dependency-free normalization the pipeline +and the training module need: :func:`normalize_caption` turns a caption expressed as +a ``dict`` / ``list`` / path to a ``prompt.json`` into the exact compact-JSON string +the DiT consumes (a plain string is passed through untouched). It mirrors the original +``lingbot_video.utils.caption_from_sample`` byte-for-byte. + +Turning a *brief idea* into that structured caption is a separate, heavier step (a +two-stage VLM rewriter). That lives with the examples, out of the core, so importing +this module never drags in the rewriter's optional deps — see +``examples/lingbot_video/model_inference/prompt_rewriter.py``. """ -import io import json import os -import re - -# Optional deps: only needed for the local rewriter backend / image loading, never -# for normalize_caption (the common path). -try: - import requests -except ImportError: - requests = None - -try: - from PIL import Image -except ImportError: - Image = None -try: - from json_repair import repair_json -except ImportError: - repair_json = None - -from .lingbot_video_system_prompts import ( - VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, -) - - -# --------------------------------------------------------------------------- -# Layer 1: caption -> in-distribution prompt string -# --------------------------------------------------------------------------- # Keys that describe how to *render* the clip rather than its content. When a full # sample dict is given without an explicit "caption" key, these are stripped before @@ -114,185 +76,3 @@ def normalize_caption(prompt): if isinstance(prompt, (dict, list)): return _caption_from_sample(prompt) return str(prompt) - - -# --------------------------------------------------------------------------- -# Layer 2: raw idea -> structured caption (the two-stage rewriter) -# --------------------------------------------------------------------------- - -# mode -> (step1 system prompt, step2 system prompt, feed image?, add duration?) -MODES = { - "t2v": dict(s1=VIDEO_STEP1_EXPAND, s2=VIDEO_STEP2_MAP, image=False, duration=True), - "ti2v": dict(s1=VIDEO_STEP1_EXPAND, s2=VIDEO_STEP2_MAP, image=True, duration=True), - "t2i": dict(s1=IMAGE_STEP1_EXPAND, s2=IMAGE_STEP2_MAP, image=False, duration=False), -} - - -def _has_cjk(s: str) -> bool: - return any("一" <= c <= "鿿" for c in s) - - -def load_image(src): - """Load a first-frame image from a local path / http(s) URL / PIL.Image -> RGB PIL.""" - if Image is None: - raise ImportError("loading a first-frame image requires the Pillow package.") - if isinstance(src, Image.Image): - return src.convert("RGB") - if isinstance(src, str) and re.match(r"^https?://", src): - if requests is None: - raise ImportError("fetching an image URL requires the requests package.") - return Image.open(io.BytesIO(requests.get(src, timeout=30).content)).convert("RGB") - return Image.open(src).convert("RGB") - - -def _step1_text(mode, prompt, dur): - sys = MODES[mode]["s1"] - if mode == "t2i": - return sys + "\n\nUser image prompt:\n" + prompt - dur_line = f"\n\n视频时长:{dur} 秒" if _has_cjk(prompt) else f"\n\nVideo Duration: {dur} seconds" - return sys + "\n\n" + prompt + dur_line - - -def _step2_text(mode, detailed, dur): - sys = MODES[mode]["s2"] - if mode == "t2i": - return sys + "\n\nDETAILED CAPTION:\n" + detailed - return (sys + f"\n\nVideo Duration: {dur} seconds\n\nDETAILED CAPTION:\n" - + detailed + "\n\nOutput the JSON now.") - - -def parse_json(raw): - """Parse the stage-2 output into a dict, or ``None`` if it cannot be parsed. - - VLMs occasionally emit unstable JSON (missing quotes, trailing commas, ``` fences), - so we strip any code fence, then try the stdlib parser first and fall back to - ``json_repair`` when it is installed (recommended for messy outputs).""" - s = (raw or "").strip() - m = re.search(r"```(?:json)?\s*(\{.*\})\s*```", s, re.DOTALL) - if m: - s = m.group(1) - try: - obj = json.loads(s) - if isinstance(obj, dict): - return obj - except Exception: - pass - if repair_json is not None: - try: - obj = repair_json(s, return_objects=True) - return obj if isinstance(obj, dict) else None - except Exception: - return None - return None - - -def save_caption(result, duration, path): - """Save as ``{"caption": , "duration": }`` — - exactly the ``prompt.json`` the pipeline / runner consume. ``duration`` is integer - seconds for T2V/TI2V and ``None`` for T2I (a still image has no duration).""" - dur = int(round(duration)) if MODES[result["mode"]]["duration"] else None - with open(path, "w", encoding="utf-8") as f: - json.dump({"caption": result["json"], "duration": dur}, f, ensure_ascii=False, indent=2) - return path - - -class TransformersBackend: - """Local rewriter VLM + LoRA adapter (peft). stage1 = base (adapter disabled), - stage2 = base + LoRA. Loads the rewriter model into memory; the weights are NOT - the DiT — set ``base``/``adapter`` (or ``REWRITER_BASE_MODEL``/``REWRITER_ADAPTER``) - to the rewriter VLM and its stage-2 adapter.""" - - def __init__(self, base=None, adapter=None, device="auto", max_new_tokens=6144): - import contextlib - import torch - from peft import PeftModel - from transformers import AutoModelForImageTextToText, AutoProcessor - - self._contextlib = contextlib - self._torch = torch - - base = base or os.environ.get("REWRITER_BASE_MODEL", "") - adapter = adapter or os.environ.get("REWRITER_ADAPTER", "") - if not base or not adapter: - raise ValueError( - "Set the rewriter base and adapter paths via base=/adapter= or the " - "REWRITER_BASE_MODEL / REWRITER_ADAPTER environment variables." - ) - self.processor = AutoProcessor.from_pretrained(base, trust_remote_code=True) - model = AutoModelForImageTextToText.from_pretrained( - base, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True) - self.model = PeftModel.from_pretrained(model, adapter).eval() - self.max_new_tokens = max_new_tokens - - def generate(self, text, image, use_lora): - torch = self._torch - content = ([{"type": "image", "image": image}] if image is not None else []) \ - + [{"type": "text", "text": text}] - messages = [{"role": "user", "content": content}] - chat = self.processor.apply_chat_template( - messages, tokenize=False, add_generation_prompt=True, enable_thinking=False) - inputs = self.processor( - text=[chat], images=([image] if image is not None else None), return_tensors="pt" - ).to(self.model.device) - # stage1 (expand): disable LoRA; stage2 (map): keep LoRA active. - adapter_ctx = self._contextlib.nullcontext() if use_lora else self.model.disable_adapter() - with torch.no_grad(), adapter_ctx: - out = self.model.generate(**inputs, max_new_tokens=self.max_new_tokens, do_sample=False) - gen = out[:, inputs["input_ids"].shape[1]:] - return self.processor.batch_decode(gen, skip_special_tokens=True)[0] - - -def make_backend(backend="transformers", base=None, adapter=None): - """Build a rewriter backend. - - - ``"transformers"`` — the bundled local :class:`TransformersBackend`. - - a custom object / callable — returned as-is if it already exposes - ``generate(text, image, use_lora) -> str``. Use this to drive the rewriter from - a hosted or OpenAI-compatible endpoint without downloading the VLM locally. - """ - if backend == "transformers": - return TransformersBackend(base, adapter) - if hasattr(backend, "generate"): - return backend - raise ValueError( - f"unknown backend: {backend!r}; pass 'transformers' or an object exposing " - "generate(text, image, use_lora)." - ) - - -class Rewriter: - """Two-stage orchestrator. The backend implements ``generate(text, image, use_lora) -> str``.""" - - def __init__(self, backend): - self.backend = backend - - def rewrite(self, prompt, mode="t2v", first_frame=None, duration=5): - if mode not in MODES: - raise ValueError(f"mode must be one of {list(MODES)}") - cfg = MODES[mode] - dur = int(round(duration)) - img = None - if cfg["image"]: - if first_frame is None: - raise ValueError(f"{mode} requires first_frame (path / URL / PIL.Image)") - img = load_image(first_frame) - # stage 1: EXPAND -- base model (no LoRA) - detailed = self.backend.generate(_step1_text(mode, prompt, dur), img, use_lora=False).strip() - # stage 2: MAP -- base + LoRA - raw = self.backend.generate(_step2_text(mode, detailed, dur), img, use_lora=True).strip() - return {"mode": mode, "detailed": detailed, "json": parse_json(raw), "json_raw": raw} - - -def rewrite_prompt(prompt, mode="t2v", first_frame=None, duration=5, - backend="transformers", base=None, adapter=None, return_result=False): - """Rewrite a brief idea into the structured caption string the pipeline expects. - - Returns the compact-JSON caption string (ready to pass as ``pipe(prompt=...)``). - Pass ``return_result=True`` to also get the full stage-1/stage-2 dict. - """ - rw = Rewriter(make_backend(backend, base, adapter)) - result = rw.rewrite(prompt, mode=mode, first_frame=first_frame, duration=duration) - caption = normalize_caption(result["json"]) if result["json"] is not None else result["json_raw"] - if return_result: - return caption, result - return caption diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index de0261fbf..83a9c2b61 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -7,7 +7,7 @@ The integration is built on the standard DiffSynth pipeline stack: - **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. The Dense-1.3B build uses a plain FFN; the architecture also supports an MoE FFN. - **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. - **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal compression. -- **Scheduler** — `LingBotVideoUniPCScheduler`: UniPC multistep for inference; it falls back to the full-resolution flow-matching schedule for training. +- **Scheduler** — DiffSynth's `FlowMatchScheduler` (Wan template): first-order flow-matching Euler for inference; training uses the full-resolution 1000-step flow-matching schedule. ## Installation @@ -25,6 +25,8 @@ LingBot-Video additionally requires `transformers >= 5.x` (for Qwen3-VL) and `im Run the following code to quickly load the [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) model and perform text-to-video inference. The required files are downloaded automatically the first time the code runs. +> **⚠️ Rewrite your prompt into a structured caption first.** LingBot-Video is trained on **structured-JSON captions**, not free-form prose. The plain sentence in the snippet below runs, but it is out-of-distribution and the result will look noticeably soft / low quality. This is expected model behaviour, not a bug — before doing real inference, turn your idea into the structured caption the model expects. See [Prompt rewriting](#prompt-rewriting-important-for-quality) below; the runnable [`lingbot-video-dense-1.3b.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py) example defaults to a released structured caption and shows the optional rewrite path at the bottom. + ```python import torch from diffsynth.utils.data import save_video @@ -41,6 +43,8 @@ pipe = LingBotVideoPipeline.from_pretrained( processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) video = pipe( + # A plain sentence is a minimal smoke test only — it is out-of-distribution. + # For real quality, pass a structured caption instead (see "Prompt rewriting"). prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, @@ -48,7 +52,7 @@ video = pipe( save_video(video, "video.mp4", fps=15, quality=10) ``` -**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see the low-VRAM example in the table below. +**Low VRAM:** set `offload_dtype` / `offload_device` on each `ModelConfig` to enable layer-by-layer offloading; `vram_limit` alone has no effect (it only caps resident VRAM once offloading is on). See the low-VRAM example in the table below. ## Model Overview @@ -82,15 +86,37 @@ When running low on VRAM, please refer to [VRAM Management](../Pipeline_Usage/VR LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality; feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict`, a path to a `prompt.json`, or a plain string, and normalises it (via `normalize_caption`) to the exact compact-JSON format the DiT was trained on — a plain string is passed through unchanged, so existing scripts keep working. -To turn a **brief idea** into that structured caption, use the bundled two-stage rewriter (`diffsynth/pipelines/lingbot_video_prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. +To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped with the examples (`examples/lingbot_video/model_inference/prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. + +The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT), so it is **not downloaded automatically** — you must fetch both weights yourself before running the rewrite: + +| Role | Model ID | Size | +|-|-|-| +| Rewriter base VLM (stage 1 + 2) | [`Qwen/Qwen3.6-27B`](https://modelscope.cn/models/Qwen/Qwen3.6-27B) | ~55 GB | +| Rewriter stage-2 LoRA adapter | [`Robbyant/lingbot-video-rewriter-lora`](https://modelscope.cn/models/Robbyant/lingbot-video-rewriter-lora) | ~0.5 GB | + +```shell +# 1. Download the rewriter base VLM and its stage-2 LoRA adapter. +modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B +modelscope download --model Robbyant/lingbot-video-rewriter-lora --local_dir ./models/Robbyant/lingbot-video-rewriter-lora +``` ```python -from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt +# 2. Point the rewriter at the downloaded weights, then rewrite and run inference. +import os +os.environ["REWRITER_BASE_MODEL"] = "./models/Qwen/Qwen3.6-27B" +os.environ["REWRITER_ADAPTER"] = "./models/Robbyant/lingbot-video-rewriter-lora" + +# The rewriter ships with the inference examples; run from +# examples/lingbot_video/model_inference (or add it to sys.path) for this import. +from prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` -The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT). Point it at the weights via `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER` (or `base=` / `adapter=`), or drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. See `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py`. +Instead of the env vars you can pass `base=` / `adapter=` to `rewrite_prompt`, or skip the local VLM entirely and drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. See the optional rewrite section at the bottom of `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py`. + +If you don't have the rewriter model, three released LingBot-Video t2v captions ship with the repo as ready-to-use examples: `examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`. Pass one straight to the pipeline (`video = pipe(prompt="path/to/t2v_example_1.json", ...)`), or copy one as a template for writing your own structured caption. ## Model Training @@ -157,4 +183,4 @@ We have written recommended training scripts, please refer to the table in the " ## Notes - The text encoder shares its checkpoint fingerprint with the existing `krea2_text_encoder` (identical Qwen3-VL architecture), so the model loader instantiates both when loading LingBot-Video. This is redundant load time only — the pipeline fetches the correct encoder by name and the other is released. -- Latent normalisation is handled inside the VAE's 5D-video code path; the pipeline does not re-apply `latents_mean` / `latents_std`. +- The 5D-video VAE encode/decode and its latent normalisation live in the pipeline (`LingBotVideoPipeline.encode_video` / `decode_video`), so `QwenImageVAE` stays byte-identical to its image use elsewhere; the pipeline does not separately re-apply `latents_mean` / `latents_std`. diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 9f1a5f2bd..fddf6250b 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -7,7 +7,7 @@ LingBot-Video 是一个基于 flow-matching 的文生视频生成模型。本文 - **DiT** — `LingBotVideoDiT`(`diffsynth/models/lingbot_video_dit.py`),视频去噪器。Dense-1.3B 版本使用普通 FFN;该架构同时支持 MoE FFN。 - **文本编码器** — `LingBotVideoTextEncoder`(Qwen3-VL)。提示词会被包裹进提示增强的对话模板中编码,随后裁剪掉模板前缀 token。 - **VAE** — 复用 DiffSynth 的 `QwenImageVAE`(与 LingBot-Video 的 VAE 逐字节一致),空间 8× / 时间 4× 压缩。 -- **调度器** — `LingBotVideoUniPCScheduler`:推理时使用 UniPC 多步调度;训练时回退到完整分辨率的 flow-matching 调度。 +- **调度器** — DiffSynth 的 `FlowMatchScheduler`(Wan 模板):推理时使用一阶 flow-matching Euler;训练时使用完整分辨率的 1000 步 flow-matching 调度。 ## 安装 @@ -25,6 +25,8 @@ LingBot-Video 还额外依赖 `transformers >= 5.x`(用于 Qwen3-VL)以及 ` 运行以下代码可以快速加载 [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) 模型并进行文生视频推理。首次运行时会自动下载所需文件。 +> **⚠️ 推理前请先把提示词改写为结构化 caption。** LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。下面代码里的普通句子能跑通,但属于分布外输入,生成结果会明显偏"糊"、质量偏低。这是模型的预期行为,并非 bug —— 正式推理前,请先把想法转成模型期望的结构化 caption。详见下文[提示词改写](#提示词改写对质量很重要);可直接运行的 [`lingbot-video-dense-1.3b.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py) 示例默认使用随仓库发布的结构化 caption,并在文件末尾给出可选的改写流程。 + ```python import torch from diffsynth.utils.data import save_video @@ -41,6 +43,8 @@ pipe = LingBotVideoPipeline.from_pretrained( processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) video = pipe( + # 普通句子仅用于最简单的跑通验证,属于分布外输入。 + # 正式使用请改传结构化 caption(见"提示词改写"章节)。 prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, @@ -48,7 +52,7 @@ video = pipe( save_video(video, "video.mp4", fps=15, quality=10) ``` -**低显存:** 向 `from_pretrained` 传入 `vram_limit=` 即可开启逐层 offload,详见下表中的低显存示例。 +**低显存:** 在每个 `ModelConfig` 上设置 `offload_dtype` / `offload_device` 才能开启逐层 offload;单独传 `vram_limit` 没有效果(它只在 offload 已开启时限制常驻显存上限)。详见下表中的低显存示例。 ## 模型总览 @@ -82,15 +86,37 @@ save_video(video, "video.mp4", fps=15, quality=10) LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。喂入一句普通句子属于分布外(out-of-distribution)输入,会明显降低质量;喂入模型期望的结构化 caption 则能恢复质量。Pipeline 接受 `dict`、`prompt.json` 路径或普通字符串形式的 caption,并将其(通过 `normalize_caption`)归一化为 DiT 训练时使用的紧凑 JSON 格式——普通字符串会原样透传,因此已有脚本无需改动。 -若要把一个**简短想法**转成该结构化 caption,可使用内置的两阶段改写器(`diffsynth/pipelines/lingbot_video_prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 +若要把一个**简短想法**转成该结构化 caption,可使用随示例发布的两阶段改写器(`examples/lingbot_video/model_inference/prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 + +改写器是**独立的 VLM + 阶段二 LoRA 适配器**(不是 DiT),**不会自动下载**——运行改写前,需要先自行下载这两个权重: + +| 角色 | 模型 ID | 大小 | +|-|-|-| +| 改写器 base VLM(阶段一 + 二) | [`Qwen/Qwen3.6-27B`](https://modelscope.cn/models/Qwen/Qwen3.6-27B) | ~55 GB | +| 改写器阶段二 LoRA 适配器 | [`Robbyant/lingbot-video-rewriter-lora`](https://modelscope.cn/models/Robbyant/lingbot-video-rewriter-lora) | ~0.5 GB | + +```shell +# 1. 下载改写器 base VLM 及其阶段二 LoRA 适配器。 +modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B +modelscope download --model Robbyant/lingbot-video-rewriter-lora --local_dir ./models/Robbyant/lingbot-video-rewriter-lora +``` ```python -from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt +# 2. 让改写器指向已下载的权重,再改写并推理。 +import os +os.environ["REWRITER_BASE_MODEL"] = "./models/Qwen/Qwen3.6-27B" +os.environ["REWRITER_ADAPTER"] = "./models/Robbyant/lingbot-video-rewriter-lora" + +# 改写器随推理示例一起发布;请在 examples/lingbot_video/model_inference 目录下运行 +# (或将该目录加入 sys.path),此 import 才能解析。 +from prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` -改写器是**独立的 VLM + 阶段二 LoRA 适配器**(不是 DiT)。可通过 `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER`(或 `base=` / `adapter=`)指向权重,也可以通过传入一个暴露 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,来驱动托管的 / OpenAI 兼容的推理端点。详见 `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py`。 +除了 env var,也可以给 `rewrite_prompt` 传 `base=` / `adapter=`;或者完全不下载本地 VLM,改为传入一个暴露 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,来驱动托管的 / OpenAI 兼容的推理端点。详见 `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py` 文件末尾的可选改写小节。 + +如果没有改写器模型,仓库自带 3 个官方 LingBot-Video t2v 结构化 caption 作为开箱即用的示例:`examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`。可直接按路径传给 pipeline(`video = pipe(prompt="path/to/t2v_example_1.json", ...)`),也可以复制一个作为编写自己 caption 的模板。 ## 模型训练 @@ -157,4 +183,4 @@ MoE / FFN 专家(`gate_proj`、`up_proj`、`down_proj`)与 router 保持冻 ## 注意事项 - 文本编码器与已有的 `krea2_text_encoder` 共享同一 checkpoint 指纹(Qwen3-VL 架构相同),因此模型加载器在加载 LingBot-Video 时会同时实例化两者。这只是冗余的加载耗时——Pipeline 会按名称取用正确的编码器,另一个会被释放。 -- Latent 归一化在 VAE 的 5D 视频代码路径内部处理;Pipeline 不会再额外应用 `latents_mean` / `latents_std`。 +- 5D 视频的 VAE 编码/解码及其 latent 归一化都在 Pipeline 内实现(`LingBotVideoPipeline.encode_video` / `decode_video`),因此 `QwenImageVAE` 与它在图像场景下的用法保持逐字节一致;Pipeline 不会再额外应用 `latents_mean` / `latents_std`。 diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index 6b0bc884e..819586ee0 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -7,7 +7,7 @@ The integration is built on the standard DiffSynth pipeline stack: - **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. The Dense-1.3B build uses a plain FFN; the architecture also supports an MoE FFN. - **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. - **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal. -- **Scheduler** — `LingBotVideoUniPCScheduler`: UniPC multistep for inference; it falls back to the full-resolution flow-matching schedule for training. +- **Scheduler** — DiffSynth's `FlowMatchScheduler` (Wan template): first-order flow-matching Euler for inference; training uses the full-resolution 1000-step flow-matching schedule. ## Installation @@ -23,7 +23,7 @@ pip install -e . modelscope download --model Robbyant/lingbot-video-dense-1.3b --local_dir ./models/Robbyant/lingbot-video-dense-1.3b ``` -The inference examples below use `ModelConfig(model_id=...)`, which downloads the required files automatically the first time they run. You can also point `ModelConfig(path=...)` at local files (see the training script). +Both the inference and training examples use `model_id`-based configs, which download the required files automatically the first time they run, so the manual download above is optional. You can also point `ModelConfig(path=...)` at local files if you already have them. ## Inference @@ -67,15 +67,17 @@ pipe(prompt="assets/cases/t2v/example_1/prompt.json") # pipe(prompt='{"comprehensive_description":{...}}') # already-serialised string ``` -To turn a **brief idea** into that structured caption, use the bundled two-stage rewriter (`diffsynth/pipelines/lingbot_video_prompt_rewriter.py`), a faithful port of the original: stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. +To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped here (`model_inference/prompt_rewriter.py`), a faithful port of the original: stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. ```python -from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt +# The rewriter lives in model_inference/; run from that directory (or add it to +# sys.path) so this sibling import resolves. +from prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` -The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT). Point it at the weights via `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER` (or `base=`/`adapter=`). If you serve the rewriter behind a hosted / OpenAI-compatible endpoint instead of loading it locally, pass a custom object exposing `generate(text, image, use_lora)` as `backend=`. See `model_inference/lingbot-video-dense-1.3b_rewrite.py`. +The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT). Point it at the weights via `REWRITER_BASE_MODEL` / `REWRITER_ADAPTER` (or `base=`/`adapter=`). If you serve the rewriter behind a hosted / OpenAI-compatible endpoint instead of loading it locally, pass a custom object exposing `generate(text, image, use_lora)` as `backend=`. See the optional rewrite section at the bottom of `model_inference/lingbot-video-dense-1.3b.py`. ## Training (LoRA SFT) @@ -141,4 +143,4 @@ Trained LoRA checkpoints are written to `--output_path` with the `pipe.dit.` pre ## Notes - The text encoder shares its checkpoint fingerprint with the existing `krea2_text_encoder` (identical Qwen3-VL architecture), so the model loader instantiates both when loading LingBot-Video. This is redundant load time only — the pipeline fetches the correct encoder by name and the other is released. -- Latent normalisation is handled inside the VAE's 5D-video code path; the pipeline does not re-apply `latents_mean` / `latents_std`. +- The 5D-video VAE encode/decode and its latent normalisation live in the pipeline (`LingBotVideoPipeline.encode_video` / `decode_video`), so `QwenImageVAE` stays byte-identical to its image use elsewhere; the pipeline does not separately re-apply `latents_mean` / `latents_std`. diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index eb2ddcbb1..a88bdf08a 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -1,8 +1,16 @@ +import os import torch from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption +# LingBot-Video is trained on STRUCTURED-JSON captions, not free-form prose. Feeding a +# flat sentence is out-of-distribution and visibly degrades quality; feeding the +# structured caption the model expects restores it. This example runs on a released +# in-distribution caption by default, and shows at the bottom how to turn a brief idea +# into such a caption with the two-stage prompt rewriter. + pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", @@ -14,23 +22,50 @@ processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) -# Text-to-video. The default (T2V) negative prompt is built into the pipeline, -# so `negative_prompt` can be left unset. +# --- Text-to-video ------------------------------------------------------------------- +# The prompts/t2v_example_*.json files are released LingBot-Video t2v captions — real +# in-distribution examples you can copy as templates for your own. normalize_caption +# accepts a dict, a list, or a path to a prompt.json; the pipeline calls it internally +# too, so pipe(prompt="prompts/t2v_example_1.json") works just as well. The default +# (T2V) negative prompt is built into the pipeline, so negative_prompt can be left unset. +caption = normalize_caption(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json")) video = pipe( - prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, ) save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=10) -# Video-to-video. `denoising_strength < 1` keeps part of the input structure. -video = VideoData("video_lingbot-video-dense-1.3b.mp4", height=480, width=832) +# --- Video-to-video ------------------------------------------------------------------ +# denoising_strength < 1 keeps part of the input structure. +input_video = VideoData("video_lingbot-video-dense-1.3b.mp4", height=480, width=832) video = pipe( - prompt="A playful puppy wearing black sunglasses runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", - input_video=video, denoising_strength=0.7, + prompt=caption, + input_video=input_video, denoising_strength=0.7, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=1, ) save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=10) + +# --- Optional: rewrite a brief idea into a structured caption ------------------------ +# If you only have a brief idea (or free-form prose), turn it into the structured caption +# the model expects with the two-stage rewriter in prompt_rewriter.py (a sibling module +# here). The rewriter is a separate VLM + stage-2 LoRA adapter (NOT the DiT), so it is +# NOT downloaded automatically — fetch both weights first, then point the env vars at them: +# modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B +# modelscope download --model Robbyant/lingbot-video-rewriter-lora --local_dir ./models/Robbyant/lingbot-video-rewriter-lora +# export REWRITER_BASE_MODEL=./models/Qwen/Qwen3.6-27B +# export REWRITER_ADAPTER=./models/Robbyant/lingbot-video-rewriter-lora +# To drive a hosted / OpenAI-compatible endpoint instead of a local VLM, pass a custom +# object exposing generate(text, image, use_lora) as backend=. +# +# from prompt_rewriter import rewrite_prompt +# caption = rewrite_prompt( +# "A playful puppy runs across a lush green meadow, chasing a red ball. " +# "Dynamic side-tracking camera.", +# mode="t2v", duration=5, +# ) +# video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0, seed=0) +# save_video(video, "video_lingbot-video-dense-1.3b_rewrite.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py deleted file mode 100644 index 8ca89d4bc..000000000 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_rewrite.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import torch -from diffsynth.utils.data import save_video -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -from diffsynth.pipelines.lingbot_video_prompt_rewriter import rewrite_prompt, normalize_caption - - -# LingBot-Video is trained on STRUCTURED-JSON captions, not free-form prose. Feeding a -# flat sentence is out-of-distribution and visibly degrades quality; rewriting the idea -# into the structured caption the model expects restores it. This example shows the two -# supported ways to obtain that caption. - -pipe = LingBotVideoPipeline.from_pretrained( - torch_dtype=torch.bfloat16, - device="cuda", - model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), - ], - processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), -) - - -# --- Option A: rewrite a brief idea with the two-stage prompt rewriter -------------- -# The rewriter is a separate VLM + LoRA adapter (NOT the DiT). Point these at the -# rewriter base model and its stage-2 adapter: -# export REWRITER_BASE_MODEL=/path/to/rewriter-base -# export REWRITER_ADAPTER=/path/to/rewriter-step2-lora -# If you serve the rewriter behind a hosted / OpenAI-compatible endpoint instead, pass -# a custom backend object exposing generate(text, image, use_lora) as `backend=`. -if os.environ.get("REWRITER_BASE_MODEL") and os.environ.get("REWRITER_ADAPTER"): - caption = rewrite_prompt( - "A playful puppy runs across a lush green meadow, chasing a red ball. " - "Dynamic side-tracking camera.", - mode="t2v", duration=5, backend="transformers", - ) - print("Rewritten caption:\n", caption) -else: - # --- Option B: no rewriter model — supply a structured caption directly ---------- - # A dict (or a path to a prompt.json) is serialised to the exact model format by - # normalize_caption; the pipeline also calls it internally, so pipe(prompt=) - # works too. Replace this stub with a real structured caption for best quality. - caption = normalize_caption({ - "caption": { - "comprehensive_description": { - "scene_content_description": "A playful golden puppy runs across a lush green meadow dotted with wildflowers, chasing a bright red ball under a clear blue sky.", - "camera_movement_description": "Dynamic side-tracking shot following the puppy.", - } - }, - "duration": 5, - }) - -video = pipe( - prompt=caption, - height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=3.0, - seed=0, -) -save_video(video, "video_lingbot-video-dense-1.3b_rewrite.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference/prompt_rewriter.py b/examples/lingbot_video/model_inference/prompt_rewriter.py new file mode 100644 index 000000000..799e88348 --- /dev/null +++ b/examples/lingbot_video/model_inference/prompt_rewriter.py @@ -0,0 +1,226 @@ +"""Two-stage prompt rewriter for LingBot-Video (example-side helper). + +The LingBot-Video DiT is trained on **structured JSON captions**, not free-form prose. +:func:`rewrite_prompt` turns a brief idea into that structured caption via a faithful +port of the original two-stage rewriter (``rewriter/rewriter_core.py`` + +``rewriter/inference.py``): stage 1 *expands* the idea into a natural-language caption +(base model, no LoRA), stage 2 *maps* it into the structured JSON (base model + a +stage-2 LoRA adapter). + +This is a separate VLM + LoRA adapter, NOT the DiT — it is not shipped or downloaded +with the pipeline, which is why it lives here with the examples rather than in the +diffsynth core (the core keeps only ``normalize_caption``). The bundled +:class:`TransformersBackend` loads the rewriter VLM locally; :func:`make_backend` also +accepts any object exposing ``generate(text, image, use_lora) -> str`` so the rewriter +can be driven by a hosted / OpenAI-compatible endpoint without shipping the weights. + +Typical use:: + + from prompt_rewriter import rewrite_prompt # sibling module in this dir + caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) + video = pipe(prompt=caption, ...) # caption is the structured JSON string +""" + +import io +import json +import os +import re + +# Optional deps: only needed for the local rewriter backend / image loading. +try: + import requests +except ImportError: + requests = None + +try: + from PIL import Image +except ImportError: + Image = None + +try: + from json_repair import repair_json +except ImportError: + repair_json = None + +from system_prompts import ( + VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, +) +from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption + + +# mode -> (step1 system prompt, step2 system prompt, feed image?, add duration?) +MODES = { + "t2v": dict(s1=VIDEO_STEP1_EXPAND, s2=VIDEO_STEP2_MAP, image=False, duration=True), + "ti2v": dict(s1=VIDEO_STEP1_EXPAND, s2=VIDEO_STEP2_MAP, image=True, duration=True), + "t2i": dict(s1=IMAGE_STEP1_EXPAND, s2=IMAGE_STEP2_MAP, image=False, duration=False), +} + + +def _has_cjk(s: str) -> bool: + return any("一" <= c <= "鿿" for c in s) + + +def load_image(src): + """Load a first-frame image from a local path / http(s) URL / PIL.Image -> RGB PIL.""" + if Image is None: + raise ImportError("loading a first-frame image requires the Pillow package.") + if isinstance(src, Image.Image): + return src.convert("RGB") + if isinstance(src, str) and re.match(r"^https?://", src): + if requests is None: + raise ImportError("fetching an image URL requires the requests package.") + return Image.open(io.BytesIO(requests.get(src, timeout=30).content)).convert("RGB") + return Image.open(src).convert("RGB") + + +def _step1_text(mode, prompt, dur): + sys = MODES[mode]["s1"] + if mode == "t2i": + return sys + "\n\nUser image prompt:\n" + prompt + dur_line = f"\n\n视频时长:{dur} 秒" if _has_cjk(prompt) else f"\n\nVideo Duration: {dur} seconds" + return sys + "\n\n" + prompt + dur_line + + +def _step2_text(mode, detailed, dur): + sys = MODES[mode]["s2"] + if mode == "t2i": + return sys + "\n\nDETAILED CAPTION:\n" + detailed + return (sys + f"\n\nVideo Duration: {dur} seconds\n\nDETAILED CAPTION:\n" + + detailed + "\n\nOutput the JSON now.") + + +def parse_json(raw): + """Parse the stage-2 output into a dict, or ``None`` if it cannot be parsed. + + VLMs occasionally emit unstable JSON (missing quotes, trailing commas, ``` fences), + so we strip any code fence, then try the stdlib parser first and fall back to + ``json_repair`` when it is installed (recommended for messy outputs).""" + s = (raw or "").strip() + m = re.search(r"```(?:json)?\s*(\{.*\})\s*```", s, re.DOTALL) + if m: + s = m.group(1) + try: + obj = json.loads(s) + if isinstance(obj, dict): + return obj + except Exception: + pass + if repair_json is not None: + try: + obj = repair_json(s, return_objects=True) + return obj if isinstance(obj, dict) else None + except Exception: + return None + return None + + +def save_caption(result, duration, path): + """Save as ``{"caption": , "duration": }`` — + exactly the ``prompt.json`` the pipeline / runner consume. ``duration`` is integer + seconds for T2V/TI2V and ``None`` for T2I (a still image has no duration).""" + dur = int(round(duration)) if MODES[result["mode"]]["duration"] else None + with open(path, "w", encoding="utf-8") as f: + json.dump({"caption": result["json"], "duration": dur}, f, ensure_ascii=False, indent=2) + return path + + +class TransformersBackend: + """Local rewriter VLM + LoRA adapter (peft). stage1 = base (adapter disabled), + stage2 = base + LoRA. Loads the rewriter model into memory; the weights are NOT + the DiT — set ``base``/``adapter`` (or ``REWRITER_BASE_MODEL``/``REWRITER_ADAPTER``) + to the rewriter VLM and its stage-2 adapter.""" + + def __init__(self, base=None, adapter=None, device="auto", max_new_tokens=6144): + import contextlib + import torch + from peft import PeftModel + from transformers import AutoModelForImageTextToText, AutoProcessor + + self._contextlib = contextlib + self._torch = torch + + base = base or os.environ.get("REWRITER_BASE_MODEL", "") + adapter = adapter or os.environ.get("REWRITER_ADAPTER", "") + if not base or not adapter: + raise ValueError( + "Set the rewriter base and adapter paths via base=/adapter= or the " + "REWRITER_BASE_MODEL / REWRITER_ADAPTER environment variables." + ) + self.processor = AutoProcessor.from_pretrained(base, trust_remote_code=True) + model = AutoModelForImageTextToText.from_pretrained( + base, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True) + self.model = PeftModel.from_pretrained(model, adapter).eval() + self.max_new_tokens = max_new_tokens + + def generate(self, text, image, use_lora): + torch = self._torch + content = ([{"type": "image", "image": image}] if image is not None else []) \ + + [{"type": "text", "text": text}] + messages = [{"role": "user", "content": content}] + chat = self.processor.apply_chat_template( + messages, tokenize=False, add_generation_prompt=True, enable_thinking=False) + inputs = self.processor( + text=[chat], images=([image] if image is not None else None), return_tensors="pt" + ).to(self.model.device) + # stage1 (expand): disable LoRA; stage2 (map): keep LoRA active. + adapter_ctx = self._contextlib.nullcontext() if use_lora else self.model.disable_adapter() + with torch.no_grad(), adapter_ctx: + out = self.model.generate(**inputs, max_new_tokens=self.max_new_tokens, do_sample=False) + gen = out[:, inputs["input_ids"].shape[1]:] + return self.processor.batch_decode(gen, skip_special_tokens=True)[0] + + +def make_backend(backend="transformers", base=None, adapter=None): + """Build a rewriter backend. + + - ``"transformers"`` — the bundled local :class:`TransformersBackend`. + - a custom object / callable — returned as-is if it already exposes + ``generate(text, image, use_lora) -> str``. Use this to drive the rewriter from + a hosted or OpenAI-compatible endpoint without downloading the VLM locally. + """ + if backend == "transformers": + return TransformersBackend(base, adapter) + if hasattr(backend, "generate"): + return backend + raise ValueError( + f"unknown backend: {backend!r}; pass 'transformers' or an object exposing " + "generate(text, image, use_lora)." + ) + + +class Rewriter: + """Two-stage orchestrator. The backend implements ``generate(text, image, use_lora) -> str``.""" + + def __init__(self, backend): + self.backend = backend + + def rewrite(self, prompt, mode="t2v", first_frame=None, duration=5): + if mode not in MODES: + raise ValueError(f"mode must be one of {list(MODES)}") + cfg = MODES[mode] + dur = int(round(duration)) + img = None + if cfg["image"]: + if first_frame is None: + raise ValueError(f"{mode} requires first_frame (path / URL / PIL.Image)") + img = load_image(first_frame) + # stage 1: EXPAND -- base model (no LoRA) + detailed = self.backend.generate(_step1_text(mode, prompt, dur), img, use_lora=False).strip() + # stage 2: MAP -- base + LoRA + raw = self.backend.generate(_step2_text(mode, detailed, dur), img, use_lora=True).strip() + return {"mode": mode, "detailed": detailed, "json": parse_json(raw), "json_raw": raw} + + +def rewrite_prompt(prompt, mode="t2v", first_frame=None, duration=5, + backend="transformers", base=None, adapter=None, return_result=False): + """Rewrite a brief idea into the structured caption string the pipeline expects. + + Returns the compact-JSON caption string (ready to pass as ``pipe(prompt=...)``). + Pass ``return_result=True`` to also get the full stage-1/stage-2 dict. + """ + rw = Rewriter(make_backend(backend, base, adapter)) + result = rw.rewrite(prompt, mode=mode, first_frame=first_frame, duration=duration) + caption = normalize_caption(result["json"]) if result["json"] is not None else result["json_raw"] + if return_result: + return caption, result + return caption diff --git a/examples/lingbot_video/model_inference/prompts/t2v_example_1.json b/examples/lingbot_video/model_inference/prompts/t2v_example_1.json new file mode 100644 index 000000000..92afdf69b --- /dev/null +++ b/examples/lingbot_video/model_inference/prompts/t2v_example_1.json @@ -0,0 +1,77 @@ +{ + "caption": { + "comprehensive_description": { + "scene_content_description": "A young woman with long, wavy brown hair is standing in a bright, modern apartment living room. She is wearing a stylish, oversized cream-colored knit cardigan over a white tank top, paired with high-waisted, wide-leg beige trousers. She holds a small, structured tan leather handbag in her left hand. The background features a neutral-toned interior with a beige sofa, a potted plant, and large windows that let in soft, natural light, creating a warm and inviting atmosphere. The woman is smiling and looking directly at the camera, showcasing her outfit with a confident and friendly demeanor.", + "camera_movement_description": "The camera is positioned at eye level and remains essentially stationary throughout the video, maintaining a medium shot that captures the subject from the waist up. There is a very shallow depth of field, keeping the woman in sharp focus while the background remains softly blurred." + }, + "camera_info": { + "color": "Warm", + "frame_size": "Medium", + "shot_type_angle": "Eye level", + "lens_size": "Medium", + "composition": "Center", + "lighting": "Soft light", + "lighting_type": "Daylight" + }, + "world_knowledge": [], + "prominent_elements": [ + { + "name": "young woman", + "description": "A woman with long, wavy brown hair and a friendly expression, modeling a fashion outfit.", + "actions": [ + { + "timestamp": "[0.0s - 0.5s]", + "action": "stands still, smiling at the camera" + }, + { + "timestamp": "[0.5s - 2.0s]", + "action": "shifts her weight and turns her body slightly to the right" + }, + { + "timestamp": "[2.0s - 3.5s]", + "action": "adjusts the collar of her cardigan with her right hand" + }, + { + "timestamp": "[3.5s - 5.0s]", + "action": "returns to a neutral pose, smiling at the camera" + } + ], + "location": "center of the frame", + "relative_size": "dominant", + "shape_and_color": "slender build; wearing cream, white, and beige", + "texture": "soft knit cardigan, smooth fabric trousers", + "appearance_details": "long wavy brown hair, gold hoop earrings, tan leather handbag", + "relationship": "the main subject of the video, standing in front of a blurred apartment background", + "orientation": "upright, facing the camera", + "pose": "standing, shifting weight, and adjusting clothing", + "expression": "smiling and confident", + "clothing": "oversized cream knit cardigan, white tank top, high-waisted wide-leg beige trousers", + "gender": "female", + "skin_tone_and_texture": "fair skin with a smooth texture" + }, + { + "name": "tan handbag", + "description": "A small, structured leather handbag with a top handle.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "held steady in the woman's left hand" + } + ], + "location": "held in the woman's left hand, lower center of the frame", + "relative_size": "small", + "shape_and_color": "rectangular, tan or light brown", + "texture": "smooth leather", + "appearance_details": "structured shape with a top handle", + "relationship": "held by the woman as an accessory", + "orientation": "upright", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + } + ] + }, + "duration": 5 +} diff --git a/examples/lingbot_video/model_inference/prompts/t2v_example_2.json b/examples/lingbot_video/model_inference/prompts/t2v_example_2.json new file mode 100644 index 000000000..2e896d0da --- /dev/null +++ b/examples/lingbot_video/model_inference/prompts/t2v_example_2.json @@ -0,0 +1,101 @@ +{ + "caption": { + "comprehensive_description": { + "scene_content_description": "A young child with short brown hair is outdoors on a bright, sunny day, playing with bubbles. The child is wearing a colorful striped shirt with horizontal bands of red, yellow, green, and blue. They are holding a small bottle of bubble solution and a wand, dipping the wand into the bottle and then blowing to create a stream of shimmering, iridescent bubbles. The background is a soft-focus outdoor setting with greenery and a hint of a building, creating a warm and joyful atmosphere. The lighting is bright and natural, highlighting the child's focused expression and the delicate, translucent nature of the bubbles.", + "camera_movement_description": "The camera is essentially stationary throughout the video, maintaining a medium close-up shot of the child from an eye-level angle. There is a very slight handheld tremor, but no intentional panning, tilting, or zooming occurs." + }, + "camera_info": { + "color": "Saturated", + "frame_size": "Medium Close Up", + "shot_type_angle": "Low angle", + "lens_size": "Long Lens", + "composition": "Center", + "lighting": "Hard light", + "lighting_type": "Daylight" + }, + "world_knowledge": [], + "prominent_elements": [ + { + "name": "young child", + "description": "A young child with short brown hair and a joyful expression, focused on playing with bubbles.", + "actions": [ + { + "timestamp": "[0.0s - 1.5s]", + "action": "Dips the bubble wand into the solution bottle and lifts it out." + }, + { + "timestamp": "[1.5s - 2.5s]", + "action": "Brings the wand to their lips and blows to create bubbles." + }, + { + "timestamp": "[2.5s - 5.0s]", + "action": "Watches the bubbles float away, smiling slightly." + } + ], + "location": "Center of the frame", + "relative_size": "dominant", + "shape_and_color": "Human form; wearing a multi-colored striped shirt (red, yellow, green, blue).", + "texture": "Soft skin, fine hair, fabric texture of the shirt.", + "appearance_details": "Short brown hair, bright eyes, colorful horizontal stripes on the shirt.", + "relationship": "Holding the bubble wand and bottle, interacting with the bubbles.", + "orientation": "Facing forward and slightly to the right.", + "pose": "Standing or sitting upright, arms raised to hold the bubble wand.", + "expression": "Focused and happy.", + "clothing": "A short-sleeved shirt with horizontal stripes in red, yellow, green, and blue.", + "gender": "Male", + "skin_tone_and_texture": "Fair skin with a smooth texture." + }, + { + "name": "bubble wand and bottle", + "description": "A small plastic bottle containing bubble solution and a wand with a circular loop.", + "actions": [ + { + "timestamp": "[0.0s - 1.5s]", + "action": "The wand is dipped into the bottle and then lifted out." + }, + { + "timestamp": "[1.5s - 2.5s]", + "action": "The wand is held at the child's mouth as bubbles are blown." + } + ], + "location": "Lower center of the frame, held by the child.", + "relative_size": "small", + "shape_and_color": "Cylindrical bottle with a blue cap; circular wand loop.", + "texture": "Smooth plastic.", + "appearance_details": "The bottle is partially filled with clear liquid; the wand has a thin handle.", + "relationship": "Held by the child's hands.", + "orientation": "Vertical bottle, horizontal wand loop.", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "bubbles", + "description": "A cluster of small, iridescent, translucent bubbles floating in the air.", + "actions": [ + { + "timestamp": "[1.5s - 5.0s]", + "action": "The bubbles are blown from the wand and float upwards and towards the right side of the frame." + } + ], + "location": "Upper center and right side of the frame.", + "relative_size": "medium", + "shape_and_color": "Spherical and iridescent with rainbow-like reflections.", + "texture": "Glossy and translucent.", + "appearance_details": "Shimmering surfaces that catch the sunlight.", + "relationship": "Created by the child's blowing action.", + "orientation": "Floating in various directions.", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "", + "is_cluster": true, + "number_of_objects": "many" + } + ] + }, + "duration": 5 +} diff --git a/examples/lingbot_video/model_inference/prompts/t2v_example_3.json b/examples/lingbot_video/model_inference/prompts/t2v_example_3.json new file mode 100644 index 000000000..7e78d5eb2 --- /dev/null +++ b/examples/lingbot_video/model_inference/prompts/t2v_example_3.json @@ -0,0 +1,155 @@ +{ + "caption": { + "comprehensive_description": { + "scene_content_description": "The video presents a first-person perspective of a workspace, likely a desk, viewed from a fixed, slightly elevated angle. The environment is well-lit with neutral, even lighting, creating a clear and focused atmosphere. The desk surface is a light grey color. On the left side of the desk, there is a black game controller with a glowing blue light bar, resting on a black mousepad. In the center of the desk lies a pair of black over-ear headphones. To the right, there is an open, empty black box with a white interior. In the foreground, two robotic arms are visible. The left robotic arm, featuring a black and silver body with a two-fingered gripper, remains completely stationary throughout the video. The right robotic arm, similar in design, is the active subject. It begins by moving forward and to the left, positioning its gripper over the game controller. It then grasps the controller, lifts it off the desk, and transports it to the right, moving it over the open box. Finally, the right robotic arm lowers the controller into the box and releases it. The headphones and the left robotic arm remain undisturbed during this entire sequence.", + "camera_movement_description": "" + }, + "camera_info": { + "color": "Cyan", + "frame_size": "Wide", + "shot_type_angle": "High angle", + "lens_size": "Ultra Wide / Fisheye", + "composition": "Balanced", + "lighting": "Soft light", + "lighting_type": "Artificial light" + }, + "world_knowledge": [], + "prominent_elements": [ + { + "name": "right robotic arm", + "description": "A mechanical arm with a black and silver body, equipped with a two-fingered gripper and visible wiring.", + "actions": [ + { + "timestamp": "[0.0s - 1.5s]", + "action": "Moves forward and to the left towards the game controller." + }, + { + "timestamp": "[1.5s - 2.5s]", + "action": "Grasps the game controller and lifts it upward." + }, + { + "timestamp": "[2.5s - 4.0s]", + "action": "Moves to the right, carrying the game controller over the open box." + }, + { + "timestamp": "[4.0s - 5.0s]", + "action": "Lowers the game controller into the box and releases it." + } + ], + "location": "Originates from the bottom right, moves to the center, then to the right.", + "relative_size": "large", + "shape_and_color": "Cylindrical and angular segments, black and silver.", + "texture": "Metallic and matte plastic.", + "appearance_details": "Visible joints, wiring, and a two-fingered gripper mechanism.", + "relationship": "Interacts directly with the game controller.", + "orientation": "Extends forward and slightly upward from the bottom right.", + "pose": "", + "expression": "", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + }, + { + "name": "left robotic arm", + "description": "A mechanical arm with a black and silver body, equipped with a two-fingered gripper.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "Remains stationary." + } + ], + "location": "Bottom left corner of the frame.", + "relative_size": "large", + "shape_and_color": "Cylindrical and angular segments, black and silver.", + "texture": "Metallic and matte plastic.", + "appearance_details": "Visible joints and a two-fingered gripper mechanism.", + "relationship": "Positioned opposite the right robotic arm, not interacting with other objects.", + "orientation": "Extends forward and slightly upward from the bottom left.", + "pose": "", + "expression": "", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + }, + { + "name": "game controller", + "description": "A standard video game controller with joysticks, buttons, and a glowing light bar.", + "actions": [ + { + "timestamp": "[0.0s - 1.5s]", + "action": "Rests stationary on the desk." + }, + { + "timestamp": "[1.5s - 2.5s]", + "action": "Is grasped and lifted upward by the right robotic arm." + }, + { + "timestamp": "[2.5s - 4.0s]", + "action": "Is moved to the right by the right robotic arm." + }, + { + "timestamp": "[4.0s - 5.0s]", + "action": "Is lowered into the open box and released." + } + ], + "location": "Initially on the left side of the desk, moved to the right side inside the box.", + "relative_size": "medium", + "shape_and_color": "Contoured shape, black with a blue light bar.", + "texture": "Matte plastic.", + "appearance_details": "Two joysticks, directional pad, action buttons, and a glowing blue light bar in the center.", + "relationship": "Initially on the desk, then grasped and moved by the right robotic arm, finally placed in the open box.", + "orientation": "Horizontal on the desk, then tilted while being carried.", + "pose": "", + "expression": "", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + }, + { + "name": "headphones", + "description": "A pair of over-ear headphones with a headband and ear cups.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "Remains stationary on the desk." + } + ], + "location": "Center of the desk.", + "relative_size": "medium", + "shape_and_color": "Curved headband with circular ear cups, black.", + "texture": "Matte plastic and soft ear cushions.", + "appearance_details": "Visible ear cushions and a headband.", + "relationship": "Rests on the desk, untouched by the robotic arms.", + "orientation": "Lying flat on the desk.", + "pose": "", + "expression": "", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + }, + { + "name": "open box", + "description": "A rectangular box with the lid open, revealing a white interior.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "Remains stationary on the desk." + } + ], + "location": "Right side of the desk.", + "relative_size": "medium", + "shape_and_color": "Rectangular, black exterior with a white interior.", + "texture": "Smooth cardboard or plastic.", + "appearance_details": "Open lid, empty interior.", + "relationship": "Serves as the receptacle for the game controller.", + "orientation": "Horizontal on the desk.", + "pose": "", + "expression": "", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + } + ] + }, + "duration": 5 +} diff --git a/diffsynth/pipelines/lingbot_video_system_prompts.py b/examples/lingbot_video/model_inference/system_prompts.py similarity index 100% rename from diffsynth/pipelines/lingbot_video_system_prompts.py rename to examples/lingbot_video/model_inference/system_prompts.py diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index b6e3bf1db..0d106b745 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -1,25 +1,45 @@ +import os import torch from diffsynth.utils.data import save_video from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption -# Low-VRAM inference. `vram_limit` turns on DiffSynth's automatic VRAM management, -# which keeps model weights on CPU and streams them to the GPU layer-by-layer during -# each forward. The value below reserves ~2 GB of headroom on top of the models. +# Low-VRAM inference. Setting `offload_dtype` / `offload_device` on each ModelConfig is +# what actually turns on DiffSynth's VRAM management: weights are kept on CPU in fp8 and +# streamed to the GPU layer-by-layer, then computed in bf16. `vram_limit` on its own has +# no effect — without a non-None `offload_dtype` and `offload_device` the loader never +# enables offloading (see `need_to_enable_vram_management`). `vram_limit` only sets how +# much resident VRAM the streaming may use once offloading is on. +vram_config = { + "offload_dtype": torch.float8_e4m3fn, + "offload_device": "cpu", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, ) +# Use a released in-distribution structured caption (shared with the model_inference +# example). LingBot-Video is trained on structured-JSON captions, not free-form prose. +caption = normalize_caption(os.path.join( + os.path.dirname(__file__), "..", "model_inference", "prompts", "t2v_example_1.json")) video = pipe( - prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh index 594e3868a..a04d8ec7e 100644 --- a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh @@ -1,7 +1,3 @@ -# Download the LingBot-Video Dense-1.3B weights (DiT + text encoder + VAE + processor). -# This fetches the whole repo once into ./models so the paths below resolve locally. -modelscope download --model Robbyant/lingbot-video-dense-1.3b --local_dir ./models/Robbyant/lingbot-video-dense-1.3b - # Download the example video-SFT dataset (a small text-to-video set with a `video` + # `prompt` metadata.csv), the same DiffSynth-Studio example dataset the other training # scripts use. NOTE: its prompts are plain prose; for best quality rewrite them into @@ -21,15 +17,8 @@ accelerate launch examples/lingbot_video/model_training/train.py \ --width 832 \ --num_frames 169 \ --dataset_repeat 200 \ - --model_paths '[ - [ - "./models/Robbyant/lingbot-video-dense-1.3b/text_encoder/model-00001-of-00002.safetensors", - "./models/Robbyant/lingbot-video-dense-1.3b/text_encoder/model-00002-of-00002.safetensors" - ], - "./models/Robbyant/lingbot-video-dense-1.3b/transformer/diffusion_pytorch_model.safetensors", - "./models/Robbyant/lingbot-video-dense-1.3b/vae/diffusion_pytorch_model.safetensors" - ]' \ - --processor_path "./models/Robbyant/lingbot-video-dense-1.3b/processor" \ + --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ --learning_rate 1e-4 \ --num_epochs 20 \ --remove_prefix_in_ckpt "pipe.dit." \ diff --git a/examples/lingbot_video/model_training/rewrite_captions.py b/examples/lingbot_video/model_training/rewrite_captions.py index 3b234af9e..91da27f22 100644 --- a/examples/lingbot_video/model_training/rewrite_captions.py +++ b/examples/lingbot_video/model_training/rewrite_captions.py @@ -22,8 +22,13 @@ import argparse import json import os +import sys -from diffsynth.pipelines.lingbot_video_prompt_rewriter import Rewriter, make_backend, normalize_caption +# The two-stage rewriter engine lives with the inference examples (the diffsynth core +# keeps only normalize_caption), so training and inference share one implementation. +sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "model_inference")) +from prompt_rewriter import Rewriter, make_backend +from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption def _load_rows(path): diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index 1d7e74ab4..d6dd372fc 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -39,9 +39,10 @@ def __init__( self.pipe = self.split_pipeline_units(task, self.pipe, trainable_models, lora_base_model) self.resume_from_checkpoint(resume_from_checkpoint, remove_prefix_in_ckpt) - # Training mode. The UniPC scheduler falls back to the full-resolution - # flow-matching schedule during training (see LingBotVideoUniPCScheduler). - # Attention-only LoRA is the default scope: pass + # Training mode. switch_pipe_to_training_mode puts FlowMatchScheduler (Wan + # template) on the full 1000-step flow-matching schedule via + # set_timesteps(1000, training=True); the SFT loss samples a random timestep + # from it. Attention-only LoRA is the default scope: pass # `--lora_target_modules "to_q,to_k,to_v,to_out"` to leave the MoE / FFN # (gate_proj / up_proj / down_proj) and the router untouched. self.switch_pipe_to_training_mode( From 5fbf50aa0766ce6252fb87890c886b6f93a70cf7 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 16:10:36 +0800 Subject: [PATCH 05/34] Fix low-VRAM fp32/bf16 dtype mismatch in LingBot-Video DiT Under low-VRAM offload the AutoWrapped modules compute weights in bf16 but do not cast their inputs, and reading `.weight.dtype` from outside the wrapper returns the resident fp8 dtype. The parameter-free sinusoidal `time_proj` always returns fp32, so feeding it straight into the bf16 `time_embedder` MLP raised "mat1 and mat2 must have the same dtype, but got Float and BFloat16"; `proj_out` had the mirror bug via `self.proj_out.weight.dtype` (fp8 under offload). Cast both inputs to the running compute dtype (`joint`) instead, which is bf16 under offload and matches the weight dtype in a full-precision run. No effect on the normal (non-offload) path. Co-Authored-By: Claude Opus 4.8 --- diffsynth/models/lingbot_video_dit.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 59fe8fd1d..71acf0827 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -653,7 +653,12 @@ def forward( # Timestep -> per-token modulation. timestep_proj = self.time_proj(timestep.float()) - t_emb = self.time_embedder(timestep_proj) # (B, D) + # time_proj is a parameter-free sinusoidal embedding and always returns fp32 + # (get_timestep_embedding upcasts). Cast to the running compute dtype -- joint is + # the bf16 hidden state (or fp32 in a full-precision run) -- before the MLP: under + # low-VRAM offload the wrapper computes weights in bf16 but does not cast inputs, + # so feeding fp32 here raises "mat1 and mat2 must have the same dtype". + t_emb = self.time_embedder(timestep_proj.to(joint.dtype)) # (B, D) if packed_batch: temb_input = torch.cat( [t_emb[i:i + 1].unsqueeze(1).expand(1, sample_seq_lens[i], -1) for i in range(B)], dim=1 @@ -675,7 +680,10 @@ def forward( final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1)) shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) final_hidden = self.norm_out(joint) * (1.0 + scale) + shift - projected = self.proj_out(final_hidden.to(self.proj_out.weight.dtype)) + # Match the running compute dtype (joint), not self.proj_out.weight.dtype: under + # low-VRAM offload the resident weight is fp8 (bf16 only at compute time), so + # reading .weight.dtype here would cast the input to fp8 and mismatch the wrapper. + projected = self.proj_out(final_hidden.to(joint.dtype)) if packed_batch: split_lengths = [] From a9e7cc24e0de8aef8c9fe7b62f951f87a35375e5 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 17:14:39 +0800 Subject: [PATCH 06/34] Fold normalize_caption into lingbot_video pipeline module The trimmed diffsynth/pipelines/lingbot_video_prompt_rewriter.py held only normalize_caption (caption -> compact-JSON serialisation) after the prompt rewriter was moved to the examples. Its sole core consumer is the pipeline, which already calls it internally, so keeping a separate one-function module added a misleadingly-named file ("prompt_rewriter" that no longer rewrites) for no benefit. Move normalize_caption (and its _serialize_caption/_caption_from_sample helpers) into diffsynth/pipelines/lingbot_video.py as module-level functions and delete the old module. All importers now pull it from lingbot_video; the example inference/training scripts already imported the pipeline, so this only tidies their imports. The prompt-rewriting logic stays out of core, in examples/lingbot_video/model_inference/prompt_rewriter.py. Co-Authored-By: Claude Opus 4.8 --- .../lingbot_video_prompt_rewriter.py | 78 ------------------- 1 file changed, 78 deletions(-) delete mode 100644 diffsynth/pipelines/lingbot_video_prompt_rewriter.py diff --git a/diffsynth/pipelines/lingbot_video_prompt_rewriter.py b/diffsynth/pipelines/lingbot_video_prompt_rewriter.py deleted file mode 100644 index a6d55bff4..000000000 --- a/diffsynth/pipelines/lingbot_video_prompt_rewriter.py +++ /dev/null @@ -1,78 +0,0 @@ -"""Caption normalization for LingBot-Video. - -The LingBot-Video DiT is trained on **structured JSON captions**, not free-form -prose. Feeding a flat sentence is out-of-distribution and noticeably degrades -quality; feeding the structured caption the model expects restores it. - -This module holds only the lightweight, dependency-free normalization the pipeline -and the training module need: :func:`normalize_caption` turns a caption expressed as -a ``dict`` / ``list`` / path to a ``prompt.json`` into the exact compact-JSON string -the DiT consumes (a plain string is passed through untouched). It mirrors the original -``lingbot_video.utils.caption_from_sample`` byte-for-byte. - -Turning a *brief idea* into that structured caption is a separate, heavier step (a -two-stage VLM rewriter). That lives with the examples, out of the core, so importing -this module never drags in the rewriter's optional deps — see -``examples/lingbot_video/model_inference/prompt_rewriter.py``. -""" - -import json -import os - - -# Keys that describe how to *render* the clip rather than its content. When a full -# sample dict is given without an explicit "caption" key, these are stripped before -# serialisation (kept identical to the original ``caption_from_sample``). -_RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} - - -def _serialize_caption(caption) -> str: - """dict/list -> compact JSON (the exact model format); anything else -> ``str()``.""" - if isinstance(caption, (dict, list)): - return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) - return str(caption) - - -def _caption_from_sample(sample) -> str: - """Port of ``lingbot_video.utils.caption_from_sample``. - - A *sample* dict either carries the structured caption under ``"caption"`` or IS - the caption once the runtime keys are dropped. - """ - if isinstance(sample, dict): - if "caption" in sample: - caption = sample["caption"] - else: - caption = {k: v for k, v in sample.items() if k not in _RUNTIME_KEYS} - else: - caption = sample - return _serialize_caption(caption) - - -def normalize_caption(prompt): - """Normalise a caption into the compact-JSON string the LingBot DiT expects. - - Accepts: - - - ``dict`` / ``list`` — a structured caption (or a full sample dict with a - ``"caption"`` key), serialised via the original compact-JSON convention. - - a path to a ``prompt.json`` file (``str`` ending in ``.json`` that exists) — - loaded, then handled as the dict/list case. - - any other ``str`` — returned unchanged (already a caption string, or free-form - prose the caller intentionally wants to feed as-is). - - ``None`` — returned unchanged. - - Plain strings are passed through, so this is safe to call unconditionally on - prompts that are already in the right format. - """ - if prompt is None: - return prompt - if isinstance(prompt, str): - if prompt.endswith(".json") and os.path.isfile(prompt): - with open(prompt, "r", encoding="utf-8") as f: - prompt = json.load(f) - return _caption_from_sample(prompt) - return prompt - if isinstance(prompt, (dict, list)): - return _caption_from_sample(prompt) - return str(prompt) From c62ea4f526c01471e320dc5514c57359bb323823 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 17:16:27 +0800 Subject: [PATCH 07/34] Add normalize_caption to lingbot_video and fix importers Companion to the previous commit, which only recorded the deletion of lingbot_video_prompt_rewriter.py. This commit adds normalize_caption (and its _serialize_caption/_caption_from_sample helpers) into diffsynth/pipelines/lingbot_video.py as module-level functions, and repoints every importer (the pipeline itself, the model_inference / low_vram example scripts, the example prompt_rewriter, train.py and rewrite_captions.py) at diffsynth.pipelines.lingbot_video. Restores a working tree: the two commits together move the single remaining function into the pipeline module. Co-Authored-By: Claude Opus 4.8 --- diffsynth/pipelines/lingbot_video.py | 77 ++++++++++++++++++- .../lingbot-video-dense-1.3b.py | 3 +- .../model_inference/prompt_rewriter.py | 2 +- .../lingbot-video-dense-1.3b.py | 3 +- .../model_training/rewrite_captions.py | 2 +- .../lingbot_video/model_training/train.py | 3 +- 6 files changed, 81 insertions(+), 9 deletions(-) diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index f16082d39..387145155 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -1,3 +1,6 @@ +import json +import os + import torch import numpy as np from PIL import Image @@ -13,7 +16,79 @@ from ..models.lingbot_video_dit import LingBotVideoDiT from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder from ..models.qwen_image_vae import QwenImageVAE, QwenImageCausalConv3d -from .lingbot_video_prompt_rewriter import normalize_caption + + +# --------------------------------------------------------------------------- +# Caption normalization +# +# LingBot-Video is trained on **structured JSON captions**, not free-form prose; +# feeding a flat sentence is out-of-distribution and degrades quality. The pipeline +# calls ``normalize_caption`` internally (see ``__call__``) so a caption given as a +# ``dict`` / ``list`` / path to a ``prompt.json`` is serialised to the exact +# compact-JSON string the DiT consumes, while a plain string is passed through +# untouched. It is a module-level function (not a method) so the training data-prep +# scripts -- train.py and rewrite_captions.py -- can import the identical +# serialisation without instantiating the pipeline. Turning a *brief idea* into that +# structured caption is a separate, heavier VLM step that lives with the examples +# (examples/lingbot_video/model_inference/prompt_rewriter.py), out of the core. +# --------------------------------------------------------------------------- + +# Keys that describe how to *render* the clip rather than its content. When a full +# sample dict is given without an explicit "caption" key, these are stripped before +# serialisation (kept identical to the original ``caption_from_sample``). +_RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} + + +def _serialize_caption(caption) -> str: + """dict/list -> compact JSON (the exact model format); anything else -> ``str()``.""" + if isinstance(caption, (dict, list)): + return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) + return str(caption) + + +def _caption_from_sample(sample) -> str: + """Port of ``lingbot_video.utils.caption_from_sample``. + + A *sample* dict either carries the structured caption under ``"caption"`` or IS + the caption once the runtime keys are dropped. + """ + if isinstance(sample, dict): + if "caption" in sample: + caption = sample["caption"] + else: + caption = {k: v for k, v in sample.items() if k not in _RUNTIME_KEYS} + else: + caption = sample + return _serialize_caption(caption) + + +def normalize_caption(prompt): + """Normalise a caption into the compact-JSON string the LingBot DiT expects. + + Accepts: + + - ``dict`` / ``list`` -- a structured caption (or a full sample dict with a + ``"caption"`` key), serialised via the original compact-JSON convention. + - a path to a ``prompt.json`` file (``str`` ending in ``.json`` that exists) -- + loaded, then handled as the dict/list case. + - any other ``str`` -- returned unchanged (already a caption string, or free-form + prose the caller intentionally wants to feed as-is). + - ``None`` -- returned unchanged. + + Plain strings are passed through, so this is safe to call unconditionally on + prompts that are already in the right format. + """ + if prompt is None: + return prompt + if isinstance(prompt, str): + if prompt.endswith(".json") and os.path.isfile(prompt): + with open(prompt, "r", encoding="utf-8") as f: + prompt = json.load(f) + return _caption_from_sample(prompt) + return prompt + if isinstance(prompt, (dict, list)): + return _caption_from_sample(prompt) + return str(prompt) # Number of tokens the Qwen3-VL processor truncates the prompt to. Copied verbatim diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index a88bdf08a..a3c543d16 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -1,8 +1,7 @@ import os import torch from diffsynth.utils.data import save_video, VideoData -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption # LingBot-Video is trained on STRUCTURED-JSON captions, not free-form prose. Feeding a diff --git a/examples/lingbot_video/model_inference/prompt_rewriter.py b/examples/lingbot_video/model_inference/prompt_rewriter.py index 799e88348..7da77c2a5 100644 --- a/examples/lingbot_video/model_inference/prompt_rewriter.py +++ b/examples/lingbot_video/model_inference/prompt_rewriter.py @@ -45,7 +45,7 @@ from system_prompts import ( VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, ) -from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption +from diffsynth.pipelines.lingbot_video import normalize_caption # mode -> (step1 system prompt, step2 system prompt, feed image?, add duration?) diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index 0d106b745..c6e476a3b 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -1,8 +1,7 @@ import os import torch from diffsynth.utils.data import save_video -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption # Low-VRAM inference. Setting `offload_dtype` / `offload_device` on each ModelConfig is diff --git a/examples/lingbot_video/model_training/rewrite_captions.py b/examples/lingbot_video/model_training/rewrite_captions.py index 91da27f22..c010eed15 100644 --- a/examples/lingbot_video/model_training/rewrite_captions.py +++ b/examples/lingbot_video/model_training/rewrite_captions.py @@ -28,7 +28,7 @@ # keeps only normalize_caption), so training and inference share one implementation. sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "model_inference")) from prompt_rewriter import Rewriter, make_backend -from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption +from diffsynth.pipelines.lingbot_video import normalize_caption def _load_rows(path): diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index d6dd372fc..36aa17b19 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -1,7 +1,6 @@ import torch, os, argparse, accelerate, warnings from diffsynth.core import UnifiedDataset -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -from diffsynth.pipelines.lingbot_video_prompt_rewriter import normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption from diffsynth.diffusion import * os.environ["TOKENIZERS_PARALLELISM"] = "false" From e83d7d6d3cd5f6ea684e010ac1859cbf7f9598df Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 17:29:07 +0800 Subject: [PATCH 08/34] Trim verbose comments in LingBot-Video code Collapse the AI-generated multi-paragraph banners and docstrings to concise one-line "why" comments matching DiffSynth's light comment style. No code changes. Co-Authored-By: Claude Opus 4.8 --- diffsynth/models/lingbot_video_dit.py | 16 +-- diffsynth/pipelines/lingbot_video.py | 117 ++++-------------- .../lingbot-video-dense-1.3b.py | 24 ++-- .../model_inference/prompt_rewriter.py | 54 +++----- .../lingbot-video-dense-1.3b.py | 12 +- .../model_training/rewrite_captions.py | 17 +-- .../lingbot_video/model_training/train.py | 15 +-- 7 files changed, 67 insertions(+), 188 deletions(-) diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 71acf0827..ec4e98624 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -10,9 +10,8 @@ from ..core.device.npu_compatible_device import get_device_type -# Modules kept in fp32 regardless of the model's bulk compute dtype. The custom -# `to()` below honours this list so the sensitive AdaLN / norm / router paths stay -# in full precision, matching the original lingbot-video precision policy. +# Modules kept in fp32 regardless of the bulk compute dtype (sensitive AdaLN / norm / +# router paths); the custom `to()` below honours this list. LINGBOT_VIDEO_FP32_MODULES = ( "time_embedder", "time_modulation", @@ -653,11 +652,8 @@ def forward( # Timestep -> per-token modulation. timestep_proj = self.time_proj(timestep.float()) - # time_proj is a parameter-free sinusoidal embedding and always returns fp32 - # (get_timestep_embedding upcasts). Cast to the running compute dtype -- joint is - # the bf16 hidden state (or fp32 in a full-precision run) -- before the MLP: under - # low-VRAM offload the wrapper computes weights in bf16 but does not cast inputs, - # so feeding fp32 here raises "mat1 and mat2 must have the same dtype". + # time_proj always returns fp32; cast to the compute dtype (joint) before the MLP, + # since under low-VRAM offload the wrapper computes in bf16 but does not cast inputs. t_emb = self.time_embedder(timestep_proj.to(joint.dtype)) # (B, D) if packed_batch: temb_input = torch.cat( @@ -680,9 +676,7 @@ def forward( final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1)) shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) final_hidden = self.norm_out(joint) * (1.0 + scale) + shift - # Match the running compute dtype (joint), not self.proj_out.weight.dtype: under - # low-VRAM offload the resident weight is fp8 (bf16 only at compute time), so - # reading .weight.dtype here would cast the input to fp8 and mismatch the wrapper. + # Cast to joint's dtype, not proj_out.weight.dtype (which is fp8 under offload). projected = self.proj_out(final_hidden.to(joint.dtype)) if packed_batch: diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 387145155..0cdb8a497 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -18,40 +18,21 @@ from ..models.qwen_image_vae import QwenImageVAE, QwenImageCausalConv3d -# --------------------------------------------------------------------------- -# Caption normalization -# -# LingBot-Video is trained on **structured JSON captions**, not free-form prose; -# feeding a flat sentence is out-of-distribution and degrades quality. The pipeline -# calls ``normalize_caption`` internally (see ``__call__``) so a caption given as a -# ``dict`` / ``list`` / path to a ``prompt.json`` is serialised to the exact -# compact-JSON string the DiT consumes, while a plain string is passed through -# untouched. It is a module-level function (not a method) so the training data-prep -# scripts -- train.py and rewrite_captions.py -- can import the identical -# serialisation without instantiating the pipeline. Turning a *brief idea* into that -# structured caption is a separate, heavier VLM step that lives with the examples -# (examples/lingbot_video/model_inference/prompt_rewriter.py), out of the core. -# --------------------------------------------------------------------------- - -# Keys that describe how to *render* the clip rather than its content. When a full -# sample dict is given without an explicit "caption" key, these are stripped before -# serialisation (kept identical to the original ``caption_from_sample``). +# LingBot-Video is trained on structured JSON captions. normalize_caption serialises a +# dict/list caption (or a prompt.json path) into the compact-JSON string the DiT expects; +# a plain string is passed through. Kept module-level so train.py / rewrite_captions.py +# can reuse it without importing the pipeline. The prompt rewriter that turns a brief idea +# into such a caption lives in examples/lingbot_video/model_inference/prompt_rewriter.py. _RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} def _serialize_caption(caption) -> str: - """dict/list -> compact JSON (the exact model format); anything else -> ``str()``.""" if isinstance(caption, (dict, list)): return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) return str(caption) def _caption_from_sample(sample) -> str: - """Port of ``lingbot_video.utils.caption_from_sample``. - - A *sample* dict either carries the structured caption under ``"caption"`` or IS - the caption once the runtime keys are dropped. - """ if isinstance(sample, dict): if "caption" in sample: caption = sample["caption"] @@ -63,21 +44,6 @@ def _caption_from_sample(sample) -> str: def normalize_caption(prompt): - """Normalise a caption into the compact-JSON string the LingBot DiT expects. - - Accepts: - - - ``dict`` / ``list`` -- a structured caption (or a full sample dict with a - ``"caption"`` key), serialised via the original compact-JSON convention. - - a path to a ``prompt.json`` file (``str`` ending in ``.json`` that exists) -- - loaded, then handled as the dict/list case. - - any other ``str`` -- returned unchanged (already a caption string, or free-form - prose the caller intentionally wants to feed as-is). - - ``None`` -- returned unchanged. - - Plain strings are passed through, so this is safe to call unconditionally on - prompts that are already in the right format. - """ if prompt is None: return prompt if isinstance(prompt, str): @@ -91,14 +57,12 @@ def normalize_caption(prompt): return str(prompt) -# Number of tokens the Qwen3-VL processor truncates the prompt to. Copied verbatim -# from the original lingbot-video pipeline so the encoded prompt matches. +# Prompt truncation length for the Qwen3-VL processor. TOKEN_LENGTH = 37698 -# Which hidden-state layer to use as the prompt embedding: 0 -> the last layer. +# Hidden-state layer used as the prompt embedding: 0 -> the last layer. HIDDEN_STATE_SKIP_LAYER = 0 -# Chat template that wraps the user prompt inside the prompt-enhancement system -# prompt. `apply_text_to_template(prompt) == PROMPT_TEMPLATE.format(prompt)`. +# Prompt-enhancement chat template wrapping the user prompt. PROMPT_TEMPLATE = ( "<|im_start|>system\nGiven a user input that may include a text prompt alone, " "a text prompt with an image reference, or a text prompt with a video reference " @@ -124,27 +88,10 @@ def normalize_caption(prompt): class LingBotVideoPipeline(BasePipeline): - """ - Text-to-video pipeline for LingBot-Video. - - Follows the DiffSynth ``PipelineUnit`` + ``model_fn`` pattern (see - :class:`~diffsynth.pipelines.wan_video.WanVideoPipeline`). Components: - - - ``dit``: :class:`~diffsynth.models.lingbot_video_dit.LingBotVideoDiT` (MoE / - Dense video DiT), conditioned on ``timestep`` and ``encoder_attention_mask``. - - ``text_encoder``: - :class:`~diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder` - (Qwen3-VL). The prompt is wrapped in :data:`PROMPT_TEMPLATE`, encoded, and the - template-prefix tokens are cropped (``crop_start``). - - ``vae``: :class:`~diffsynth.models.qwen_image_vae.QwenImageVAE` (byte-identical - to the LingBot-Video VAE). The 5D-video encode/decode and its latent - normalisation live in this pipeline (:meth:`encode_video` / :meth:`decode_video`), - so the VAE itself stays identical to its image use elsewhere. - - Sampling uses :class:`~diffsynth.diffusion.flow_match.FlowMatchScheduler` (Wan - template; first-order flow-matching Euler). Classifier-free guidance runs as two - independent forwards. - """ + """Text-to-video pipeline for LingBot-Video (DiT + Qwen3-VL text encoder + QwenImageVAE), + following the DiffSynth PipelineUnit + model_fn pattern. Sampling uses FlowMatchScheduler + (Wan template). The 5D-video VAE encode/decode lives here (encode_video / decode_video) + so QwenImageVAE stays identical to its image use elsewhere.""" def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): super().__init__( @@ -170,8 +117,7 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): self.compilable_models = ["dit"] def _compute_crop_start(self) -> int: - # Number of tokens contributed by the template prefix (everything before the - # user prompt). Computed once by tokenising the template up to a marker. + # Token count of the template prefix (everything before the user prompt), computed once. if self._crop_start is None: marker = "<|USER_INPUT_MARKER|>" marked = PROMPT_TEMPLATE.format(marker) @@ -218,8 +164,7 @@ def from_pretrained( @torch.no_grad() def __call__( self, - # Prompt. Accepts a structured caption (dict / list), a path to a prompt.json, - # or a plain string; see normalize_caption / the prompt rewriter. + # Structured caption (dict / list), a prompt.json path, or a plain string. prompt: Union[str, dict, list] = "", negative_prompt: Union[str, dict, list] = DEFAULT_NEGATIVE_PROMPT, # Video-to-video @@ -243,11 +188,8 @@ def __call__( # Scheduler self.scheduler.set_timesteps(num_inference_steps, denoising_strength=denoising_strength, shift=sigma_shift) - # Normalise the caption to the structured-JSON string the DiT was trained on. - # A dict/list caption or a path to a prompt.json is serialised via the model's - # compact-JSON convention; a plain string (already a caption / prose) is left - # untouched, so this is a no-op for existing callers. DEFAULT_NEGATIVE_PROMPT is - # already such a JSON string and passes through unchanged. + # Serialise dict/list/prompt.json captions to the structured-JSON string; plain + # strings pass through unchanged. prompt = normalize_caption(prompt) negative_prompt = normalize_caption(negative_prompt) @@ -267,12 +209,9 @@ def __call__( self.load_models_to_device(self.in_iteration_models) models = {name: getattr(self, name) for name in self.in_iteration_models} for progress_id, timestep in enumerate(progress_bar_cmd(self.scheduler.timesteps)): - # The DiT is conditioned on sigma * 1000 (== the raw scheduler timestep). - # Pass it as fp32 so the integer inference timesteps are represented - # exactly (bf16 cannot represent values > 256 without rounding). + # fp32 so the integer timestep is represented exactly (bf16 rounds values > 256). timestep_input = timestep.unsqueeze(0).to(dtype=torch.float32, device=self.device) - # Inference (two independent forwards for CFG). noise_pred_posi = self.model_fn(**models, **inputs_shared, **inputs_posi, timestep=timestep_input) if cfg_scale != 1.0: noise_pred_nega = self.model_fn(**models, **inputs_shared, **inputs_nega, timestep=timestep_input) @@ -280,12 +219,8 @@ def __call__( else: noise_pred = noise_pred_posi - # Scheduler step (first-order flow-matching Euler). Uses the raw scheduler - # timestep to locate its internal step index, so pass it unmodified. inputs_shared["latents"] = self.scheduler.step(noise_pred, timestep, inputs_shared["latents"]) - # Decode. decode_video un-normalises the latents on the 5D-video path, so no - # manual latents_mean / latents_std handling is needed here. self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) video = self.decode_video(latents) @@ -297,11 +232,8 @@ def _count_conv3d(self, model): return sum(1 for m in model.modules() if isinstance(m, QwenImageCausalConv3d)) def encode_video(self, x): - # x: (B, C, T, H, W). Temporal chunking with a persistent causal feature cache - # — mathematically equivalent to encoding the whole clip at once, but bounded - # in memory. Chunk layout (1 + 4k frames) matches the WanVAE-derived temporal - # downsampling (temperal_downsample=[False, True, True]). Kept here in the - # pipeline (not on the VAE) so QwenImageVAE stays identical to its image use. + # x: (B, C, T, H, W). Temporal chunking (1 + 4k frames) through a persistent causal + # feature cache — equivalent to encoding the whole clip at once, bounded in memory. vae = self.vae t = x.shape[2] iter_ = 1 + (t - 1) // 4 @@ -319,8 +251,8 @@ def encode_video(self, x): return x def decode_video(self, x): - # x: (B, 16, T', H, W) in DiT latent space. Denormalize, then decode one latent - # frame at a time through the persistent causal feature cache. + # x: (B, 16, T', H, W) in latent space. Denormalize, then decode one latent frame + # at a time through the causal feature cache. vae = self.vae mean, std = vae.mean.to(dtype=x.dtype, device=x.device), vae.std.to(dtype=x.dtype, device=x.device) x = x / std + mean @@ -359,8 +291,7 @@ def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, r 1, pipe.dit.in_channels, length, height // VAE_SCALE_FACTOR_SPATIAL, width // VAE_SCALE_FACTOR_SPATIAL, ) - # fp32 noise: the flow-matching sampler accumulates state in fp32 for stability - # (matches the original pipeline's fp32 latents). + # fp32 noise: the flow-matching sampler accumulates state in fp32. noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device, torch_dtype=torch.float32) return {"noise": noise} @@ -448,8 +379,7 @@ def model_fn_lingbot_video( use_gradient_checkpointing_offload: bool = False, **kwargs, ): - # Cast the latent / text inputs to the DiT's bulk compute dtype (e.g. bf16). - # The DiT keeps its AdaLN / norm / router paths in fp32 internally. + # Cast inputs to the DiT's compute dtype (e.g. bf16); the DiT keeps AdaLN/norm in fp32. dit_dtype = dit.patch_embedder.weight.dtype hidden_states = latents.to(dtype=dit_dtype) encoder_hidden_states = context.to(dtype=dit_dtype) @@ -461,5 +391,4 @@ def model_fn_lingbot_video( use_gradient_checkpointing=use_gradient_checkpointing, use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, ) - # Return fp32 so the flow-matching sampler / MSE loss run in full precision. return noise_pred.float() diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index a3c543d16..39f0c3b52 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -4,11 +4,9 @@ from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption -# LingBot-Video is trained on STRUCTURED-JSON captions, not free-form prose. Feeding a -# flat sentence is out-of-distribution and visibly degrades quality; feeding the -# structured caption the model expects restores it. This example runs on a released -# in-distribution caption by default, and shows at the bottom how to turn a brief idea -# into such a caption with the two-stage prompt rewriter. +# LingBot-Video is trained on structured-JSON captions, not free-form prose. This example +# runs on a released in-distribution caption; see the bottom for turning a brief idea into +# such a caption with the two-stage prompt rewriter. pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, @@ -22,11 +20,8 @@ ) # --- Text-to-video ------------------------------------------------------------------- -# The prompts/t2v_example_*.json files are released LingBot-Video t2v captions — real -# in-distribution examples you can copy as templates for your own. normalize_caption -# accepts a dict, a list, or a path to a prompt.json; the pipeline calls it internally -# too, so pipe(prompt="prompts/t2v_example_1.json") works just as well. The default -# (T2V) negative prompt is built into the pipeline, so negative_prompt can be left unset. +# prompts/t2v_example_*.json are released in-distribution captions. The pipeline calls +# normalize_caption internally, so pipe(prompt="prompts/t2v_example_1.json") also works. caption = normalize_caption(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json")) video = pipe( prompt=caption, @@ -49,16 +44,13 @@ save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=10) # --- Optional: rewrite a brief idea into a structured caption ------------------------ -# If you only have a brief idea (or free-form prose), turn it into the structured caption -# the model expects with the two-stage rewriter in prompt_rewriter.py (a sibling module -# here). The rewriter is a separate VLM + stage-2 LoRA adapter (NOT the DiT), so it is -# NOT downloaded automatically — fetch both weights first, then point the env vars at them: +# The two-stage rewriter (prompt_rewriter.py, a sibling module) is a separate VLM + +# stage-2 LoRA adapter (NOT the DiT) and is not downloaded automatically. Fetch both +# weights and point the env vars at them: # modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B # modelscope download --model Robbyant/lingbot-video-rewriter-lora --local_dir ./models/Robbyant/lingbot-video-rewriter-lora # export REWRITER_BASE_MODEL=./models/Qwen/Qwen3.6-27B # export REWRITER_ADAPTER=./models/Robbyant/lingbot-video-rewriter-lora -# To drive a hosted / OpenAI-compatible endpoint instead of a local VLM, pass a custom -# object exposing generate(text, image, use_lora) as backend=. # # from prompt_rewriter import rewrite_prompt # caption = rewrite_prompt( diff --git a/examples/lingbot_video/model_inference/prompt_rewriter.py b/examples/lingbot_video/model_inference/prompt_rewriter.py index 7da77c2a5..7a2742109 100644 --- a/examples/lingbot_video/model_inference/prompt_rewriter.py +++ b/examples/lingbot_video/model_inference/prompt_rewriter.py @@ -1,24 +1,15 @@ """Two-stage prompt rewriter for LingBot-Video (example-side helper). -The LingBot-Video DiT is trained on **structured JSON captions**, not free-form prose. -:func:`rewrite_prompt` turns a brief idea into that structured caption via a faithful -port of the original two-stage rewriter (``rewriter/rewriter_core.py`` + -``rewriter/inference.py``): stage 1 *expands* the idea into a natural-language caption -(base model, no LoRA), stage 2 *maps* it into the structured JSON (base model + a -stage-2 LoRA adapter). - -This is a separate VLM + LoRA adapter, NOT the DiT — it is not shipped or downloaded -with the pipeline, which is why it lives here with the examples rather than in the -diffsynth core (the core keeps only ``normalize_caption``). The bundled -:class:`TransformersBackend` loads the rewriter VLM locally; :func:`make_backend` also -accepts any object exposing ``generate(text, image, use_lora) -> str`` so the rewriter -can be driven by a hosted / OpenAI-compatible endpoint without shipping the weights. - -Typical use:: - - from prompt_rewriter import rewrite_prompt # sibling module in this dir +rewrite_prompt turns a brief idea into the structured JSON caption the DiT expects: +stage 1 expands the idea into a natural-language caption (base model), stage 2 maps it +into structured JSON (base model + stage-2 LoRA). This is a separate VLM + LoRA adapter, +not the DiT, and is not downloaded with the pipeline -- hence it lives with the examples, +while the core keeps only normalize_caption. TransformersBackend loads the rewriter VLM +locally; make_backend also accepts any object exposing generate(text, image, use_lora). + + from prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) - video = pipe(prompt=caption, ...) # caption is the structured JSON string + video = pipe(prompt=caption, ...) """ import io @@ -90,11 +81,8 @@ def _step2_text(mode, detailed, dur): def parse_json(raw): - """Parse the stage-2 output into a dict, or ``None`` if it cannot be parsed. - - VLMs occasionally emit unstable JSON (missing quotes, trailing commas, ``` fences), - so we strip any code fence, then try the stdlib parser first and fall back to - ``json_repair`` when it is installed (recommended for messy outputs).""" + """Parse the stage-2 output into a dict, or None. Strips any code fence, tries the + stdlib parser, then falls back to json_repair (if installed) for messy output.""" s = (raw or "").strip() m = re.search(r"```(?:json)?\s*(\{.*\})\s*```", s, re.DOTALL) if m: @@ -115,9 +103,8 @@ def parse_json(raw): def save_caption(result, duration, path): - """Save as ``{"caption": , "duration": }`` — - exactly the ``prompt.json`` the pipeline / runner consume. ``duration`` is integer - seconds for T2V/TI2V and ``None`` for T2I (a still image has no duration).""" + """Save as {"caption": , "duration": } -- the prompt.json the + pipeline consumes. duration is integer seconds for T2V/TI2V, None for T2I.""" dur = int(round(duration)) if MODES[result["mode"]]["duration"] else None with open(path, "w", encoding="utf-8") as f: json.dump({"caption": result["json"], "duration": dur}, f, ensure_ascii=False, indent=2) @@ -125,10 +112,8 @@ def save_caption(result, duration, path): class TransformersBackend: - """Local rewriter VLM + LoRA adapter (peft). stage1 = base (adapter disabled), - stage2 = base + LoRA. Loads the rewriter model into memory; the weights are NOT - the DiT — set ``base``/``adapter`` (or ``REWRITER_BASE_MODEL``/``REWRITER_ADAPTER``) - to the rewriter VLM and its stage-2 adapter.""" + """Local rewriter VLM + LoRA adapter (peft): stage1 = base (adapter disabled), + stage2 = base + LoRA. Set base/adapter (or REWRITER_BASE_MODEL/REWRITER_ADAPTER).""" def __init__(self, base=None, adapter=None, device="auto", max_new_tokens=6144): import contextlib @@ -171,13 +156,8 @@ def generate(self, text, image, use_lora): def make_backend(backend="transformers", base=None, adapter=None): - """Build a rewriter backend. - - - ``"transformers"`` — the bundled local :class:`TransformersBackend`. - - a custom object / callable — returned as-is if it already exposes - ``generate(text, image, use_lora) -> str``. Use this to drive the rewriter from - a hosted or OpenAI-compatible endpoint without downloading the VLM locally. - """ + """Build a rewriter backend: "transformers" for the local TransformersBackend, or any + object already exposing generate(text, image, use_lora) -> str (e.g. a hosted endpoint).""" if backend == "transformers": return TransformersBackend(base, adapter) if hasattr(backend, "generate"): diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index c6e476a3b..898d2976c 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -4,12 +4,9 @@ from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption -# Low-VRAM inference. Setting `offload_dtype` / `offload_device` on each ModelConfig is -# what actually turns on DiffSynth's VRAM management: weights are kept on CPU in fp8 and -# streamed to the GPU layer-by-layer, then computed in bf16. `vram_limit` on its own has -# no effect — without a non-None `offload_dtype` and `offload_device` the loader never -# enables offloading (see `need_to_enable_vram_management`). `vram_limit` only sets how -# much resident VRAM the streaming may use once offloading is on. +# Low-VRAM inference. offload_dtype / offload_device on each ModelConfig turn on VRAM +# management: weights stay on CPU in fp8 and stream to the GPU layer-by-layer, computed in +# bf16. vram_limit only caps resident VRAM once offloading is enabled by those two fields. vram_config = { "offload_dtype": torch.float8_e4m3fn, "offload_device": "cpu", @@ -33,8 +30,7 @@ vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, ) -# Use a released in-distribution structured caption (shared with the model_inference -# example). LingBot-Video is trained on structured-JSON captions, not free-form prose. +# Released in-distribution structured caption (shared with the model_inference example). caption = normalize_caption(os.path.join( os.path.dirname(__file__), "..", "model_inference", "prompts", "t2v_example_1.json")) video = pipe( diff --git a/examples/lingbot_video/model_training/rewrite_captions.py b/examples/lingbot_video/model_training/rewrite_captions.py index c010eed15..e452f3a4d 100644 --- a/examples/lingbot_video/model_training/rewrite_captions.py +++ b/examples/lingbot_video/model_training/rewrite_captions.py @@ -1,22 +1,15 @@ """Offline: rewrite a training metadata file's raw prompts into structured JSON captions. -LingBot-Video is trained on structured-JSON captions. If your dataset's ``prompt`` -column holds free-form prose, run this ONCE before training to rewrite every prompt -into the structured caption the DiT expects, and train on the rewritten metadata. This -is done offline on purpose — running the (large) rewriter VLM inside the dataloader on -every step would be prohibitively slow. - -The rewriter is a separate VLM + stage-2 LoRA adapter (NOT the DiT). Provide it via -``--base``/``--adapter`` or the ``REWRITER_BASE_MODEL`` / ``REWRITER_ADAPTER`` env vars. +Run this once before training if your dataset's prompt column holds free-form prose, then +train on the rewritten metadata. The rewriter is a separate VLM + stage-2 LoRA adapter +(not the DiT); provide it via --base/--adapter or REWRITER_BASE_MODEL/REWRITER_ADAPTER. Usage: python rewrite_captions.py --metadata metadata.csv --output metadata_rewritten.csv \ --base /path/to/rewriter-base --adapter /path/to/rewriter-step2-lora --duration 5 -Supports .csv / .json / .jsonl metadata (same formats as the training dataset loader). -The output keeps every other column and replaces the ``--prompt-column`` with the -compact-JSON caption string. Rows whose stage-2 output fails to parse are kept with -their original prompt and logged, so training never silently trains on a broken row. +Supports .csv / .json / .jsonl. Rows whose stage-2 output fails to parse keep their +original prompt and are logged, so training never silently uses a broken row. """ import argparse diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index 36aa17b19..3d8de6b78 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -38,12 +38,9 @@ def __init__( self.pipe = self.split_pipeline_units(task, self.pipe, trainable_models, lora_base_model) self.resume_from_checkpoint(resume_from_checkpoint, remove_prefix_in_ckpt) - # Training mode. switch_pipe_to_training_mode puts FlowMatchScheduler (Wan - # template) on the full 1000-step flow-matching schedule via - # set_timesteps(1000, training=True); the SFT loss samples a random timestep - # from it. Attention-only LoRA is the default scope: pass - # `--lora_target_modules "to_q,to_k,to_v,to_out"` to leave the MoE / FFN - # (gate_proj / up_proj / down_proj) and the router untouched. + # Training mode: FlowMatchScheduler (Wan template) runs the full 1000-step + # schedule and the SFT loss samples a random timestep. Attention-only LoRA is the + # default; pass --lora_target_modules "to_q,to_k,to_v,to_out" to skip MoE/router. self.switch_pipe_to_training_mode( self.pipe, trainable_models, lora_base_model, lora_target_modules, lora_rank, lora_checkpoint, @@ -66,10 +63,8 @@ def __init__( self.min_timestep_boundary = min_timestep_boundary def get_pipeline_inputs(self, data): - # LingBot-Video is trained on structured-JSON captions. Normalise the metadata - # "prompt" column (dict / prompt.json path -> compact JSON; plain string kept - # as-is) so LoRA trains in-distribution. Prepare captions offline with - # model_training/rewrite_captions.py if your dataset stores raw prose. + # Normalise the metadata "prompt" column to the structured-JSON caption so LoRA + # trains in-distribution. Use rewrite_captions.py offline if it stores raw prose. inputs_posi = {"prompt": normalize_caption(data["prompt"])} inputs_nega = {} inputs_shared = { From 33334438b75ef2a7d686e0b38ae5fa37c7d861eb Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 19:42:56 +0800 Subject: [PATCH 09/34] Fix dtype mismatch feeding the fp32-pinned time_embedder time_embedder is fp32-pinned (LINGBOT_VIDEO_FP32_MODULES), so under a standard load its weights stay fp32 while joint (the bulk hidden state) is bf16. Casting the fp32 timestep_proj to joint.dtype fed bf16 into the fp32 Linear, raising "mat1 and mat2 must have the same dtype" on any non-offload run. Cast to the layer's own weight dtype instead: fp32 under standard load, bf16 under low-VRAM offload (where the wrapper casts these MLPs to the compute dtype). proj_out keeps joint.dtype since it is a bulk layer held in fp8 under offload. Co-Authored-By: Claude Opus 4.8 --- diffsynth/models/lingbot_video_dit.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index ec4e98624..6e621ab20 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -652,9 +652,10 @@ def forward( # Timestep -> per-token modulation. timestep_proj = self.time_proj(timestep.float()) - # time_proj always returns fp32; cast to the compute dtype (joint) before the MLP, - # since under low-VRAM offload the wrapper computes in bf16 but does not cast inputs. - t_emb = self.time_embedder(timestep_proj.to(joint.dtype)) # (B, D) + # time_proj always returns fp32; match the time_embedder's own weight dtype + # (fp32 under standard load via the custom `to()` override; bf16 under low-VRAM + # offload, where the wrapper wholesale-casts all params). + t_emb = self.time_embedder(timestep_proj.to(self.time_embedder.linear_1.weight.dtype)) # (B, D) if packed_batch: temb_input = torch.cat( [t_emb[i:i + 1].unsqueeze(1).expand(1, sample_seq_lens[i], -1) for i in range(B)], dim=1 From 4ecc892fcb9dd0438a46ab73a747fd9b315f7850 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 20:18:33 +0800 Subject: [PATCH 10/34] Add t2v_example_4 structured caption Co-Authored-By: Claude Opus 4.8 --- .../prompts/t2v_example_4.json | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 examples/lingbot_video/model_inference/prompts/t2v_example_4.json diff --git a/examples/lingbot_video/model_inference/prompts/t2v_example_4.json b/examples/lingbot_video/model_inference/prompts/t2v_example_4.json new file mode 100644 index 000000000..bb28ced87 --- /dev/null +++ b/examples/lingbot_video/model_inference/prompts/t2v_example_4.json @@ -0,0 +1,77 @@ +{ + "caption": { + "comprehensive_description": { + "scene_content_description": "A small, fluffy golden puppy is joyfully running across a lush green meadow on a bright, sunny day. The puppy is chasing a small red ball, which it eventually catches in its mouth. The background is a soft-focus blur of green grass and distant trees, creating a shallow depth of field that emphasizes the puppy's movement. The lighting is warm and natural, casting a gentle glow on the puppy's fur and highlighting the vibrant green of the grass. The overall atmosphere is playful, energetic, and heartwarming.", + "camera_movement_description": "The camera performs a smooth tracking shot, panning right to follow the puppy's movement across the field. It maintains a low-angle perspective, keeping the puppy centered in the frame. The shot size remains a medium-close-up throughout, with a slight zoom-in as the puppy catches the ball, enhancing the sense of action and focus." + }, + "camera_info": { + "color": "Warm", + "frame_size": "Wide", + "shot_type_angle": "Low angle", + "lens_size": "Long Lens", + "composition": "Center", + "lighting": "Hard light", + "lighting_type": "Daylight" + }, + "world_knowledge": [], + "prominent_elements": [ + { + "name": "golden puppy", + "description": "A small, fluffy puppy with golden-brown fur, likely a Golden Retriever or similar breed.", + "actions": [ + { + "timestamp": "[0.0s - 3.5s]", + "action": "runs right across the grassy field" + }, + { + "timestamp": "[3.5s - 4.0s]", + "action": "catches a red ball in its mouth" + }, + { + "timestamp": "[4.0s - 5.0s]", + "action": "continues running right while holding the ball" + } + ], + "location": "center of the frame, moving from left to right", + "relative_size": "large", + "shape_and_color": "organic shape with golden-brown fur", + "texture": "furry and soft", + "appearance_details": "floppy ears, dark eyes, and a black nose", + "relationship": "the main subject chasing and catching the red ball", + "orientation": "facing right", + "pose": "running and leaping", + "expression": "joyful and focused", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + }, + { + "name": "red ball", + "description": "A small, bright red spherical object used as a toy.", + "actions": [ + { + "timestamp": "[0.0s - 3.5s]", + "action": "rolls right across the grass ahead of the puppy" + }, + { + "timestamp": "[3.5s - 5.0s]", + "action": "is caught and held in the puppy's mouth" + } + ], + "location": "lower center of the frame, moving right", + "relative_size": "small", + "shape_and_color": "spherical and bright red", + "texture": "smooth", + "appearance_details": "solid red color", + "relationship": "the object being chased by the puppy", + "orientation": "rolling", + "pose": "", + "expression": "", + "clothing": "", + "is_cluster": false, + "number_of_objects": "" + } + ] + }, + "duration": 5 +} From ea73e8b0aa9581e426b32d529ad7f593ac874511 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 22:03:10 +0800 Subject: [PATCH 11/34] Add TI2V (image-to-video) support to LingBot-Video pipeline Condition generation on a first frame via a new `input_image` argument. Dense-1.3B reuses its T2V checkpoint (DiT unchanged, in_channels=16); the condition frame is used twice, matching the original LingBot-Video i2v pipeline: fed to the Qwen3-VL text encoder as a visual reference (image tokens prepended to the prompt), and VAE-encoded to a clean latent pinned into the first temporal slot before sampling and after every scheduler step. - LingBotVideoUnit_ImageEmbedder builds the cond latent (via encode_video) and the smart-resized VLM image; no-op for T2V/V2V. - LingBotVideoUnit_PromptEmbedder passes the image to the processor when present. - Ported smart_resize / cover-resize+center-crop / _vlm_image helpers. - Example lingbot-video-dense-1.3b_ti2v.py + released first frame and caption. - EN/ZH docs and example README document the TI2V path and `input_image`. Co-Authored-By: Claude Opus 4.8 --- diffsynth/pipelines/lingbot_video.py | 155 +++++++++++++++++- docs/en/Model_Details/LingBot-Video.md | 24 +++ docs/zh/Model_Details/LingBot-Video.md | 24 +++ examples/lingbot_video/README.md | 19 +++ .../assets/ti2v_first_frame.png | Bin 0 -> 2453442 bytes .../lingbot-video-dense-1.3b_ti2v.py | 38 +++++ .../model_inference/prompts/ti2v_example.json | 131 +++++++++++++++ 7 files changed, 385 insertions(+), 6 deletions(-) create mode 100644 examples/lingbot_video/model_inference/assets/ti2v_first_frame.png create mode 100644 examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py create mode 100644 examples/lingbot_video/model_inference/prompts/ti2v_example.json diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 0cdb8a497..561b95f62 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -1,7 +1,9 @@ import json +import math import os import torch +import torch.nn.functional as F import numpy as np from PIL import Image from tqdm import tqdm @@ -86,6 +88,64 @@ def normalize_caption(prompt): VAE_SCALE_FACTOR_SPATIAL = 8 VAE_SCALE_FACTOR_TEMPORAL = 4 +# --- TI2V (image-to-video) --------------------------------------------------- +# The condition frame is used twice: (1) as visual input to the Qwen3-VL text +# encoder — its image tokens are prepended to the prompt via IMG_PROMPT_TEMPLATE; +# (2) VAE-encoded to a clean latent written into the first temporal slot of the +# diffusion latent before sampling and after every scheduler step (inpainting). +# The DiT is unchanged (in_channels stays 16); Dense-1.3B reuses its T2V weights. +IMG_PROMPT_TEMPLATE = "<|vision_start|><|image_pad|><|vision_end|>" + +# Qwen3-VL vision token-budget bounds used by smart_resize (official defaults). +IMAGE_MIN_TOKEN_NUM = 4 +IMAGE_MAX_TOKEN_NUM = 16384 +MAX_RATIO = 200 +SPATIAL_MERGE_SIZE = 2 + + +def _round_by_factor(number: float, factor: int) -> int: + return round(number / factor) * factor + + +def _ceil_by_factor(number: float, factor: int) -> int: + return math.ceil(number / factor) * factor + + +def _floor_by_factor(number: float, factor: int) -> int: + return math.floor(number / factor) * factor + + +def smart_resize(height: int, width: int, factor: int, + min_pixels: Optional[int] = None, max_pixels: Optional[int] = None): + # Resize so both sides are multiples of `factor` and the token count stays in + # [min_pixels, max_pixels] while preserving aspect ratio. Ported verbatim from + # the official LingBot-Video i2v pipeline (Qwen3-VL smart-resize). + max_pixels = max_pixels if max_pixels is not None else IMAGE_MAX_TOKEN_NUM * factor**2 + min_pixels = min_pixels if min_pixels is not None else IMAGE_MIN_TOKEN_NUM * factor**2 + if max_pixels < min_pixels: + raise ValueError("max_pixels must be greater than or equal to min_pixels.") + if max(height, width) / min(height, width) > MAX_RATIO: + raise ValueError(f"absolute aspect ratio must be smaller than {MAX_RATIO}.") + resized_height = max(factor, _round_by_factor(height, factor)) + resized_width = max(factor, _round_by_factor(width, factor)) + if resized_height * resized_width > max_pixels: + beta = math.sqrt((height * width) / max_pixels) + resized_height = _floor_by_factor(height / beta, factor) + resized_width = _floor_by_factor(width / beta, factor) + elif resized_height * resized_width < min_pixels: + beta = math.sqrt(min_pixels / (height * width)) + resized_height = _ceil_by_factor(height * beta, factor) + resized_width = _ceil_by_factor(width * beta, factor) + return resized_height, resized_width + + +def _pixel_tensor_to_pil(pixel: torch.Tensor) -> Image.Image: + # Match torchvision.transforms.ToPILImage for a float CHW image in [0, 1]. + # pixel: (B, C, T, H, W); take batch 0, temporal slot 0. + frame = pixel[0, :, 0].detach().cpu().clamp(0, 1) + array = frame.permute(1, 2, 0).mul(255).byte().numpy() + return Image.fromarray(array, mode="RGB") + class LingBotVideoPipeline(BasePipeline): """Text-to-video pipeline for LingBot-Video (DiT + Qwen3-VL text encoder + QwenImageVAE), @@ -110,6 +170,9 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): self.units = [ LingBotVideoUnit_ShapeChecker(), LingBotVideoUnit_NoiseInitializer(), + # ImageEmbedder must run before PromptEmbedder: it produces the vlm_image + # that PromptEmbedder feeds to the text encoder (TI2V only; no-op for T2V). + LingBotVideoUnit_ImageEmbedder(), LingBotVideoUnit_PromptEmbedder(), LingBotVideoUnit_InputVideoEmbedder(), ] @@ -167,6 +230,8 @@ def __call__( # Structured caption (dict / list), a prompt.json path, or a plain string. prompt: Union[str, dict, list] = "", negative_prompt: Union[str, dict, list] = DEFAULT_NEGATIVE_PROMPT, + # Image-to-video (TI2V): condition on a single first frame. + input_image: Image.Image = None, # Video-to-video input_video: list[Image.Image] = None, denoising_strength: float = 1.0, @@ -197,6 +262,7 @@ def __call__( inputs_posi = {"prompt": prompt} inputs_nega = {"negative_prompt": negative_prompt} inputs_shared = { + "input_image": input_image, "input_video": input_video, "denoising_strength": denoising_strength, "seed": seed, "rand_device": rand_device, "height": height, "width": width, "num_frames": num_frames, @@ -205,6 +271,14 @@ def __call__( for unit in self.units: inputs_shared, inputs_posi, inputs_nega = self.unit_runner(unit, self, inputs_shared, inputs_posi, inputs_nega) + # TI2V: the clean condition latent (if any) is pinned into the first temporal + # slot(s) both before sampling and after every scheduler step, so the DiT only + # ever denoises the frames after the given first frame. + first_frame_latents = inputs_shared.get("first_frame_latents") + if first_frame_latents is not None: + cond_t = first_frame_latents.shape[2] + inputs_shared["latents"][:, :, :cond_t] = first_frame_latents + # Denoise self.load_models_to_device(self.in_iteration_models) models = {name: getattr(self, name) for name in self.in_iteration_models} @@ -220,6 +294,8 @@ def __call__( noise_pred = noise_pred_posi inputs_shared["latents"] = self.scheduler.step(noise_pred, timestep, inputs_shared["latents"]) + if first_frame_latents is not None: + inputs_shared["latents"][:, :, :cond_t] = first_frame_latents self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) @@ -265,6 +341,43 @@ def decode_video(self, x): out = out_ if out is None else torch.cat([out, out_], dim=2) return out + def preprocess_cond_image(self, image: Image.Image, height, width): + # TI2V condition frame -> (1, C, 1, H, W) pixel tensor in [0, 1], aspect-ratio + # preserving cover-resize + center-crop to (height, width). Ported from the + # official i2v pipeline's preprocess_image. + raw = torch.from_numpy(np.array(image.convert("RGB"))).permute(2, 0, 1).unsqueeze(0).contiguous() + old_h, old_w = raw.shape[-2:] + scale = max(height / old_h, width / old_w) + new_h = max(math.ceil(old_h * scale), height) + new_w = max(math.ceil(old_w * scale), width) + resized = F.interpolate(raw.float(), size=(new_h, new_w), mode="bilinear", align_corners=False) + top = int(round((new_h - height) / 2.0)) + left = int(round((new_w - width) / 2.0)) + cropped = resized[:, :, top: top + height, left: left + width] / 255.0 + return cropped.unsqueeze(2) + + def _vision_patch_size(self) -> int: + # Resolve the Qwen3-VL vision patch size (used with SPATIAL_MERGE_SIZE to pick + # the smart-resize grid factor). Falls back to 16 like the official pipeline. + for obj in ( + getattr(getattr(self.text_encoder, "config", None), "vision_config", None), + getattr(getattr(self.processor, "image_processor", None), "config", None), + getattr(self.processor, "image_processor", None), + ): + patch = getattr(obj, "patch_size", None) + if patch is not None: + return int(patch) + return 16 + + def _vlm_image(self, pixel: torch.Tensor) -> Image.Image: + # Build the PIL image handed to the text encoder from the condition pixel tensor, + # smart-resized to the Qwen3-VL patch grid. + image = _pixel_tensor_to_pil(pixel) + patch_factor = self._vision_patch_size() * SPATIAL_MERGE_SIZE + w, h = image.size + resized_height, resized_width = smart_resize(h, w, factor=patch_factor) + return image.resize((resized_width, resized_height)) + class LingBotVideoUnit_ShapeChecker(PipelineUnit): def __init__(self): @@ -302,16 +415,20 @@ def __init__(self): seperate_cfg=True, input_params_posi={"prompt": "prompt"}, input_params_nega={"prompt": "negative_prompt"}, + input_params=("vlm_image",), output_params=("context", "encoder_attention_mask"), onload_model_names=("text_encoder",), ) - def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): - # T2V: visual_template is empty, so the text is simply the templated prompt. - text = PROMPT_TEMPLATE.format(prompt) + def encode_prompt(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None): + # T2V: visual_template is empty. TI2V: prepend the image-token block to the + # prompt and pass the condition image so the encoder attends to it. The image + # tokens land after the template prefix, so crop_start is unaffected. + visual_template = IMG_PROMPT_TEMPLATE if vlm_image is not None else "" + text = PROMPT_TEMPLATE.format(visual_template + prompt) inputs = pipe.processor( text=[text], - images=None, + images=[vlm_image] if vlm_image is not None else None, videos=None, do_resize=False, truncation=True, @@ -339,9 +456,9 @@ def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): return prompt_embeds.to(dtype=pipe.torch_dtype), prompt_mask - def process(self, pipe: LingBotVideoPipeline, prompt) -> dict: + def process(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None) -> dict: pipe.load_models_to_device(self.onload_model_names) - prompt_embeds, prompt_mask = self.encode_prompt(pipe, prompt) + prompt_embeds, prompt_mask = self.encode_prompt(pipe, prompt, vlm_image=vlm_image) return {"context": prompt_embeds, "encoder_attention_mask": prompt_mask} @@ -369,6 +486,32 @@ def process(self, pipe: LingBotVideoPipeline, input_video, noise): return {"latents": latents} +class LingBotVideoUnit_ImageEmbedder(PipelineUnit): + """TI2V: turn the condition first frame into (a) a clean VAE latent pinned into + the diffusion latent's first temporal slot and (b) a smart-resized PIL image for + the Qwen3-VL text encoder. No-op (returns {}) when input_image is None (T2V/V2V).""" + + def __init__(self): + super().__init__( + input_params=("input_image", "height", "width"), + output_params=("first_frame_latents", "vlm_image"), + onload_model_names=("vae",), + ) + + def process(self, pipe: LingBotVideoPipeline, input_image, height, width): + if input_image is None: + return {} + pipe.load_models_to_device(self.onload_model_names) + # (1, C, 1, H, W) in [0, 1] -> [-1, 1] to match the VAE input range; encode_video + # applies the latent normalisation, giving the same clean cond latent the DiT + # was trained to inpaint on. + pixel = pipe.preprocess_cond_image(input_image, height, width) + pixel = pixel.to(dtype=pipe.torch_dtype, device=pipe.device) + first_frame_latents = pipe.encode_video(pixel * 2.0 - 1.0).to(dtype=torch.float32, device=pipe.device) + vlm_image = pipe._vlm_image(pixel) + return {"first_frame_latents": first_frame_latents, "vlm_image": vlm_image} + + def model_fn_lingbot_video( dit: LingBotVideoDiT, latents: torch.Tensor = None, diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 83a9c2b61..32c3dfba3 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -68,6 +68,7 @@ Input parameters for `LingBotVideoPipeline` inference include: * `prompt`: Prompt describing the content appearing in the video. Accepts a structured caption (`dict` / `list`), a path to a `prompt.json`, or a plain string; see [Prompt rewriting](#prompt-rewriting-important-for-quality). * `negative_prompt`: Negative prompt describing content that should not appear in the video. A default (T2V) negative prompt is built into the pipeline, so this can be left unset. +* `input_image`: A `PIL.Image` first frame for image-to-video (TI2V); the model animates it. See [Image-to-video (TI2V)](#image-to-video-ti2v). * `input_video`: Input video (a list of frames or a `VideoData`) for video-to-video generation, used together with `denoising_strength`. * `denoising_strength`: Denoising strength, range 0~1, default value is 1.0. Lower values keep more of the input video structure. Only effective when `input_video` is provided. * `height`: Video height, default 480. Must be a multiple of 16. @@ -118,6 +119,29 @@ Instead of the env vars you can pass `base=` / `adapter=` to `rewrite_prompt`, o If you don't have the rewriter model, three released LingBot-Video t2v captions ship with the repo as ready-to-use examples: `examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`. Pass one straight to the pipeline (`video = pipe(prompt="path/to/t2v_example_1.json", ...)`), or copy one as a template for writing your own structured caption. +## Image-to-video (TI2V) + +The pipeline can condition generation on a **first frame**: pass a `PIL.Image` as `input_image` and the model animates it. Dense-1.3B reuses the **same T2V checkpoint** — there is no separate i2v weight to download, and the DiT is unchanged (`in_channels` stays 16). + +Matching the original LingBot-Video i2v pipeline, the condition frame is used twice: + +- it is fed to the Qwen3-VL text encoder as a visual reference (its image tokens are prepended to the prompt), so the caption and the frame are interpreted together; +- it is VAE-encoded to a clean latent that is pinned into the first temporal slot of the diffusion latent before sampling and re-applied after every scheduler step, so the model only generates the frames that follow. + +```python +from PIL import Image + +input_image = Image.open("first_frame.png").convert("RGB") +video = pipe( + prompt=caption, # describe the motion that unfolds from the first frame + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, seed=0, +) +``` + +The condition frame is aspect-ratio-preserving cover-resized and center-cropped to `height`×`width`, so it need not match the target resolution exactly. A runnable example ships at [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py), using the released first frame (`assets/ti2v_first_frame.png`) and its paired caption (`prompts/ti2v_example.json`). The caption should describe the motion that unfolds from the frame; as with T2V it is most in-distribution as a structured-JSON caption. `input_image` and `input_video` are mutually exclusive — pass at most one. + ## Model Training LingBot-Video is trained through [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py), which fine-tunes the DiT with LoRA using the flow-matching SFT objective. The script parameters include: diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index fddf6250b..20a7204a4 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -68,6 +68,7 @@ save_video(video, "video.mp4", fps=15, quality=10) * `prompt`: 描述视频内容的提示词。支持结构化 caption(`dict` / `list`)、`prompt.json` 路径,或普通字符串;详见[提示词改写](#提示词改写对质量很重要)。 * `negative_prompt`: 负向提示词,描述不希望出现在视频中的内容。Pipeline 内置了默认(T2V)负向提示词,因此可以不设置。 +* `input_image`: 图生视频(TI2V)的首帧,传入一个 `PIL.Image`,模型会以它为第一帧生成后续画面。详见[图生视频(TI2V)](#图生视频ti2v)。 * `input_video`: 输入视频(帧列表或 `VideoData`),用于视频生视频,需与 `denoising_strength` 配合使用。 * `denoising_strength`: 降噪强度,取值范围 0~1,默认为 1.0。值越小,越保留输入视频的结构。仅在提供 `input_video` 时生效。 * `height`: 视频高度,默认为 480,需能被 16 整除。 @@ -118,6 +119,29 @@ video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0 如果没有改写器模型,仓库自带 3 个官方 LingBot-Video t2v 结构化 caption 作为开箱即用的示例:`examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`。可直接按路径传给 pipeline(`video = pipe(prompt="path/to/t2v_example_1.json", ...)`),也可以复制一个作为编写自己 caption 的模板。 +## 图生视频(TI2V) + +Pipeline 支持以一张**首帧**为条件生成视频:把一个 `PIL.Image` 传给 `input_image`,模型会以它为第一帧生成后续画面。Dense-1.3B **复用同一份 T2V 权重**——无需额外下载 i2v 权重,DiT 也保持不变(`in_channels` 仍为 16)。 + +与官方 LingBot-Video i2v pipeline 一致,首帧会被使用两次: + +- 作为视觉参考喂给 Qwen3-VL 文本编码器(其图像 token 会前插到提示词里),让 caption 与首帧被联合理解; +- 经 VAE 编码为一个干净 latent,在采样前钉入扩散 latent 的第一个时间槽,并在每个调度步之后重新钉入,因此模型只生成首帧之后的画面。 + +```python +from PIL import Image + +input_image = Image.open("first_frame.png").convert("RGB") +video = pipe( + prompt=caption, # 描述从首帧开始展开的运动 + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, seed=0, +) +``` + +首帧会按保持宽高比的方式 cover-resize 并中心裁剪到 `height`×`width`,因此不必与目标分辨率完全一致。可直接运行的示例见 [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py),它使用随仓库发布的首帧(`assets/ti2v_first_frame.png`)及其配对 caption(`prompts/ti2v_example.json`)。caption 应描述从首帧开始展开的运动;与 T2V 一样,写成结构化 JSON caption 最贴近训练分布。`input_image` 与 `input_video` 互斥,至多传一个。 + ## 模型训练 LingBot-Video 通过 [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py) 进行训练,使用 flow-matching SFT 目标对 DiT 做 LoRA 微调。脚本的参数包括: diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index 819586ee0..74d839d65 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -56,6 +56,25 @@ The pipeline ships a default (T2V) negative prompt, so `negative_prompt` is opti **Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference_low_vram/lingbot-video-dense-1.3b.py`. +### Image-to-video (TI2V) + +Condition on a **first frame** by passing a `PIL.Image` as `input_image`; the model animates it. Dense-1.3B reuses the same T2V checkpoint (no separate i2v weight). The frame is used twice — as a visual reference for the Qwen3-VL text encoder, and as a clean latent pinned into the first frame of the diffusion latent before sampling and after every step, so only the following frames are generated. + +```bash +python examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py +``` + +```python +from PIL import Image +video = pipe( + prompt=caption, # describes the motion from the first frame + input_image=Image.open("first_frame.png").convert("RGB"), + height=480, width=832, num_frames=81, cfg_scale=3.0, seed=0, +) +``` + +The runnable example uses the released first frame + caption in `model_inference/assets/ti2v_first_frame.png` and `model_inference/prompts/ti2v_example.json`. `input_image` and `input_video` are mutually exclusive. + ## Prompt rewriting (important for quality) LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality (softer, less coherent motion); feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict`, a path to a `prompt.json`, or a plain string, and normalises it to the exact compact-JSON format the DiT was trained on — a plain string is passed through unchanged, so existing scripts keep working. diff --git a/examples/lingbot_video/model_inference/assets/ti2v_first_frame.png b/examples/lingbot_video/model_inference/assets/ti2v_first_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..e009e20bd675498299c624861512597147ac2b99 GIT binary patch literal 2453442 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

?=9LWys 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%0DJ?I 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%0AYKfH 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≻e^WA7C;{x#hXYa+fkUjKH8RNf{P^hj-@hH8 zf`jFdM5Lvv>##^H&AulKBbWRFa2MV8NzE~}$F&P1`OlYIlC%1&eCT)b%=9P+LTJ@0 z%6f0ct#CGmb9eZ~O_l@It?vqFLSPo2Zz{ZYh@DdQUnRfpz~8x%!cSg_+&W?$J#VJS z)fsJh-Spv@OD0$>C^DCQIzZr_QY-`_qLVXw@A2a=RvgTJcd?T)E8+>MY}L?*6q-uK zOV>ChCAn9==W^H|Jm4LO;pe--BCqs)Vbi{Uu2&h5I9?g%MVJotFs*rq4TY5FaRN%z zp4(hAnckCkV)FTUs8a8$D&OY6`-&$2&S=IOXpTbGeh+EwTnar^aYg9 zhLZRwQ~LG?0j~2@CBXtAS}4!ETC(jehQi*952SGVpCO`H-9lAw}@LdyN?XFs|6&)^A@5_oQ2I@&;JQ%XuXdLrV~iks`N?2*532c#}l5&Y8qpC zwTYFH9(glEg$%k>?beK1XhI=cjB7v}YeLuUTFuqRG;Z=#Q^DpYSJBb{yZpWsxB3Za z^3>ibiTp`UkPtCUlvm%zb7jXLXiSiB zVfF(dVr~}g$CyOOh$-?!iGE18;u=_X9C<=2TJ~zM{mN&;7nBX^jY*5N8b3e~v=ON{ zZ&#svVqLT-NGplI5;>H~_J4~ND_#9NR$zA7(p+;D7Rw27_g&Tza+-fgEhM&pU-&Ub!&1H7(a9nkpXB@YX4 z1DIZ(IQiepUO zGbCdaiIZ+fPUaXqy;LkBp`wX*X?pEb)l-~KYB-nDv3$AX&9v@hP{n^VF*pTf>mu?t z%*TMuI8x_clj%wAD_u@+HrGY<`h%wL9tWK z8$G7`+D5eN#%U3(Uz}m9dEKk)>Q8U>_k*(>tk4fuPDlSqcE-y7OwpXyE;NbP6%meH z>}2BWiVUA&><#GL1$YnKSBH@ofK+!p@?Y71Ou8ls%F4FIm1%(IB<*#SpX&&?lkupXTHjnlFy@VDpooVLqB1clUIsZr}`dJ7zvD@tt2Ns5`}4Tn_nwl~!S zQ{=G~Rj#R>wY%LmYF)4Sf#oh7H_$W;PlPGIb*1x6=nW{awJ9pDE4KM8W&+_57fN?H z{(~PMU(C-zKQ*}zcQ+d`Gz)#Isz!0KIp~mzq?TmmQcpM2CyQ?`uyhZ~;^H7zi;4{6s1AVwhC zN{I21V3M1o?@I7;BQfqVwF`Nysm`Jw+wO~%IjRkzI7opMm9(0`U(x>RqIpmO0IP3% z1$XECB^?>kNe?A2Wx9)cg40sP?nW%mYL@f42~njP)4$O9)yU?Hp@fSd+0<~>g??j3 zUQ3$GzFk@2yZq<{(>R}J#9H4}A?e+wb>+bM7TWTK=koDH(rzlTWw|r*p32ru4i?odR313J zR>up8Zd${H`uiMwXc7hrlWjEwMge4#XkqR|hXg0F5=5=BMIC%TXSZ3( zg9wDv^j$EmRY%=(Gq>Y>t`%fsq8-3;E+i@nlF6Cf1%S711FI%` zaQU`tkhR~e$zw{!kpJ9}l$qof4VaI97jp?1oiS9cU<02@HpHWPTJg;yRhG zi8u6=2oO$!1}GD1`(qR4;6Y=Ycjk};)U<`gN0A(1J6PNTE_`Xg-kY%kYu-FN3xw>} z7lFLdiC0LS!{t6{qupFkTh)?NaJC583`*@TU@a>TTINq7#tV4sTt~;SCT2 z9&eSdmN~4Bu9G@ULqu~MugC{yZ@*A|*<}78Lfpq62j)fU3w==2iipJxo z`1^QJe8TdkWSUYStPH<_wzft}dYYAY&-=&apLh2N3G=Y{;h7paEetG5XFPh6)oHY4 z5l6HcKGDIJQOQd@RKcog<1>o}&O&nQd{U zHMaB9CVIwGq|dzEYtd$QF~=z{ZbBzRG+^(_oor``PsI;+ zIO9FWhqJ4Ee!?$t%a_fsq$%B+elKTNo^}2Xb#i*BChY!Z@YK z*jtFb@fWlZl*?4uf3F49!K_WCIK3F6a zROa}EMzkF#83t)}n~D;fub)PLMM4_1~;dMBsIA zw?;mx#(4}2vaT9hT6$ZeXJE`}!ZNxDRyXJJENm7I-n}C#op&^`IwbuUYB|5#3TgJyz1+;dVZ;z0qVH^<`|-qS zw5j>ek1D8Mj*wo>9%_f!_J-|5=^XZHc=o-20K8^L_Eyy5#$5SBm=OP+d{)=513W^T zozn%xcOU(o>~0x%zPyDV#=?T*Ipt{EDJxNdY~t}e#*0RezmMG!FXO|}IZvEH%Q=jf zj>Ow=0cr_$fLy^5Y6V zLwAZzHu}E<$~81+Q`Ezc$mV>Z5xfHBV~=eV7Mxy6!@H3db_;1~|1(^DE^w-nH;$g* z2YDC3W}3sx4`P{lOZ6d!HQ0#934xJDbr|YK^=h zJ78`N{2xc>{Yd5e|M6o><{LTbaEuT#PAHq~%(BW}5l;5rGmeqHcd|M5v5yfM;mA5< z9Eu#W%E5_4zUTA(>HGobzOVawjpyT0kr;MACCpjFKgaNs8LCFJ?8dC({KNV(S#6Ow zQ;Ce*d6|f&E`g!oO@v`a%9ss7;)}SrvTQXgAc~gW^3UIoR04!S<#Q(MIEHY~o~L6i z9LrlzKk09hQwfH6(n$Z7@kbh0(KvA{!?~w zqWV2JuhtI!e$BA!b#5-b!nK_0qQrkrrFK>3El?ixoCvCyyR{iFeEvbDw)pySdPMu$ z_57cRK+jYex&OXQv2eO?MFnyO?#0T2OUk~RRR?9rNPYYmzY|3Jwkp_{=HH9pfZ+7s zyAuTE;J9&e&8LqPs|Kf7z!UGPiEE>Zie>9wrmoxo7-H^ zzOHaW$xwa`0<2Qf7QCRCAYGyFwXX__;Wd!H>Um(p7zvka&qJ5?|uXkDm&&8aWeq5F30W`zwviY`6|b+vgf_<8{Y`1 z(i;;0%vEL1hvgAcW1NU083mHoJ2#@TLnTY$bkwOyzxs+f*yJHX&PH7KpUcq9ip}H1 zN+ZH9_S8Gj&=ctQZ%^~z+#&Hljk|F?+o0sIA-H$Q*QV<+d8ZcetF{j%}In-&W^ zU;TXeOdDged!Iu&-)y#?NweCP=w!;P{zK@|ZgNQGi(|BWx$YevltSo`n{k$=!!dTD z)jtO-H8MgMli8gEh}0pzPQ--yrL_>F1b0hLRh`Dto-AQf-dfa$Jz7c?y(eh*aw5N_ zZQSv9&z}=1-gBwrSFgir@x&_VC)Oq$a$kyh(R|gKIJob099XheAWV89 z>1p1sn7`KkPDECozrMvP^U`ZJ2q%*Cft30#t)Oh&EKV{|?LT{>2ZNuyVlz76p9^uP z)a>^K3Uw6AE5EszMMwszf~l_|ymfnRlUYz49lz?bSSn z73O-+$n{0J z9T=7w67EPDMrNt`QKfqw1-md2rM~Diq-!Tqjy6*k-TjGFbp86jhIRt`L zPnK!QV}zrJo-(=mR~e5)d+{ol5;2#4+WB{Bn`eis_+tyW;C(gzW@!x*GDZ8kgfc8^efU=s8hh7DA$-cY8Nde2}jv70P_HcZ;7pV#xVydNy4jwf; z=~%;H`m>2TQ*;H}p31UG=h|Ra+DUl5;{>!wMa_SFB;|khCGfmB1IlR6QS3JR1(2jm zO49VcGg9i1CQ%o8iVk-F%s4$x_^6OhqTOjN%MB~|Imbfuen8h*F0>Zyo%mIhzoJ9n z(Yw*Nhj@9J&colHS)5uzrJAb@weMM|j-YQbLHD{3EQmCsrl3_HNHZbM1!NBkS*IpZ zu6VoZPdGn2_L$5?e}8ndt@_B954um(P@M$@7gPyeZX#8q4e@?HPVDoHh6`1ztq(hw zR(sYu-8>vU9P2A}LTs!{n|y>I1s-$zPBcNsO+u@oXA|!s_tn5xBWli{s_M|@dxq-j zbf1V50`K36iMnNO8v*>lv6{%iw~-^;@&&$!+aKR(QigZwE?4zY@PNx-*nUl`O31qv z2@DqLei#xYw#uOv{9ejKRM!ipP`Hwdr_}e>1UI;S@iFsyQ2*0x!pGW;^ zv2L_L`M9eV3KEjC_XCfF<0}J51~)&=UuAt-R_7=`Z>(c=g!Akxnt{rP=kmjV{8W&t ztRH+;(kOc#8Em7jGB>J@vrO?8+)vEhgJ5;y-+Mcy$lex99aI#?I7VW5@AKNK|0DuF zB{~Y+h2i@Z2WWGJgO#%S-2xDIpocZMS3awFH&%G;jzU6pkx4LfW?1d63}4H}_9IM{ zODum%L-v25_o|ntr`{hwYw5sYdALi$vHB3q(=3+|yaA1C%vCIKPC&G)>@I9S_^F}F zYt=d3jn5ryv|GYdVwUiJ13$f08L{Q<4!5`%Azpi|9qR&5Mg(am=rX|{!OnS~tbH(# z_wF)H#OK;58f?8|A$f=j!!$MB{M~BwKnB!DuY>G>AI-H7G6Ot(x-bn_<80$fb@I3R-!|PZfP<-G8)Xn?Ik@EFIk}-bc)AZ7-)fz-6eaOQ_p(i-yHJ z3@7ADi+DAM0wBjhMH(vhU|!ktuZ~R!?_>>j=It<5nqfv(dv;9-a--E}JYB0VU+O>y zgTpx9=TXvi5T-Nc$P6H#YjC?b|3V%Pim5igm(fB+KEJ{d(;>>QP9g9!Pc728?1>=7 zG>B<5awHNo3en9h6rEMSN^Vij-T?-}3O;?eNJGpX&O9~?o}4^c`DF_-Ii5V6ygoY& zKjulXLfuR38BEN2NkPW*D!1)RvhrjAvM*>2p7%=?(GEW6UL?fQB> zc$l$h*sH`@8QbT_P0m;=Qz$78$qYOE7=W@kgfHn`V#twrJ~p?Ib&q3@rq#n7!>=cj zGi+EYtflw-Z0BL%G8s8#&A#sCs^=*JRu8N3bc^F0Q>X5Y>FdI@e=QdE3FKQ=fhF0nsoO-#bv1Y zzhe=nl6$)^cr{bmu3lsW?XX-&Mu8u%#qaxO$bK^N3)%d{z_hO=7Q^uG?+0`k2*n$8 z#4R^e8m?(z^ec3L>W#5nOH}w@r$B9M0N5m1fZ^&vtGX)Jzf9yA7pH)JFzt2%KYe!s zEsCFBbCo(o%MRQ+=U~X$cFy%+Y~*U3MJ{CuwX)4{w(D%*nM`oFukRV`sXwC1`AELU zN3mU0EiK;9NlCJWO0zZf&&XJQSYCc=W*p8|zuAv*1?;-+we!ZqI#Ajj%Ux;>SRF2zQz#n54itKqmQqRt%>0>nY{#=m$eWm|bsn8>} z>gJxRsXg zOQpUbbZyBe_is^YX40MIYQfxh(G0MW_1h`wub5$ttM=|9wI44u@QZp*6F(v@@W@Sp^xLe+wMyk0dPD~pN zV`oQarW~9RSBJ!b{lHD>%~%g+(HN9F=k2C$Zjb%;nHyF&L2N?+vA|NSOXA+VUx9-P zUtG*%f2ppi+|uyt30}9Rd}@+lQQ|7XJ5d9dk|hE$<9^}szh>*k(s4u?LMG@FZ`xB6 zgYFaONl#0CWWWn`N&X%Eo|w}{A!kPW(~_s$^s`K^Y!P{SD8H7K%cuLF4|G|cQ(%?# zdVGyd75#6ORPPff;x?tF5&ACTbp-EHfuI?RKOH*={HNsIH5Mf)* zw6JyBWQ%t_cTV~1Hu}XZx+4ge@V8HnHx0v1{^1M;uC9nFDw~^Zk?c63=LPFIJwIjX zhpT6lc&T1wRdKp>P0gRR_PY%)-aX#92@DHay}3L~<^NmT$d}tm@ZLb%rR*CDpALjw z9D;576Msq4F9DU5kbP6c4Ty_3$0E6wtGRf-Oaa^K?Q8ju%DGpE{Vz5^1p*sv$bYog z{kOH4nX*lZr>g5doHt9EGcvMl5v~0PB$`|A5*G4qlg2q6y-?%t0_O~fL@prD5LqjQ zLU~$bo+-!}!;pRU44;vp=@J=AcNHW$>YEu6Bk-Qx(wbk`aRA!H25oRp_Kk~?g&d7Pm>l91-FYHtdIFt*l`8j8S)^v@G(Z8x4Am6I6! z6jD0}9b8MGucIecAx)f*KcRhcY4`~xIv$kDBM2S#FPm$?AATURcuf7N#?DSc97$Sp zyHj`b$Hp__EEWGhZ^J%#GWbo54m%VI&+)Uc_tc$IrrA{>0Xfc&(oer$M<0bGJ}ca9 zd7PJ5_Jr9*&ciDeC#^Ma8k=PgqYU3rHwHo|a|5g}$H*spl?V0hqAEhPlp|bUxKnZ` zlRiMzRkmGv8Y_2#g{_SBwvz>&t>~T`2j_lldw!~zR%(=760(2qH3c8G2Zn1Qn@mr` zlE!bVdX`wYMaGi5H6dR*aXQ>rbJ1&O|9(k~S)?lUhY~V;YSD$ertE=V;Ms=XAdHmY zl9E#SkaMrV{%8)OrZ}>k-H24BtbGj0Kv$lN+K<2H(Hc?H+RW!DuQ?)=s4Sa$Mnc|g)wde7IH|o!(~#uirPzae zAVx$CrlfMwa72&$s+-loh6mmc4kxLp`D{4K@{s{H9!s2q2KWA)>lv^tsq!)yc4*;#Tm?>-RJnR_gkweWp&wcLk zw6lqW#Ad~1l^2el%D*p7sOmY!|Esg|5fvhu!d!1-D4vu1lvuzWCr7kP3Te_DMtO~5 z0qp_lDP?o)#M@_`J>>zZiRwpbT~&77SpY~?48ASmk#wdJ88o9d>HBAgr4!-0$F$_;b3$^hO+zUvDNf{#2Cxc{QH zvsWJSsd+~|px=79^Y&1qyfm8Y>d*CL=PIcLdoVHyR+R^4Ei^wEK^rNOWM!<L)x%g@a<0*D-J|o&ZAOPW);a3ddt=#F zj~Z$bw)d>a($Gh4Ifk2)6c*sVOqLA{=Dd$|MVw(Pw6?cvP|6})h3vREBxIwn2oz+hS8SrS0hX{uwP-Ifu4 zH}cl}Zk2cVTCIPb{42pjlPpaTepIKt&$EP&tAo7P*qojnbF%dhP)sj6)o$2x48%l^H#MwUL-Hb zC?HG9-G3#VDFa}BD&+&S>cac4(ohr4d5K#%>Gvs+k?sTBHwNSAUFK~Ic* z4Y@4{Doo-MQg82cN~@|Z@H!lSxN;xcgPCj{x4xxZ;NIQ+jI~VYMcxlT;-dr+KfH-( z{MR7kUGZ$5!moucvNtmsw$@+Qcr-8Kt+sP>lbO!TD>XM?-CN(!mrI?|4`|jinV|q^ zpttqZD4zukP62up0#6swj|OwXLYA%y*7o15!YkGkI>=1NGh z(h~Hfry|2gGG8?w#4~093HB4P+C`)ikrOvN{)D15Zspl@C2kO8;StmiU+U~fDJV6t zoCv1QE9h5?0jplrEs9#nw(}#iySeg7vdk|JF=%z1IkaByBd<$kM`&-q(n)Z{THs>< z?x5nkw6QZ1``?U!Z5jhoeHwkT#f!q!zJp}-Xo)tyMGB$CZTq#x*gn3cFChb*OIOjcd*m1<$u0M<@MOmdI z^R@mKjMfq=Yn(pmX=<2ksB@@i-XntPCgbmOv4eJ7ojAD#VJQIOdaaZ09K}h;vO6ra zw)`pndz*So*hs@+o*f%fm%+Wg?LTS8oP0Od`d*#(yV~)8eU#f7rqk#}FYLO$1xU8M zpYuO?OORfUib;0fr)E zyTXY0d;FJN8h;^*a%rp8|2{G<0y;c3Hu}V$OH}AluT{c%c|EJe<9oZv3iXcU zJkeCzvVEe>H(%kKk-3C|WrIHke~)*$L(2B1o$r&1%l8m?+{F^(KL(^N#e5ygxm`0R z|AXm$|3!5N#VkjKC)J#DnT6DSfSXKk2s54f>g5J0$M&flgkU6to$b97(BkJXFvjzj z9*#f0+4byYkUO|dow7(5(Mp@T|10lo3yweM==JP{wtzn-tx`N|7pz$&Ih=2YKe$#- zue11YH0DTa!9N+^eTYEx%sMXjibOQ~O03EoVT;MI@hmI{>9}jfdj+ujV<;KTSHT-j z{A$O`5*he#)LF~Jo?GE+PTH|N!Jte08)~q$XRiWCCX`B}1FjZM)tQozf9qR|oRZ$3 zQ0s?6@A*h&1B0R?YYmmLm)-+Kq7BzJH^fUZB8yHyr;X@%Qaz#HuWRjX(4q70wj6~7 z=k_@m^1OvNP0m%O5cz=)G~`Hb9j$QqQj-URyniYBkhdf2*d-usB<&dQdS~g8-I&{`&x~>05EWq)gj{E*4j(Dk*ZvJ@ z+98s>I@sHR$7+jHRg&^nibS@Qm;qMoEs!~!z=6qmIShY7(})b~ZHm<|DVBa;0*g5T zjtb=JH|!#PZs{CVigdTjV)+ll`oqF*g2QgA5XmW2$76dZ!`RY)7u7_bX3$=Jmh0T$ zxKtEk;uKU8{&!ZUQEJJOERR97k|i8uA;?i5M9iWs*?2Vh>^FJOI9h3k_hMkpPxxlK z7jb*{i2-*p?0mJDl0w8qmZ(ji1lt#v*->1^kR@&P1lRM|hA%w=78^LKSuzX;!mUQr z)%N`aJN=j#qaNq_xj9bAs6}uJNT_NYZ(W@D$`n^LIZk`v3x$&G_g@tt8lg~=_61Bu z(t|b!fYakPxKsgm&9{>Ww`U+dO~+@4{)EtQeZi9X-Mgz-T``MiqUPz_kCnm)`uoLF zJAP`eVCcTl!n~M&^lfqf06Noz!$@eCM4^i-CM3T5B_j*d+RS9QhUHsKY2)0%st_oD z8CsogR<3a_m=!A>2aLvwH$WqL1}`M*e)TvRQFE(|0V=X{Ptq(ag}G(0C?jpqC^zkd z7*3aV`j-RK>qZm6-_^6#l|+H~ad-ekq%wGjMYi*@k&vnVH9Cd%d(05HmJloiX##SK1!@2bRx$Xe95Cl`xvU?-7!* zJoXbcQ>KIKi1}rA%F<^Vzc3cRg~_kWzdP}0<0Xr_Sq`lRT!*S&ug70~5FxSRqWdrG znPRkGJW+QB9CVpMWH>n6vgXJSSlbZCe^xn;+J9JhAwTE5Cv^vFW`i_QUcM!Z?a%6w z1!)I*rQzBjh#D_i}iedjz6+}=3s+fy{tN$AVbh^65wcj7O%-BE=#E4&4WpJIqC z$voGYxm6xJnCShID#r3W3|15N{nVF!E6<(_+nIO5=m72hiI8_Pa;uE~g=}adf`~6K z4==lNR|@`I-ji6mt@A-f>eb1eHH!XPY zKOr7&W>RTva$kN@tXAxYk>WeT z(Z(QH+NH3T?37Gi5XtDWhN=-`s0m_aazz5ZTlBIesCdJpbN}qze?Z~O$`>?0b-6EV z)Gbg;Bmx6vQ&FPh_Vxt^xXj4#zf5{t>jh_ZdK{b4CM(#SlaX+X)>{JQ&S}p~W?m)I*$@Q^ZWa%?3%##c8Fo2chKAF=whC;!aE8cchl2Vqnj(aQB$l^!!_C&1778?%%Q_ z)wt;o$XfJb>aF|LY_;@I?Mo0pHZKflFFoez#F^C>X)A)RP#WTGvf1d*_Sk42__`Nrnva#2Kl>g^ zn#3c^b9x5`W zyt+1AmYJG#C=PHVhZm-`MBW0(@Hk)<{$p;%i~q>eVQMB^Ij^L_&stBH7a61#m1TC!n1 zaAwL1c&hDY;RHQi=k|^@broKe;jFGHCO_BWbl^UAutHOK9iCY{RdIf+G-mgKFG%wHI(EcOq)FV#|P-fDuzL<0Q@o{H}b>-rwd^vaeskKRM)Two)5RiptQ9^>Jvko3G ziZSnBI!nhn)LKCiJNf#vRABw;bfmy}^g)qu@aWt-G z&XPR_dH{;d_A{9^Ke8DJyIutkTyL!|;blUUD0Emq)lr*hM~EwXs*%?{T5>HZoL#jn zu2GFwnFyhOkuX7#tM8r{3hcW(W~^-n##>wXs=ap0CkpL8bIAy+2s&oc_P`Qa-|#;4 zsZBLQyTT=?PcwY#;d#%DOt3@M^gTikE0MIXpraRxK^_S4F5q*Y>C_N0s2SGWo8beN z&swymHM<6q&Qw4Y-pACEax;4%0UcT4j;4D~PBb;qwq3V`s}4B+6Z-GJ$7Bntu!~G+ z+tOQ(GTPLzy8Ky`#U}Od6}$0(Z$}>mx2$_7JS8XB)I|THd;tHZD*xSo>=qv^KENRO zi;U$h9iP%#wZg@LC&K@#f}j|&#q-)39Atjae&yNB_ZGL~@;b2L;8SsWdMeM?uQ{?j zSK9{TaUE=z4@e8r4}I-ob`5BVw8X%E=2_I~M}Fb6juM}}IQE}v66Zy1D$Nh&&h?^TSG>ro%p6Qmds znK5v*$X6z)bc8+WD`h&m+IRRF@z9(o{u{6{jkru#xZ^gK0ES-5MLtriP;j56PjC+* zlM`)XDCuU_CQ~j;wFWgSaQ%J7ym2EZFRS?P%e~5vhk1W?k6L5queIg>6IHtNWy~>9 zQrkayL|5<Q8UNk8KpC+;M`!#xnVBRi8rPT=95DqKmchKJXa9kIGvc}b zH>6?mS`h}$EzGxj=}GRSt=kc?>{qs1bQ=|v!d=AOKfagy8#lxGk!+#ch$?`S<@Z_B zjkL{W#I@2t;(Qr=gWLFr^!18;Kng48TZ#jeDeF?AD;XdUYU-v^7Y&oRx6Lt_N!IW#7+g8Zqrz6thLij0`qPeXBB1d!pK_qq#Qy7D6&;R8%Fd zD_UZ&tNM07Mt8DjCrE?&_#1n+VXomAdb>p6cXcM&DKb;A&1WhcHq`c?IP{fX;Gx>!k9brEt(sipqJs9@}^Ya;LV-{0?JV893YUp)gcN?Ak6K zO{q%OHaEo2e(Kqu@PY5bh5k=$+eE*`{SV({Fhv5o+1l?Uw5Dw3=^FrNptwQW5kq~ztUm`s>;{Id<@T)QQUT-m#LZ8*72c;@ zNfv{MZ8zozp9_@T9%K7E`a3!n3=3dF|M4G}>Q_(1vlwQETY&M7Xd*qN@THLma#3{U z`yZFPGY*51OmX9I%u?vfv?jdA4I$O$X6cyN_Nr$(9AIIDaY=(g43Lpc(x~ci_CV?= z7M8mS!N-0x9m^haPGud4RbP~oy?|Ad^D>?+pDQ0a zD7<5w1D@20knvWlA%%Udz4^&!ob99j%F|5*@u#Tv%-{`mGBI>&eg*pXIaw@!^O$>2 zyJcgh7Kjeez)XFpj$K#LjN4E9&4v~#KuuDHfH8p7-Wx?XynuKrn*4fE8~(oMyXhMZ z2z|uGPcfzbtH1NOT*1q%xDr14ta#dFHTT*>bQ4|T8KtqsOsAtY)N$BLtNg!G{+T#) z^L=Q^^d<49;m$J>5^9b|`L8|*783`bMi z!e7r)Mkg$C%(}y(Tlw_ zj_A>yd+l~{*_HSu2sTl79;whkF^c4zmDm*275S8W4wHaVp6$VVz_-5IUfZ2bH_4L*%#%i2eYNG z5X_;}BzJq3&vi+M7A76*t{S!C0?k z2U5skfjM;lk&VYtixzRc?&PG)dIRexrS_ys9y`{PW$rD=F&K1!Xu>6yzSl!I3PLG- z>-c3hJodK~#PDM$4=S?^M`~$&TLyW#4P251gHIs*T%MR`M#@Chd+?gh{(;J=B3+C> zuSWBnw<9jHTS zzqO#op_*rjuysacIbHil$fNtEI9_1C5jI1$AQ^T|*->%Q;8fM=F_sisW6XaVmca_TClh>VP;3Q=u1^$pM<{x^>l2uPsaavfioV51FM5G9p>6=}W#%hw8Ye< zg6K4STF@XRoonbi#~F}@$$uD_qLn)@c)53VI>(;2#i(Xn?K4v;T{54xi_*KyXyaXK zMxgWEtR`gy<;HeszqJ@iVaen?;#>zYWb@`rhZo;0zZBeNx|37I_*~bAnd?-r4Ceqn z?|Q@b>-6sI#bDXjGyX|KH8pd>x!?P}PTWuVlxoaZJ|_+JN5na_1C^D646pA&#hIza zQV(jsXS*t&W{g@_8#dts?z@}!BQ0*0FJ8WKJ6~@~W(?yN=2x(?q}0EYG3KHcX&M4Q zyuLmU4nv{>nEqhoytl;lx#?WE%F*|NT<5TsJ*Jcs=43;Hqu9xxKd&w(Cnu%pT+^27 z=0Z>|odpfNfsNVYqIzA*-y{~OdXmIg&gfttZqX5+T{;ikz@}ZMap>6 z7v0cLI=>v~KmOH;(WjyyJRqrLunsu*>$SffxEasE!&NJIsNUoWGv4^zIBY1ZebiC> zyXu@{WG~I-cg)knCc4(JSk=|r8|SiJ(;T0W$pIT*kJX~z)~79#et(M(hK~F`9u<- zdo^_FPZLK?WSkW0R?4jm>qTABXQmu)tR|gUcfjsp*A#k-<&M~aoSbX=S&!Fx=yr47 zsCPX%UCY*z((XO%76{L}g&Go(!1(=v$?swh5lb6!WWGc&-An?QE z!TfvLa-%yjK@pxZ($61)c!Szm`PBv$^wa3bpUfQPX)nXp`^o)JdOy$Y1!Vc9DUhqm zO+AwH-zW5NJ27&rydVH_0cGI8zr#}NJ25HN9MmZsl|WVMDQ(@k5H_zVh=zvbCm^ri zw?-@9&FIPQz6~(6ksuUT%*VO3TB<<}=!l*Xq5Ll(F;v|0GzHWau$@Q!l>*Db?9DEa z!bZGZT+Q5I|6XX)c=;-KX6V=%=w%nIU0VK_pRozQyu1u9&Ana`-?z1rWoBYZjC}gE z2A*w-^>dWi>;Kz|F0h~2un+6OF24B^P9zQNX1Q}uFXj6 zXv(G3k2wJC=+4ZIqq?c0zJRH^s=~8vAayzs9J@@lLr>|7dU4uM!PLV41C}@Y_}L4+ zw5SgWTr23djD$XXbyiKHC||`_S7F@L!yzM@ZB)5N>&@y%#F$g6=;j{Yjbnhs7$gub_s z93%aj?nu)^4~GO&1oGa6`gs|1ox7U}7YZ6K+3wcA%CF}|HIcsV&f={lUr4kMyO^9hd_ew?We4j=hlb#0vW$%B)1AB&O|C;wq6d>;s z#o5?IL=4zK_oTi!OyF82jqJZ5dp7rMK-RV<-nxnYAyYTkMEwDNPas)?@|!=N3!aVWZbPN_3!_>h=&_skYz%KoN;zjRkyYfrcL8TJ=B8Ng-EAx zg4n+k`uyFrD#~@kX$`nFh%|9&%>}qN1hKs(&41k2jxo1tO*cD{EY@5wU79KhYhP3z zvZrA#KQ0(`cb;^B?0^5BE8ip{)-B_`#bPkLHzsBi9(s8dBt0On@ZQL^k~g}TV2ZI& z{)Zhn+rMU_Z0OFl))t0}#=a#VNz<8z8>DBoL@VU@S>L`O$^LK$Y?-J(edc5}vVflR zfs>;3dJAeE8Bq_<<8VJi;|^UOK7fc%SMFH*q??AQN4kJ!<{gXlVeaN%4AG9o@0CCI zz2V6aHA!q0rqtQ*fBmAdu4}FUXL(|7dc1aeDo?ky9mdW>nlRxP9x{N0{GOMDgh;7k zgVd%LtTqaVf#T^tL{Q?lbWMtV9vHBbi!*Kww@O$fqs44&fa6MHhzj@p)lQp%f8jPq zW#^LmL}8qyRXLt|J$QcwB=<%O;6Q>KMOju6@YyO~zK4hjNUbE?8Jq8+8#> z^0_UsK@S;y&iO4yKuK?FK2wL6u=y2bz-Hn%)Rrn*>C65@T09Szq6-$uZAB;7WkAhB zEG(#Y?6gQTd5(oxBvbJ%W-1cho1LJ^M3ND|VY-&|f?u@Ipi3|c?>H?j??2iCO;tX}qq zbQU&YK5S7sMQO8n|LS`}cFrDW2yyAhkE~{{)mX*7 z4DY9RCvN-m+MbK{@ZflzkX460)t;L*wzUyPS!SiCXIzmjWYu>semkKS-_s~gJ47Lr zv~7+yERe*;uxsSbiAx{rAv(X*t!L$>e@hdW_FbbLRIXh7`2t3bg=>TCD=mRe=QZJuU4KZh>5lk1OG;;tGOeF0cx?4R=>7p zi4cb+1giv&8a>#>%zn2Smz|a{snG7L|*+PY*YdJLofdL z2KkG2_!T#$Rw>XkZNIiM++^Wxv)JkD&;HrcJ_mK9qq(y~A%@k038kq}+X2p^eq_br z#H+GM<;MO;8Z~YnJ9&lfKL7V>Y5&CY0PuGD=l<$`pJ?43BX)aPx_KAb&v{=T{1vCI z)!wh`)^VTHrmGoYv6r_g(ccOJRqrZWv#>(#Z6(+KD?n&x>#5rZCw4ku^{kRbFnTg5~ohe0WdAg=QNQOz3`gFPhd#8Nu$@U9dYiH9G9o+@xqM?G5eGU67-Z-s+(0||O8I-P1CW!#} zy*En5KcuC79Vd=EiJzK{fq&<#*MB--;zMgARG%0h1(VP7JDSl#^x5q71W9Z~-bd?T zvAA572mTS_s>!He0V6h2@eV!*;Z_VM?kv1imHkRwA3G^Ivil-hgdsndl_~qKWtm-t zQVjLB7X5O&m7}VZs&aClBN~#9>9&UHsvHB3E6{wsBH+lFj7G_ zIbXq*2H+V%-?MK`?iwPFM!EPe$MgoBu5Yy*%Q6Ev`Lb=RY{$D0He;&EWGkI0e`%YL z-be3SDEOlWr`VTsj2UyrLvnd*;th%}x53gY0~{-M=N=0RSoj$}Q#D=a^za z(u3k3hYoA>RjnkQha!r=75az%s~Nih6>w7+Bgx?PS?7oKis9ifLK{0pB)_Kr#*nw7 z^_PRZ5w|<^F8jRX9$;Gz;PU8W< z>Z0?3JhIhrL?>R8$3D8~C6DRB2=#8GPJ#!Xn_M;20v&Np42yvyZpH|15K^|l-*yqr z_I0iIBJ72b%yy@!1r}e6ZU7^QIi1&gs%*tVQ$>T)WbYH1L|biCf=htzJR^yoaph`; zFw@-kk-Gdn^vh0&vCi3x4~X)5%n&uuD?Cz8K(K#J`yv zZ_fXn+)1~O_R&YU(5qM@;*z4@Ht{>h1!VxHes6 zuYaGO;&78PBT=6u>68={G^=i0WM_2D>H$1Yk61Yrau8XrlLU3j7>n4} z-kv;D#v4wJ4ObUE#+sMR@6d;`Sj;;{&~Pl79C$2B+7aKJREacg zLx;ArV$OkBu~BQ;n3B-kpZZ zya$!oe@eH=zJN&d;wD`hWi+afqbqn!Dr(&s#{H(J;{%I*P9}TCLyCGGg_1;IQESA|-{e zlcI8P#J>@!^-W+1a{c(1toYeVdaZ=gjtXy+^O>SSOthPS;dV};ugVkJ`T2{3Svl+$ zW9X*zXoinjn~!3gxRNO#83m18Tg_PFF9yVbN9{aEY#CJmJgTbVCZ3ov7Tv?kz_Jxb zp!uCjqNdk>VBLKwC}_c&d2D=7-ns-eGbCd)fg>Y{ep7pRd005Z6os}V4(dDi2}NxW z0LH)56_|~h2H$eWncl0bU^H(NtuqHB^$nCYg3y=ZxgGd^= zH<8E*!fMC_MS`BlQuzofh$ML^f+ihXsLF-}$C1!gb}+6BCZ_;Lw$2O`Rkayo)Pnxi z(+J12sGibCMFJK;%xw}9Ot&Ba6$#i-2sX0Y)yBLQX(D|2oD7P1T#IucQMGrvuhPN$ zy{b+Gf!T2sG|^>!5273XO-x}DtD3)|!89XL&(zfcKJG~A2$d|&@V*U?ZV_08#`YXhD=8hw7Q$rql8pnsVq*0h2oYL*m~iSa>A$~VD%#f@;>#u6^9K}kpnaW7r&Q4EV3ZJp$~!*A}y zy!ITG2YeyJSey%Jl;~Xaz*}6gllB66*yG15%Wx(6kuFAW>gxi?QTf0z@wth1HuC*- zZavgf5(phX=iTf$7ZtV#IXqN@gKfR)7SBY)yw`a+wP^JvO<9<0Sd}8MqVy$iTHm-qR7?jk|jjUkfijF=Se*Vn4r!^H&1tYx)nLuFZjo_ zg0XqVHYKG?QWA4ADcj>h6yO97t}5<0M!oS6-;`U;2>!XxSd%YXB}+d!kp@c1pkSA7 zldW8zNsgz|f%R+T#!^*ZE2sB+>S!xzhi^@_zpDS?^Hj>aXyIc z#RZ1I^-}eI;W~7hvM65aowUWG3~C zM7C#N(cC>-3xOh+`kcP`i(z7(mAnM#xtyZv3;wH|#Qi?KI}V>LC=+l)Hdg-(4erZ* zlsclMs5Bt26qG_O`k95Np%N|HNl+M_2wLiI9J*j^ZtwT^Tej$ir^Y7~mzE;Xjge(Y z6U`&Z;t~|rJcr)@?%X&i!GZdqoO`VLZ;`!#bN|L{9V z?!+&Rnd9oTmAPYaL7#^Va>d`nl-yl~A@#Z5PxR??*7J6Lvc+k~1xrUONYksAq>k7kz0Hr@&$U8y-Z{ivx7=2I zT}ZY}a`0%OF!$Wumpp0S9$+?Vq=q$uOKcR;`5#J9(J^nVnchd)*SAIGmP znNeM`S6>ZWqio_D*(0iJ6X9mhYp)QpD%U1lGOm5exJGtl?{O*P(zVyk{+-`H;Bh?M z>+?D9*X#X!)>pS(ThVO4a&sN=d-c*PatLHaFd=aWjW4C7(V#q9^qFTIa<}&(ui|0c zs%-pPxcK8Nsf{+KzK!fw(4K_s47m%M!OK?r9!YJ%or6w>`TLan;6VVkHsUbAI#0sN zDf2t5ivHmZP*^=@CC&Hh`b)<8i<*x=ok`i)VSk=f)bpre7t-cB(3~ zsx$hTxLj2*r zLI~GX_U^XST@syUj?%S+zIw5y#l~}b#>A86d9Hw4m%@Eton7B&esn6OqMW+|&Cgx! z{L;Bzo!xGKp*W#BpMFeP+diVyAk~cJi*;61_KB3@902<~C4m0;3<{=^WV}PN&#XuN z0Epa~ff6%0xS+OIj3g()<>ww}3Z4Pi)AEZ$EQ+ALp#_G!L-YsrOcN^a7913IR2twZ zN5x4>^LKK7;O;5YG95c0nsZlr%o5MRp)S|0i^gx@8O=9>)D1Qjq+_hs**$23!BJ^x z?cjG7CSU9yV12o=N_}btUiOMj*QcHkmn;ENCoP3bskxt=peFf@sw_`|a;izom=HWOs!6>-p z0*HlL7+a7W{Hv-QuGTnol>OyaCU%-PI2Lmq%WNK5>mWytmAHE}wm z1;v`t9$}I|rk&(D(wrxHm*7hVmz6d*ABc^}bQ599@Et}oDV8S7C!Rz3|X%s(tIx~`5?-SLa2takF z8vrXW(Lbk059xU%1ixC@PHdPa;B$k)de614E)$8w!1G)HkHF;`LMwD}h-|wU0Pe@R z!51DO*r^<>Z*KAb$K9t#M_$dp0GBsPytR_3xWOP`?$J2xoMy9q()TN^`2!@?Fj=WC z-O+inJkyJp{KtY5LE87Vmc^9aO}G6~11h&8kMx`(p^wkdt=KlAu=yEKp*TLCcLg5r z)Wqr29`-wpc58j=V*;~wVz@|VsO(b zncqlnc~}7u)8CsCAB7M$9$Pa^vRv=X%e<8A9lf2sh0s&$;9izK2rs78$mVW14@ooN zoSiZxNlp(i@MO0U1HE;Zki;-%@$oWK>QBN5a+TBP&d$#L#>q1erSa^h%x}hc5s$GA zf|GUY+E{ICunxBraG;Gl@^&IxF;^R?Do=;-QCk0$4TSf>&me@x zI7`&jc}=R>LokCiz^Yfc0sxkBIr8t9S_QmJ~)T$W~o{`V%wl`Fr4%qK#zI_v|Wl*38XwH}G=0BSr0rL8}rq8{B zyLndZ`M#aY>}BmsFfpxuri_v8HI$UcN02jsafyUe~aT8;up8$s$3SS2cQ1OBiPSyVIl zdh~?bM#6wO)PAnpf0}3~Bv2M}GDJRg@9Sh%_Z#zC4XXCGi+=+lXZR4#ajQ8aTJuS1 zWDyVM!w$pNqW_^nyrW;R|LNLcB5=R)XY1vGN;ovCo!A9^wi6f*`-B&bH`2ZlT7Trr z$FB3JmZx60@B6gnI|vqJL-XBO^j&r6^J>s5VdE&!a(i08IF<9n1mi22I*Vu3Dk}UQ z{2=pyU1y5{XY3ao=tj(kS*qPYa50c{_cJ)o{83-LNoCs*mpKJBepNLsRIpBmI2+BM1)!IZ3#yIX7PNmtDLNpG}qN+4=k ztF>_dH1M@n3A*JM@wa4F@wkMp;NL8=4ZGVXIFM@jgl6RYWZ_u%L|>S%&8^wYGl-u6 zbr?`H7vlB5qq6tTNh7W3zXzdF_BLYc?%FG#4bgVZ#}eBpVyXAz*{_FNnDnq)o}fgH zycrlAExXH?@W_D~_OusQyW1Tzb1nsZOE$1?eKNW74Dm!5$4v(U2Q-`yIw0-4+4uz| zJPlwd-$HvivX!(sn;Ur1b!*3zq3ADD0ot1aeh0KMp6MvUwh3xnq}y#f1Sg_l1Q@;Unee&!oQv1UKDsH z#Q5Lc4T`Pq%p1wmMB4OWOiK)5-YxV65A7s>OZjbT0?TV=2M@M-_Gw$?r@V!>`Q>GD zkv4f9_iv}`7C(jpeJ8s6%%a=IWhIVqFbaug{q829RF$ym45m^Ki>O}8h>Qy(O^(|d zyUDwnMyH)2TA)nOpsQvUu>oo{iow?ar9E)pWvKBs-MAHvf*>zBd-PY5bS7}<;qN1l zeFy@t#PTc4HwxMn8v2epDw2F7;-UBE<4@jS#$ZE;$FSR<*`<56UqKm1yS+}2Qhtn( zAiw~(Ml9&;QJ=L1+}tYoX#V!|o*4zp9;CG&Talx7WX?rQu)fvHzlJ8Fh)1qP0`IwF zSkYQY96U$IUi~L{fMzKDOCGc{iLu4hUH+qqFiN7B8s)cDJo-9TlSIzoUNBg_DQhb* z-%61XLn+4eMw%$XEqTi>Hc$_-p%8X3O2 zzirRF^PjZ}d0ny;NVJAbl(U@7XAEQ4|KS5G<2G9GiO{OkmMA$Ck#fWQvVl(X`< z&m5(ay1`y9!DK(QM4JozTd%_{l$vX@3zSzHLrZlolX9|byPim#xAgY3bj#iQNE5c5 z=Hxrjo*>#>;0M+Yt0&G4uLn?bw(p1AD^c~%-?`OM&9Wt>16rsW3jRS=Dc@Cf`Q2N@ z8n@*7a?{FFeA702v^wb|z6Ki}pjfpV=kc_l{&J_out8kWZ8DkSJNA*#e;^KCWbmUK zRUiKb=YF#N?*^T3!TzgyYA*l9dRW3kn_>qlqU`7HptGxM%9E9wb=gZ)U|fd57L`tK z299j;DSv|{38>B(Fk{2$do$**xDrZrFThck%4e?(&I3Z!52*~~{Fe4z=FuzX(7**A zg^Q7G^%FQ@#fy&74E~sMS3cqy!G;oDKSkc2<%#LfB5YR=p-6w!d`8vH+iura+q-KE z`nUHL1RS*%)=M^i3E5TGi|nX=OFO8tmoO8MFq(dg$=RS|j%4t?SHgIS*2%W z#J207*u7!BPPace5qy#*pRIpRPMchiOFq%=2@|&w#h2YzFQC+q{FgEnrv5Cb{e4Wq zpg8h9)y^^M=t<@E<KcVh&1K89ApZ82@@bPZTrcGIPeQvD)&~aLspCI@M5_W~e~+_7 zU=)_5Kcsyz1OGlel~bc~uKww#*#N+4rm81VN6$KERRx7!_YH2f_DRG;=sKitDv0D^ z1KPPS5dNBB#g26@($n|Qc0$5q+o_&qSmO52`=tEPvGMWGo|pbXA-@|}sCNGN z@$`Y5E&#F$0jkHyYnhQF#CNmcnB84sZ_s<0jRy{I_>Mpw`wE(BC+zHuEj?P6md>5Dp&l2N%J02w)gPr~F+*M@ zDqj7Y-)(Cha>d5EgtD{HB|m3rA(Ayy`^D~SZ;lU$1HY^=B#5)<+|~sh_q+mIHi3hF zb!wDvHAjkFUPUv!i|U95I#F`h<1vg~<*8$yL5Scp0B3<%|Gm00KHf#rhP~R~cB%Bt znZ^|^P5WniRw(sB`(l7rtKr@dq+a-)k_OrdX<_;j^rjpIjDtNPWGWRHvhZ&cb6W5Z zb!CHzTk^h>Q*W9*{dbMDA(YAw8vUqnvPz^BCrMn1DFMLju~~lSb#s_?WlHVp96*b! z<}OGtKXfih#A#KszQ7B7^D&guSy}E(%ngQmi6~yUH3Jihh9xamoe9Rn;7=XnQVGE^ zD&)T%k_E&7B`x=No3)(rn2g7<6NMR(m|ZRboHOX$_A(`L~!E6DH(GpJ2vz z3tZ+tw2js1|D^!^~+d+~ri@s;Su{mnqZy)ZIt8dZD6!$F-nCzg@L<^`^&_-S__7H-fb zpOb9zV_jZ5_%o88k_aJh6LvPAI$vp8_ck{%sll-(C4}`hKjk(!`hWpIBd&G zv6HES=3HgpEQFEvDbr59X*;YT&I1-!GAP9fL_!g#~9r;l4sLlmFQ2gf18ANu^GoxV)+m%qv0$l zx5%$L>YGdeCcde}PZ_%X_+A}OtCkc5DYS0kX11QGe~x{~_vv1qV0FOVO=&W2*}FmH zlKK)~9-vMrKx2$6j2Kr!aExVU&&D(1J!4(fw$F;Xg?r%3qY?gm{>&!)m417>W_J2^y>8DT(xrq3O@cQiKLXD@@p>;<#@hD`x0ZT}4I7XyD!9u7o+7(q(LO;bF#rB+;b#sA9y$ zb@zsY3<|e;NmvL-=W@;WD8131+CsW7nw6tFT=)u}K8-pFv_u-#mfTwQ61#0ST{=RG ziK}yobkr8<1Dt^S$Ma3P)1NjN)%3m|(>iGAXFO(wi*v^~zKgP4!f844F9X!QfL+~A z*79_H+MJ|b_mon?#a??nH)eR63NaI|-fu1QK1av%zCJjKS;P~7-3Sd1_40hzhZ{v4 z;yYec?$#dGF97gICND?+*0x1g-@feSCzY6f20amB3VigwM=4wg@j*Aex(rp!)5W5D zH$)+N^Le&7l!;7?-w>p4Wv^lcQBv6)(Q3q2R$2n|u0>qsblF>7;S$3k!Rd z02ep8ceQt5??@m=#74swjp+93O-iDEn2Wu1{O^a)0nUF5B;l4HFDDcJ}j23@_o#F$z_<6NUiwLFaPczx5>vlzyv!I#Qof6#>9T zveRujhff0zcm*0t)5fotH)`Kq_^L~DEOSSgRxJD;-(K?n?}aSG`|KmpWtRw^-_|Y< zW~|?lY-NYH!6VNJojk9%Z+@(E~tC^03y1eOzOMu zu2Sr0rUO#rYCqz(M{ZZ4g(>G^}+`R)30>XD{z;aj4HZG2m{X1>sPkl)dsyn_hut#Dh~ z1k&Hj=58$cz6lYBLyh2kHlOOLXG|jyDm{`9+xtEPhd_2fRe!v++ZKHKyZE;k?*!N( zM&aMl>Ef8xb|BB5%j z^2|fm8SMlLw|}=jS~YD#UM?GH=Mp29C9ENl6BwlKmDLj_krU0xZe)WWNEtZxDb}$+ z3gb9e8tX!Yv{gR-u**4mx&hn`k6kUVzs+%;l8_INj{}M6X0F2Jzd#x3xFL#N*3c}y zPQ)wDQ!m}|_fumy%O#KCqtqMKk}uyl?i%Z8iHyBZ|8Qg=4(?IHN!u7P;t^%?6yz!! zdB$C|ExwU|$ylX8uTtYRjwdG^WIjsH2O%!D35u;aT&5Q;Ye`XZmxt8;Xf&Pes}A0s zOPEirkaTncLR&#b-8AFxdXcQjxFoXF zyuU6YuO0^@2um3mt70m+SDz_4J>==3e_kzjhi?*XuF z@jAa7rd@-CFj@`tysF?2=Ozp1y ztVwDZP{f_{z3ni8F&SHxs?s7f!lcD04D^9!tj?JUElJXUh1O|N;~PJuXesqGyOOE1 zSs-L5?7Wq94F}{tZ)jpS*lAuNW4|>TqiV_=A;|-r| z35^xvF=Eg5D#2Ew)-v$*7WnhA8Xj*7GRnJITr+%ZRkqNL2an9>r$iQ=O3X{s$`KG| zD7V@ho8G#hVC8;H>^h|w{{74;;a4SB}iBtL>NcOI+lpZjW4VD42 zTj3SP9-*FP6`?$zgJXBQ%dCF?X#8LX&{Z6uB>$BEiD~t zY^l(C+<>S+k+e%e)xh$J1?OJU*Fe3A!BPRm*cN!|A*~p4x=$sV$ra~geh4Fsy?yOz z?jL|P&valPANM+wuuupIR!AI2u#F|jHRImMP!PPUw}l=uGKE5HHF8w+-TJkw9ts5v zjrqNvlD=sLy3--dOM|Yj2s*#)r^O-e%;unfHKO!qjT=~!s`{@&-*CXu(r=BNu~NH? zJPk6)1cyA(3`d-5Ct_^kF z+Ky|Y5hw%bW1E=RyA3LVrPH{j^xwngq@)BXpSbJ#-*t@tIntbps{k(f(_6~UaeA!W z6uMDcf&9_@EZgO;kgru`QpA*Y7p2v;t-fK=1NkFxtyYf;yI?cSOOW@VQZRKV!XFWQ zC0A5SdiA`fy`#uB&YdM{1Hxlc3Xnf z`bgpXJE=UGDyJt<3R8&MQ3P?DV+sA zow_2Lz$-m;k}3y}shABAhP$u+gfUuc6!>lhDdl~>6(d1`!I>fjYkasRMM+^xNQtVO zqLnpM{`TnC9ic&iYzn6=^5UW4e9Cu>a?RkFGKnNgdn=wOgWeWl*XgICh^8!BFF88* zmVclB>Z?3YdC5zy;m-a;;{AY8OO``g_w4SUHFmwbidlX4ky+`Jn0UnFQ={OTD_wp1=pm)9 zUN!Oi+ZLnS_2b0o&&T`XvQsiM)H_G(Bj0Hqu6-#`K`L#;fdvw}YHI1O>;%UULyyv_bt^J4uHDyJLVR*9@nK+7exfO6|EYJIDP? z9#f7+$9V?lUQ$`~c%sKB!-&KAl41|T@0G%Rt6a*ZVS?0_j=qYV2a*2b;CE_J3;&h{ zAIBt?yUC8prA*CHoUFlJDvIs84opAP@Z~M%&P153wMf=&<)~e#;Gu2vS+?1aQL&Ztrn&3eB*e29 zGW?QK7Tal+iC;l8^0m&JoOHtUpc`DSm)2FuVLy1Tg7BkNljgfcYZj+x?p?jqBwG_( z|88AA_m)e&Ubh_EX?E^x^(@M^3&Lkw$&O$Ybx1B81(*LTuYX*zujKUo(EFe8{ovi> zeRqu`h>zblfU)p%S&?>->Yd^kNn)e)I#)skQ_NDxNgAiuVFr9#;H?s{H@3KrS*=J3 zpRjK{R>V~{s5_QMa@`N_B?F0y&nb^T(Y+jn*@YNIJpRE*(jf=o;|V3Q%e&sIYae3L zTiNq!tt)bE2rxFD?5#0da<$a`bi8)#8WM21;#$+9>M-!&DS65qevZo*{wpjus(3i6 z=)cm2UNjLcU-}_kh*9~@?biWF2tp4!=+s^j5@6YCe%Ijjbp5IgB{U(8(V4IoW;F*O zwzb*CZ!z&Q^D>c$G4hnKi9$q~-!rBm2n{fpsn%xcgn==(V60Rmt7Ykx6gQJJlfy6Q zS088dOr>4Zx$iuG5HYzqJp|qgDeYYA@vtUaNmmJASA%yqwKIjkt88DG&<*2=evJ`r>bba&34wXr~-3eq1+B{zKz9A_5D)D1m&dgP zHLo{)`vJ(PTCu_A`1v(4;7f7e>O{xuv2@Wy^Ta~C|HH*|@(quQ@*fVk<_!4mAC8Fh znD^jzFN@UervZ+VFNN}L^;Iki&2|qP=FgoG@8=$tF%_fO*q}0dG zBMGKxi-%N#_My(Nzxr%r`D$(gy-Ct&4eGhfJ8Zojji6sKJbu@&kf+rzAfL9M#rLmQ zP>R*!GM-UQq`Z`%>2Uq0pt_r+h7Z0vx>(y3p#22KS^{IahOA8JGZk_D_QuqJ3XEy& z=IVWr#Q2A26Xkdl*5AykE@UDegXfTITaPx=L1izk9dxz2IjCganq;s z9%V$rwgNJx`Eya}mYJ6vsOrcCRJ0JFuGE_lrpBe`uE8=qPHyh$XfH0!AiN5LIgj0j znmXn&_6emO>4FEXUQbcf-mEWgco3)Q^GNr$03}tPGk;#XyH15CCXg`A zG`q)Eyl|I4`c!W03WAdoQ~_2;OtnJ}8@B%}Z_ zm=cb5ZJj^%2`L}g-v8&*R)M|CL`tvlel^Xw)XyjEwd&JNHj3G=nw5)X zTWKhA0Sx+{slIx)n1xBS^0XS~5{F#_+TFW=4~lr662~J8;-!h{+5&dB9NoIO zdC^+vEZzrscxSF#t+rEK3Y)tu+mVbit#C%HgB4;-QCHHQhv@Yx>!uzEgp?!9>Sa-}@Sqc9ytDN1#cuov1dX3r&*f{zSM!ggNWU@`vbG3;!-+AuHw z(RVjTud|rP!iG(!?jGH^c+#37(t}Te^3&Agn41euu9%7el}D9vUpp7#>ef4CeQ*?x zV4xm-u_n>#$Ms=^0$LA)efeYi2p}}fW#E;d=qLQt^wFy~WRyL-jLAXJ@*9I%YHEDn z8VhD$i9p$d+3xp&@i^!IijHUH(%);O>Z-Os(uk_oL*f zPfU*n%nn+HhzWm3N!)guUdRhj4(l+1vxw8gmuL=yhBb3dv^nh{G}|C=M5%sp3 z{FZ9RVK`wC=qkj|E0_rBs`&eex1if1^u-0Eq1V@^kdg%VxYzt|cC(2Kv4ez+`GU`n zY=kK{(RDU9{lMi(Wxd8E%>Kc^t=3@A|BgKJ^TIkZJtymKOVc@i=V!9|BXM@a`oXaW zLSfMr_~yG316GfE79;geZ5F}~-epjez#Wc?;lu)grvzb)wD z66Z198NrW@QOGYuLH=^h@+uLpr#Jx%?p&%MR@PLYj^>?9B+G>Oa>j3rUSHJS9i3w$ zudkX77Z^5v7U2AgpFc$~W3oLpUa4F9$ofBl^R%=-0@=lQtup;o;jt73f>~VMd6NQ; zlLn&|B$wKBvcXQ@pC0abwBx0zKxr%qQq?R5xO@iaM%vga zbZCNdJoh(q_5#gmv#JU5_A!5<|AJ`u*A6xV{oVIjbeX@eM!Wm@|49nv&AtCLL6}Y$ ziU+gyjyHZzLGq|h|fI9i*omcF#+fb^#8@U|a~DK+&QP!raaC%+qP;y|o3W-D{6u zV}Ik#;AO$DtC#-zUlNwCiIr{ll?mA#=DNk>e#&_gJv?eE>h3czmbiRRmY(n2_;=%? z8ST@q#H{mEujhZGy~N~_6?@0;`^xC$w#D4s;s_Xik2-2uokGPny3=lYoqDm_kdvrC z@oUxoBwm;#3T2C;)P^eYQ<_hNPPVtd(3#Mtdx4q|ygiv@Ae*;>^DjY7O=YHHj_cE? z1MWifoie%?rua!i-4hcPw{mS&T)0B!V`7{Up3$<0VRiIqJ7nl`!PyQsJJmKM)LAj4 zOSR+9o2bk@?-!{--yqRH$dw`k9PS3@$z4$29p^aTNZxI$<(FloY`5s4QvY|Q`-B1g zc3^n^49+P$DV)t3`XBes`=k)I+mbV}ZO6^b4P4@!b@bgJCUDz0%fDcKKiZ$VR(l%1 z=VI2P6cpa@&Jb=m?`p$AR;AI!ZN^`-q&!Lg94S} z5=D|Ze85|Q;DlMFf8(En2DiRSci{BB?~9i1J&SzzkYzD-G*!Rh88<})mMm)1;BOpP z#ln-YCP~6V!s*@+y*ypw`q$==daeU1hef8D`gaZD^Z(*IhFB7f>-FZQazCHkfX@87 zTgxG~(#t!SV5Hbr!m;7?QjmDNl2Y~#`Mf9j)3svI5)_(v$$C*s#^PI033dXWBRHe^1R`h2LVb>;0s z6l}6SW3&MKc)4C?Tfavk6`+A4B*c+g&gCc!%;`&gx%U7HZZoj$K1>L53~E+oa>m|Q z$YJFUX5X(*piS^;gf<^(oX0|Wm3ajZa`J75S;B4Y`Hy&LRoIFhf4%2~zJn$KwyE>V zE!1@H_I%ryX-j5JD;wy8vWj=;FNAEM4fckXbe*+yTep;utKekz5FC%_&Q1kfdy`!#qpTgwt(;>S+BO4m-3yGpLCz@!% zqc3S%Y#0H5h&7_x?&Z65)?#TK<1W1tj) zm#m~?Qnun6(+|ERaP|BeXg13UhS5i$l;ac!MFV#Jhh0R_4q$(Oa2tt^d*0$TCvdXgo|HKJ;jKfJnE05#fQi72zEi)?7YZ)Pz+lj+?z0Fj1h^V0( zk#P3vkg#%gynmI0pRZ|MOr2Bx0)9T(m(F|a0(Ufzr2ceh{_h`<7+0aphm1;{L%H(DF{RDco^+r_V^c zHb5^&illv!hy$GrhY;GD>Wj968hxB8?TfI_X@@94DgRk}TVQ;dAsPx*i8xt2={JcI z-lhr4$e-(3vU+b1Dkcmyr!4B8gyP@MY;42G=Kfq(}8oI415-F&i23JJiI_VUp2P?Gh* zpHvwFKv`aCVwB%QNz39xM8-%vpLlZ2XIOLHSb&Rs!yV?;lxPWV&v+pe1jVld;`D-{+AI3b6q^s4vksWW9H)~2~P_> zHt|f&Kzdh9U5$tQ!(XplZ(d(CF9i`30a42(@%m)xVmRcCS&Tubt8We+XHsIE8TQ36 zqQDwlyivg5>I#5OujQ7e1!3^(y}&cC#=z^%0`C9>;_PTK8hO-FC;hhAQ#9Cq_v4Ku z+)|}tL7a*Kz`mHk(9k>w=S@?7 z9|AWvfH#yaPbVQQkotq;r?bZ{I`{o|5tF#Iuo%;~C*(HH%?;dAf=|2d({~hCEp}4= z02NndH9qMtrOrtURRX=xW-Gv$+=lg|GIdQZSWPUc?GLbWY{#cg!5KQ7olr7>O@}8Crl4 z(wSXt&4A+*F)RGDQ;twqyD%NFD@c+sHjFL=>P3ph{|LxRxR9yMB7!Zca4N9*&Rx+c zhuFSHu;W0VA-!>GkkG$J#H^*Su_rG74OPcMLqQucyajJ#i;ZM-tYZiZ9{pkF+;@C1 z7|a^+eBQ!@R{u zR*|EO`OxUcjz&h(e8k-w=E$qlYNci1EY;lV_3C?#}jdZFKU9y^qF<3T9a~JZaGptQC$i;9qOcj z<|1R-4#E+?5Y%{majf+^u2jRc%!`Y|&@Y$`DRexQGqjSFe^ZxMvocK3rfb=pItB!_ zj!{6oQ4_RPCKvQrtZJwc-e|n7SQwU;Clp&1t8P@pvS6o8sW%SnaqeELN`(OXyW^}X zctJo^AQ(fq9hZ<)JZH2KAV^!ECtT_pR!u^pcCxxz0^OjC=Tb!#hEwd6nkt~= z`tmXH@cgggsdFr8X6*Iu}=A^vxf?Qp{uQWRAVFeO++J`iK@*`!hXA3q? z?l0J-JA1a=XL07Xj!S*I8ZFZB{Asf>H0s`*KFI%-PjBk{$+v%WalhB~I21;IlRGCc z?FeKpfmXgc{SKSrj2)h;=&*9_IdiMzWU;%>bT%#s-TUUO%GZS*^0D<+?^!s}d8h7B zhhT`lDyfj z&}ZMf3u+Z|UsC(=WcjUqzzUULOx%1)P}vup=QH1ji0{vDExz3-cuW26FwnL+aev-i#cxoU zd=+gg-d^v)#lgQdYD!MzM4!iT0#*aeS8q}H7#(l~mwZ^4p2khjb%T;8ynyNX^YaFx znDL_4YvL&eZ}*4n*Uk}gB$S#I!d%0L?}PC0+*0GxMo(fJNed_)PPdB{FV7layN8vE z_u+``O@x0_7USFjp{y<+ksg&-goYnS4GN3$IyDSuX0(2+$l$4B;^MF}a?AN{VhvUL z^o#1q!O3B{UR2!JNc^@M{V0ktilw96i|M`a-!V()Fbzcg@uNIes1iwzSBRiJbD^y}S&%s#(BQOe4(Y&Qk!TWJO%C zzMD@_GqK}lDslQ)L@_A1%`yVN=JPZ~q=6W6rgy!AtW-qcOUH}d>zcSJ@Fj59N$URh zFQ!u|r!^tQf~o}guLSn5fDS3&UdYdAHtSc#oF?2@MpIa87qExE(5^@2Q%zBUCT%~G zfnEU*;KR@kFi>*}|B#|E1pn(mY%q2SnPLi$VPr3E@37rdqK;(D3(5K?J-WPi&XvPB zZV8AIT|-W5ZAY5?J@UL;EmaRj0v!Qlz6tEvGS9~$J;%V4%?qyU6C>f*Mph@0HV;e% zlZB{qqtZsKVpkjibpVnjSm5g2u8Ee2A=XxJ6&$pOjfLLU*T1P?F(e{_KWrC<W11X|-eN516vv6fS@WzG&WokXdb#tn?{%Ii#HGK1n zqCAmD0rk&AS5GBgX|z_t*jVskW0E+3Y1ulU0N5EbiWlm^ebE)fDpxw@=~8-{N|u#7 zq{yk_tE|iF^A~ocyI|I93s9Z&AA^xnx)HW_B=6=woUOeV#7$0d2lG-9iOG0P%R|1T zX{jvGi@nK5Z)CGew7Mz<4OLs3X73VMM7CII1IW0@(jGN>8QUN6Wc=Rt!7o##frX&0 z#;*?z=jAIKvL24MD=_xBq)cb1B^ALfRDnTxs$4HO_A$Z3)V0AI*bIRqa^FhIB}(v< zD#Iy5g-$mj-a?aLhw_!ie_Mnx)8}GK(_1s{M@3dPfFUFLLnvd_T9GN4*yQOG5j6Gk z_LH{kA+8}kqj;70k$TyW=;PqF;axkR*&EjO&yl@=!7&C6Cnu{n>1OCpc16`?1qjPm z4%EaRO|3l0?UViI<0cysvTNXBO(kx012 z9-R?}+b)`~H$!NUd#=~pikFsGmDdf|o!3_(_$&6S&86$%b_KQT3%RdzW^a}HfZ>X9 zw{!yJY-0yyaeZ*uQf_7S-CJRqbnndn{2=)9YDHXN-16*FCUIQf=`t-M-mJBwDluwK>IY+b@5TH|65hg1`nwL73Mpp#h}!Ls0I zFyByHZOo=jCD70srMgKz;1dmlKOWRjYSeO_MD#9GH{O__@7^-00Wrx+=!=(d3{vM! z%)wL(c~oz=;DJ@bIZvT68D`oJ?BxTry&?jLzwFGNg!BJ0!tV-_>q~s((JdCz<>Rg? z&>hKSbaw+tZeMVc_$gB(y#Cyy0igu+(W)%vG)%o}c~*Tl)R6WsOZ5jYL3#zVyQMm` z)n4AlsvX^Vqz`&>kgD40kbF_L6d5j}%fy@IP*P9z@-cK=@)tu+O%x)6?5N@L&Vr z43@a%I3CpR&4UXF>L!o(rkyionrGv$S|UCzu>Z1k(6}^%uG5coc*uw_rUggK;M2ly zR(!$1Jrk(8qeKfo|IvrvNElDz?lcc&u~8x?U^L6-oCvo@jLD$hgN@)@);L=_80(mWkzHMJAGJ z67Zk%;~;ZQ=OCd|36y(0&Xzsgv(=a2L_}yA5w+Dqs#<1O${9WV_pN-FURQu?;G z_DgVv(EvT#nb>?s>YTgEs)_OR0Q`-N^cEje{Z!`BG9pb^fj)*7I$)Tl>1JI^p$X@R zFQ|RTLmrWlS?-Ko6GJXcq-7;0hca;&PSi+6CuFH}nzLVy1no|7)Tkf>|6(c|;>jPA zJqdRbI@?viwzSrI!N+zEmD~Tl59k%5qc-!*c5TR-w#$Y)^0<{PW-#%xVoX>v*d9n3 zlp0UlZQu7{?2wAoPc28Uv6gKhD=jMq7AagBF{K)EA62~cD1)?_lp=2Ck!uIX##DSB zGgi8tej|(ZKhQUfVfu~idM8RNUYKbv9%H9}U+)t`SlHJ)dQ-Fl#MK|ZB3wn!b-7ya z<%H}F=Zcz7P*Ia`2-U`grS}JLkxHxMs)38W@d11Egw|Nnoji-!hXUS}_wAs!wjUW| zSYz`4>m4|}f8Km}+V3u>7!<$K=(CMRfqR6)V8DQ8$nb6=IP0w!7Vau0Ly4c{j)#u1 zvH2%Pnrb3rK+1cxl=187%4>h*Yx#CBH^qX#S56ZGvA`KxZ+3nOBg2iT^lH&`wcZSM za@E1xZD^*JAD>Q(5GyMmIA;$`SH6718KspmButBKUM}FeCCd<#z#+}sVi_jET3`;dw$TMcZtj z3;(j)PmqBx>7ErewIIVmm1NS$VvcNKaS#>O_5&Z+FIpc7+ZfruGcZM$a@97wo{oZ} zl=gSSp|VLm7Q9W>IoZ!cU2;Z8vq_#_Pz10{r?M8;JXZsis(;Yxaj4wTc+E_f~sUtM(>#?AS3%joK?( zBeX_n5EY}uc%S$9E6#CFPEOp#AE|HuW9(he7`DG^omB#;esIOt>=~62+Jo z{T@0RKQ`Cd=2K$#T-U|5UbZ7!{(j_<{PQkw@UMJuzb(brsQY6msvjw#_4F*a=$i9fdjDING!wYqMpojnD~6ljPiG-|AdAzOm}9^_2s{9|maTWLR(>v1;w=^a?aH6BxOX-O%Qc+XFN1)XR(dioTs^M0ImQp^t~;FQ0Bf@0w~(l*1TeJ=W*ss~}@Kcc^F(C$b0 z)Bg#c4*jqY&F4G0FIwJ)YUN3GiO79s1;qI~TM4phV5O&Z<5`id2uvPm z;&X0fEPiu1T~%4PpLUcU{Ld=%3Nha)NTr*c9wsVtuvm6|9b9A&COV58{Z;@%gFF-LJ)Rs5#FJ+_ph570OLA_xCYHI}p{^}(vvcBTt7VXKx@|`zvmO#bq^xAi-n8n%p zwU$%Iisf4JASFZdo9a8`XH6MfJwk?>UK1)TA3w59nkZOVS=G0}P)=pD1nkx6+wS1d zARb(;ZN~%>LwJ6(pD7%6eWE9D^sB1^cnSD1E-=Djs_8q!ebi?8c&?&|27cKcaY+iy zjI0v*kehM0ZPJVqekp5O)vnmUlSO$9o}Q2tDYckmJ_S$Q!{2oZ!v8cmQqXE6NJO_x z_@-F~o(K2V!PGb$zs&~jUv)m~*b-2ts&JBmN%7@;dJNqhEUV!cz4O51@po;(@;U$C zH^-Q%w&gB-a6!3I-?O;C2F1`ZSCf{%V)=))L{plX6{(pO7{#08MHF?V6lS=Ozk|hM zg?qr3?JEPD=-ec^(Mg#IelB6*T+X!IIB>9 zg;e4);Tn~{y5ds{tZ=s~)iGA8ayJPA$x5dK+=qf|xojRADvU+eEfSF4#87@Q9Es#& zbzGJvM`YN;4UV25-Ehl&&v^o#9DP z%YG4m1or){@7F6A|_qyw0{++g)ONbm(wYY4-M^t zLrInN0e)B_5v;|`^5$@07=u&1;7VT_J31L&`!E9&`+(c15Q~v{iat`j{!3a!zykC; zpczvV#^`m)}zz~~ll8Ok~zH>E^!S(_K5@d-%KMm(HIOMwE zEB=DWiFn7yN&E1LuWNp1c%0^ILlL#3N%Bksw%E6K^ z^7SyV;Zymx-yb_Y0PxjQy7rX?ho?y2Y1dL)zKOx?Dk{(&Y2zy1VFP7W2KJBi{jXg! zB8aK8q z9c|>IC2;8e3QKtZLj{(CHDBQ7Z58nuU(mUuZ6QR3ESpl!y)^Q0rgpyjrgh6-DZhQ`}C z>Y=?zKmJa%k}BINaP#DF_r+$;Vn(8d_jpl}g9Ym+1PY3yEi!g0N4|#Gmq0wI?Dn*3 zVD}xN*rvg69V3&4@%df@EL23VCOVH5QbuWYJ4qhdf|E~!)mqoz)0wI!+wp&)Au(jO zS665ns;oNvQW`fIhg`hn-`OiD|e*A}72_&82 zqO)`&PUZ>;zGlbX_0gLfWcEAuzu-~t(;Es<`{;})^8 zRG`=td}f5X<5{{ z_#8NoX55pxRNm|K8NO=4j~P-AhKEu)4n~woKDW(KSi|q9V8%F^`5cidxScmxWH!Gt zE<9=3jNA}zd^C&CTkD0W*S%J>;Fe_)9GhJPwXFswAil4cr zBt4WF?-{<{zjx2KZSP+``zV{!-ylB~*~5jIN8V$F7p+{^YQpbd7t%dMywq)%l$NT- zrhkOA>EJ-t8fA`(L`&8Zahp=hoJ}9Y?)y6W4ZzA}CY2 z$F4Byj798J+OAzkfp6~n?^vt_W<3mH_uWWgptVx^ZBWkHO26W0<}vU zctNlM8~(g?pzf-cq3wm7?i@{u1SjRKCAthp_kqL*qsy@rv`I9n3e~b4;(aQPD<39k zbzLhCb!MYU)i~zHwVB!iG>L*(e>ud;m#;+qV4Hh*ye#&^TZxmWFaN49>WsuClv(bw zbt6=Sh1o%haFx#eK@DE!i zAgd?jY>j&13O#vZVKnG1OUx~c?s-V_@YLW(GGnNUkNT4befmVbsaXA6y}WGPIgfo) z+M0~WxcNX9UY6#oV$I!~61}UPgXy{vPy2v~D65Kv`NSN<_ojQG7s_pc%mYpuuO=Qe zca;_APYTbSJF(pi)c0Pt)FnP48@5eQNisJm5RiBUnXao=OG=sHY4#)H(_xsGeoi_( zDJoi`awNoJ^O+(X-33Uj!~PB{UjHJb7W~`4^34Y{^~fnNN)-sjp>~|E>Ueqj6{wUd_V!w28c#S1j{T?D z+hZ|QERM`P@htfM20+5nOa2#nem-`hfVbKW4C}%$=_@Gc74%01M$a*nIepQkGRu9! z>Znl+zsIJ>1#rJAj6C5;^s0R38)yB`2IdEd^v>2mt3M%vX9lPh;_z&m(?EQFq>Fn_6Y-h_h2Ay2 zU9Aa*xv|+lSEncV<<~U+6CRdmg*QWD(P(3x2+%0)oIM-mZWdGvq>IVK%$)QD``CD5Q~){~sxJU~(touYC0*R<#6a1|gL6K;+;+;9HYhn=_GT(3>w-#tGJPl_wy zFW0M}zxlVp5!N2OiF*0k-dRv~x^-S5(Yg!%flc;kj-m01RHmo7=c+{cfRqH_v@;i^ zCHHcJx@k?8FR)2NIBcNP#-NwU4-PTQM}Y(kMZ67bNITL(N7Gxb{O;4@G`qh<25SIU>Th`GUwXo zsu1wp!%rs$k+*`pSsEVSrb>9^7MCWCa>litOf02Ck3s1nRFl%d72u&%j;Ybuj2f+e z8Eyd`Hp9&Y-V%x9w{b}4*XE0#pfyO@X0Z!PGWh^ppzSMD^N`%dAWOOI_^RJd>HYIc zIDClUQ_&!17Dt)jgr zJ(Zmj3&xLBBITUcTdk3iwy3(voJA~s{XpyNrv3(Zb9jAvT7SKG^Bb5z^{lvKPvEC&(Imb|bjb#up_lN! zPK&fz==oGlC8te7qj+|v@p#~C+dIY-3@S6*AR)a9Z-siq_0brnGrjM4>-73p@Of7+ zA)iMPXy%vC1w4a-O~d~A%jkd^1bJ_AfsAlF>ZmJ|V<=sUoaSM;YVr>naSX!A4?OP2 z1Uxy#-;s&TWIU}V_f#XHnzg^}fvR&(aGW*UH8x@cv1GT4&;dQi4gUo230l*_yhZ?} zX>6=Uw;3yzPxgBbHql-^Hhp{vxf-@htYHYmzf z=QesAxn5=5v9{<$Qe~i}_MB(}>dsUyr9Jo4(16@~K9D`;MMLe@(!^jH0u50W_`{~+ zxo+?t{Hms1$fEK~f!7!|=iAbi#OKb@LU~!xDv2f3joM6W0sRcjIFNco$~1^GboJ>@-0;r*moon}cqO0v zP!O-+cO%(m&!sQ=Wn%#rFHy&Zdpim~r=>nTJ1zh} zu1t@guk5+DbY}N_)8s>%68E+{n)Lh$S@>r<;r#(-+f0Kmh2=9DNw|fe{Lam-Z=R_h zr<9)QaJ4-oVl;#MOnjT}_Cl-rz4S-`4#A_ac}wJNyiBH#g_f2rt{mSj!$GWJPLKAA z?leiWT-J2y2Ql2`<;sKJQ589wtWn;L?8te`8vJzMH#c+3L`!mk3u5=F4w-(^(;XI~ zRe=$M{rlCl^2^r`D=X!r#L^(n{F@VgvfSj0uot8;G8aulv)=iHSs(CEnG$9e8+Wxh z*vZe;jh~LNeRUY|3Q@mxHCEp=Ux9h|6q(?Nvpm_H8%>t~GPhYgzz>^a$!jApL4_S8 zXePCx`%bJQV3H4vs`HO2Im=P1jgtGwFW>hf-Xd2q1Vm4-N)NQo)m}wckM{4VlEy+1 zw`V`EZlf0`CL*hZBW8vwnSs603qnSv(Zba1dZI|Ap~PJjvlq!Bv~QGye9gyfa6r*P z_M1hHle23DY?X-GP9xQa8bH-4Q(i(%wNxk^GzaDxGJGc8anH60z;w7`#zKWtNrzD` zfWm?ET_2|d--BpnQDqfT?ne&F$9u+bnZi7dxvWK>zg2_9=&5Mmo;NXE#95k;ne?+& z$IL#xRgUZo#6k}Oguebd{#8Zb&nuK^piMK_<6`Zc_*ch`Zj9gp@hr|#iR9~%O=}8q zt5}OvK`Ed!&K7kip+3@tsa8>^zIo_*Xw`&>EcUlMSj2QQ4ARdUhAZi_+Fn-%dXzX`)BQtEs_b8OsfSGWg%i zosKjtHzrlNE&e*3fB2;^2san&a$+44NM&m7p9PwU0;Ve0xe)WX^sA zQ|nK{<+MR7A&6D$W%^%^G>v}t4W&h%>Q-HI6mgY&hdXSZmki<7L0vy)kM|;Y=oNgD zRztNLI0j-KNJh6{ruS{F4_*0i)4pe~QgxXF<7^2czbBta+G%wqP+6;mzvtBILox*4 z4qS#cQ%bF(rhXZ@C6ld>l*^P89eDZ7ZTd!boG_uRT!V?S}6LNKJlAE(LNbk&;;}4R2DhgTOL;zDeT_4W>@3N|0}T3|*~f zZLh<&J!D``-_J~;t#xtp&T}YY+FNFyg=ADQ(s@IMegiv^&szfvg{B6z?W`2TOm-Fi zF-E@g?pA%3<8lm2VgOE_wwvont~h2U;O)yv#HJu`&n)uk$bjioF0Q*$!!ECIJz=3X z(O}rG)w#vj`^Xbr$fWdRXOslo)Ch`wP~Y$bplih;Md^_~MAB8zP2R4{eG?n*03&R!+G;65+tuj`YeX=vVC3Xu| zyXz9|&aPvk&$`jymvk6j8fSL*h+bWu+S3Kh$i3m=sY3_}hJ}U@j;^my_Lo}XQH=j~ z#iWKwyLK*}G#>Vot9|Rf2V(l7q-%brkT-XD)=Svf^3E0-xa#S)SgYSX89O<-3U!^W zLHUd##%7n6n=CO1v7b22J;9dLTv3A9)oDQYTI5f@TH^2%p)ZUsdM4H-Ttj10*Z)@i z6hkkhzKN+~M*fq1m756&WrU5P%<&52h^wu|smGay-3c$S_mSHfxDyG?lj`1lB4Q$< zmyj1m1o2_8|8U-rSPI5aMqV*2t9(>uYpD)j+j;$O_p{UW7W70nE9f}V=$k-?7i$H6 zF1BLqTNLHA*_e~57fV6KSb!Am%vIOTKgG>pdo}g<*+YP4;PPsCE#&`>o8U&1KS0&C zQm6Pns_m=|HaU_v`}1*I$ms38PiMB8)B=1|0KJ3D+X;!9#fF%wg2IVMK(Z7NJ!Gp{ zMAmrK(b7`bzuhUS16h zluyex-A+pRi80A-hv8$0SBo2F~y{nYAM}DxGm&`Z)OQpgXQaAC*~R`-9ZY$N!^A zsdAQt!p5}<7IPL6m07f8_J1v)DrsoroK}NHg9pU2o)nctOK`3F*)Auirj`OI>3_pg z^jz~_7d(6>A!KE?q?9%d=@(=BSFMw_c`;%zsYf`T*z^+2dgN<;=2H5e>{B=P&NBr_ zp$>$W*32D;Pi7ObwOK1#H4hydd-ME`px_kNQ`1TNW%U#VKd;1`fN5QkvQlfv`pmte zM1BgfT~AgqZH1DE7KJ3VYU=hN)yu^UC-9o7n0Lw^70sLX1_IO+16fk-y;n!r z!W$z7U=S_4XSJSLxE6YSB6>Uc@^IG*STt^guHN?C6P-a%aui;l^j=>rV=uN&u1-!* z$1scZQ^He!FR$hjOYRc6TDXuyo@t1>?S33-|8nVFRg%vT!*DkSZJyymB_N;j7J}F347o2Y+ zmmEJ6|1!-aw|z4kzQ`?~xImCC_g3>oswAXjV}9oH-_3Snu7b6oHETK;X9N{d<3>ta zaMpQk*zHQs_go^P^95b$h)H;+f!9LQwn47M?Y%e5ww@YwCmDE6I}|x62nydu-6o<` z6j8_V@U#i_RhB(N$9*^Rs){lHLEmDMadPlPZuDhw&DJccV+tRPGxMxMw!K-N`!_@R z4*AkhuPkn)7TK~C^?E2#R z#Ms=`Q&UM;m?IXyb$QH4(&oeKdcH6JJbyTRho*7RQ-)T0QAqycl@{;t_z+#l(RO~- zmuG|h9sik|YPuoCL8LA=bWHO_FWyg112gYz7k2tarkPbG4L8H)cv7S9AFj3ch z+?mnUt>P{ii%*{&yiU*aa_+3G#S>PXsfCWw_)pMLD*tQ>g~C2Zi|>o|?q^LB@OiFB z&*uP-7D!f>b1z>>uEPuh3-BCyNIUpK7}1&o^{pv*yf=gIzq#yRbkGq@*l!A zIx=R>>+eL8f`LaqxD)K|h4l$olBJQ1&7{JZ_J0{rbQ2`@G$lPS=>_1Fw|^(Q;u zi>tiP`{m~VMQze7;QTu?HkZxL;3s=N-GKO7JD8s*P@OpWZKfh_WKY9cvI>=x;|qc# zh^aMtR{D!JnOvATVK;+0yCCK^)H0QS9vMqUv5Q}C&Fe3>u;2%fKB#W zn&1CXY0pzqESvG>Xp-I?eiR)y`{xf8d#>c?PpZu=h&H3;1ej4CdvjcZ7aUQCTy&cZ za1e8aE1MVBe_9OgRVirPjN6VC?W969kTgGjq$*$ogF>20(Ts1Qr;f3$2-nknhAf7@ zkNrk%&s$>k%DdcRTCaT8=H1@;%b|$+Bw}4v!iIIf(%p3&;QRL@bbW*4l;Oui!YOHU z*3W{&lfn-7<${|hPOB^v1;q%Y&_l-QR@bLH?s;-D;deMoinDhm<6UYBu3Cwg8b4hP z^)46PcAawVTYkB}Z%c0(lj^F-Cfr6)@A}~F4PJMbawC-~QU^UG`C-}TowsGF6cnd= zdN^-Q8Qi|{WuK(K$8ywBT}t-r()w=-afv~dBEIF`jWF~cDV<&W#?ybk3%x(xyA(U1 zpZwW22Bc(bm1K$1*;T)H6;n}Y^qy?*eVkoq>2M!s?z#18x!J9rp!0eqx_|$WAn|on|)3^XB)w2)m&`P?#IJ~HB!6ZDwz<&(tM>^o@cnC zHJU`DXn$|r3fvyB1D*s zoAamt^hfWr+#z~p?65?2IYgE0L7<1EHp|D*o;o#OJwKq0h=`}sr>)LXAqI0xSUaql z8#bDCdjCy2?}?#z(LwCY`KR$_ipMg(>Sy>NT~$3xYB(WJ^Xr_zp;s9CSRo>+zBgFN zIQEy;vF-6gc}g5R&mWUU7w(cy#Cs9-M}XJ*CzxBb^z6iOZ^=kMqJ*-~U>V5MvVWYc zz|(W|_G)8x?w0;~5R?*<%~=K&{Yd-6$)_<8*bMHy(C=c_LTa+uf^M;l%QF-}mM+@X8Z8 z!F$FxGGYfNQ;T$S%nCl-EaR8Dw~shQ57L;q@&9J{inHvwAt+w1N@*i+(-h6(&T4#B zqJ0G27lS0b>d$+&14a>vRbWtM|BRtO4sWfLR8DwsaBA7{*Z<4DsDIa-uC=l@|Gx_S z`PT04Fg=Gtfnv9uh3?x!?a3F`Z?>`PJgiq2Cy6CQO(d4Di;L5qB6Dn6yWQauUl3bn zST>9I2hSv;$M9QQP8VE5GljuWoh=|_*-B0hYDgC^(uofu$I2xa4moM=%9UgOifOuH zeRLIu#JfX7!m@>K4mUV5modFpO)@k5ALuvcI21x}2Da?ick)taCa?z8^WD!}CryA# ze8A*bEHDxt;cc@d@5@9R94nkJyLPO)33M_g2}-YJ!p=I8@5per8WFepA)-98!>TRD zO4~as6Z^oTSZG;b`P-Y7GF7*W;>gWfynA=WvuhOtrXg$S=^gXzMIyC?(?SBNZ`+d> z-6kcJq))2cJzvfQ^3Uf6W$3X_P=3TJ3U+J>-0v@`GHFZP=I}l~U|ZEn5RQ8A^Oe98 zE&XYOgR^d+lZg(hA{rE~06@ft8^ft~VC#aciJ>3qBU`+x!A+M%-KJ5|z; zAYo+bl9=v@x$U#%q))uUTKxBr&DWt_0S{x|z9Q!!Y4)4ED^h~h2@+*?vCxD9g`Lo@ zH8c*!2-+vNc4%fUV&01{t#gky;)aZ;3Y1J{HRcV`j@{f0{A?HyX5R7K%Fv z6lIXlH(<^-&o)0l^1YJj?VV_TceA?dT~NOMH9!jXF-GjopQ7S)S~idBUf-`kFZ&d%Va`KL&D=*j^ePNTVJr9@O0@*8qR5B^v!x~yhPyBK z4L-0NK7K`$S5U&_!JwvQ+wig5k&@2qAo19KG!d=N5tR7lv)|-k_>OOG{Z{DQcq+%J%o0*vIE8ExMe@?3`oV_L=n;>fKN6&cI7CX~ToNJm88+>BkkIX4*p-j|_F&$fbKLUn% zG4=sg+sh0F@6(Wys$L`gpxjc>TKO%oo|Lb9`%_(T?3F)9d!;m z&K6$!Dt9?W_p6QLrb~IIkX!anM8=(WU)X(i+nfeP`V0@cEI||QdRdp71wuc}$gR&w z>2r#BrSw|XTYt348~U5B%TZuyLsOmuwS+ps=k4>?>Yw?_(3^_Yn;K)A9C6?>u{W*J z1(xJhQH~vgz=8EsCjTHm4A5Z=oGC_oth5uIhsqREyt+fGf9f30^`4VtyXhX;E3mN- zof&kVN7g{ZkVJ*AwGJ`wHXEewVED1x@jC>OO4zZlFs_yQJRtG!?%WE#qUIElnuDQ+pP5C9^-B zC^jm~n7aWaMINlf-o8Q~v~~=-@nF7lXTesPbV6`1oLunkx!Wse4x7Qck}p5yY!mwE zjM7<14M9|!Jh@uCyT@c-`yapGW=Aab^z?>aA9ak2i@;`15Y6v6@*E4@B~>gJ*fKK&``(3!dOOSG?p7An>35D-B4SM9Q9?)r%AAsv=(iLd$sIl0q&caf^|D;w z2;Lf_Z1?>WXm1ZC)4^;`dzMYyYKu@!Rs3$J$?hMjqvvaA^qDF*w`+ zei)r71d1}WIhq_P-bkJ%elFei;jPrlpX#)Da($-k{%={Zwu7O+jBLYiX`Do25og_Y zJH&bJyjreM=$EuR^XOvPhq}kdkpuTPG{7IYs=uO-CL2lS>*5x|^~)Aq5RSsGrVWy_ zZtzU*KaSR9HNemcUH@pw*xhTZ-N@FCk}Kk~y{XygEL5o{PmN@MEJ1!u&KB+}l=Ir+ z-pJN&7jCrh9n8BwdBBH*%v_xOB@K+VXUdF?Y6 zxW$PKq%dkdWPn$FD#~IjB8r`@&pOt7?eN=+_v0yft*fWR;cNe(LBIC7c-eiYUcB<1 z!8}o!SIIJ*Ce_?~YuV-9_Eg=x0cF`w-8-7QER=RY^=F!CTq4o&9jU+6ds(vPfiF>% zD=SksQtEOtkJ%zW?QbQuMvZK|;jo#%Ub2p*d`GDwt!Dc;>zLEm`qWX2m@;^Ek5{Vf z32B-8uoDGQQiDC{0M?z_^mC)(A$hj%ypdb%p^}-bsPty-O`hIQ1s=MQwuJ`@mh1in zf_rT5Q-_+}|NJf`0;K?daTJ{RVr2`#Ug{R*@qTUXnCM5tD%X4B1M@W`>qVpGX|ujm zr(_@c9Sg^%Q`?~n_A8>QLfvCi;a*pZgL?Rq?|1q&_uL%WKnjr%BZy+~Kq>f7oAHO( z49DS?DEGwe8N$iVaG>@KZG$`2RH$rRi?mM=ZSB73gTB@>jTMF~$xkD_f*uNVOdP!t z=1c|bBFDtwzYOQ6_V%5rvnlYCEMY3^?M~;{tK6tIeOZUU5)U6Of1_BXWL!5FZ|XnA zN68%A_AYIQ3@@qvAdz7g<)*T!n?(@ioE?Z2%zpgJ&?SK9lZpFovL!Sb@$S$z8dJfh z;ytKj{iACg0uE%lwc#Hc0LWl)3YV)K(e2MV#?Sr&c@*v7L#ob~0SVmIHi5_Ih~%Pu z`5o=}0h8A?)d;tRd+iIC^|0eQ*jc$u*;|cWvGR&Bmi$bV1P4kzR+2~*&|c~PtmcG% z7HUE^`(rv1CzwJm4zJe2{$2ITg)fkv<~d>ua6$A8H1=GE;lF9PXPvL@rg z<%SGx1bu)e=X7hz=dBzZv<4xutX0~!)v}h>2d}me^gm9SD2lq5=0*)Mw;~6V@~K*w zk0PYhd(r5)c7*Q~)@PKPnt}$RZ60L)NbGCftK1l_tv8DT2%i-(&omYwiFG-wczJ!k z%d6{wghRP}Q9%}CO{gtP{K}HS_nfmMzEl=lr7|ULZMYxUl^fD7tV{x7T>V~`dUj6w zG?zGs0#m40p*J|{jPbrW*ckR=jrHI(TIfs~aHX?=Cm?&QbY`T7N49w` zL_{8#H>@jnXR3A{FL@L4m;s{p`R>5hk*ADeBgUkfXxud*rbD?AQC=7Q$guD zz>8k|bse?384kO^u7zFU|=;mbDHOA_|%BpKr7{E#`p4I<< z4}0_XtbiC|XRMS~PTh2?VRn#`BaKoK!W_fUNU92aW}k$9&kzpU|MERxE#mqnCMPei zs3@;j;iZWtzoUvU`ZF7p_6(vHk>+8!jTZkF7q^G>c@LRm`RUIF{Hr`Kn~{F!7`cri z5H1VM5ol)|)YUw`#BWr3G3aNHLwpr8y(0o;@VyC;as`@Wu)$Dxki*xHY_J`bV+9d) zO1oKOBXaWvG!auNShKB~$T3Bpg{aB4m+4R3_s+>l0=I($LJ)4ZznUyW!&L?u(Xex< zZmCybGUko7d4lL*0N#S<^?PYW+JW$f)iuL#q{{s#B3|nv$x(iEO#J>tvW| zWFY8r^FX$IBbckyUvHfgk}^}{fnDglSP#*hdFJH32auU$kQuX|01I)&TedkV9S`er zlxE$Qf)&#RVc!@wemilb(}YyjIJVYeuKiV9{1d4Wz{VTyEMTa;7IyP@<7_QoXzDG? zC4)tR*@HyGVW9vQCV0KpTO84?H00xL?=EWcH8WvEfF7(CMMVq}Bb!S3F?0H1l`=MN z)}@WxF_FRm1D3+DT|m0;*_dfz1;CwLYG^-wq@4#TjEjk>&7@&PlYC3O-jFQ`Qu{!L zo7DKOJ{kElgr70)>-pvJ@nwI9V@Xjy=~~7KcK;%$o{6w-gG07hI@b%z+SvXGz|9HarDI6RqL_tiL#vC7GoPSRF*qo?RVz-X(1XOfdS8>9)H~xWB4#P=f$R5MAtc(Wx#3~cAfj5)saAv&LioEL!-%65^r0C zzELt8*x{0B^x>i<#Kh7$cxqsvp-`+sti?}shttFEkj%ND*1{b4@q$7-R+n;K25Ix3 zbHZO9EO6$Pq7Zcx`FEZVdnohy+*0udSHAP4q8SJgX$gre`BEgJt<0Ly5b_(Y2mj3SGf=btLm$`l zdY2i^4A6;ohNtu9dVi)jW_y6W3-f$_=O2(BRuVy zi*uw{dhx>S#Rr(ifJug=D2!{y={tm`Y@CXdTOgzW)49@a;+ut+qZM+-@~Ra4q&8%B zg-+7BhNf0z?p!?@`E@5RzHykV-zlA8G{Cx5;>!N&BA`z;|R% z`eF}#i(r%uOJNDIgRyJtSdR`mSrENM8>x;|UnM^`&hc1kUFXdsrKOj1pyAVYB1)-C zUwZ4*=^z)q-T+t1*oX~b`s(vOo#78lpPA@~_xkNYj*AU@#CE$%LCe^m?v^gHcftq0 z5q!Vxz2Z%EcKOkzcBwY|bwhbZ2)RFyFualC6kMC`>fsXh^S^)kDe*zJi%%A$~@)eV2i?w&2WJ93l3_>i_6*SXwN)AxtqVu(2e*&NMHiGnd6V@aB6)8o0_$64Nb zVdGBKCaD}-<2|E`C^{sRR~RuMXsqQLdy~`Du;I<_KzxCF3 z3U+Kz-o9( z<^HJ`DzHn?9oI%^GWl%M#l-;Pe4ZBB@2hufT$>VC;2MOP4@34jQr!wY-6SMh+5xCDM5@PH)yP0aUf zN&I$uQ_7QL5STp)+~6N{VaDw9Vx%lDj|VDn3Zee@zaH<#rW#;{!>*(Q`){E-#ucV| zGOH=%3SyOBz_NaGq@?ljYFv!1j4u34*L2I-QSZCLQvROhMUFd-6HA`>h|gzu*LwrIo(TgY^{hgM zVwE~pmX-y*3RO#)XHX$>Diq?0Gj_Hs%juYLREM9gKR-t5!{O!tKE0d~o=D~Bw5Q#j8^!T#;~#(U!HwBD(y^@kB4TE>2!!P0UPd#?NL0Z6Wwq=0QP0 zq76dqGc5kvJXtT@4R~qj7{4zKzdPL_`R3GJ_G`17^b0___pMr7CS!@ z#9(iC$Th1RK4J34zQ>KKPfd=SWo{|d)KUDmus!RBpEV<07?JxXcCJ){G&wfQxZGM= zM7aT21h3uvtdi8sU9paTa{0Z4!@mLTasaGDv0I9n;brj`@%ph@IJpV^@$>vC4;Q%c zJ{-Z&eOvb%8aL*e4G=5N46qr(r-328s~IR6V(@bkkPH!DxtPo?`6(?6W@B;S%6|fR zu^#h_F;a!{`5&=B343?M7w(evOm69g67q<&d=A^HYRi(?#pPvy+;zS-D}A|(uLl~F zEUUoSRWIz{-!7oJrS5qk47{u_?9J1)6%4UBVz@F`?qmeNBE{r+J6X`aq&*!>4Yk7kL$iK3D{{$m)7VTI8boRfrZeh^bF^<5(_lQpH;+A^csWGr;Q& zzm?7wG^|Z-%#fz6vGG3TTCQyD+?!8%fNli*;g#G?|74!xegEjeO9E^GN_P#o4yc;e-LAJZc0YeOO(I7q!iJM?+ z=9%Zyg2pBKq@lmD-sNRh*47XzXPo=dm2SYmRW63&kG{2P;b|_t_83%@U`lg`67eekS>fJkm_I*lTa- zqd@id`igSvZMj8WOpx(6a57H{W)3fscPYY2NgW?4szMGU*(HHk@)(l#-%@a|jL7yhi8ArnK!~~=U z`IcosQ@5355=iPo@#UpO*>t{??~ledH$Fs5hu>`}e}+agfkqYY0;vyUB68H{hAw;Nh*|tqp^Bz;(nxXVz?M$ zcJYl@8(p<+9Dnqf{~v@fKBs)J57ntYfR?iXCNoM&fdf9K^;dKnX%-UULgNWU4?!(w z0%+n-2y|v0K5wx^yHxk$(wh!^O1-zT8=O)|DQXD=t_8sDBja@UFW2YZv&OtNiV#Bb z$UxM?1wzE>^SaL%^8t;aLD!cKLw7`WRs25|11h^sLo$b5i2^?6uQHjx#PWsolwLCa z9JqB0G8WZpo)UbFDO{=hZ0sO_!r>=FP8M+t%Zc~>!W<60qNo5)976zf z=jC#!scO*U{fGT`U#P!ha9qv+OM5>a22cMnPvuIU4Sc##M)({a7cb5|?DF7)o!#)> z51O=(>@|*6K1eI<$tqUhEW7vx7I}jH1|CC^Z1)sBdnSJVM2JaODusbUn{?>ODvB4N za^fW0Ehch_V5yI>tASDHpD;@E>q>Gim(3V~sAHq}rF1=}($oaOq5%@1; z7_n5i)hFfaXyAQ$blo{T$!&isEAo%bV~UmM0_Z;7f(TNhs}LHe_=jE4UK}K*>0sos?T8hOFN4*g37IR^tSIt!sE}#Bu=V~lZNDIb6Mud8b7nGkG9eUK1h@)50#+?coY;rywT9_g>KAJR`jzr zCj_+3oFA<|;3#=D)K+8t=@}^S4dVzjiQR}tl~}<7gL|6c^g0a)Z+9J*p6_BNF>UFu zUY6%J(eV!Vdf(3S^}A^K&pnsR$$(U?{1+SyldJa0Clx9zo93wJR#+8@#>TLzoA- zjh0k9zT^#e1S{)x1#m^rQ!RZ_yQ|zI***V$PWg%2!K@J{ou2cKq5$VF*OR;;8TB$* z4T7Q@igeQ5rLU^xalMw&5{t?ETL(nP%Jv}oX0BIeZwxHymy-{W z*8OgBLZg21{iFW8Tz);?k}qoWLD-3`cb}gyUP{D|v{-7gefj(N1Bfp6JE_#3)+?cH z>ekn4lItz9Y=W>G{F>ltsf#A$5XkT=9O@CAdYnc1gX}jZ>iUqzTC#4T^K)*##Tx;s z>CIB}^>1U7B@_;xt~$GdzeZZt82XHzIQvjiFNU@x6Z-T_qQ2z)UQo=<)6c*h zoUgAeVKC9V-ZnOmH&Fqe{l>a4)(s3Y49B-uSyI+RvnS4W zEsno61{Ej|22a2x#Rh|P-CD2W#0R$Tk^hUjoV$Xo2DXf`ZF3rlmZsZTZaLK97{7!W z&^As%kY&j_>N>YSS?dj}YZt-ghc@3BMRD%Rw$I4^0A^tPAeIw$c^UC~@RE-);tFcN zHxr~3-i~e@53;D1HJtQ{`vblrsQ}^+!zn6+DE)iHf8iQe2v+U1McaA#sTa0e(R+&s zzo*vv2*)=!6nS6C&=Qfx+9Cnlitk6s%PQY$RE+Jl$S>8t6p$%4s1MWXj4Ehj0ACw_ z?td#PH94~~E+V!8<|SCF14oFU_*C~66!i&YB=+xpG78fGEBOJ0FBY#Oh%s|1))^VS z2yr6w(E>;-^6e{j>rgHQwvjUH$rjg(1&a7DYI;lFw+7jxK?b(BhKl~_Y_+|x@%fCh zM>Kh-E@qOGn^N`r6jDq-7R4s<6*As>XKGtEuf8W9811n9^p^j&uGz%5R2XQax0{;b z^JnmNd5KO_-+8d=^?xp*{0EU-J)NZt?+MgMo#%&36@xchqzGD{5w-92I-T4EoXR$O z8EPjH7~Q`9?&UJ@Urp7y=4lK}`Kn52Hpr9t4R0v{2eZ%Ri%&ut1{N5HZkFAG`K9JEHQ-+PY$E zu)kTD$hedC1KrSOy$tNZ9$6QYk+>u|HfmCuE@W8fH?)kG<0HW1l3D^G!37I3q| z*5NLEg6;xsD>= zZfGRe1K!PY(VNq4!Y3^}Et!gzBptYTp7xxX#8#ND*?; ztEg$JeGI!DLGUQ@cYN)Q%`9jC4d}e>?PX!&g*-eJFcpn&+#7W0^lG2kzd%nDM6TKB zxw?C-aSaE^KsQo;^>&MB?Ie^@Cv>t&+~jTOP%jUxe{mD7A|4h+L-rq&eI&u zwV-K=YoQO%G{jOaV(-|0VdGf~-6JQyX61$I{+zp4p#5GKODCwt0|>ePVykxvKuNpf z;M!y^H^p&x7>*5)ti``$;~H~3`|GxRe+rt{H9Kh=vm=%~KhkQWOOT~p82e1W8E!{M zIa4tEM3R+hLpFh`8ZexPMw!2u8j{ia<^%4Cu0YXsxFp{1*6zZ=^L`2^SwX}|BhEV= z0*MS!3g6^-#*aYft9BPh#|ufXemsoTem~ihI+cWf661W|?sQ6^1h^WX7Tcl*8(^>;+vMtC>$L?Plq)6N?ZPCW3^3sDU)a*>{ zA8onXH@9xiDnN_}_>&CN))!uX{1-&3{Cl?EMA$g@?@1vcXf}jLeBTz3eCkbBSBL3a z}WH~+Y-Yw4^xO2 z@K2iZuu`#t62iiH{1U=I&Z&wC(YS7-T`3x|7uONz|8Hpz4#J_X-?>mVxyHaDxY+l-VG z0#J^aepQXwzJ738X0Lk-PbK|-ZOT@cV^>@QKU?TlfAp_=X08U9rPuptjqx?rPikmp zKSfjlRzaU_$pL;w9V2ENttza_@=qHB0-MHKtHvfZZu9(C$;6erZ%9+>b0@;D!nEw( zvAg`I*$-tb&48Gg8e+nXSp7uN?ZoJw{S&zRE|5H!#2kJU)hc7{YTSN$i#>q-N9)%f zTl(2@RH>9q+JwdyOYh_xOd%!eVy^}M+PJUq?R!2tx;jWMQ^bM9P^FZ(^<5*tyYl^$ zq0nO%_KSlRtjhT@*3MEoyb=DMoPd(`O5_H}sbjwFX7#I`+3U?~lqVGng$f!+7`vt; zQIQ?HJQcDe*u;FdTA}cwZ3v`YLHY9UnVbFvNd48SPcuA-9tZ>?UfDu| zIj?pz@^S6D#KWqFkaaPd=Tpq8osSQdb69)!-Gjlva@P%YT$B3-`NGf>P5x5DHu0&e z8XD2qKGpIS+SHzMB(y9 z#kfD1m7^1E1{uxiIQU`?0)Ca6fvS?_phnf#3_(=ZnEn_?&EDLC#z9DHFU5j%Z82v=(!WPDqTBs3faLzW-9vcxdsL`xl9#5%sP{e0u{ea zX|Qm6(>(2JucH;l z{p4f&v5WV?34siAJ2=UnQ@+?a-xR$%3-h6hw+#--yt+&byWZ_bVE@u!0j25xlB10~ z1H*^Qz)4>aCQ?(L4503>F6mg-fcRX#JBy$`Ae>x=zu2IZD}`Yg1*!xpmjnJV`+(Ux zpFQjUai}B5r=@s@JoMkNCFIH&xxf(5Tykq0*QE(kI4BMO8B*gKHA;k@O|}GmTa7SL zKdteYlgh}55Ys^lQDL=(oQZgM_PCNcPCReCdqjXv{< zkg-^>6#xv8m64M!gaXzvy&HL!f;U34#G4B?E&IT|2EzeP_i$itKwJgT*ok7NL%qN80M+` zLS&d{D3UNR-M-QqJ}aB}uF97tl>g3>6e$ha)%o~n?^0>lYZ7|87S^+6^W-5(+{r&% zze=gh)kH}QtncryG>8ZVVoP;-Pi1|FJw4*zTpJdQ%~VlR=7K0QM?Y2=BpUvafRZ;9 zrvdvcFPgnhI*qLy-YAQz7#$JlgFu5AWKkxycjATn#;}@kc&hFnIo(P#bFVyxZ2#Z3 zb1b>{KfXHy^HGi$b;k*f!k#rfLRiZjz-#Pa6C1EGR*qi1@$?*HYMbc9Vp3icF`+yz zm*o8~n96K)`YtXfF?zxMV2iRh%TQkmj=k>2{hf~5-vzVs=RrZ*mz$ML&fyj32W$9~ z-ilPW=rc1L_gH0xFJBgL!8eAZ%X(+2Py)jmx+&6D`^|TMVtE65 zD8bx4p&F|H0t5Xy2NR|9%>Cv=H6Y^D5GpwV!f+6eTJy)I;d$Y{Yn`+GU$-8xgpYa8 z#m%)aH`+HUJis44Qh0mfbe(pJHK@zvzo4N_g{2V8n+7^)=!%nq>~IVH(>Z#Y$(JJg zWp&@JD*cZ(@d>#ND$^G`9b5mth1CEk>qE}kO?GDd5s0?d##&eP(gwc{H1}*edmTRy z$KA=G;Kf?I^d zG`p$HvGwivIwhjl_fJ9W(9NC#g;#&+m_DOnjEl;)B%VR;mFYzH>;S;jZQfr;H_WCG z^bSOCdx^hr{FcRAChC=$rs3J^&l?#2n;(SBDDi{~2Ga=nt)bH5I%lL@x^kwxE4B(j z4MWP)0kd$I1_bd~InrDSv?XA5`xExln(Lv@%lEvSc5nR3HK!M!$hepK)2X&Zvd&7F zFl@;>`vtWoZnLuQS~iFOm>T3=6o_uF29Q3)95=`}m>iasP4_LEdU{*YDoB5?WgeKN zwL8mPQ@%8B*tVo1Eq+ikKdRmzhpV?4knT*krm$d@Qf*s!3#`(RQ@((03on(}+`P6r zPxmq{65_Z1N@!`?lub6nCh~DUdh+#_lSXrj&lG3Bez8oLn!uaLH91*(H4`7b7`$Al zEVn_lvPAJ@PI?XwMw~b_hgxNvU^c5*?hH;FgVuJlNx<#AtcI1q?3(XprS?C6Oh~0U z!uBmz4Mg)pPqB$%rz-~7KoggQ&me~IOm43okwBm|vH|I&i?G(wp#6fFDz?_3`26KB z+buD+#}r@GU7_)8AkP7uU1(+*dOPdyx37(MnG^SL$vV&EI31xT9kG=NxnPkP&)OHQ$1J$YNhn+L4UJLu=r8@>f_xFys zvhjY&-)v=b>3FE>>(g_Lnx+%F)}yz>{IXXuM7x29#mLedBLbA~`kGqpOUSwf8>j4K zccwitTh;9*CXW{MvS}k(3&HEo+4o*aInq|-v#~-p>R~*l1VB*q^rtr2JFVNss8pZP$SN;2~Wyb%6OO3zT-mwW* z%m?GgVtAMDR%QA6&vY18iu=C>ffxBO>@5huMoEO;>UXu9M#nmu)>!< zHslC2)J?vR6>>tTiOIOZ#`RK_D8q%rlUwrl3q~cLew?M*zU82k`MG&E?CkRY->hq4 zI2!*;l~H5)85P@?56V1Mh0DpYKgm%x%B?ags}a)W?1wk49(Z##FquBY@X z#ycg)+?<3cyl5Y3W*VV<;f2m zWc!Xm)dV1=s_BbuIoaBTT;`r?ywUxuz9M_4Csftm5oXTtX!`nt*cAbt@HXJcF20F; z$a;kwbjqoI7N*GS4bKM1DM#|IOe>JY?nEhTk(D;_gDGAKrH%swFxz?on66z9nepZ? zAA9T9F`hfBYr%Ij|Ik+WrUlr-FJArMZ7`RO^97zQ5$Q|7Oq&2UrL;!ku<3NZwIFThI&}HyXFml7InX8r}(2 zy|=3#i3Vhpdv5j?xzXE3S06j%p2VN^DraW0FQUBE$!K0Rx29qoX1e0s<9Ev1|ow> zl$n>n&4nsCi^EQ8z^Me{p#<_$(OyTk(}#9eT9&83c(ZzES@TR^%lm}I?~;Y9Su<=m$n z!>F(SWqF~A#T385*M|e#Xbpdn!l|p`$l}# zS0Yi7Bdt=;H4}U7;qf8|J<%kCxiEuJo}%4_>AhQ)lyt2Yd8Gn8FQy6~5^lxx2JxDR zBcT9*;E(@ia_k8)iUBx4GU8<`JYAyP+x%X^Asme7KCL4L0widR?*a%6#-$8J;_A%1 z3*Mk>e8FwA4NPTkIdfACCz6q+l=)sW&o&GZcP>ZW#yyN-?)WUpBKnsCvo`V_L z2$dFUo5$z4O?1D3NwACftT!icNAvy|2KMluP{e{%HCBzOodeMir~=Y!=p48xlZmIU z#NdoV_MY^Yd-_n=Gr_m_Fwbj6tK*Zu$F0lZBlmsx#}DGuO+S4LnMt z{>64~qzo^1yLw_nSeb2WF3 zkdy!*08{sSF{73fJ{wq-?Y50y%tmm``#X0GWuJnRhJzE)Pab|7yvy*sGxoe@e?AF75B1tigM!3PKU7o0EE16- zP&HL=QtNm^^heh_D+s8S z=KGdZ8|aZ!rvd8F_W=GYdV|yOyRs4(Ief>@B{K&WFtaJbK$btkK@iln*!T< zb-x2*X)1HkH>X7v5hmIK84?(3)?N6#R>Krz8)7~|*;d)N)m1TdTp=XBC;+1hDc0Y4 zIQY@eF>}V;X#2w-K=wD64A7!d?h=c1J1=rTiG{*irKp9+1M<7}yR`z}l;xi-saQaE z$4(wcAnrb2u+mrVRG0ZR)_gKNP~>f7%g=b<+*$awAMeGEIbvqsNGb@IHkJm25oIh| zQb-DUv>j)dMeggDjGMF3^shfY9k${oNGmlz(r&5@#Wt`gbx0<(StiP%k zeKa{g{d=o%b+hqn)`d6M#sav2kuPY#dFvU8n(f-4 z_BNM-3ZY@Jv_80{Cc{TxSf$+}^ki>$XDli0Az=Ao$W^r?kPM zs_IsFT%j~TRh?jQ@Gh3)tJL3g2Sl6|+eIh}*xdW2^}sl~7=tc+ z=GXRM9fZ@pl^nOB3yeW~YirQmy{^~G=#TGM)m5OnI6v{z`qar=(xff2`R4dwzo#!L zO=!PWL{7Bws~r10L3E$EnO;&h?c}OQUG{D|fa~`#H;|vd4AyR8@^}(+7iK` z`=Q5}?aK|T^Ho2-8Vb?{$o4Ai;*w;tpm^u%pVj%tcK@p`th>bbuITL!=PW`7F%?At zcs%o(=RKI6ROh!0Qcc=}b#*E%yNuK!due0; zGog!ot3WF$=Ps@LEB?a2A3f>v07oV3svKQEKJ;-lBTl^hs_+kOBuAeYT@wWU9sOGI zs0$S30Y1emY*SP&Ukh%9mw~6mj;zT9o#q=Ow%{lcWo51m$>K-qxcgsG%b3m82X{^r z{z9=;0@lx~DJff?d+JvXz77dRAB1q7;**z?jRt1-3sr8$Jb5S=#M!~YI02+HP@FMM ze8g&%ZZhTc-05M!fRiDwsH4!mYKMV)1Qaut3@m8$+MF&x<;{iBcRl}D`5;QaZ2ZO5 z)`G{M6=`@j*3{VyWBAV}%lJ?>KDtKb6Inz2OM|K6F9Xa4q5t!fnyQ$|K;?7hgqso| z8?*0XZ+q(Y>zMdX_f{nGqK*GxTI~mPUCP<4+`OKV(L%7pLmxgv)r-AAa_Tz{vtRmE zx4IfMS5tXAx-yk`xZ>ILrQ+?;pEP=A{flEUE(j|@+4tQ!{*x`F(QWC?tssJ8hOrZd zezqsNCQKzB(tpS$_Lqw}U;qk@wTSOc)u}T?3>Zpv_txy^e#uI+cUmqm5k@wQK012$ z9GXRWq^gQqS8^RQ6j0l+c^kK%)6)q>I2|@Iz1w_(s6S9;5C{4B1$eJ-Qh7 zNl@Q7oo|y?r-R<^$Z;HyD}2paM4x7;<0=gXg!5fP2~|wO%m|vW0Xb2OP*Epo(CZ=0 zi;~h)Oq2|_fSIr36>ukF6HXhQcwsD*dZ1xS43u-*W-YV0OZ9<^0L&J2 zGz-9`QjK_kA^LCWoRO&HbRx=&HAoz_B0Zj*M;=L?P7S6gmZ!`!rq zND;@}QTJOdA{LgS%scM#DhWNxvezjd+Zbz#7$>Ml5)Lf zh7arLN^(3A9Abm}KOYofB}7Zda?Evn^1P~lkAW%@mE`HH3w}Qp_pbMIkMhaOxR=TC zy`kSIi}3VdAy|z@{2^3Fka6v^LD$Z}61mNvYXB@?>iae9x9ffj_wB|=zDlSiC-a~- zp%@ssjMpTnB4Y#b(>}ui1{>GGP?ADEV?re{FwOT?g3G{94hk`ERc5EbI+r9YoX~Q4 zd<=>n1ic&39Ni>3cqhqc3)lNn3!4;}^`$U;!IhDdUmh^tEA`HGZEQ_XEdrKNuiD5Q z%l^LPI^#v6)_>Nx$NcvQVMzni0DPF-8+PN>ni&R0vVz*~8=2#rhc)ahIeEyy)06)W z%X>Pcy>JH$2gfHzr%R$LVW9y5TtHw~I5H;P0*6|0%!)1Cw~U|5N5A+zB`H$}rVOg7 zilOCkx%T+ZuPBfDX*JI9x(NZ~gpbb+m=O=PIxZ0a;2VQwy4BX=GH|$iGi3qjS$i$D zU!WEwgE}nN&C8vu4bv2`NWP(;$mZNhRf?W3LfkX2_E>`->6q5bOKU!pL(x`B8`IAg zGnwxs#sVlokL!d~`RC~PwC&g6EQg+5joz@h}zE<mM)e041L~^V5TQ#h~rBxAhVxT06687H*gy-TfAf=L zc+8u%pEUfZs>;xu7(MIrTDallOMzE1Ak#%Rx5Bdxnv9bE#0&DMR$FVv)A?dB$dyUL z&*i%WVn)WvDQxdse|2IWH`U~~GFrrANBayMQ*z+m_MJPw@fkKR#S2#q(@V!YCbN z^w3lz{B@gi@UYb@;^C8m;s`jaOJkAmWs9F?PF_F^(F6Y!2yN0Y zRGD2rGVb)pP1z5}#H5+KWLw5(vPhS^CJ9M#csi6#cs93|Wef@09VDH7S5W)}34M&d zde=547TTN+Rg!PP{|P@==gl&{Z=NjRav)gvicDvT1d}l%^x)~lqneErT5)_)&?o8 zUl3#zLXYEk8fGpg41A-d6yVsFq=^KCbY6X**}=m<9kp#qej(RFH$~JU+rpl+#L#!X z$*`wbRKj}9eRuonK^N0f|CS(gTb24OZelB0x}!EiKx5MO_qKX~wzFGcbqg&B{infK z+Fl`M(xCTXB~eb^!>1!)(Lm9;YRPKGQ&1+Ub}UNzh!8=raq9JMByxA+j4lx z>eCO{uFTA)`ztayncLB^oEvW|EX=LZoeD;wp1^Eef(B3Ln&l3FU|5b@*f-}ymJ z50V9y`KTcil}(i$)bW|4nURpoKKxHp3v6RROS2}8+L^?u;ZBQR{-GUwk_P1{UJFYXRE7XDb1r|JL-glb49&4t=zVWt|4`n z+g4koY1!VCS!^Nq^VyaB!EgE=xsHrY#M`wdt?bnnaAbdn0;*h1$eO# z9B7O{z$ScLgbU>)nXZFW>qP>fl}N1cfK2zQf4i`;W=A-SI_`1Am?;c~;owZ!B7215 zZ~n^WEhhJh6zjuFZ`0-zzlrFIRHmE5CX(d|XJFQ@9e-IZTxJ&8kKlz#jWQ{bFk(i( zotT6P3Kbz&Qb)hln`VwMhtQ*mA2z-X;=X~gMFCZIS?NwNdEwkXN{8cb`bDK_X_|VK_uI~!g$(5q^_RdQSN`&(ce-Zx zXAb<|XlXgGon7v1UHB3F=8j)GgT&l%pFJghSNT*TM5HA69b7e?R#bC;b?yG=lrnuf zDD^_)sXbr80~4VLCe~kf)BeQF2C!M*)spdcZ2?J3QB>FzA^XmESBjl(MzBlJw~9#M z_##8XWP8M;l>fWkJV*vR656z>?>Y!PZSBXGtR~Yp40`eUk};V@1w|z~9&q6vd@n01E`S{YLx86+Od#VFcUN&5dKcd3-5d@hu&)p-VY`2rSD{@3gxu{Bcv+0Z}r%uXd z=u3_#QZCj4WQ(S${UC~~nH<1-u{RaAJ4H@B+iO2>zq+`(k32ae8Q_SA<)SaCj8J|+ zZSCW|K%b{-V6JD6?bS5MgWnA>B29QXE8whOtC`Ryv4rsv5mfNyjY2F6-me{OKb_Xo z!9YiNDfuTcD|><2R~ylDxzP_QE2?ztY##SlQhv6@l?((lm6CNj2tGc0n<0k{^_aTE zy2sx~b#!zsz^Y#GvXgrRa>L0+sAEH^$)#BC2oAB~JQeBg>FM!Ml!GusODG?(jX9w> z>K4C1fP_LKSJTWV4wSU!%Kq!%z+hQr#oW0zmAs+Bmed<})r+FZ1z!Aqz5L?5y1Q~< zPkd3FwSchj!)vGLt`BD*3u~jhMc`agcXz?99HK4R6L*>GbJkF~);hKK;BU*NKNstJ zrdh!CEC*iCG5{-s>=6Z$u71Dr38ImK1@_Pms*5$fTZ@^lpH7#0NijYzZ$nTgEQ#H@ z(}OkQ3d*~7@*pbiznXw&&tT>gS^)L!&fvLR)};miV1Tvvqbfk0NNJX2?I>*A6tTMi zijG<1Z~;^Z5wN=+q30+21l&o}1gb&&T0Lx4k->qAVuY+=!9#}1FX7A^nNGqcui>6Z znrDAKa4cf#f76*r=TNEU+J>p% zp5A+^qClF44`3*6e~`fN==ye!c2V*zg*U^c=~G#W(W|oQh8mIguY6|Pr=4^gudo{024PX^XbG0?GyH^t5K zMRQ98GN5YG>4=tR^3g6$_|EQ3iq|7RUJRh#RKo#T#mMfj-CHvzto_rk#tWSoy0(M| zQt>d*+c+R+CswjVhL|2<6iWjtG1%RMg^MnbTGr#oyeV~Y(zJ7jgPP?HI=(m1s7AI$) zpZGzicC%%M(4nuH+rDR}sDrd`m)M;|x}N1x3(&rM+@QFu?cL`Uc=;h1CN(`d)=C%418GnyU>;}+F(caDRVY=xqJ7}DWg+D3uGgA!OgRE z{8}jc(O_#qV4v%@bC4dfyhmC)oqkFu^c%uIC_D0EV*p&@RE6Q{c5m2idF*ch zOlY(i%?+tOHdx%a;o))jXBKb*Qh*6f?$>HBoDD~ocT^RjE*V*v_JosF-aKF<{n|LOk!H+AAy%~UG5g|{Md`DQn z-QU|dt@)b!0dJ!bKFU&hTbS8ju?1^;bs3__r9Rg~K9SuKE_(@ITsV)W6@G4QIL_s7 ziMh`8Elt@6z634g_64Wmr}ORH;*hmL*3&D9s~j$8Jd^M2f3Jmpwn#b=2c~bbqm|B} z3O+AME{Q){+P0AaKh$eC+XFePXV~x|>}aX#S!Cm^WthTht?DL}oJ`wG$upDKDZMZW ze{XN)(N%W;^wj)EP=bqqja$%i?P5WTgCnH9QSgUM`j+`li@+9i+6(gO!i=;_aeP=e zRb$oFqQj!?mKi?SWZ=$~8f8`-UXUhMtH;OVPFUIm-|H@C5l zXO){OYyh4GEz#I5nSPm@0&UQ5v$_eP+&{uea{g3b+{+_ljwe{rDqs-k2vZjmhwf9} z<{IBB--*g0tJ89gOnB%0|_-VS+9YWwv^2_n083(oaB?83{^0>1Gu;+W8 zNYu%iR}yMMsu8(l_&n_V{Lws5{L%?S@V9mQaOfl=>+1Obw(Ih_u)s@ib61p!(LF5) zK1o|r`+6&}IB}MyY_?}f_5j|CYMA`Sk%nY=31h#@C#H4hbV2rxO?;JUR)v`m2h01n zQ^qXWy<_AI$0jf(g$zo-CoA0%mTs(5T{=$gTPTJcA4PAY6@DFqrm?c|q2AY*VJBaw ze+f*`@O|F%^x$)9m=+<|Fz1*dG9@eom%UwmVl3~N#QpG^g!TOJFKkP6xnB)~)%@OR zFhW#HxJJQ`z%Q-qWmmQ!n@+d}zslYYt0q5QmrB;()@6*H@+aboZ(0@Cn*2b%veI0c zS$2Hk+3LdaYuS)F6|E!Mz+3@auw3xj*24aw9rES3zT&*ot+R3xu>3wk(YtH@CxLJn zO`2;R{P^AgqHh4XGaKfAIuD?tKJu^f*~xvY{j}G?sZ&9Vc`y+^=Rq!q)WVC_-akZ` zzrHxA6m)u=sT+!(6*)OF$iF<;$6ySF=x9|9rdt3k^)_=XY_@`dEoG!Rr3sT&b65sh zxq;U{Joe1JI$qzGdi#V*jPGu@ay$9=kR2cPO2>nX+LGhH)u7x;T^b)Nl8x)eDsJ{8~%K0`Cv38Snzfo+MS$#21@ z^ZnUseWj&LHp>_ju}FNzv_@o6bxN7>ctKjat}Ze(pbcv0f(%&h^ot&*q3;RhDM;m9 zGbbC?69$vA?r+(C4Ud0HJ1Hq|Z$qe0PltPnPtgADYwoX%f&BC_vsztQkv_@5$Rv{I z$=Grnf?1?iSHuyDAn+QHxe+?wCSb179&0UKb_4ltI08Xb3b!OXoWp;XpiWqn>4`4i z9eyF()3vmu&biq92o+;&#NpV%EEEL}mOZ$T`~5!4jf1y`W`m@vkzX;2b2r$Mgaio_^kZ}ou%7OqV^Wq z#OtW>n+5}b$_|~`9aHM`gkh?KXrP7PSJa60xA4XmIP6`BZVOQIiOLOOk zR#z&Qo9!oL^uqb-?)9tkcIT@Tx3JJ$mU&RiHrX$>Ctv62u5Y5S9YIL`=%wiWLbLvv zwd7;tVx*E5lvzpL#YQ9RSG|vo*!q6PiRjf{*Se%gewn>p-X9-JVEKDNOE==&B{_3t zD|0s7CIXMchj21ab2yuw^B=p~XGnU3_eB5HN0ZEGezk(yCMEBX@al zP(X-lvd%+{i%Ti@qWdj_F0qQ64_SD*qPk9Y+?7>WJ>Ec^YGA)qV~~U7@*0l&%S)PZ z2eW1mv`PyiZ<3wCzc2meRf5UGhlK7Dy$|!{fBJxj6FpTRNpmj*~+iAYS;v z7M5mRPsR6`BB9gz%NAg(fkqdE_o%+LST5qL%iL0X0@7;dhcmiwRGbu4l z4_Tg%z?91R&a#B~ZJax<%>~H#UO4ENu%$M&#dMpj^4jBqq2DK19Gc#PKGA4tuHX{!Ys=~X znTr3^jHFSt9TeJhnpdO0aDOg^fO;kg@CnhP7}DajWOm z_e$q2wnHAS?5}uY5J`NcneQsnCxanQX*QFf8mzp~ufqG(>JA0tW1s4_@3f%Vd3mRU z&0uMw`Bt?!jJ&A8s^a?UgQ*YcrRh0k%f0z`5)0N*3+urZx)LAe+fsERkvjUHPUlB_ zdZ@q&_lJDiW+npQULpdwnrbzj#_N~A#YiGb4`({`5J>`QeZ#5$W!MpK9p2Y7UqipaXR1X}`$reCt6Hv&7bX_&qu$HdM@`$@dx%VH!Bxk^t?KcOQT+>9|g&GtFvJwuI3 zMyE?rdFfJK) zF?Xm!N@u4_!rdA~oG1L?8$ih%-aEH`6%upbJ_kg04CdfgpE3XCSHN2gu?>7RP7|0J?Iya5*SO?yJixdlU9oWxla{Y4lK^r3X!o-*yf1r>>KEN=b@&$IUfk zqU7Y8=#6h24%(h>tM%gKoS_(k2RD{JaCU-(BT4Q?6)rCM*&XzL{NGu`H)yx~C{d5o zgWMJp_?SDGH@B{pHNQ{ERl&oTXxw^e1ACsI`lc{2&*jwnTKZEZvA`YO<|DGzPfaq$H`d3)H|n2VNrN5A=np15-?}Z)`>peB zG|S-CeEptb(UJqIs{aEkLDar!gFrj>x}W=fDBgsJcbBed69QmhM#Uu4TIq z&vq_EZ@sIw3)S#$n)WMg9U$uc!0-)oyaoJ?LaVONF;#2HVON5m9x+k?=NO zv<1j+wruy~yO$R2C~-%I_sO}h7ubh=m#>1E+3q@t_fU*`G3hQ>ydUP?zP*j+HW0g7 zj*!fBuivk)e+SS80N}QJ_-~+f;{|U6_Vo<@8SUL8Gv1)!o}7Effrvnev;|xSj*h$F z)Qk|k<35IQ?1v$aeb-uTQc5XAB-+G8Oml5}-mzH~`E+^4Km4O{_}y>eAy}*W`ug&R zpML*OfBc6pA3x=qh`@Q?f)NqSF(E==?t>rt=!jx)F@(PN1V{#+$UEnKYbpkaxS8ys z^S9 z?f)7)zx?ArJv#W8-yS=oRCKDQA)0f;5F88EQd4T_x~%K<^7{Pc)9cGiZF(Bd=i|^J zSuSl^JoV%`o(@AixWfZ=u{m~5hn8zvZr987<#RkVWJ5Q^$l0KGU8{$6F@Aa?swic; zUDjHjr>p-IM67e2XPWZz@#W>VEac!kbU(a%_rvMo{qXK|JjBkue0eQWXIZ)P?@r?) zU!E_`V~L%6djIg<_un%1qU3xq*LAJ_xn%b4-QnPgNa6Hw91p#SUFzzBbL^P+UTk9a z-gjLXx-NR(4;>LQv#1j=BTJHRd8s1B+VgV#@za-2m*>lJlMT{~A>kO~)8Q<&R;ez; zhlf*O*RrWKP|GPBS=Bb(a%KJF^DjSNp4V29!6P}s$aEgZbAK56Lm&I&a5#>K)A@mb zRYX*n(UgeUOmfK;idcz1BY_?dgS3*`nq*n)Jf&qRCAB)`3;@7Zq_!l*A|U`O5ac3= z>LbV41t0sv=wr+|*Ve$)bLfXL21kTQZWwzaP*qsWOq8KXTbD^=+^s$Uk=T#`nL{*2 z(;7nGho?TeE|TAzGZ1o->oOa^aMu9?I@M;?8ZekbYa(c==G!_?XG6A|@eC#{j1itC^Q<|)n7n%Prn0z~F`t?iapg7P}A zKYjV~^Ow)e?vkgcTVC0g%*e z2;IBm!?`~^J{-^E0f9kU&84P>fG)VSWb8aJ0m72fb(#*tF&?_WxHPFPBZ+8jt-egp zpRdOu@(_Zd0ol4Ha?U#!eW*Pk5j!L#RdJ3?CE4bPT${9F`IP*W+Xt_=$#sK~lbNvoq6VvL=SJ|IAFj*0sr#yEuFR76dXZA|@j0x3D^lC-p@ zR6O}Eg3Nj0%X8TzQLr|d%?dFBftZ?9g~l#`V)UNr5S?$P2IiRed$3?_yNFr!9;2tu z`$Hc(#}2^z9dT~#8Xs$^Ey-c^~%WJE3>^nw#o%40N^f4gg zn#=WeEv@F#)WCaRHRZCrfBzw_E3?m1)4E)*ueszVY5<;z5ZR#fuCZ4Ub?ljuK%`bt z%}}*0t-hvoE$c7O&vRZ4)H5Fry^pSHt)}D%$+VT4w(kNeO^F;Lq9HSF@#;RfD!SJ4 z;rnld*e{>2R4A_MVx*z!Rv8%+7mm1T8w#%^!Ndk*Bn|!E8}q zV2(g7i!ed(JTDd7D?8T>{<7qf>us66^Wfq0^~?YHU;eLS*Z=0}oinse6k^~5x6)db zl2fZ|t*J>f5d-kfGrL3dUG!iC3esv(5vc$*6|Oavno~{dx|Y^r2#4-?>JM9HrQ>ku z50B@^^Wk9}j@>Xg@A9&iQUOF&mvz3)R{%JUV;6=#4qexW;7qh`CFEQ`98Ql<#k^CZoFkZmV_?|6lmw=nSE&_D#^^pgoKP!jc|RQAzdJRR_{n{l{pET^ zgb*AU&g=5JTs*l0^~``y!H|&+jF=2zO(}LLt(G;FmK2T50HoCHV(>2b#diZ3kf?za zlZI$wZC++T8~Xm;HWKJ9Cbc;d#}s7cAq~v&uLvwhx6&_?1osRQpvsd>`<&! zDYa!IG2TMlzyOHZF#sE&sfmKFsWEvnBtW9u7Lre2CFTQ^`KXk*uMA3WgJDu|AyYHT!LKi{|p544Gwbf=q0sEmx zcDczdt#Er?O6k`_Y3(*$b1e!+2IyRfk;x;G3o()h@U782ubVEWnG!NH)+T9P*L7iZ zKKkG(Ivztf^l>SvZC0aBsz}#)3Ji=}Z@iiyLkP@~Ou;GD2HsX5PBmLefkZXsytbBo z;3M@T^r=>kUF^IgbWBW$WSgLY5M}2tz<>&Bs&G$TL@y}@#&`PyDy+w~Rl z%w_;sMXFi!u|FKc;}eIzGP$m&{v40za2TBT?Dt-!CeX}bajh=X>t+7(C0(BxEFMNb zj$u6c(+OiRqPyw7S}nTHnpR2KM0s~0*Ou3OqYC23f%-o55gDo)5%pt#dVFj-&2mk- zSt{t;vX+orcQgc4QScidxid)H^&s0e&^abGA|fVHCSs9R3a|y=bw2hKhEkeo%Sw{f zH5qo9hXN2WZNe27F*-8aA`@s^(^AFI46RDbDXA3p*o|Y?h2zi-!{Fl(PRH)}z_AZ~ zAN$S+kATd?M1*Lnn+d3RXn>`Y3EIwQU|v!@*NJqulCdT9WdT$ z+NK)1hot^$Ykc<{yUUAcS2k^1>5a?K9dE!J&iE>d+yB9@m~OL(yUTfS?<}Pa&)gqo z_ZHY472OHW8}73=y%D~VsQW)}P|3jFsM(!|!F`X9cZ70BMf)hh8yvXz2k%)C1aAYg zQ-Ql;3i+uv>4x=oMv)%*Xh#=?D2aZm5q&<@<|3ISoW zv!pw>-7Y)#aejMge5EN=y>I_s z6JG~uKO{m#bV!WYs;C-~i?K5WY0W#DraVnk3}GDmFR$0ywA5C%1XI{<;b5!fPe1>- ztjq6z`a?eqDl*N}%j=hAolw;=ZcZf|E@ejq=!u3HqH`W8c;AOe2(5@CV4^Kl0n=_5 z3}CHF2*I-lMKB^qT5MgnTgOdBn1nZ;L;wK9#Kd5>teFT~tJ6HsYs#sJinJC&|1bX4 z|NO82?f?20|HI#$PviC5AM2lf>R`cjw$_-usEgwf5Zk(XLq~Rdy<9Gr*W1gdPoI}2 zT^xJY2V;kZs?+POh%Bi!?Be;m^S3{UwE6Yc@)dJ4HLYTx;+OduDYow6td(0Su?wPI zn&^k@FYollRCr=u2?)_m~9 zme-O}1|%X9Rp%JYocA$yh#dRgIcH+T#EzC}T}zqfsh}3nkI&D~^Y!I+OSNs6G*u%) zR*33;`}o26@cjAt^YfQ)p57Z_YRku;1+bcvwWV9mfBN|Hx?X?2ynMO60$SfW2I##T zV>ou*7-An{-;d|hF}R3g0BTK5Ab20ZA)~ZbQ$@CB<)8le2a)pb;YbL#>y*=4wWVAx zx22k-H5&jE0W+bAEV%Wkn-L(RISj*b7>_3~XM+9EMN>2MJ_Z+6Ev;Eq*#Rj<7u|`L zX-Ops$aI@)mSOD3d54Gur63{r7yvO(M%;aP|IMiz>$-Zcj3Bj=(_HQ4a%<)uAH_LZ zr`$?I^22Z(mh8iPTh^D`EtM=y`Vb$E=P{0+!gxFk!-%GiNvneB*mutRd0lEPjVStH z4GalM8SvP38#M&8>veivrcrIlc`4<3z5LUsPd~qWdbwPg==Jsa-NVy|hlgQyq%;oR zv0*btK8!s?7-C?=C6~|TdRZn_?7P@eRMFFMaL$!fLx>N<>6^!=A;!+Tb*YpM(3FcL_`@x zu?iA97y9Grq3@4`G4>QfTT*H&oe!<=muY^vzOLCj#O;2GT-!RQ+-jAkRmd|E$yKk{ z>zCKp&zIM(AD#Ci)>$s}(2s}y;ql@B{(t+cpFcnU z^2^6G-Tv}-Km5b*|0o7SA8TpOArXnFbDTvE-kDl$<~>Oj15^N2Qv)(EH7SjVM5L&6 zBOS)$)5GbfAAf#bmd$4Rc3XT1%#^eI|Nj1OpN@x9{5MbIAp{q@K#FGCN08c3o5IjE zFDaJ{ssg5-&?9?e=N%!b8W6NnFC_yQkd~H~lCJZ-PZMC-AN~#=Hv08s5}z_=UNOcm0Id8YYRCz zbX^RC3!;Em_C5?pD7h^2+)88M<1m5|GziEyAD=JRtYzrBLw98AT=amh30i68bwY=X z?le4hu3Og|nrdZ59*zTZR~j9>%h76W({&ZIz+6)Eh@tZcC|Na1;J#MvT|CA9-Ow-7 zGS$SvF+r=Xc`@+hoPo{DV#We=c%U{lGiB1Wr1h4lVKCQ+NJNjv^LOvwIdDiokc!sZ zZF;@lx-Lv9o%*9_bB>OW{o!G5Xk_zj@ysPUGXDrLw$Ue)BsJl(f!J+Yme% zq&0bF?h#bel9t*r5xnLUHHlJlwt zq<>vaM&)C}6JZ%nr28c%F0HD-*xx7x#U$EpD1Ncax z$JlY~ICkh+!L*6CqEhN|ZPUfqW&+uuHgH7jXkAvjUAl*JcRquR$Shh)$^_({X9~of zdNFkB0=S^aMq8o^ZBoi@XRCJwhrQvK{WBMc9g7lD6ExkP;$uG!=d&ZQbzy+b+bb_A z#2%T{#5sq=TNo-c1EDHzsw5EsgtnQ*fxBvJ2O0Z=aTmtK8MQhUiWI zwUIj8v}5`eA;4GWwJ}iyP}m-WyW~i1pA*~lNobq#@mE54Cp7l%_A6Vjy95s3 z0uc5gxsSz;+cw?s{UP_!-D+ls9(V6Oy`S}tX?Jq8F_$g*;f-hEuS<*Xr3hfSCy;EC zD%nsnAQGVNOK_K7ZYdmh4)!JlgMGT*%5?{pruP7XH$c1(I|6RGv393EdKZq_T|I_` zfM)szzBX-_ZgkQN(6;-=TPwQaUDLO(9C#aNxOaBieZID%xc6w^)rSCYS;h9&Wxh*L zcQ3YkV9I^&ZSP3keh>w|uRge!58Vg;Ug0|ieVckSqpxgx?@IrQY40UXbdL|F-E(k* zsc;vr-);tr?&~D~GnQ_9>aYPKM(;&itqtCY z>K(!1PM~)-x0zCIS~-4Gm!LHj0YxGtbb;1o9b%a0<>lqI)biao@83N>5D_-pSCK7mDK}}mGSIBHy7gKT5+gH{sN|XfAg8p}vX)Y6HBs-vhu{9i z@BZb#=HUTC|KXb--pBZgHUIbrN!402#~4uon3$uh^HSHe=5;Rf>usJ&;}B2B!`ORg z7K8HyqIR89W~SrGo!-UsBU+Q%Qn{|{T=OcmxXw8esYwZ2iQW&PKU}8?`c4jGNp?IO zj;G^gy4=>~Hcyx3>XBUx)3T(J6|4{b-C=k-9zMK(`r(J~3HuH0 zTU2fc&N*gg?@3xKwG^$NZZFq)zNK|(`LfJYTAOTF9op_lAVL?zH|K}nef!-vPv8B1 z{PE-Sr}2-6_wOI)I;SZaN~8M6kH7r#`uy?v<(Ai6ixKpli=GCD$1ZfGMzXHTGQu#8$1=%AU|cnu>xF5~#W0ydyI$ zk~h}Yb-oLp1BO7sp&E+9M%umi{n%^Ub*UgyveYI-M!?>O+FH#m=b`|yk3K|?-oUgf z5CIY*lk?;|;-MQK#_?41Dk=M}?;_(|mXvO3tJm2?EoxixCV!8`M-2IS74_+}6@mN-mWc`z|h}PU-gJFF*BR zB+p;2uYY=Z{)Zobye>Cs%@MV-iq=-=r}Mdw9VH(aABO%I`^VGi*bgL{Qy#&lCbw1? zx$g%OBf#LjcRq9RE7{o>205pksu?ugoH>C#*VVuw zRZ)tHzQjXb9kVlFZ6csGNm~fk;Hr9vp-XN1Tr(m#jmJQq$N|$D)0$FMF@)NRK?7`n z%{vI}M^6DYdWz8*SZSzcV#w;)ANuhay0MEfgh&R~#FK}JzH=^+cetcw$*I)>W+f#x zDMeaq$mE^3RG6?enA7r_Zogb!h`kHJ%p750e;mfH>!BqgZfM$s5Nj=-Da6oqk+)P_ zMsL)CwPMUP1V6^;2@!BSbXH&pop-La_VV&M#()6MIaH{~NbK0v0_d0swN{X#trDU4 z?oYq`{P+L(PnS8(WtG+pvDRk$SIX_n%^sn(?P9j?TB7heEl5b7Dxl?ZUDLF#ee6EG zJDm@)rqprwKm6Gb(=w}>1s{8#b3r07J%mo0Q&9j#!j@YDNVSS#s{({BdQod4-mw{$ zCccl~|K`KIE}!Q#tr^%UVs4d%3@O+2xBu|>fBwx6-~CVT9u8v+e%qz6LogkWvAei# z;M(dkIL0_^ z9(90JMc15jt6B1w>H2b;TQiQ%l$__T3*^WMfte6lMa`tul2#^z#t&S1VgYej$BR|9tz`ML8=ZFck=JQD(m+NJDUh}L) z)sVbvMFG%o3pG^G+G=q=5IY3&o|!xheM`eKj1I*+e?Ff)4bFKV95RSD-+47eB;Q36 z;ywUDS`vYYS}rNBD~Et!1|ltM%}nZ<+3iXIj?5MOynrWF2;Ts zhkhKwIJyu37!T?~7>?t*&Hxy@UIAdqRoZmDv{Kjk+H&%q5WO!9!Nur;BaB>|i2xJV z28L!$q)FALqR}ZaMQhPC1W%60ZHhALqXQ-)_Q5Y{opVYGMcYeVtuCh8Q9KXhyMrQA z``G;RGZW-FAz{}=Gl}e;&JW!ZI`(9^NFMs`G#tiZI2=09ptEF7XA5Am36UC1%Gh+W5h55ZG($czApD6*Ea zmVDLqLJidWtk_yJGhKwhpt84hl(p0cBK93=%k#9XsVRFJ#tx&4Lw7ob^E)0#Z~+|y zBktaMZ(H7NmydVN#v4*FBJvw#>JS)Plh#@nd&o&!^$gK>!Fd4K0#d37Q+3{%ZGLye z$esxuiwGc@3W`ZBW;F&T4ctd&LZBGC;dqSwh%RvS&N=qZHf7C@j_&9JKvh&KNs*Gt zfP6p-7Ggt0+877?ics8TBxcB4C*a))>nq06Eem*)-@VaVgf|J)n=#!TN4-h3-k=2H z<`#d)2wz+3V3%XZZ@V-q4_}Y03ME9VEop#}!yq1cej-b0FaRn&dZ z--Z$2xF6mjD}EJyeO1%pS6w9Dr}F-eUrT29DZ3x|mWn`|9> zW1rq#Vh8ut3SjsKUGW|s0-MqcVP|u1_*maw^SDs@b?;Ms?+m@uTd*jEp zPb+*Kt9|N#5$|YhFMXu1vN+tke(`=rv>Df^8SN*iU(;rG9UR?jYlF6L1qp9s{VNR{ z;+=WHea$$L?L@YfPg{Tm+=1ox{=5Q?PC{%58jtjMGOobqGPv~TALu#773@OwKWl)mnG#QO$f=@ zRCNC!FmRr{qgGqWxmK*TR*_W7no3huv*Y>k+u!~<#c{f3XyQ;xTJtom^GvO_+G?Zf z*8FlEP6I=el+!e)b(*GS$r%tM`Q8PmR&!QwZU{}=RN53e2s{#31<$@e9H!@wpI>hE z_6j+77La`KsA?Ige{iAi&*z8Ra!YF}d9~&|MdyNGRk(wi71ZfQj0JKS6QhJ%Mm-Ti@({;&nUXxV4 z%YC;iB{QMvv5SB9&9@J6co+_czxr4I?*I5t|M9>4=WoAzpK4x~IhDMW^>w~ZDWzJ7 z0T7t6i+uF-FoZ+zL4gsx-?Fi73)To896A>Q6RMi?j7Y847(FpmF_qd{DTrN&A%tP* z;Fhk>U%=Qo4}wg-4`GP04*{{=CeT(B)Ol?t?L2k_R%<0fZQ82!W9P`FB@wYU)!LY# zthuR()>;}8BS5P)BhD#%@4&1qg@}R=fqg5c3Y~X~9vvV-TVWgrisg2j zueZqzzx($4$MZv4^K`p7=L5w)_5h%2j@_Z}J+boysJGW!y4=_hNC*VcS}Npe9OGpw z(=w^)fw0w@TQ04nT((ilwdPi@e_EI$GJk$~`7*!U=9{T*6bzxH_3~ns*|ZK8yJHMA zjHko#{rhiOh{4R}bzNgW`jl&JRp8WhW9X!4U_P9qDMY4L3V0`3ng|e-wJjxY3v?(0IFAQZSf(inELyMA^R(Qg74O)Z0!S+9)2B~E=+tDoE$Dm|G0&wn6+;AX z6qtv;uc6kpaOe(ZOu$`NlThdB?jL| zR5df?ty9ZXq#~IQfnzj)G#4`kle#8rMI_ah%`p1D>%3{bU0(y@xjS{iEG>kIbdoeX zL_(fgy~{eo1StrPT%?09JA)Ze4JLw=sHVG!tTG=3ErS`QZ@a z$@!rw8gb`?HSv8vj8vQDnn@XZBt(ZatIX?lscXqa6o?!)+rp9I{&`bNYpM;PnyG4V z?lc^}Q9B#($|3p?qErDC6jgCC1SEFehat8sX2R@HDUdr2hu}OS08j|bz}?t;cBjM9 z44;xBu|tpI)a)8N^IQ?wWA~ z0Pme=R)butwsybe4ggTqUZ**i8Xdn*tM`0c69bMzJanNCBsD)ho*$3>x~#2LM*zJi zg1i*x(ad|ttu__K6J=?)CFfkLXCTxD>aaFyroc=FfB3^sWlbri+S;@hp@v9Jl!-zN z0Py^Jd!BFT*oS`Tqwky#Uer`tH%1qoyI@|Ihw;G9tD-dv9J~*z21?#-);~?bu;4W3 zIWNG_N+SeM%xZzr2hWJn`7Q=T24o}#fLzNwFV|_h&eL_7=PH^TD6p{uN6rIM>}XR* z0qCZe0ep=)15zznHK$UaFY_;7K40dm893%X`rdozFhs`;NJfq{OI2+Nyb6G(Qr0x9 zG>0yR$VAckF7#dKlA-lRgsRvIq60vzHGAK6hXVm^`(Y+hH8KZA>ok{|kjX)ZM-Io6 z86uE#K@^Fs72(+RT|fBlu^%;PE!F^YYk*|PsYoxTW;x|<7&p6R=eZ~vnDclzc3tO~ zeF!1=F7_SameeLH)zAq5vJ25yH8UHIowQP?Wm)FBmc!{}(uhz?tEr@QZ7r{JmQwU6 zPmiaPTgy6dZyqReHmMaeHgQ-%9I_e=kpp5W!i>b!QqH-iWf@}}`kvT($0mSA4hf1F zW4%okL8Q&M+iiJW=GhF;sH9qIYt4w+1!sU90+3U&{zO~?`<@)DnyB`Mn9@8gpq0Q# zF$87|61qx&YORW)swfx}vnO%^EjN)Wsw$dtb?kC0E@kq}$fXn)96A&M@8e-mVpM~* zR79$(({-*^86i?=re?5CYe&ulky&t#h^HHd;F$@)0)Vo6cQ|y_se)%W^quDrqX%Rn z=R2ng&NCQTz|;A0zHpTVjI|OV1V<|7$%7CAHEq@`I&?mG@{!%~I5N@ypRIrUkt9pf zJ3+afi>jKLdqiYrRdqL;(UOvxn?vS5;?aWoCrCo0(qD zMMU;N)jXnsO;jNxJ={!Hj~>0q?|kxot!T;;LpqIpo|liOi@9Id4Vb{a*G5s+vUMiR z>3X~OuG3h0tLV_xT5n85PMKoPVLFXNo)Qfq#5hDD>03MH@xH9SipoE%kQ2<&;v0)*#1p zKAoRGeZn|&Pw^D26;BK(7m80L^nWHQsd@9iPfQ2FBOgRhiCcl5vCKJFX{3W<6!Ep9YB#t@)%M^ zVhYURSiC_(FyCPyQH-a{sDKo7xq~^46Xp?PfSutn>S1l&*6m*AS7}=aLuWC>2DH|) z_1fyzuZ4wj9G{+_FHdK8ZFQ?@}Y^qvuHw;2mCT8o1m{N)X*-3=S(0dm$ zL_>EW%BKmsQxFbu7*1)(9QSk%I#fD@?$AsTiT6=7Q`22>T-H^3!Csjqgoyz>L_qR) z*7E)YKQbv191o0jh$V`ykMMnhX&hVU}>%zTra#`@oy<@E6>rO#YBz?YnW9h3x{w zN8p7Y$N6oZ?17ckb}`^TrHaR?e{9nah-R+)1@w?|9j&u&hP30I_bK#{+#NBX#{xeb zn!&yK_0Xw3AgjHDr}r*WfPF$dYyyvgrh_Ot?7l#VfDc94K@|_Acp%KZ8S{`3Be)&# z@S#@(KY*`4W(5+t>BC^p43Tze-hS%e9RsdUDjp?h}>m-F7MoqXjeCW%We@7OuebT8)3qOe>0IVIbk>R zhxsHEiQsw2foW|`yPCV25j`4s$xE%;+gi~bv@1!t&g;u=n{Ef zxer#R*$EL*A8dk8{^yR^!IT32ut4k9v413I>DK|;(nm(tWq?^TuD z2ni6>dab3a)>68576u156FRid#2AAhVb^|N&E3_swbpxA2SSt(o}ZpB=K)ct#M%4& z^Uw3oKiywGLn+JU!P4VhB&)eF*HmZrWD0{AA~sWm@X8ZXF2CZGR*f zID;d?bQ+#6=QiulfBHFx)YdkHz?m?yS;U;DN8^H0|I1XcTg8$W^z>R4ctPI%lSOz=`vk}15t2~ zn?i>-mSn07d^t~3NP&sShY(W^pRZqT>)g=Piv)`aRSn1pz`@L#DOBjKw%$6Z2Ea&C zwtnC4ZU~6P#LTtV+BSDXU}4^6qzFccr_=QO@k2^uZ*4Ik0umGw7K%A%xk$*bZ!g61 z^!(xJ!w38IbNjX5uQPxJ4#FZqQVL^Ae|U#?^|gAwADIqTd}vUecqPZ)=0*T0I+wT6DoVvb?yKlC=_!Fr*WF{2^4#) zKoz-j&YW}U^UK&fRd+n!NoZkx6S{Z`h}n==H7&*$e4r}NV^PQ%n& zFQD`7?aO+<&o}VKh&cu!B7|1Ao@m|{baR5<+pUzkXwxPkOv8|3IEOr>XwthRFavNf zbc9=(o2r63LbYy0P%9BKu>*t|9O&a|^!@}Oc|48dd0iWVF)pYfqHu1l-gDS2gBEM0-!?N3Q=TMp9y23@ zdme|b-n)@1Iuc>ZQa4m>5)45RAjXg~5`a0WyPJg=1qTVIIGz>734jopqDYKFEb7#? zr*xZ_TL_dQfmd@;1yEE&B6LJIG*ti$F`{{Gy_v4PZ`w+$fu(ulfbKetr&jG=HZx_! zEFlh2-5p6nWQv%q_g*%OW73M!(s?|K5Tcx)PUt9s(vXK?a`SmvuJ@~IPZUBRK;IV9 zu8PoVL(pa#hWvJa`;UL~fBx6s|NdGxB~&mq`{s=W5P^td3a0z}nD2&jj_7V-Z(=rY zO%b5BT8JW3w_dm9H<#0g52qiV#}owoxt7vZO-%^VF-BsfoJ5;Cc<-%if4$8wZ}(A^=b-0%@y6E1jBwWcMOuJVVK4|L|}463Eb+I zrXiiu{q5DN3X3};G8hW7DfDI%kQmoeX`!Muu2MQFDiRW*_P(c8F%mj~IT{2e5k_Q0 zCqg7FwO()cxvcJHgmWpqtM)#wWg7D|4Mbu`la5hGwcdIq5mnnt-DS5*8#P8uN5MKdrUBZTHvP($%(7VhoP3S|tmj z5(v6$YklkOw%iHO)r9$S$(iFcuZp-3!o9EZhFIwgt!|CU7%u~uyd)-aA zI1Ksel%Af`aEj9qhmnWGDIhcKjVRyfqjqEUcb(F^CTgz>-3$>K+=C3@2t#0K3>n+{ zs`KsU$eeOM2?!gQ8#02Lu@N$Afu=pB6hzRS37t6#QwmBR0=p5h#9d@C_Jw?}|QP4LttV52LRKJ)*;%>RsgZRZs)q4rT|-K{x_} zAHQ;Vb(wzy&K`eti0TY%e+YjSTYc449bJa>2qPxM-K6Z;&u=tY?|AWDP4zx>NBgWF zy?bzw#6!ik%lXV4>DZz__Wb}chY-oYiRk?VJV?;j{d@=u52AU1763(3y&V#LvQssz;`hUJvy2FP@5fJYpy$7#&?|cF3dbOz5Bf#$q@M1mHm)*!nu1x zk>f)I_;niL`$=-doyLBh)kjO`LoD~OMSehQ2Q#&YX7I?#27ed!y=(pUwBO?j+#9&* z5wL)VxN_HU9z%x@tG;)=&O?;?Xy|lz1l`#oKS=X2i{E>=0S>+D`(OM1cIM!Zpji9% zYJ;!aeZS7}k=^`$&qQ-W-)Z7;{XEV9z%c=K1`Ydc-`ltMk0YS$yU9fFg1yJI+^4|f z@_>h&a{n)PKa|gC2KwlsC59Yi%rOS3Z%y5-dx{bRZ(zN5WK`5rx&+Z?DFs0M@_Jvk zy0u=LA^{nMfP_Q<90b8RG7x_twNhHT0EC73GfbT7{A`I$fs}+HTE+G?2 z?}k7ef?-{%zOLovzSh>Az||?ym~-IZ=G#`+ZFAe>b-{oL9KeYv1R(%dtEyU54b0V4 z5s`_7!fujkTRmU!yGvwUe)@+$z5U}K;P#fRH#2AK=BiEsTWL-Zh}WgJy7wGY3Na5! z&F*Eb%vFg9fy4$%PeVGN4e55Box82;Ja3${45zv_M+L7`H&(D_>vAt_Sv2MGavIia zoE<|5Lmu`l9PPF*+*!9>FJ|uRytQV}AI{#}FF*YfS-khB56`!I!JNPQ;kW+tBCt&< z|L}Z1KYgfGn1Z^HI}@`EC~3T$5u_|FBvG}wlt2CQ>zCWTn)R-&DInI`VkQ8rThTl= z?WNVamHRrsE%Vart(JQ!dp7Rzc)~|o)MHVFoRGlH?!UZz{_=L4m#w#-zPxnTz3~c( zqF@Y?L}CzOV74rD8Y4RpdK{>mmQ`=dQaX06gdaqNiMDkca-_go8vuuhwf0&{Da+}c zo=(%0&(>`3cNXN!>9np5yhwl?VwOCl#Ncj~QX-zzTld!5vTk>SGxO9sbT@M-w}k+m z=)RP0>TXtait#Crr(tTSU%p&{Fa$zCByzBAUT7GQpp}k*A%+y#RwwX7#o(0$-%JJM| z;gq5X4+I0ki7^|*Zo0KPZ{zt?D=b@ITfg47tu`R+rf>I!F2cec*}4IunK!e&tFSj~ zy*2Igwym{P>kKrVPamG1$2dS|@6If3Ew^R4&eu}bD3T<^$li^BN@=ZL8JI=3(pu}U z>%El5OqZvNwiqc4F(niXQmwAb>PSISh{X$5?X{_*H*-X4j!h*{NI41zHAOT+MFLfA zy=9TeA%Y~5Ad*vx5@OC~ZJU>MyQgUca{z0#wo*}B0{Y#D58q!Vcj(55vB%JQwYK(R z79(*(ThSFkOQ~zs*3q5%Udi_^Vz* zh$P04MpXuO1k=)Bu#jX|Oo$LlI)5Mot8Ej+DKh{INr|v6+SFP%L1mQN|Fv>t06^U%A8AYBy*K~Xrx$gU1(<2atDOAN8A z662W1G~}4_=g+^qy}TxtoP+i5=B3nT-M|QeN%X${m%sbF|MXw}ug~{;cQ9~O-Cubg zMHL|8UV8&LxJM=ua(8A#q`;IzjDe%D5CJ$733!T>L-=$WK8z`={qS)ZhoO}UOaM5J z<9V7+)37HCxpvhy&&&Pw_2u<-{cXM8=Gv7-3~`>zQroZB<+|1l_q8YtLju~0ZOgqV zC=uy>n?^)||MGwT-H-q4&;P?e|L2kugqVg1i~t}xhnz8nl&3mx2z$IeXmwWr#J~g& zt#{%8VB0#MhTN=Nm!+wy!ELQ9#htgcrIdoyI`tD0B5GG8WC=iAyKc4h?&eTx2k&aV zlrk)Hx`!lT9LEr&I#|~jC69@=f<(aF&ANMt!-uC25+b^u2Fj5m;W&7pElNnkiF*JV zozT{`)otGD+?Fq|Z(Au2&PaolR&A3y&&!Z=N_kmW0!yHf5)(V2BbB8LXO@^8dtF!U z?m*VCRY#B%CZXJ_uJ=1b9!F`~%sR5SR+?6KKcAk47{L9Md`=~XO##F13rb|}C`b8Y zrtYS0M3_QiWQk(xUAu$VZHrS-ZKY^a!#L*CMbc24A`ufe)mF8)UP_(c-j@4q$Z=hk zb)Maf5!`TDtE$Bq@5_2h!*rS=rPFz;)qZ|`G5z_zFJhTDQzF%McJoo#RIm5>dY|WY zi6YP~5KX7i)nYv4qF|1U=H|WDWu2GXx-MqbYA0YV{cV07WIRuo5c8)`!ot8zfdC;6 zxvRQ)5@2O-%>c(3YIkM<<8(c#A^{2_vbuHcfJn%Mg1~B?Q+|qO?k=nILQ`c5I32C$98V6~v?RMANbr?@V zZdQtsaEPInUe?CcRXY)MwcbsFFiIeP8ZX_{&9|i(H*~M1^zZBK?UpZ741(^pDS`I7 zcyGffZoFLA`)x(y5FzKG_0s!RTVuj;O#QZ%+CIO&N(|j?Y|6wjkubA(S?25KU(=M$ zmD~}n^j^131X4o4wydRAUpqyT(ibAC+G=ftG|x)RDW>kE5JC!j=}5cQ$j!{bF)&d; z1i*2SAiWK{az021DTc7i)%T*+o9;gM(n(h(a~|_Z5**mp)+iK(W!{$ivc?i*9;PIb z1tknQrqL*NWD7x33ONChnltaLZP)(3Yfm1$;8Fj*SF_*fkAMM^2o0Ic*lV;C)}?Rj zy4-+*u?PZVB;t4C;N}LsnwnW9VrBv`wHQM{Zv+S~DaAZdNGw5uJP_DX^_rQgxv8n5 zgEEmDg11_ATfNnCz1#IIj1$JuyMj7Jpxrx<=s~aG8>!TxAA5+RzM49{LzAOwe~7~D z;emyFL?k{S#RD(wSrq<`^Ze1|^&n@5Mr;?#06G{xG;c?hends=?1Om!lLH*unPYhn zao-zv*ri?%$=5?ev;QCA9q2r?Mf+&Fy_?GK(B$xjvxhzl5a3{H4-R=iD|&#Xoz)&n zvWG13AtihV2?v)@wF6ijiZOhQ#yf6%SK>XG(6=6TUw>yOJv(K3fYrzT?C8k$gkgLD zse=za1_R;2sJ?37_K4Wy)WWf!d$jI1A3UbA!EUp5FiJc;{tnIBV@$v9kAvgUn7DiG z?Wf0J7vzEyqS?{6cyw0#LC}spK9pFtQz~@-rUmppO89-u4=b>peL48y7yOkf9dknV z(9*~3Hh+Nl$9#Rv0^dcL4`RP>7arepc&YD56Tpx5)#LPoKfc%ZhR<)o|2`FW0Ci~h z?AU*>2S>z5T<{#7cUY4D`^9mO960J@h66RzEVqe!mXsAVJ(KSDFJ;!97XMT)BUIfB!!h7Z*G{@0)X<^E#1)Rz20=rIX|HE!?gFWPYC=cw{isoP+IuZhVQx`hXJ| zH+buSB%`ZEfWEsvN33yGnmdeAw0dIZI#D^M85z>-5b(UcTc8a0y1v z%~i4bfa`!f4{a<*eI|~j_u9ndmw<+#l4rY{%f!*6j=x7a7w4;5n4>FUMKjkKZj*Qm z^bEhdF?MSUCqPro#W?da64h70b_&Y2eRq7bxhqDyu9qn;uXh&o*^`?eQ-Y)j=B$eq ztGstVi^=*iY_nY%Jn5$fxq1*mPR8+0sZY1YBPLW2H}zCk z!TDjmTv;^2%aFq7eRi8CcSa6#y!s>)GW9?`JDS+?;Q>>b{RbJTv#t1!6B^kt&_9oPdY1FtNYf~%4yg?Vx?fA+= zQ+gze3&+Oz7k;HgKxZ$l4|S^?2V}aZY9?A5cbt_N{W|`|mufrT0re%ndc_}QZjCuo ziSdE2B@R)%_cE$4Rxs5l{c+`q~2m<1^hWadPxkzJ8n-$j2wp%T1eZZN4C1m+G9FKQcxrC z{SnLrs@b}s+`0CUg80R+Dmz564}+p_djLjBRNV&H}EPsl(#0T)w-Xb9C zte|vCb-?SEO$FU%IsLtD@9xj}L^!q4br-lYgBdy6J*rQ>2HN#Ek=dQ!6YJlaRA;1m zIhO)ORq3<6Ku|bgZ({thnynISB6Vh%U8vs)`7HJi#QokH$-9z~y%lhqIZ=2t*CJK2 zvvtNOPH{;N*7Y;cVcTV>o$V9pWaYlNVw}G&- zfpVYRC3Z;*C&rJNJob1!uE|4}uo?()$tpzBF4kD@t zWaav9g&grQXEkKg6Q{r8!lI*J4ic-^5%29Zib4JEGBEF%DBwfId2NgfDM#rNXoprsTW^#-2}fI$U?sro;RBf zpSFf|IS}>{4lkv?^#IHJ*TY)Qg#M>-21fXES&sXpqkkXf>>j?=y`(Q$CJcHp62r$Q zm)t2~nHKXjiRSwY**``F#|NQytG2I-@-sSz9 z&5vub(-h3i|4vboqf;#wF3F{qS~RrSZyk01oFHBH2}vpk=f!sGPLkt>G z1NEI69G4mlkSb*FnW9~;m_lyyX2sLgAz&*T%!YMDnl)7Q)#wfDOSc8}6OIIJC1k-0 z{*JDKiNNQ4JsCX`@){B0$MYwY)2Y5f)DqzS3>x9MTuE-JC2@z4Lf6Fb>~=}`BVALnbyiaRDOdI zZ_P!cm4-P8EGHQYRK#}wXiqDT#b-L{vhrcW5#B3gK9$$Nk~oA6PAOCPmi|)?l$0#c zk{Qgo-u{H+biHHu@Q2Wk4i&#t?l9llowpfeA77YLYq%V8=xFcM1$2Y!=TuFtGREW; z^02&a1`BlOt0<*vpbi2}IOUImv7%_%r|z!)?hL_nl@UJ$H8GAavtL<_!!w;xE|)f& zhjGvP3FEG;hP=AWl4XN4#@}%po2tr|ZWM11xK1wfc*z+5hq;G8RE6{MapVcx6+XBJ~Y?YIkh*L}ocW_Cl|8--S#b<`}Y)|K?)8e;I@i+a??|1Kv-Zpmf~C>+Jijsm(I`)GojCO6fznuX$2?=+9-F zX%f6*odt`ziC)GXz~{8$&)}9_Q!31NX}71|9V`ISlmah>3UevR#@FrI1rIfpywG+WVv82=Ga&ZwCyT>H^LL>7! zJ5S+z^ku|fMc4PX?e}#NP~z<(-znB{ez6t*IX=h(!>f|cNxYLI!Fg=B5Bb%u&cU>^ zHbKtH>Qg!cA0D4gec1oB>atBErXNTz@*~rEa)UonJ&gq~{9&JLug68UspbnN(e5}> z;qxTYT*N~lfH@hm41Ogl{I$0kMR-1=6Wgd}Tiq3gu92gEeuELk-WmocOkm(IXlc1h za0;1?a+zB%VTrOEV3w09hU1JIZHroGCBtE@-`wcQmZda#94wQIM4`2{h|VMgrkvTY9d-siEV~Lu_(HH^+}?d79yI!?57YPRn;*~GYe)?&APW|%9JiMd-#IP zIVv!d?mqotnkWEFLvIIL`$b=iOJwPa`znk^QOH;h%Avo>myboh>93ncAjY?y2TFy~_z`o_cdc zcei~@WYZMi2@Fc|h&Dw+*Gxy|xKN?O+Iu~RLP4-KJoBaX{6|EAyv;M>d2Tjm--&b? zt=59DUq<4fnw;EI{g=>6^Yu7LxJs~ZI;L$x}FM7;1JhzB>sZJjpf~}7R zH<>^*46`M_-PY$upvZyf#5wMRUy_};C(Lgi0#>>Xg$>9VNK1@%vu^7|HvNCZi%o&(=`HOja z)@-4bbO*dPNPX6!rS%O(PP6BGlzs|)Yb(0f(9KjU{Pa&pMa8YkLq-6qvRbrM_C;&? zJwUWRK-c}GIt=T>3dlTCUjiG7iR&XAviB>rPR|d*euVbMithA`sw9jRJm=GXee;T2 z^_>E4(MjvPFV*iBAgK>s0VSzr4GU-}(N%VCciBtbA?!`o>(syqJ6NT*V@gHF`$#oE zhqFx_9Om>NmzWFDvERP=l(pl{$4)-iKF|lXZ~Wj&bX>RoF_~-BP zCKb+pdbDg0t1Tn`OjpXQ8A#=bf98!=y4Ng2vF}6JY0mm!5t67+zZRz$0a_n_p4=V; z0G)geTP}8sOfSNXD~4H{J`<;LRs7&2^VfeA({fzY&3I_u@P&w4&(#dNiqKV;(Q?zK zzsX3d!cZl$$=HqTj$%Gb_n;XJ>*NC%>ag)yOJr!-_H$=1lKm!{Z}k?R`4=qtZVweb z_UmTxg#Bv$Gx&9^!`=_B>N_njV`Vb7=&YA|GnR&{pQbI&nnBjYbVA} zF+MTGR=}1Ag%vYy?d|IweQypatKN_MswFFLy?Z7k?L!D_wk zpxU6Yr5N-IAilF*kDoaYq?b|umiOD|-Tkl|Uw&F|l1Q#eG4_ zU;|xIi!KLEZDfW&2$6crW|5TiGu2y}?e+6dgA+LNgGvI=!z|e)zT97#FJQht!uP5+ z3=RKza(rmigISMR7#6f+teBW3-?<4Ye2UGKGVWM2lq?4h4>I^YaC_As5#eyBnuOC;)CwegJl;obO8m7 zS6_VfV-sUe&3&`P*8?u@Q5YIyQG-E0-3 zj)s#k=+FH*PAyH2v*-URv@VW=P9S|fUZ*~wi_@^PvmY`>qc|_+f^OSEqis`qD7;tW z&&B!0k=8jjYPaQdC2^Kn+lKSL`KRE3Y(?YuJ&t&#>wrLCSS2N4pd&=&^%&-w-!r&s zVNE}Kj6;MSblu@ioX(f*>rc^1hy7le*psC!arzz)2VWxccGtk*=kXdJQUmd3YEAJJ zAoZ2S17ooP$#_*`fAvD?AN~dHiV6PO1`Ha+bjn!()JgR1El+kMD6$9@SWgZE@XiD6 z5*0B%XYt1V2kawUck#YtP%+S8zLoFI$BZANqw9b5W1!nBbz~dybrc-?Hdy8>$0vPA z(i2*Fm=EUm*Wh$XuWA$=?NhL@9+;-npvsj z5ELon-qo-X`_Dd~*#`iv_#6uoKG#g{@z7{)BG5p29x$%W+p`4qM%~Q4Uo2d5SW3c; zTPy3kWJi!D+3;6s?N2_LMty5qurJ6R$BnT6u)K>$1u;p{)cH7>CmYRpA3J>(Sw#9woUk|IrWY%F1SL+m zT|sRm_~3lH9yuTeJ;L}K>}yS6M%+XGwiBwXD!O)9j^_R2qsVG&Ng%+nd*18a`wF=d zs^vM%AEv!lv*J7_(GF${<>lC=HlXp$&rQA?>c_cS?NS-jk;lT9zz>aS1U?_&hQNk) znC3wr1YvNw`JjFu-anc}-P)UwXtYU2qosFVeLz50;k_N0n!}v`u2!!-_O=|O>>q@k z{r!6oAhWwA?##h4Y?6QAgNK={3Apz4UZqNks`c0EKhOz3teqO?ZR2HoG~Bq)@gkN- zPPFnJzv_#O8!N+Z-F&L9uy?o^i5SrgdSQK+($@5BgFg0fQ{Mb_yh7I| z8nPFYQlM(Y_PwVf`Y~~^5W>#;y!V%4ngh0?p6p9_20E6kSXa+W%Dbi@EDdEZX$+n9 zUVMv-!!1o3^+fZgOL!M+u<&qPnl$(ozUJIq`REWMPjBEVeutyCP2yW;t6)NAg1%%I zh()E-FX?wK>99fLqh5h#Ldb9GE_r||MS zMW2wTYqEh+!1re%f*<=^+UV3cC%;UVJQ4wX@U8oPBBxoGsUhaO-SomaJ$L52`24xL zs4%VHUhVU{;Z*jxye*f|->%x~Vvh7Xt#Oak_lytx?9>i=*jmqkF9=fgX>A^TLCN9#YF{Wk{-Og+(23)a&@3KM(4Aj@unwYHn{{u&^gZvU?E zv-H~0g_2e^&8HVjeN;s4Oah3kTTKW; za#YoHR85&Kguc1S%--)`ITwk;pvx_?sYnfwW8h4$Ij~P%=F6=L+7$DExiT}hHNl*( z`*h10(+#g(pTTYQ3+akIoEd!lE{0Ba9^$#lAJ^b{i#}-(RjDe>^|7@=PTqyWObs@s z^766ZtC%+h;PlkIgsw8f6Tl-&rW|48kLC8Sn7Qhp%6@L22(!e^JGEuj?!2z_s;j4@ zo{D~msft4BFHLP}-6V;2oyknl=l$jzC%;FgP9oH0ixN+F)KhiY;yYom00(jn^+Dqp z(ARRd=W_b*_izk1+p$@M?__}w)Yez@Dq~R3Voadkrf`NvP1Zo@WB(1&EGZ@F}* z-q5NGgncn1pt@@7R_crB%$WMlQQ3PbOBtn)rOkv|PNdm8nzB&05cx#a*}k)$A5rHW zLg#<_mpgiPyBg+C?-faQCFzP8YbQNIA_=omr^~BaEs>2imqfdONSI<8lz2px@x(l1 z;IgkJAuG`bWYSAaC^Wx{M)pIV0#RUlYzi}Bw3!H|4RLPo?d;TF1pZJd)Yar%EoQFr?$z)KSmsLfLPZ<-335s~Vo}Q&6gWBp@k%up( z{ZLojo-qn^1Ae#kLBS9AH=Aer>M;{0ZtnEL;x6Llz}~j$5~pWd8J7G3=UeN4{ncMd z7FrBRvMR7#N~|dqvHx1;Q$`%LxAG{LTiN{=sNxg`Ln&KY{hV&fhT9#pk-VX5pXfdB zaez7XKGG+sPznD6P4-aasKvWqwmIaf`rCtez8>|65J42RbZSg@zUC?8&7t^T4YaQ< zg-f*Oy$mai?wQJo2RtU0PLN8lTlR|?>~_^W4FzqIB;_q$Oh_ zV9gVF$ynd{Q*rls|NipqnbyTw%TdwAV9UA91wY?-;o-RR71j5DQ&|X=(_98y0Bv3i z<{0}*hs5C=b@9foEk}FQR9O2c&h}`$Q>!Of5uzCplFiq!e@1}G&rYC1eN9x{wZD%_ zvePNx)H3kUujS;loB+oAW8Qi+;c(`>dr{|zcwa0Y!Pc`|JKZ0F`G4d4|i(?g%t7e<0e-DCYC#IWjQR+V% zC6Y%n{P-5A%>kW9ftpU5kAFf8x$nZEJg#*<2xyLn-RhC1uRRgfU~PhYt$jz3Rs1 z3|Xr8slMavdCx#x1TzJLnOvf+pt?h?g6We3Q}p)S*BHsTzf?sUke8JCc=HkZzN$n2h}=BS$rHSfwA--W{`Kx|(c)m}F$ z$Z;nFzb^46QitDkmG@>HUO3~-^|$%~;S_V7E*;1U&HAGK`b2j4uV{ z)slLYxVqYM`fnb;%i9hNI*JQ@cW(~3tEj2fBMV{Xp>rH31oF%ha=z?G5`Lg3Acko= zN~Vjs336gOlG`aaU8A8dLCT(m>uFe9|~mHCMf!|x^5()Cg6>ss5?L83|Q#8Cr9v=2P@@e z&!(UMM|nHoeOJNHgUK_pHnhb)LFoGV{D#7pv zU3L8{G?spMMeg74P92DjOyb=!U*&6h**o`?Bj6&e^*l*q260pE@#L@U{Pp+eoADC8 zZDL!#5{B9}_>`@fTJo0x!D3c5`ID-W&>Q}VbBwd&%J{{Jkw>_SpxBcd5A_+w^!2?z z=146`&W%K-r)qz=jz`8Cv5|s~&sIEV`6AEW*i-7R#xcd}bVkt%w5*3lhX0XjSM?i+ zi)^o+P^FJ(zq=tE{@ zq8@LZ@Nu^b+WdjjEidAJU7%Y)EwkW*?I|_O9rI_+KhAwYLcz1Ri18)4pUrQk7WEPz z?0sq4;oElmahMYombe-HFX;nGMj>hyzx~Fq$Y3w`X3uK)f3#5ns-WhbGWw}&T}S?x zg{W0$=|WGoOW<*ZMvFw3unSS}?}-qmU~<_jj_3sr1HnBt)$`-a=X^5;>3^HU=hKM@ z&3l*j4LF0qMeKN9%6q|3-B0U1^c|wVv3rhAktIeK)P= zcY^B7CMHfO5hv@*o3&bzO$AJW$cUqTqSJ!#_eWG{uZ+xYj!a9EW?=`_f5)-ZN~CO> zwKP4Z$jb<5Uf5TiFFT!M;G5KIF8)*qUF_`2P~{j)hC~e&c+?~M6^R8;lauMQt+{Dy z@=B;Q)XQY{WczSDt>=S(QL%w0S1j%M>A`{gg^93_!%Kb^#`&0zivCewt;j?C>}gOc z5Ac~wD70n;2aSHhCF>#2s5Mmp1{xW2$%%AoPmX&_)ndoD6@!gcfP23g)d){gE%{rJ$A9Mc zz~;gRRaO?L<93-$wVa~+W`uE@T5VaWpYo+nxz5rnFY?S! z1eM&t^tUyxPmpscr)Ni%pO^3aFqxL2t|t4ZC#uBO`#nc2QerJ8RCDg+$jiLEwvtPm zAjxi4G0M40WvY4=F$yg3>3@XzR*@nqJ!+Q8m_}Za6fsM|mWw~@C+V}dDSuaGT4uHn zv!Qkv^Z*QMf`|TB0-RKR2Mz<32WZ!)&5`Y+2;>?pUgS?xH#Q>l1D7jRvyIG97qJz| z3AM~ZHogsIG1jq=o8bp=fK7htzj_@XuA0XMVW#S}v)->_2F@a(3mLhM&(Kc;qO)HA z=^Z0=Uiv&vvCe=n+bG?6#p2dV=2zs@9k4I?VL#0OsopS^&VM7pn=md&$GvYqtzHYe z4aQeVXDdC$ z&2mNn26-~~&{Q}iWoL2pD6#)2D}dL9*3wOn)v z5#cBQ*7ZO#Ehk&}d94fhcFRR*C2apnCv-M~X0UkdHRPN+&PM$^yr{kC**;&u=IoYX z$(NID;|B|X$@DbFqy|yHq{hPu`%5~HU**xgLEI2SK#jZzd3M$CfF%f@b1;nHP#dgY zgYM2?L)lfAG17ZH7xf%NReJkUUy1t71So@ld0(|iz2%_6xp)-LWeUr!obH9%b*0Moar#9Eu(GZadoMhHl%Q9wcnCi z6kutnEmwHY%Oh_Uhw^|Tr3e$Rn$Y|zW{XT55Aj?&Z1)xrq->8!LZnXn=#ffck&ZZr z&cYUNc`77fGOT*TP>#)#Kj8yQ8CCOxLn#!D&laO8m|p)k3V|XUZB920OxJ(XtMxuN zg8rU?8eb(5u_tH8^-baLYh^ManxnftoE58_hA~Ncsh`hIwj;kyoCuxo2(7>!`hr?& zV?=t!^1H-7nGOjJ<$N&|HpQw*Jl*ccJwsL6G0!WSTJ{Rb{FsgS_wSTcK?POg@Lr^2 zYl<~i179Y}{Z-p5mAAWXx-}*^ohMkLjHA&Ps|MKedT_J^XvjOTM~@>Msk1Q3NU94L z^p`L1dVWI4`&QKqn!PgrPeU*56UhSiyXCx{(A9aO--7Nka_^J5@S(TSG%0Zm3M^n@ zwby>eN$d^qO{1twov~T2S9CUeqvJX&`W1N4KQRb=3z>U0!+m<=IX>8uGqA9~=wgo| zgU!KC&y0ESwJ&#!(t|7)zo8u;5zDR6`CiHl!G7d^2Yt^KVEkQ3C+}$Pb7LXt)z#g- zaNJUhrVDDO;lQViIa#HYhdVb;5`*H30dD*AkbXN}nS%JQp)nJ#Ss;Q9V$U9LrxP7Y zP-qK~9%Co-4gLVVoXLL#!vK9}`b-P!QKHoGPkl*sT6QAZ-g_+9kLpqS(z1tCH)1E*; zy`>)1Ww9rKSJ$F@xqD&&q-c6l+p**InCj{Sl2Z~e>1k~c3l}qoAbs?|Puy4IWIraY z6^7b))tS#}>$Cj~`_ZB3@V+k`ilNRDM*WhRbyiO&SOW8Wzg^}t$X^9t|8%`j#!Gq6 zlX2+-DzNq+S!ytDIvicAS_KXGsA0o(sGhA@Fs7Z^Z_S?UN_$0wg**O5UIeGAoTXC0 z#k<3G!+`}Zn!A$%RX6R&0kKO-CRXFXR^ztM*m4vY{AJAJz+_t%vL) zU*EmiEYaU4Se>K1w;cRl%;H9bZf$6@J0K;|*p#X7c;E}g--Ttp`i2W>%nmKyS*JS5 z2M>`=kXF3yM&X>s!90z1D|^tJbGm@vTIEb{!~TN`G;Qm6ad-^lO(_nx`@*tJ^`YTg z!%S1iWQOhUS?O}^OunIWUztKwf-Z5k?*3~d>L5XXZL!6E7uY8>-gXi)9exjFz86ZThf_KiDkp@!50y>p@Ry_YM|BQ6F+I7eh_NhV8Z?Di) zuwX{u&xP67-JMOOXeScVqlTTvB8*4Q)P$;RdlnB5<$hHvfsdu{PEXtI3^NMyt43)J z`5s&jN*C{BfigT2u!O*H!w|{-ir!0z8po3#w`m8N}NiSko_UwcnGsD z2P%z+cTaq%%2mN-p*!%~-$suE=`0q=5&*}t5i zqL1-z?TR0H8xd&myS92CE981%(u^F#`vi!|(TcTqN3V(jEq6>!f~S7(i9`JG*vw$o zQ>QlPUtl>pIm>OvXt@V$E<(&#(&U!-hF$m)gqkmM-Lx&orS+p7r^>7FW2Us1xFET9 zhd!R2AGgrk>DHXw`kf{Y_j3c-Os1y-H*s&4y^k@sh#oIWqZ z&$llk`Q^DS`6Ex)cYpfC9IGsIXj?&RvGP&P4lmaTzSGba_%uO!>UclwWM}mUaoN#c zhta@hb4^-5#tS4b_tqNf+u(+_UxnW$R7QP`qyr$6&%fC;zeFA~`{_LnW6-|0B$4UP zzi>T0YG)_0<$TjA{E)<{TM~Ts?0rKPF4v#A;Ch+Z0M#>}D;coO%vbKO_(XwTgsy1Y z&%tLmEFX)PWmnM$yFT?nVUd#g==9NwCn0GC%)>Og8GIdZX{x#zS}obtx>R+o&hdT1 zEY+3a5~le*S1u)W{bV?^xru=C=-vXcC^-Dx%Npgo%GF>)Cu5(}jEdNFa7!96))(Oo zn5fys9cZ0}=9bHLdgLqLmf58S1*x*?9_2?@0~&r*|3W#tLt}z8^Y}3HGfL>5g|_h{ zbmg4_nqj776xIT2_0@ZegT9P1G5y$^NiVt%DNW04$<{V7_E|_$oxE@R`{_#AuioFn z39q|%m;bJh?gr0IV#)Two%MOh8~UsTi7x7ejn7CM*8h2$!)p7R_EE6l)R;z}D(3-X zFF&yq!61|OQm^B9c%Ji$+(Lh*W@~CCKc3*IR)o{_<0C{~vcy9_It0wK?2x<p3S$S|?;@7uAXnVOnunt@UCv%*)z&1+4*2Xh&0Gftr<$hHtp9xmnE zWe0;EUJZyp8Y=CD_E(?vUwO{!`3y1YXiT)e^5Mm?QDH-WVSBzFrAqSy-;ge;Io{t1*&&Cgh&X+l<{D{S)6HXNc4wc`W zc73kSRYPl^SdD8|QV9|-T4R_2bhMj<&k}O_$tVfNEye`HpB@hy46Cmxg!7HccGcG; zWy$2so^D}57B>HWv|LD*2f`1ImV;yl2UUtiOXn;wQHR?Xq>H`U^KmNw>LNcWUV@n; zp-HB+s-zJQ2FUSb#^FPy@~{0ST-G-Cp0$@#2D{MS(<$DvhH~=q|Fc&9)`t5mXPDG3 z2Xs!MWzPkvXQvoRnhF>~Wvr+~DLNxr>U||=x=2;aed||9HXrD@;ofKHau-$(g=1aZ|OmjX2ckw1Q5{JIK>ML`t_-qkA z9AIipyLC(}R{g_Dfd>o#T_$r&#dqxMiVg{*mbr{e(Q+|r?@EJ-HJ(XgG4~T(K-WDc zeYZ*8GG)H#TI~LW_w`~gRfR9QPE--MF{=?%-@-a!Kk!9K=~KI;h3)D|7_xd-1AI4I z%zvOmvCx4Qh^ZNnXFpmGJW}B#WK(lG4^-sumbS8pD#$T0w@^=?+=iXc%4jQP^gAn&$g%$P%Q`lsa@@d7h*La<;RE_sK!p zo1VoR=MP|EyxpQIY-lgvE+iZ^lhX*lM$J!hCF?GM=Utec|Rc^M**FefAzi$tL#4yQA)Ic zjdB2zKGq~YrcXE5VFAa-SeNJNG1vNH)t9Ie^YbQSswGb-!4gEVwysf?mk+H)Wtl)Z zJ6*CS8e^0kysKNnL$5Bpe_-+yaG7xJu6Cf6@-{#)ckmW>VFItNcNtTPX(WLJYG})b zCV@W|JlOUQgJORWVfVOS2MC(x1_-_gEg0(f2mbhV>3f^ovn|N8%d;!8?!ksCt5gCC zLQ03P7aa^Q^9ew`5Y?ripCR(Blu>VK5@pq$-tT5$&|Y!8xq5vn-&g{uEgrxJDDd5? z7s-#5(j<+zv*kGWv>pEubL`QKU$ud9e$3R|C%&?hnhgj|l6xUmK>N~g$uZ1#0u~(T z%9~Qa&9LRbX{YClLHOo-CDs58we5|z;V_gJ!%ylZA8(IlTo)UNyGxF^L(}RoKEw9N zipsU$dY}&yvCw|`c)`l-Ra^`vx@Wg?wmkf&Rc`*cBDd{T5hFxEdh-S zE&O5)W*fEp`D;Lho?FCIZ{Z$eoy9~L$L{A>QYZA&AFtJY&?a7tgOetc;*9bQB} zc{q*t-iX-!=ElWzqm%Z&tPkgL!GH{G{rQWeA^tCIUcD!8hVyiLW9)T(Oes+8wb&+{BEmFms*tb?6%LZh+!h1>+i^KR2~P^~Hs9hDI=_@0I-7wqw%M8GwFYMN?Li>RLaj zTotUlLXADC35H9kru%9F{z-Grm~}78s}Hd${F--QrgzF)Q|l!M8ypPIaf#C=6_>}S zzx*i#nEeZ*xfO?R%<~KWq zs3syPBv)5IzUR3K!ZkWcFNQM<{$`A2dE3BF4EM{`-hV=KalMHbKCxrvKG0gaB}rWs zmlxQ>(THGWbZfznoul=2bvEN++*_2|8>-J5h2CHkVGEKiF5lQ%aWt|VFK_OzyITN! z5n}i-gNPc0-X>HFHcWzQ4o|4Sdj9M87O1(_ezPb+<$wRCXIVs^I;~1gyTV0n;3&*H zJy{QK^}=pQ#N3{k7r%6=1A$1Xy_Bh@>POF=*{LmGfVj1s?QOvN`i5a>v@DgAs$G#Q zZJKF5^y7-#fDx z)9F#~wrya`)YTsau13|=Hp8MEsI^gq=38Io%7CZT)~h0|I2=_DwhT~s2E|T^Qg_X% zrByLqgW07g4USk`qSscV%$|1dtol<9CE0fH4%sa?Q#&^|iTP_MxU<6lbnEZwkH~+6 z+s!B7L@)L9Lj*DuNk?bNg!m1t2)`=M^?3$w&BT|W&nxCG0?xF6ZYr&oG+1nGOyG|h zQJ1J{KtP92Ibdoet6TAI${=qm{>q=Ae5Xj9bacUorOpbFOa-J_hr^_%_^uA5-MXfyMB0X>6wl$sdf9l}o=KxQBv*I=UM=Xca`+F2 zQEOxXK>Xefzu#zoQ=f7ZtHFV>$K!_;*Ncf$^k3+Iy{i;?2)r82t#bdVL&+F{#knOz zK~-)pSNHzkv(fb#p5meD=O}c8byaVqsCbIpi}^rPuOuA+&!zkNF=XVpPjUHV;nwu& zZf!y0DP|_>bbr^3D0BB3cvXgB@hj4Jb)XKHsb))~d!b3c{dIuaDD zJQskKJ{0xZ)%z?bO<5=5gdtx~$j4h?X_$uK&I*01aCDtlltW(=1~H1ZU+-e0HA)>T zk?+W*y9C=V8~13eMEMAida_If_4alZ0U3?DMY9us`==jc9=zVZyt3eFEQTDDm*V6g#5_g?gdDz)Ry(hMfW+!q`tE z6G_dkcmTq#Un6%)md!ohQ_hc$^;XbFo&?~Bq|O416a@ODDNqS%+jER>5CpWc%z5!s zO(~k3qd>i4?VhhgALe$wPS4l>h6{d2LNV&sVK*~rz8^Q^wkFtEibbN8iR5SM=>V=) z)VoUR*~=c$H8t+`QGL0B({RS87LFekmQ281)=uYHT_3}8=z}{icAQSf5q8_qxF5c5 ziL3s%Hk`;lwTETZ7&2Xd)R}M8h0u9N)NxMKnaohmC7$AV+;}TJVCpy$f0+v)h6TnR zl%wM)IO;c)T~A)2;H1IvyCLNN7TQXxZx2V)PoN&k5SSJU7Cz|(UXuG3Bb!kt$&-7q zVC_&i@}dp&p*MtI#IO{yqyv%lA7Dvt(BsS16ZRB~Ppj+EqscD~K>SYP?#S5X`Cp1b z3DuQXZ|IWZem^Xl(b2vlOqqgAtUsvHW!{>2M?}Tg`PyG0U8#Nxq$}Y`%y&LU*<k!&*fc6&~w|JK5Vm&{Kq6jiF)7GsLH?qI+!^<#RBodHRl7B6hF4r5z9>mEPU+6E& zy|W|imJMX(<_SnGc>%Xu*bG~xF4l{>=c&s4pPV0~NxxNLn{DW~p^dXMylfqqHux}-9+4i=CuYrv74@L9tT(clUfl5=h_^JY&>XAs zfT|Q<8}me~a!4jvE~#^H6`+3pae1DK^6Gost}P+y=_mNy^ggpBvzbabMccrLr5&WD30(M6ae^2s=LA&1Gfc;L0V9-sE~dEU^< zFieBlEb}(t~d~?r0|W|7%SMCr|qeMT*OgxskXv=WPyy5xgkPGN>2Y zy$PK$f|msaz2did*=Rs{BRWYLxt$?QBDYf495op4OLl|1Tr&KtIt3LvV-jdcP^k&l zyG}Wwkp%Hpp@H4?4`2B@fpkH3&NKmdROox4~j5UCuz zq}`s{U|=W+NX!kU+eb6)0=XfRDz_KuDl=&-ZwOP=L)~tBqPs96RWHNu)Ve?`Ff{Nn3|H zhtQL?PYI_bu4?A#^F$wulk$YWbQo3IcWN{XWbGU?HWBC1PVP2K##C1)R{{V4ks{=8)q`?cvEGlbp zbNne5JO^e9+)nk&sPcXE4=AA#o+ zmb^*JNV&l8o}J7Ve{-?;M5|d%h~YU$aX8jV?K4~Yxm6Spo%qc!CtNekHuyW)G^;tL zmDBcKh%ta(78{%p0<0$e-kiKbpq&5ta;q+i+Wgt|$DIFI8iN#$f^10}I$hn`p|PQ# zGNTdB-DI0Nkn+yi7ubqtt_wEH=NXB-EhHN8cxCo6U38kyit#f}*xm4)|F#ZCMClfy zlb=ue3i9n_ToIB)tIbB-C}OI;7dWXUYOK;_xRjcj5pa`qGN{TApr7~aPb*TIZkNFOoQ+x7JKoSZ)L4#Qf$hb0ztOFYd&7@RkSUTPESAhM z09#1XZyVjT`J;9DPUf|*_}I7Pu~#pK7G=AES7VxZ8TO{8sM#jTs*^E<>(te_s(1LR zaWYa_A%Ka?dURqO#9my5DkEcmB5&w2f@cRUT^w^{e0}LEbaH2!VrC<+`!6s@h<>K1 zV(TH3swQFPW(O}}jzA3b^lL_l(Yf+CEN9F3IJ zkCF}%6mWD%N(lpzl9X0L!BGOEMhhsZ#FUW|6XqCFqj~q9{rx>>XFK2LzMuQPuFrKr z=8T>Xm)84oJx!HXe(m}Ay$~xz$dAkI_5*IQ4YEK_@(UJ!SXD(<==vb>bq~#37T?Wk zu*$v~Hog`)y!2c`icp57h-9Tsi&GjJg{DcXGgmLGy*OVCT~<%82AT6V#o{1-})^Mr5=dFpSGoj6PX$s);NVO$DeWt_*f=&dj;vnP{K-NYiTlLHoenT{Y~V z1V1D_`dR$x6L#(l{zbZRa;{wt0{jRwt`21~lrudjyF4+AbF)vy#bl+Sn zHsmU@b165DddDz<>sZFFzd;U4uqT7<^d!(1TN`;j7X!=7b1Kq85VE5oLCS<~ z{&L~j1NDn8Wnj zyb9xN)4|+S_~#J&TqzXl-8F!TxChuu^tVu&Z2;4!8cAq{Q7Xc(9^a%=A1WFnlBJa_ zJ~p~%DCINIDlysw*#6P#W$b03FAnECSCl^1u7qG|~*oNUo zjO&Y~iKh+dL+tM$585RvTfDkIEMv@(9pCfUvJ+huOUX)#lWfJH^cbsq@`SnnYAKV~ zU6s`xOG;X5=H|Zx-+Q&ye~x&#G3rNaBGHsPKMs&Kc&=vLbFsTMu*GXICCKWZKQw=@ zsm&gF&w%$whSng9v^3oxbbMQbU|ANsTdK4lG*I?hPDTJPMAi<|R9B%Jlc0CX3jndR zl}}yLaZ;4!NnzB_R|U@0z8*TBTwR9X+|riS9lJY=s(6KEDH3}B?9@Sml#1UaSX)EgpH!czU4fw~J@&y7+{e zoZ&40(Fu9#lK0c9P^hTX^y<|4@(|~K=f&BXvs2!iUFVBKXUxvk*^AS{<*S1yeo4KX z-E&CKz-hQ`vR#V#E40*YMtTV3{S9f#cJ2coJA6nf4zmIH zbE}lUJfoe4W&l$J{im1SLX>DN?xtL8XXK%Rm<>vBne$e=GKq+%<&BC~Il}uyjFkMC zq;>s>bKDtPenNihR{{@T9Er3yAxW{`0ighJW`R}9WDrs4eoDn-o=?uFS1+D@_K|J* zh!y)d%O-A~mxn7-wY2ikr3QpLYpVkgpRmEth@bD!QLnH^UYy%6%iPeVx?Ytd-I!f; z%j0NXxiO+;iC*ZsK%uaF+0OTS&umq)3J#SgFPf|5{J=nO(l0yv+*;DhUWB5$>iwAY zEQ`%-(VT2qXuDkkWawlsYdAnzmAU#eJ6!L5Q6O6YauYdsLzYpW>oWR9s74@<@cjv_G$N57}`kx*@|{Ewf%E!uYb_uwe;v z#>>(RttVkfL|@-!I|b?nMIqs89VLJ9K|tZUQv?y6B(?Zfl88ZJP~P@8WGP{YCxx@Vf#|sjrCa+;oCI1Rf>)zEZ*Tzk)NvpR>s9qhbOPI6(UULC0Ed%Q^z&dG>)&rT|gtF**@tS+Qyd0R%M9*w`v z#{cb?#Zh*)CYLLU@6yb4mF|b)-&%P)3Sh+RiFiid({2RF_0gkEbkL38iK{GO?EMsS zKnes^T)|jzGOV8i9v=j@H|Q{a(pHBj9JMYiC45R>+pq znMPs}_FualUmi|55*i0$)BG@w1^0;>E-@p#{oCK|ysNxACh%BNJ+bFJ}TIKAyZv3>GU6HeTM00j&A=h^Hpi?NV?);!hjCOx0$ z>)SpHuIw*WcYg{AVHL-cB)0rj($~ARA8r&Hx%swfAGKlq3GJ~0C8sweVSbP=bn0=% z!9O-r5BjtOrjA^Uk^rek%GF85YR~WyfA!z+qtMJW6@IKSZW*d|J)e>9Jzfq76$~&_ z@mYBKUJdhNBmcE#u18$T>`?IWVqnyEBh>bWvZ}kj=Pn%~k2TdB{^pvzYBabWDn`8< zKPIad&V;I3u00r%FAXsx4nI||ilFA@Ac9bYJ402u!WEACp+@YALnpeftnwu3ZGa1V zC7g7$+T3aigUO_=wXMcGQ4Cot9KIKKq5DQ1^VB0Dm5%*Y(q7PmoA*!KO3}HJ{O=hB z{13E;xOVj0W{Zbd*V{MziEl1lzJb9>%e*7+3n}{U@pY;mj~Z6fm}t(5j0U}{$mR?6opKqzX|rJigA#cZe3V`t_!7$iW*pYyXkI!@Mz4#0(*g}?oM-d zR%cx^_^6NQb}Gj9q*%R#f?7Rzjbmq+1r3l=ON*eU=cZwGS8LVZ(aVDB=QlWjkv*op z$7y-OU7~cTNR~0_kW}B3;b#LMHMZ*fWsa#N?M^8iA54?Sy5LNDjq@=2$j{q}Sy_J7kqkc*sH3b=Q(_sv$!Gt^O1mJZ>IEtunb$KdT3Chr?q%-(Y1dIa zbXO)II3WgG!1^AP3#oRPSbNSrWWlXY-rp8WYD-FZa*c9w2CxX7gTu4`sOR&9!Ih(%olZXn^NgJA=nnJ{<`wszD5&FDg;kB zBM|a@>-Xmk4YuJ&!lUkMQEDjM%tW$qjvjH6 zkFOn;)w$VcD)*B$bVkXMm>qJ8TtHZiWgba8pwr!3`E!Ubht9Uva|n z_Y3vDqnh~e>h#^e)`RnlwEPGB;ro?yoz_-oV<+xKADHlVEw#cg&EQ8NJw3~tXYj3U z&hH%`v4RFR69Z6&_u90%MNPolv|KvPcONK&A$1_J8F6)acsg$v-#b6g ze0`Jp)>I{_D$w3%^jvwld%1ow8$d4@sGRP~j~*V~l6%cgZDHvCHote_8w}(h=!oF~ zTyy0a#*pv;XEgrso6q9=i3i?gn2`FwivUAdlh8flvM;HAR5kE+5!snaa&v!O9+&hdu zGKGmrgz0nXOqC|lJ4eR>gf!C!c{k^*X2k@-*C#yn?>5)ID>S2^Q~&`Irk1n^?XE)< zT6_|wHs|eY(MmBiZQ2$@uXz=vy5RO@;`6S{R*`TOd3CC3-2T?+M!@YbP%QBAJi8lg zVJoC?xj>)&1GD(uTIs@ijlUolz>{-8)_q~+)vL(}_~Lq*nsvcP?y zGjYF@@cUfomX4r~he;S>%wqyF_;@>(8i;R_#7Cl?d!nwKA_Nls*`%58z2c>4tK-9+ zITBki(xQghv|p7R$tdCJkCMSoVG#2K z{ml$07^=?0nJQH~b=F0Z!y$?R{&t0l+%cZs-ZY$X4NGTDGgx>uStCOhueL65hWANL zZ(tRoyPp=U=X=#n8@-Uk!f-{l3LW%IFCy8jNjf8U%2>E$ewG z&F7Nv%mdOe`V4(XWwzAnfKKF9DOvw=vQq z7Sc?3`xai448Qe}8atsJ^E0+}P!c;iM4xP#)50FWwuSyYV`=z}=g-5NRz%R~^mN|n z6U_57ta{Z>sVRM5`JMc9(PDE0QI+GSI)#F~rOmlqgh&AmetzI?*R74L$GlnXx*s}j zN(_8#vvF zHoE zwdkbwT33j(ZGJ3Su#qlEDNCB?;6)Z2;6CXNmI=%9v5SsYm(^?~M?~B27j0J^N zm1eEe+fqs|MBw#*+7;s3>#oh@C&(wrPI(;PIg|Y6nHTWvKZ2gqBBufWrrr&%pHzF} zU#po;=u0e2CZ(jRCM3)m0)EWxD=v}?3SoP~NL2XS{*xP~x5X=Yv&^0+sYdukmK7&8 zGqSEX>do6Xuv|{jsUoNVM0sE#2tKQ=i=43@7y4)uGZ@od#EADjd< z&#xzWM6JlW1N4ol5}5v}N&Uzfu(p!nGJVpb#bmU;DcCtY8!w`UpybctUZ9$pZ_=^v zQ*DY_XQ==h|KH)INe4XI4$ouyjjgEu87A1x=V7KWU4 zArtY#zWjS17xnP~dKIoXS`b%Ph{j z+Ir#oRlCOp7dBZw&#MBn2b$mu&Ck0HX2LptbQMSlfLH&x zv062Jm&?HaDRxD}N$(Xu(}A>ufQ?t46GW{9%o6n{4Rj$GdraY#9w*okW*Hxx2A}`{ z40JRt<%x^~(q;T+EW&XR{_fy(*CUtV;rxGkx_I>h_p`h34HuH-9J2=>2fQ?b?!y;k zw&ahcAaG14E8lVBx#~@kokQ)XbR|im%WGn8ovI7)wxjyvkeJnOb@RbY`N%fNXdo z?5+#-_E;Pf%Ks$|bQudM_?A!8shj_jJN!AQJd`=qwY!KKz!&LMQv-h@p+91@MoyOb z$^WLnwAyooCNly9R}`eye8#hFoaItyf4bg97S1o^%?f8INf_mDXPPZymb?g#<722t z*t9egU~C!jl~jv|tBzbcf4P0s5kSX8qJM<9woY|BpJC^bGdwt$NLx}Bo4`5kbVrf; zJ>}*WtY|XRG&=y#0N9)mXLaK?xo$|V$ltaid6HtL>d+fY5Arci$a{-yjRlluvo~E0 zv;=2QHv+nsCF?Qb#U>xggijxi%$Ho5Fj`k3o%PwX;BJgh?6Vr}2~pgB_KWt})oT}5 zQ{-t*QsLay@u>6V9{C=AXhIEf#Zj7h-dUYjy>;{O!ELEE#k7-)i5(JQ>Y+ zwAKh$T0nCOJo8cchj8Pa4vFD3LLh7(^X_fP!A#c-_Q-Ss_YS53o0N)mip@+m$^`8) zK}vUn>gg?+lK1Vl2XhvZ;@7{vUzg6Koa;;dpz;%1Vq3u^(vL@{;as89ETtt+;TME( zW>R^!dBC3#A9oQjl3QNq$)I_FNk0Jay#4}3B31i3E9E^qzPvnTB~zp7m!s|N`50q6 zweeGSJ=NJ@7pM9M`$WvydwFN=uO>2ryvEoOtY83# zeiq~y(q!|!Un>lI5L)W3*K6{9Y#}!7v%s=5;4I*2O#}K}i0oy0C?U6Gh2QvfK`)Bu znSCqZXGnM(TpYkR#hX{x`^b%08;N9b>ZM;mH9vpkKnDUW7O| zKRjHs@lZE;M6LN)L+f^ds6p)_Y-e=QAsI|hi6$$2q6qMh$iiS>#|V6i4nhtStit-& z14$O4#bhMaz@5lHW5N3{4NFqP|3jg&YmoEdg;-zT`eh#?=46MzC>L|$2sAe(pmVb9 zG0RKcSLde}!QD&Vhklw45f%b5Q)4sN5Qa+0K%rkDCSzkt|Cva{EpP*v``w&!eUEGE z=zqNrOu=_8o!P;YStNvO3%~qs?HJ!jd-Em2pr)d)ZNrJLT3obp%lr^dIRjN%3`@-q zAhbMBK?lm-={Dmtt1`tet~N;O=<|cfu-I3Km#5EUG(o z^8LEWc!YwZ&a`J2tQZFf3p*W{J}HpCufb|>*LgP-9L+OXEyH1;ZK8c!X~V8?u7s*5 z6(^AlYza=E@`*5Ht#aW?lredexP(s`14~L!uT+u8RpOt>L9nCyVfxr1vI6%)ZE{qm z9?hLlL2EOf>*ViV^qh-KT3Zc0Q9m!mM!#wO6sE-_h}gI6c9@XDeSF-vsN@=G?XUY6 z>FlX#5gx{tX`$dD;o*1O{`|RPXDx$}FIzB>@H)d>E1(t?$^akr(l7d4@q-F!b#+;6 z`b3T<^jmV0wB?@JO#Fzb(RG@4G5IEI0?}6+={-?IgzAd?WY6U(+-W;QbPSo4SU)P$ z(}O|bL+r=KQm5ru$U%;=eyM^wkNeB~?h$K7o0fJCJC1l_-MG!aB0CFwUIlJuTih0n zK;foONTuqg?WykMOX~hU&a@^P-5q^#IvVWcI;*41yv|S!D>1Qnz8S>x&GPZcfcU5% z|KysxoL|e$T%)g_NY=)8bh2f@(!jVcRYjbVV=eIoM{~D@q(NYuoXA%SzK4P#k5&jb z#OWJ@D@0=3=E6&foUT>w5?q{f156GGMTf`wMfswcP*GhrlcwZ{d(dZvRhG1mS{tTf zVy2d`=D5N`kGYw7Q25c%1Qm66E^0xp{$UqIt50g4;H#Sj6?xUHaX zp323gL!KJLOFXnPjlj{L3U30^+m?MjC0gY1d=ALDjS!5TqtyU;f&}k=o$n=t9FJiC z+75)5B>JVpkh=i&04hLQu~{2VbSA-?z@n>=OnwEHEa_gkUg$Gko} zS*-^sQT;fXuD0AeiU8?S>SQM+AdoHYj+^d{00Xyg$rb@RF7HIdlGy@16s!oydmdlK z%e?~WM7S%$@N*p>3)r+a*FR{8L27<>%5Y3*b62^-nAdEEG6QHs72x--8N3vuva!cu z&!FqB09~pC{Mp6T(bciQ1O=3hrwoX{v%mF--V~AY10~>xWmp}=-)WuAn>6h?JKwO}JIB0e zs~i37HvvLuzw=ZUYASFvR8HT*9_n%|mU~|NJvRp}%<3wtwosza6nV!);b<)W?kF); zd}CB_z`F5mO!6y{dn(4&gKLT=YtPxfX&Gcum&x1sk|f$w-GZ29F)_X4_McEJse?e( z*8Nw2BHW=G#+7G6$4DtJ3nB7k2_~gF0~ipkUina)@)+|C@`DEWEgwe;R({g6-0{{H zvjil|cM}C$S{PO;i(Gl8%Kb7ev(_cJ8`l5H6_v)ZF?c@oot@_a6SiS?`T@VgK2|H1s>V$YOtWuLgk-+-B(*MJ@Da{6 z09UABl~CYgNO!R*@%@I~1^XRMCR$u0k;}ZW@-|qtaCl2Y@pI`g>c#Z@j%&tM=9RF*1 zaVO1pO{imj_HhvK3)fd^AvT##p?6*y)UO&Ep?O95-(mzko>3&{Q+yPAsE3?ytQ+dr z7%>Xt(q&nF4#?47(0T56NhUt|68`E z=zXC-uC{KmtI2l{(y25|@7oT9Ty>c2aaG{1_iq=$ZCqO`6pfc`zdRBcz z{WEO^mbTV=-_^(6UkRL2u{@82?GGJ$=-E4+`dg%)u0|C(vT zRQ(EAd(k`M2l%a+@dEl=ujj`w_kiZm(Ua$Xqpw|k3|pdp@ZuNM21&8)uipNXHkM`) zY`f~Ob9wKUL0D6Z=@nl2a1rje?FP~U{NC)Rzl<+mVnsE3=K}-<*UfBxTspXJ>QHZj zZNAr$+zE-pPe7SRbwcO|aAasODa;dZE}ilD6B6SES(p(#58#m+05}Hzt_($bEavcqv%i5iR7V&dz!REeBEfik1QLHB?-56p-kbDm0)6CgQNUc2eD_ z-LlVql+z4vhE`5;zK!sh9l@^iXbFjZ&qOD!M*`7+?)fHohf*&Xx__ZV1wY~)b~Q}a zzz2AX#9_~*w(Vve43&x}Hf$xBmv^o{wgz*pE&V-1=1c}DnR=8tDt&gz$_`Ze>c>BU zTMghg{AvK{fA9(KB|8F5%fn$wM56D*=?wD@Jx3Lb@bIvb3AZt^tWhXfUqf=b0MR>V zVOUz_YLv>Uo$D$wxP>QN?qdnvOK~yz9V&<2bx!%@J`zvpJ`afMnLWgjFevQ!6r(JK zzQ?UvxPR-QHa=fV2NX`npeaBnZUrds^ywz1S6+|)8Pl7&%#u#*E#WglP(v$%c#`t= zcVR3zb4houJu}5OtAbVYFh|= z5xfy_S@ikCTy_CHLZb?jHT!y(JVUE({ZpYN4gEl_MhRLvM8{6>s~Zejiq7?f<$Cp= zo)RXa~xghyiDwg zJUi-;9Q~28d*MOd2lgs9u-W^uO>QneZwRn8_V7Yi61SQhb{cTGxE1uvuz;J~WhIy=Fn}m> zvh%;lDTjp0w)kC#Pz(xg@&ZjJwNH=V%{9aPa$_s zLNhn^yOA%^Wzq8e#MEnqQB&ZiPTA}IveCtkH-c0w17x3blLIyoKJ_JgM7TB^q&H~E4@&V~26o^m-aDkJd zWa%of{w})S%e%hz9R(R~;;D!ugQ%A>%DgD1Hzs$X$Y$#6;y5JF?-8+T z{NVRQ;~aUw9&{>oX?0G>!=mb)4Zn$pyq}e(YVwLlD5{k8EL~TCd(-_Xn0C+aj*MOv z%uN_RKO$=lAZUfdFy2gy@0~f~&Jz{~JA!K`zf|Qo-m!h2 zLzHPIu6q6%Usw&0H1?LPMzj>5yB(#j|JHFTub;y5a9Wfg{KywS&PSRLmOMLBCE{;9 zFwt3A+9uQmd+eQt80Y=c?{G8Ik*lrs+Ml;{gL?qMg462;UbABoN~9f%KNJ!$=3CrJ zTN|M;n6|RN``<_mc0(sga81}8 zb|8U$h_E%MePsR5ji_s%ns4zad(e|l*VhsBVB+JtB?D{nOH|Roahc{WNRw~__70Fl z)pAT*%JL5zyBmW3NnxVq^8(v9%)hjgy{?HkT2VPddMXeeRO@^ETGl{YZ$?5oTd$;CbZblSRhuA{5xF#HvO zTMBAY5-6*XZv7B>*CLE3QOGol0m3d#-tCr30#?jE^?j#gr7A&xWC;&isYc&mwWMum zxBa3it^Sz7{>IwQiyp9g3|dj_+0VZ89hH!64Hf72+TEdMGgRmO|NgUYU2*>T$v9bNLG%jj0TzCh-etL1_7-gPzTZix6*b);yB zO7XgYHjxb#!uEFr|31xIbd2`i`}uxmoR4Tm#~<^jT;f;NK*-gZ zEF0k1DMSPohY&t;N{wRRy{4M}tI0i6pl?Q()GL5lmb+K^EQ#-sx_%acqf4*kvieegE z6ahmb?KN0N&Zk}t4z00FbVY^X2#t7c(vyXU4}L;drS*kH_-ogP!~gxm2~92B&YIE; zp#R>-_uryKTfsxZq2Jz8N|+!8h^E)B_U+-4V)9Fcz)%;&oI-?|KBdKNXUXZXY@fejY>gA;?Yb-+ulO8p|1##Do%1`St)2xQz zZ(-l(?04u{wWGUJO)DP{4sKqU42Xj;m2^{n(YM!54o>z@e3M(>$U9`EsBrFK19|iGXFi)Z(Kw-YV|aH9x%$_MH@CzzQ?lnB z$aH0!4^8JUzp8*St;rQXxSe`BsrKTO3~Ji&9GSZ(OZA4avc9Qi$;&aqWzY=KT3O^$ zM+kSm42eM2+#Q4DXVL_MH3I*nqyasYDT_?n8=CK1JxpSG9O(T3X&n5}T9(gyT^gD8 z>&2%RXVIL1d~wEf(H@7PYR}UEZoN#43Ac%9=n+4cE)evmtOb8+JuC6VU~nKqYWib^ z(P01JPy%g#Ld?o2Va~2nhyT0RJz^G_;*sYHJP7MXwX=x!L`Hv43@*k^ldIm++mo6U zkVgmgCw?oWFq>=;tF9mz@M*m6!P(K#sQP8(-K+uWj3H0*v$i6(&ky*0_u-z#h0E73 zu=u?^azpjtbuUwbme!x0%`%Fb^h(}>OcdBNt$|)E7EDPa#3jy{Ba%Sw9;FL}65t>f z|0nwi;MV)BoByCI)G=<0^9cde0M0&&!Z(YVq8bvKX^q#yXc*||2%B}FSeB;%R158{ zCnaS?ci0+}ws^Y;DBvbg4u6Q8>z0GRYV}g9Z#irg=n^Vx=(vaXu3wy4fKhS*KZg0% zEizMnU(mk4F1N`}qs=bp@sZg#ZghU8D06m9b&UBD>d2A+beZ$5)lmestHjtJXH0Jq zYW3|fA@* zL1dYMziRr@rp;Q8s+30ep$>`u`Q#YVg?p&OZcD_7k}RklR$5)u<>Q;eBYGA~OG^5>T0;uSy-x>f_ls3;@GNIk9sWnITq;Gcksvk2YPa!S z+AgLoPchRxX;Dst6_cl%Y0Y}Zg%GTu4?35-TE{JAOv8aKrBLNrO5n`Sh!7CbU?r=o z3(!7z-6k9F4bq7&IEKXuzby!k(J(Cfit*s_1aQcp?m9p`H1dc3{U7e67V3ppeC^X) zAAq{-Zq;}!#P)2C<`X&Fce#@U_xA6G8EezDJH@hb>{$g(J*$0vBk+)@D zW+i=I{})*@w7;2i16Bl@BM?)hZ=@Xqj z@jPj1AsIm5x3G0t5xX<9Pob0T4G5YJd{no+uVZJ6@`h05Z{!WpxMprJTU;T^PWF9+ zpzM=hzXc!+sJoe89PH8F=%hO?g3oj?Wk3UM2=2wbcMxliOZ zZ5P=`AYevoTWqbr-sZtrOvH2k18U{q+EE>K58#B0a5z$u#O-p!bFoE8*QCfMVT!(X zn{;xK=j+TqC2kxuMqStrWjCpIJv@}zSP5L!Df)_TIjlOaJ(m!TI@wAG&*iq)jYgu| zPoZXoM7XVuuB7Nfgg3GdS?@s`JtA}8@avbPj=jjU?jsfX?R#GJf*Hd_iQocZu?_OD z{PtS!{nmuY77y!!f01hbpqIWhefBzpV8ZNTLP5Sw>vb5LG&P`|9I{%Got;$>Y(-Fo zG#@HUk;u`(;l;#25b}YQ@06m z_mu@N*>^rs6=gbZ{5lB?KcakI7k7oLGrtD0)z;iOs;tZV_tz!igU8BS>fYvM+_Db| zmv_s1F=Dz(FZ>%O0E=RWz7b71O>wAlT0`k(DH#In^~r3LSrG zZw1y&%KkFg%5g4D+qIbgtD}azo2H6SJMySlJ;)9$FqwvOTCwW<@Slsz?ggJs+AukuhEy9`4rUip!1_ zZM92roex4jsC`gKjIJ-&Gz#PCi<39~rCq+~*2OEZx|LR!_PSBPIa2>800a~(N9Z&S zeBf`jNi{+g7;Y+acn<+}@&mrzH=htWnA&=#_c5vJFYs;X`1ig70H7CT_^9EIy!;3M zg}-{hcG*s5nlIYnO*fngAD&MBfJM*5lOwv5b=vG9I&u0d4I(za{BXxy33evR7=9g@ zk*7jT;0!u0+MH&92ms0`qX1OaNcFX0$^6scOX{c_g-H>Kqa@$MqwSrI$fTeYS2NaI zX2_>eJj44Z=2aF2lJ1HI1|kazELw#f+b-fal+T1137Ln<5u+=yqK{1f)BKsupl7@k z|Co^KIl$L=|EJyqAIGcSXBvfk^FGO(og33E6(MI=#Wm!3mcAw+iaL+ZS$kLepe0mn z=iup?KS1N^ADx=UKRqrIMHVS(scl-AhBI`aNg(c-;zB3?qe@m9b_jo1j>?Dm*bSir zWlKcT*lx!3mz~w;F)M3*>4gj3FT0uj7v4s(Mp2?11YtitR(7(eWA$!Bcxgk2Q-6Nr z`MVpWGOYRmFEpy`0`d7eq9UJ?UI<(HwUhu(r%z->+W`2^ue0=VMZ=cq1{MT=Wafq` zYOB5N_s7cp#ZPu~Uc@9)xbCCFKa7OfFvRNB60ZlUcasF01hlt~_cU$PQ&fiHF+Nak z>6lD;`fbg40SI`P?h!U(&rGksJO|4b=s8)Gc=6v;OtUKOJznn_-NO|>hM1p+$tqr| z`q+WeJuWSQ%17S?9M80URXdI;6sgjM7}6CqbOcj|->XUerB`8Pj3KzTMlVLG#d4tx zF)<%JTDZ$Y4(II@^!u^qCHVz@Jfm_P7K9pcdT3an;X+|uU<*)iW;1?w-~GATwLf6d zncwmltOI6g7FI>UHNH6W#xFtTYZ%wqn&Wi~+4SB&i}$#1$=?%UI9l=+>##?nJyE;6 zz_@XTWI!Pv4kxvIqyrWFc2~T5c(v_(Re1H=+0i7g>ULywC%Gsyw(++w_Zo4<_BxJ> zvjzT5UThvey<27gag)TEPgKH6hs6Cq6yE;BR%m0NxV2HeKlTiIoT ze6jxFDyEiRTG%mhFH-s9AV4W6QvAg7`B*_r*PZ;(=Cdx7>r_=_x#|4y$F?tuY2df| zz^Mg?oPsw9il?$9p6~C=6IFB)gyK7o#edl3|Kv@Q>9}7X!$GQC^34G-HMdsA%X&HI zA?muVfST_t^AmnC&uGQh^mqKhNAbT>O<&9ZC1G?nZ{LGKcx);!V@~Jp)>*wE^MG>e zb|6iCEkz@I=z?0IDK{|o+sIUIplM7jbs0r*vrw8g3($f}S4)mGAO87n5?9FhB5mbw z#g(5ADHd4o92HxX4XoWupjg%DQfe2XWDuq#AKSM@pD;Z|FV9uhczvcua5kU#e~`IF z`}ns}WY&3SUiB!nDb~+xX_<^O-6W51n-0wAs4V<2h(A@4Jh;lm_L8Kd(`c$BSFSES zcy#SP+_6LDPNU*Wb;ltc#2;M$2Nxcox^g3T1tp(tZPLbreDbM#5qn9jOu17=y% z!^p^Jq~E7}vjrQyLWlu;#&*o%o7iNZOQ1t%Hxu>w8$U91_Mb(mZQ#SiEWRSlvk|4&YY1nBZHu zmRThuGLf1cc)PvG1P6JCm>mzF%;LUZPCgjBaq@@Rdx|B71;7OH4a4i*jXS>6GT=&Z2xgZpCQcQZClV4RtQ zMG1@jd<(?@E|=Qt&G60eX_YzU&EQpemRllP+=(+e;VsZ79NdfQ87V(AxGL^ zf?6wI&UUqw}S*28fMzp93%` zL0P`N$wje>mM6}h{SKb(IA}evCI_FLguJrP&1z~R(o}VL`o5+R7ULBIODAe7xpV4f zmxFL)u-r(9$smWu;K$VW*+LR#T>bXm$V1|C5BY+EZ1FjK((GmM3C%c?ojCfz_^?Bg z;y>gC0aY)`x@Rsa&X_4L+~+V@s8*^sa1VSL)B*S!{?K>xixD2vb56?#{e60QbVRU< z*!PHfJ-y%7h1RZ!-1GB&03T)W;ObQhlsu8E^#2Xn;h|pK#`?ZMcP|Q7%t2XK$BGnl z6NGe1twp%V9!05_j!B6$Z z3uIqAdZ7v^Ly@5u7pLU)3>F(%YL$c7w5MSdIvFMlLa#1Mua1*?uAbzPH_fCM7o+u< zGg8FMK`X~`K)=!WGg%*vpH85nm#(sU2QI(im00*&;Sk5Lz}!??mK883OQOEc#2*t5 z`&ecVx)_@QRYP%>rSMv$swz4mT!p(o=<$apnaD9AR79JgJLkePxrlCA zvU*jKH$5GuER6$tWcGhG!qh#tuig@A3fnsJ9|1&n3Q=4)0CCc4wASItcSNV5j}-}t zO0LfKj8qR5I=j(MJuhw~8W^VdFh2~$qdT{MYPa&_BNZ(p)g#URP=_&)i8GYQqE$6)Snibm|2fGO)ALM-E7 zg;tdY`SdEfaZ##VgGmV<>F*Rig9pp_`2I?(vorW}N-Ehu1iI*OdbmDXYJE}o%k^(K zn%QTCm0sh_dok2(H@?{ur~I#PnZFMg-5%cx8_Q2S&UOinnO8XV7wM!(7!K)rovI@S zv28QhUJUZ&*9>I!&amlZqc%$$Tcip|lc8p#`-FT4-qoHBToCE!Z>9jfD z2OMj_5dh63eot&JE&toE%>FASsU#PU^u=(P%Xr<~o?_YT5+!JOcI8inz{uQ^+%Y(d z;`~hy%`>e=Dt1+_-+eZ$k7y%4TEey?err3&0$Dpy7CA`@PQ2QozVGPfpEG?U$hOk$ zqZM!dou!F>PJNtzleGseKrjB6%7+Mm)v>Z-8icohxlWYRMD`l@>cJ5Ljnmp|A!F(2 zQMHPP*a(-}<-Ky|g+GfXKhkPg5E0kjx_SMzYlQ!eei|E{A4(^B)exg1IN4Xqa^B2Z zcHwaHr`fHEmo~6lZ#jK)!FT+hzGf6+@hB$h#tBg4#*cGXKf+!5VbEfa-#Y57Z{+A} z$}Xt*l)olA1LFv4LQVWu<*vQ(C@K^3iw-AFY;qZ+-J`>-zUqL zy?DGo?Dq7_+V>F0^~T=>ixGN(SKHQzTo45;My;$CrcBR5)c8sL1%%xU3|xM^@PbdB zN1nIg?fv_o2|(`wbDJjUd+3Ysw`!`!!EmnLuYj*#IwNi^NO&kPDXt#`C_7eBI@-T# z!Q;ES#~%RL7-VHXQ_0^0>keigZ=7%dk@ojwQRCm19I+wB79k5JJgQx_KJEfDeB8oa zhiM6c-uO+W%HFJ=$kPLKJ8>%gZyJB%^-1V5T@B_eY!lJU`@e{5!h3*8K%Dv$;e6jf8+kv{C`9oONhP z-{luVS^J~6zP^9o zaHS=shT{DTg~<7O61RA&xz%#@9X0?TPHbrw;nlS=6kxAul5L7 zvLD{+S_T)Y=H+v-<#f!wUN`CaPYV9ETbcV|T+!j}k#9|;aGqk~>~V!4TVl+kO-}3J zU?#AC!cOsPkgLS6mS=i4JN##56jWvdOSJ_my*0(;Xl_=~c1PmFCtTmSD6+EJ6$nT& z8%J1I(l%HgKmUZ~r5VAI4@49DQsx!t-A5vh4y;iTqbi7yM@C!KZWBqrH0Yyj=c5RL zv!wQA>(4+zeT0R<`!c9X>P?}az@clEjS)DNm5K@#6_P?B9>IgW|$i$i#`EoRqvm8DqijE1-&)F?Hky4F1neF!h`Q|?d_h#kq>v|T+19* z*i?ZFNwGh85E4j%fG8tZEC=cgL{)vs1rrN2rb z;deE4$kjF8^o#<~fBArzF#8K>34s3t1TD1!^=_+DmmsfQf0WAS>gcxRxx=#yHGR!$ zfQUhg+36n;X5*A_#5{HL+nSk4b!;rXVBUIdv0<2UY2q}f{=>?4pH3P`pX`Ah*73~O zWeGxwjERWmjc$4Jn)XX*6No>sw_SAZa!jmkg(({d3g(9O>pI% zbbky&#SkLzKr3eqAket6Pr>BesyX{SZD6lRLcjQ%n)@~ix6B?=n@v|DQD+WkJatd+ zeiHhCCG)x`xHIBo*qVkmTQm`fBEy^F;4@B1 zn78rHf@N!FnXSxY9j?Dl>@DoZKEgi&QiH8^Dv%+$w^p@aIpj}8_8UP;P@;AgoDu@I zWvz&^KD+xCo0YS*RL<1+voez+!AwT zIgL}wskIu!DC`m4^m@O&-`?-_E_LL@02zTyo16CDJ%SK8_WU38D3r!&N<%@BJPkwy zge1&ah*LS8%lXXA(we&g!hjU$y{DW@N)wQx%V~VNJiRz1L>9#8eO*@V+Ll?nAQGp% z+5QtEKngbuM+oc9!Fs**eqEREU%&t5Z@>KY``eWy&$WNPv`fAu9w0^!SM7}8$jF(+ zkky+L3PK!PDI}l(4R8-v)y+0@p6?NmBkC;(ogfUtAyUpE=#{w)!s3i(7OoLJOsy@w z*S_AYF1PFZa=+eh@5{Q}=GDza)-fdjV4J17IOx3t!gddVjm$S4osWwxmb^D7kz(Ux;P11E{qD(W>pX&K-@5 zB$2k(AOJ>5%)~D|jDnmB%Q)v&R~2MJvcA55{px1RGS9ae!P?T@6-dWn7*0>to4FGO z3jqry;asNY=jqcY&N&d&dS*0VU%&Ewo{2I<1|}e4k?}N*r!z5&a4sn&vF_`-Hl5KS zr%Zsp6-?NY$ilYMa84;PmvPE@B%<2pWxc5?qljeA#Ui>{3R{-qDS=imSFKmPT%uh+E!+-j8&^DqzJP%-!xPzjR|CuWS; zi-&ob+x9kbvxBX`E?)7D>bMo7bOS()%{Fn5%uF>R_I#OL(&C5>yo0H$5yN-Fe@yiE z|K?u^!Tj~-a~=RNrA$l^7zB%ZRwbE9RU}i0q#>2kIwH$3q;*+pU9mUOJmy4*;h%(~1#DMnc3i&vy^MF1M8Qj%TScV*k)x*{$doGE>dhfNbtJV&Hm^h8&IGu*e zB~KHUgjrB9Hl5Uw0q2L{WRom?>_d+K0E7VFbuwGrhG>2Ox?P$Ch+EA;Vnjw1CQSmq z*)$U(5YxWRKDOVxP!2J|51r1TQh~=u!-Gyd@Xh|M__z){vJpR!!H(hfTYO-RBLLXb z-vHrAq(nqv!9wAV0kJl%jU94Izyi#P*a4sbAZQq-q%6R)Md9ea-zkRsE@*uK5h6qY zGj{}|Fd`~N2p9oU>5w+lIuf+j(R+Ao=fr>*fI&pe4#1%ljt+ZnEU|ZK&+ByUjA_1MKg= zu`}Df|F@R+AEz@MkFvMkLpparzRi4m!*>CGq$R`03a~ZsUW|Z#7*-p0-}H9}_d2Ap zkHoV>EBf@d2dqc#xfQqX!TX!s96AQLbl~#Nwg-#2sJny(Ak( z-dl~foAPa3ZD5aazmF})VZTG7&Gyzks_T(Yip*4mha!YH4dr(Xj%I-jMHfS zHmljXwjr0Qh}xME0|+Sq1KiX+yqkAZ03-+PPE2ZkTh{mcvNliY@~1!i{hxmS_kaHU zhnMjMR~Cwri?sIX`FDT%^M5(7>-_qSH-&-~ID7M{$TA=jSI=V4}+fs?`kq)A{oEpTE3ZE<>5t*8aEu_#gi9x4$(E zGe7`l-U?+Rfohm}txYqT+kMudWI|G_@3-r3@2{@V4SsvO{dT?HTYtC}>_-rOB#j@^ z?&Dp)Pjg1hiJwl>m*?l7p3cvwX%qo)B2?|KZ*Q47XZIeIQ?1MU_3i2TCr41z`w~nD z0EC1LYi+^AM78zW)B>7ERb4jor!W>uER&5xN!{D^`c|e1fDk$7B#ig#()*%)?Yf40 zSl8Cf8i9A!+O~qznGm%jBQhq1ZmnAf2y(OTy>oY@Kwsx}Yjtk6_PP}%m|MTieQvf* z)C7VRUOo-;g{ILgaGF($wy?-Fv?`U0Uzvj;xBUehy98h;B{2&TGa-@?r{g2slt6B9ts+D(7Jm$v~i84gL9aX}!a< zpN8@>oySs4ZPiw5W9CySKfQeZ{iiQa=QE3>k|L)hY^G~l&%-pPp-;+0J$zp4Z@0Ji zIw|i=*sngpVB2}&3%+1P_!%P)vO7s0b$b=AeS$eDPQF}L2_pKJ!_I{=9 zSnW6pJYH=Gv5VUGa`X{EOyJ?>xJ6CAzg*l6i2=7WwQ$^OvF|U6O@-(V;h|x_e1EeZ z9#GvEkCWNp{dS+f-@f10>zHzS`4j+dP6Yv>u60>fa}(i2EG#7#M8)mwBnbfJT(act zSgGV}Zt5`hG;C8g;Z2OY$&>0EF%y4p~H4fCYtl$N&M%RrTBLy|rc$uebYcUFLPUE=WM9 zX(*CXPKl*wW2z_jY#9P-U6*yX@FY3H&ABALFOiswq-}G=MBy&PnYl1dnS@}glj9NK zo`h8a86n&~L?qk*ArI;EmzU3yY~R-+8f+t;r`0%kLD5&_h@tlC>>OlADLpMJlNPmD2= zOgWvW6OV(GLP~omUjj!+=OEg2-XRO_WIk~Z4RKNM>wTV!!SMZ zPz=4UEA$SGs%|~zX7{Cg_izeuX3}mETgGm42xK?$((6^pw#h98crOu+~}U+j^Q{?z-Mr_1@O5ds?W{ z)m~m+!n(Jn=EMM-L!aM&t=TRka8i&c{p{o*1Cs_kVq2Y&DliP zwY9$7Z@n*L834(ED1wEoh9DN9d%z%R$SLLFe0d(vPY8UwzdQW4Uf;R~3rcqu?5g*9 zPE6oYTfM!%-EX&A@8K?-wv!fOY5_n0^7Yp2<;x%bcD?;_y|swiqxS9?NT}*=wi|4R z?~!(dwzk!rbpUY3qY~nW_=tJ0@2Bb_#H5>E03pIm0f{IudIzF#?*Sx%2t5G8kw|;( zt%17`AkeR2e|>xT@BZ8W<}d%l`+c#e^XOaZa4J9%AWZ>)C>UKRN$&t0l#+}mi|DxC z*QyedI$&ku@Nf%oK*ubpt<4=0v2`V+>wN#uzy7TZ!yjHgwOeH{BG9TLGM-N%RF~e= zFPF*8bN4jlwd?s*5Jk1FOaJmxOg$y)P0fLrI2Bi0t}_+SLk_d`ewUJ%$+ZuYxCI83 z#LZ2+^{R|9i~|G#(0M8mn5C@sw$6)d&;;f-4h#s|jT5T&wl)aQV-B;nR$z2Df~d8x z^Q^YC&EWu$QxYa(A}pA4y1dBwIr0!dQVIjD^Xg<<^&d((010t8=iTuX0?@m;uZz{d z*vs28Fb(67N*bnexunyCC38tzl{Q4ch&{%Rz%6==k3I07%(#n2;KyR~kX){9GL`ELIxm@94W4C1y{^&7w9AQ2LQ@i*19x0A>r1ZHpFN&ANjjDN2AkMv{_;6O|zXBdp<4uXXL(lC5hmYbR2Y3>1Mt zOk~^g90#q~NB{snQi6B>v`Ky9pD;~;tvW<(1s{*z+!|raX@MUu@=qDhLG5tYCn6$z zoC+VL6t^SQI9SXs**QjuhacI`+kSW(5e|U}^pHy6R)-+s7;-y=+vwL3h|nHFJb)|! z>=iE$xCRH2eGHW!9_#T4+x_{$lD3(EL|bSRM=B#8emn;Y+%LE53gQSbcW(0tn&6N< z!N(*5*fVPnLoqlKH4mxXF~K1A1WDZMDIaBdfe^wsD(A2#H^T9l4_JNlCTxfMhi>eU zsy&j{cX1iOmhC~fYbOcG{1E-cp_TK;a`K>Ou$4?jIy3~2EABUpyP7Nxh`E1rhsBTO z1Rn_b5iuUX^oRd{jCXigJK{&tnw{+u?n&j_TQVMOZWF(KtY)}#{5aBIkI#CL$n9S{ zMuZ2*eyAq5DMax=vHLpXKLFdk*2a$C_D2@wGT#~e7YH0~=k9)J~z81{_=>?aJ{N&|rAkp#m40kY6(OhZbU zP%>YpampzR;}AKEni@dsMno*)W=uZi;lKGW|HXg%um9X{_vL=O>-xGZzrNkx?~9WZ z;bBNqDa>@g*KW?J(>REvB#;6{(zb~7u(?)uV*(KrPD9B#iJ2~2HC0p9eZ};MK&q|3 z-4-?Y^zx@a|LI@<^S}RRFPG=%;q<%9Wh%VZxh-qyaXH(c{{_x%`GZ(;HEeSTZ}+U%1g$(a&w9XyQXbiM$A zX^*CYkeO(^#!$v-Dnnsmkv+Rvy8%SFN4H*UTbDMkb-ge5x8;6qb?vnV24_K*G+sj0 zo1K5k!HA>FsX*><*KYsr7az3A@r(q~hDR*6e zzP@{=rtWUKJ1>F-sQS8E9YPowpsJbn09=~3W`Vp`d%dr>+HG57<5*CRgA_QnARosd zKmAPe8p8TNzsotLfkzP8%6b#JP^FM2>kNrV87?Y=o~ zb`~CXtmUzpGQhUyK)~>D41lOT!VLpAo#5Q{wyyWu+UA-Tw(qH8J7x_+B<3Viav6qU zEM>?!CqY2#9hoq&qLBWbb0>cm*4;H^Ow_UQdJ;V?|^wo`RR1YDBc|dtn0F@Hk`(s{^9$tP~8Aq zQ}wtn?Y%aHtxoK&<1;mIbLM4jnV|JV;I*~6_O-`-skL@<^Zi75|3gHF78VE*_f1|9 zQyd3&TO)_#ankfSAB_k=_uV;>jtvMzL~Oau+nd}B!n}2DO_x?bou9tcI=tQTkgm(^ zdV2@(pI)BVc3xX8oHaKz0S^`mfLgn{l_b-UvoHW=A=i!osiY*yHxC|0Fam;ASC~yC zEXumJ?(5pud7hKVn8bRYJjpmA?~ZHtEsGa*;g2KUvPd#Gt`&D`8Aak`AB%Q%JAx-Lt!KhDa>ddUp^2F)*ISQU(#$O$taTjEQh8X~-f3%($ueH_tI(AOtf*bckT0 zocQ^2`Q4Y#KmGLSBqS{3FqBfzBbP$V&D3?Ph7}$dj=%7Ct|rlkQU zNd*%|2hacnvmineVWt2Oq7X(vVm5WR4&l>OjW0XklZrZEel5sIXo zOE9^+hqh&Te|=5D+8P0IB4#i(3>#8{%k!6~&(YO-!|-vOhEmGu#KQ=}m^dW?W@JKS zmb7c=kYIE20VI|f1A`oelch8ag78 zrW#hQ-`X;3QzA-5HCEHR_732QP_U^sy^@e2-tV=wT9>(36QG=gfB?b6P0d}^Jp!1p z8FY0bL+xswdNMZ$mth#_R8neHN6FT^J1{XsxLL0?v}vu{T5sB$Ng7kWj8hm?8#mNAq3590@JR%tge^UAvo! z@Q`z1VX$Sb9)%eQ3niIOqp9aSa>{ASU*)aWnuUqLLjz)MJ!R17eOZxO5;d*4h)6bSrGGBx3I6)mx7&49qi)0m+I#Pj1>EP`?KaQLx`cbqiBOP;3)Z#$cD;RFX1RR+ zy0riN>u*)HTi+IacLS#fl?(T6*RE>jJ;L^g4|jU9GmD)qP-p-E5(A=}lM@nef8E+_ z=M-D0?Vvq`0D{a~G~3R`w70~_j47pijQ{ZSumAmj{jdJ`U;Q_~{?Gr@U?Xt|Qf;lP zdpJ5|6dK0NoU?d@1%x|CT-SEH&8;f}b=7f%-c%9|dEd z*CFQtQx+&i5K78g{_#>{fPzDput6k&kyaE};L4ie02 z8sjvM(=fkZt*^b-27%xyi#B9VEJI!ReqADff+R6OB1q#n0AR^wSmoWJYu9cX&7-?Z zglms51yF!sLI=}cF*YSG5_p7audUvf-ph0vrgI)fDbm9`q~X&~`O~Kg1ycbLb1Wq@ zMqjm?p_r5*l_{S_18luJD1mFO*4Ji@&=5eF^3$1^QyNMc(@-R5&IyxjIS9Df^}>+^ z76<77{2*FkJ}&`(VsUn=*uUGO~rlTan1eN#qZ|`Vho@{PhTL_Y2}qPv}wM@|Zx}Hr{h)7n5YC-|(q7j!_`#hB<0$yB1M+R)6VVa6#vT|Pvu7uR zfE#q*{Pp%Cs}Jn_fY0zTU-m2kIOJo#_w@cq$3Gib-P9mEw0W!(j~RCiO$S8UGzi9qJ3z#y zIQ*wg3H!3JbK(7&9+f4wdA1d+I1ahC^w$H*9RmQ5yx@bnAs*g!4}^w~OCArj)iycS z<43o`;~padAPjJ;JdFqN-QvH^E^bf!+hwQlpr$*DrAO{LAfg;o8F0%IB2@DS58fny z7(l!$G`D=#txO3KFyZ#f5$2pYi!fpm5h4a0hdhn>KEwLH1YkgD*Q2lrBlLgy=Rf{m z|GWSCWs)1muUfA^*Pp+=zuy-F3XAD^NQteR2utF=H1k+nCnRL*v$odV9e^XE_s#&2 zC_x^_@%elia+&K|Td(ulx;prlx~BoH>1|n&%isO!U;e9q`QQHWcYnSNr$YQR4o@%R zX_R!wx%!a((`RX8`O}~4{QmyyU;blg-)ywZ9k#I&fe4J`9KJ*VkXa)pgEE&ZnnVT5Ie3>o?|cd^X++QXmbPzkIs5{Y2|)daKj# z{*LR@AZf_sc%C9?p66OEOZjs7-Ite_%tTmD!_zRxLZMw95d_6|<IaA7`|;SZla|L)W0 zm&=6-OG$#liCMTVjzNeZiJPeqyLTj-*Vn3D%Ggzdpm%d{ch#i|VMo{sg4}AouJik{ z)~*{0qr|6SXo_oPFdL_ln3j2o@Oxcv%R)qnnGnruZcPST;R8!od{O6%YVP-MWMMw#0)y zjv~X4wFCm3fXu_e+#_OLI|IPl`@Pnx?ueU81OSi$ff7^6sSIUEH5%^V8=~FXMEUEF=Wz>w8`9tE**_@%$W)I(IBFl(yD7ukBpQeYvl_0nu6;AnIBP zvE-Cdgc4&=5HW^FYj%g06BGD#ZgbVQxnJixS2f!Y&EjZjd~6!yu~RsFW{=&3$6lp~ z5F8-f9U~lQKV#a@dff~^DtZS1g>5z(uqB*Bz})NF+v|P)^?EI3NWv-c(`kB|&RQw7YsqrLZhBV1#gtGK^`+rI=%|qq({xI0%x5RtvM**W3MeyOqm%!ti-s z=C*Y05J0N8d3~CQ9qx1M*3^1pxtuNrfVJLgyVn{95uw_Ns7N^vo^ ze5vN7QBpGQz1vVqDU)DMjP9nj5jtpV^P+9lwweKP%0(>@AV`=<2-)4VEe?T#z5CiN zB%NPAr}J|JMG#Xtr}Ol5W)|&+6duu*I=412>$+A~6%unH7&c)Ff^}8f7HU_u9-!)o zH9TA}v#@qGwY=|t2_md3aSIA$4p(a}dat!w?+{YTx#TlS9>xhERBNmA)6+7Yrr&=1 z+uPgMrkZofLyJcK#FPrMWYS?ay5t%rYozos-@#<4DSS!Tm#eV!&v z3@iffW!Pfk$T`1V-)~KGDiNk?t*b+L?*rvBWP@1NmY6vuk_3{F5sA$JfSAe55o5DI zsD|z|lo5=wlw4#S26KlX5dsLSJ+#&3e!ITi@7HcUyq$;hG(wgEi6o_PO_I+eY2fMU za{2tb;qnYTBC|(JrL+#K#XQgVUe$UbPK>Rt5K-&0w%XJf34+SFsnSCv{rms?^Znj0 zpYtzo?{BxoA!@H%+^M|-^7f8!H;4#>KnF8-gT3s-ah{Ke2%CNBzM%<6r2TgsnGe&c z03rs2jT9j7hd#*YYQ`PW-4%=iQM(ZWk&LG^BK-FK_1kU!zx?`8 z_1?NRFgy(-sMaj*6Xq`rvL~CW?^Al9Wj`x)_@2h zzD!d<5TLr}mjMmZX(~ezptjU34lEvMj^oQyS9R;>&$29QDT7%Lx7+(N{JxkOvz$Mj zQyOmbeO>1Bc}ivM79`YbTjv`KxdTL&;WSK>br^_MLtA&JR;>(qIAt@CELII6ou<>g z+}CyO-mmvtG0mx1c&kkWS!i8m&RI(G4z-2a3gn2stjpW&jZ;2dKE3?mPbi~fF!Puv z8ZR`A$YO}CZAsJ6&3de@0WjxF8K2Loj82f;YOUHkc|@q%YOP7ixeO_ll>dKZ{b`dV zNs^`q@*$V19qt~Hk#%=>^_&0^@c;h;2sE>cT>@ry21oaFS7v3#;ckZ>axn9L5LNSN zAU-5jMVP6n%B8}Oy!>(sX>>mHdYn$2T*<8fQ|Uk?nwOa0m+<2}V~ z6U*$#p{wa1jKJO<+7X#IXZ0#}mP8|1b*v=Mg<5Gm|*`;WzO0^fZRY%S{atus}#>`!G*qe0E z_uEqx1&ByQHUa^F2%9dRy>q@G3lKQxVoc+KVgh6)B5DAPKuRRa3ao%?AgUl@ND5X} zbth^&=GnwzW?Lp2?&>iE!wsRqE5Mtu9{_s#q}ao!tg8;BdAF|bW_ zw2z4I#8BG}zbl>K@!!4K_YwNtjp|^51Cny2vKYX%S7zMcEo_eOpXedLB2Hn{re zF5K^aulWj_8V=vP=Fv^x{V3A@$nT|caa;HvqRhu_Y+bVHg<+SJ?z*>5-x0u!wmFSv z;2xJiz@DkvlX&;5Z3vM77!Vm5QNSFc7TVifz@Ag`gHOlta6Fw55NlS@((0P4qN#$YthKILhT;6TfA??x?vMZWw;%s-I-Cw6 z1)_kuP7@0=;`7T%)99?}G^|zE<+@Cl`|FntjKfyF5dazXRRf_TdS*fZGH^`6(HP@6 zra-(%MJ5AitxWSh=k*By9knKTUS(YlBfXptV4&E?QB@ps;C)=v|7r# zta)9Rd73V7_uJdD-ka!fIHbc^OSxVy2G+Ehsq^F=IYLG}pGIkCdpl9PzZ_iB=Q_0FOJy6%q(kLOUqgv zQuKa|iA06bV=%&^x>S*F9*^5jY3p&rT*V=!u2BFq ztYFgW+A09FszptE9)X$bhTGo7;8Tdf`@@i)j>p3=MjwWh0y6^U(hRIhZB3XsI-h(z zrsR+au~k6_Xy%!RabRWBL0RoLNi^kK=l7R=zhXXlzU%}UN% zDeIb-nu|8?Lvq18UwlKd*z&rr4eQOO*XgpfCfd*bd)-V5&O0E75ZTAz%~Y(lCTpp$ z7eLS@*QwNR({f!(5ivm3O%whAa_}%e008`MIqw0v?Jt+^RJgq~pl^oyvag%F1R$d5 zqrjE|fT(tp+x}yUCSqlo=bTeaKfFBu{==ug|I_cDkK@Ou^C=90UCCu$^JTuv9oANV zeS7=)_48a-QDx$e{F=y=m(Oos%`n9Q2}>!ttfj34;F(WDygDBo6Z2XmivXJ`5==u( z$p=&ewJ`;E47v$_J$Lo)vKpadGKFdarmeN5uDLDuawmY?>RK`($KY10luK}4own8t z)Tb2Vcmx>^$JgmDudj8!msZipdl%RTj>&sMs-+>co`B5^0$N&~%TiR9rebEuljRjv zJwx!IFy%>A#xy#|foaa!5S$AL6o&+eCD;2jt!+^eVyvz9H@bqN5%nVQie_TKre@9n zS!{F0fNtXH$vckT13Oh|(f|yRRmC338`}FL;CIS zh(pdr%*GEN3)0({8S?6VgpeR4=K_W#;A#VR43vCFz0fkW3at<;)C_fPc>--)7zPSJ zCIXBA+FDc9muR%A!N4FeGkXU{-VZ(o zXsSiXnn*D-A0v53-cfLBV1%NkSX(J2XCybG0(vtg>^J0?$FD#!8o^kH~<3Mn}s%)H~kf*w5z5CD79 zR_^nBpYHRzf`B$f7A7gBfq`=bCapCyQIH0!fT&he6{E=JgJMs;&1*qY(fDF6`|i2yrFW2#M-nzOX~x@fQ0 z+tfQkW*|}kQ59_@=95py12d^Xt4&EoYAcn!1GAE=X=^HK=v-v)y^Co~+CwfNVir+k zRWOsPtu*aqb+rbF(H*>V-l`B`N|9VZpAOGY!}%PJXBP%QE-kC-$B!T9vSw-PJm;pt z(cp>2Kuu~95db45A3_KTkq<*ehan}MrJvhXm8z|2GZT|0BFM07l*~X)x(q_MsO+J5 z0RW)B!_m#4d`qF~ZbXm69@`_fen7q@l2K1xMN?H#B6EHHQ7O4PChtS7FB06cy8ALe z|MUx)4T5ajb;SjKKnT$cv zzhXsK6e5?}{bZu;IQfMKIg5Q+EP^TjJ!dIQlLV_5n-!jpGhxpeK87{A13ebI(G5OF754@#%|;O$h_4O% z+3S^O`*70j25@7$-G`3}V0)XuL&LVolW?b+`)xml{sY_W6wP)}xj*$jI}r?tcJzZg zw%Tc*Av}atj|9p0Y4!N!J&ks2fBcT@*gn~}O1}W_*X+T=2KBbR-!=>ofq-mp&Uf1N z$dY|@^wtXRu7i79{|ne?1^`5Tf4NnA-k;WR7t`Q_biTI;m?~`VyKQXlNFTvAB?G?0 zlkdn`e_q`a>i3bl@oC-4PV5T^JTAIF?minH&$7R1abM9MBma8t#-Jv;O!+35A`SPQQ)q}+n2QttqqL8)EEH~U0bp(Nc=a)}Tz}*u|Jqh%tl|6SFH-Ky_Kx z+q5ie&Q*G?%ql9P&*zVS_osjJr$7Gv^YLQ>KY%|C!J#epdCB+XW=~JY@o;XGK(#`+ zo$ALQe*gO8U-EpFR(poGf|(EzbUW;B>nCPJTUT_aRa9z4TWf|gO?jGfS3%z{ub+SY z`E+`Y(KXGtw@bdgq0D3SwTOxul1s_OL_Q!fAgftxTf$VWt>jiqo~LQK-EME!x68Nd z>(`t!a$t7kCS^c_BbCDK2Sk*|$`{Bcf zAD&;%U%$M~Q@c;=eOgV73>@=DjBrccQw2j@a>KxDQ4|C+5iLz~wbGh3_2>}_w1s{k9$1lftK6nC>l0`)j zrg^^IC+Px#W(eS&b4c1`nQC_=Sr)ymde1tQW+sbB;59h!kkvG|vJ|Pc{xCirQ$jUn zR5cSd(WU~}L3b|z^*FqNCN}2^)=L0e5vihWdu{TTh^mT6ye+TW+HJe$tEn+!1K70j zh(s8eQVi$gafs2eV+3aQ#OGl=9}dUiID{BN=&O=M&9$v%1#gbr5YrHRaLys6=oz_` zR%%AHmK%5kqGk%skSwKeJdR)>O+)e_xm?A0AEIxw%=3D=-HxLe!dg}{S<8B#=Ve)k zIHbckcwc>!+Pu+_NNo8$#}xc67p;b5TBIua#Gn=e#}F8Ri3l(^6){np*BKDjQf?)` z&3RgDSDp6r=f`WKzd`oBChUi2`-XJiB=4J)eP3Y)2HM9pVpkz`v zg$aADBS3=a`469d^Kbt6H-Gy0;m7CW%XmJG2@v0|_s{k9+xq&;_3}DT*LnJKz0}sk ztd`vU8w}K@TWj@lyL?H3{+Zcgn_W+RoiM(&`X83wmQ`{OIvcQYJzwz>%3NA7VY`tdKdZCIA3pqMCDVB4!|) zNr;(krXdwf!J6sD`_ZKJj5h0=Fa(>H`pehrJgv)GrYWpXhaa8}kxAAzoCY`!{PdCH zpg;YSRp&qcI2iurpZ*bu&o58$^o((6V$6=m107!Y_(I2nwrb0)d9`&S6JsN(QYKke zs0Bd*p;mDYi8wE%th1Vk7&=NrDxyOifAhN`-lk>F$HVFA>50^wckF`;0TjLGR?9lA zx%7O`oO2lt2lgSR=;DAx7yz+KHYDd9`xIU9hSU$aO?92K)GB$EChWX5W$$~H8vyi< zTB)+Es^$PS7f{nyq-M#bu4|LElzF~g=H<%FE(YHMkb$*UxRw@&XlBHW=-BhXbaEKh z132_U3O=HF@4Yix(>5o<+@s**Zt z0R}>17g8EWB#-EP2xveAtrUQYNUc>u>4i9ve251>4sjfbqamnO(CT8Sc`?r)2`Jcd zzYpU$j)yRuhVg_LnbEW%GK%J9zU7Nc+h?$ix|xcyV?HbOFH+9@5F z88cfiBN2Tob(t13T>(=%Ecg2uW6f);jiUdX|L))Y^k4qVG%sWD+8_)85UJVmV2*5E z7DknvwF#Pfgv3rvT5b31O`L~enD4VsK@IYnmpm`)a$lDsRjQF=W^~});KpGLVHl53 zAAa*G9ghkaY6W(ezlvQZHEAL$&3VdZ%Y8*MSz9fQkestTWj>Is^_Rc?wYA0`gO4@W zHCOMr2{K31+cM3>W>s-w_Aw656nqR)w5$rCs=7|ahd}ItcY=U5t6CE^07YH$(o{AF z67;ZE#|R2I1DGKZvgN#9Z?CuIZeYXl#BNY?Owomte>%tUK*1?ku7#1z$-3tI{c^d# zmZbpDfwYS**b#ebMLm&v%u|(8K(zxHXzGF^=Xx0_bUkMika!O)?K^n3Lx4?u0)Pm+ zjei%QZ9BaON`Os5VY|$ue|>W&gI$cb?QHhV3gRAWW6!UA*Xkov_16pNdiJg2uMuYeBYos=ZJ}j z4be=gXL@b>D+JgI-l`!%KdXL3*$TMp5)Dght!hlAm2$sNm+NF4(r6qL06HINM2BQj z$p;{(M1ok<7|l?tntmrN+6>_L27mO(JN?jiBd!iGXjhqa%cY0f3_4`%drH~{N5?kw z*zj+pWuqt??bx}*PRzClt9NhLnknp@<*^ao`QL_u-_e;p^hvOd)lF#BHHi=IhP(E2 z`|f@ly9^K?VoxMc0ectQZ6A8j=I=)AKEfWf6Z%HmdUEhivvA`v8;~^E;4^*)q~JkV z_EKGY2J#j-+0J}=-|ghl00>q8#q8_i#_j)X&9VI*+GAdtsRHq)xp-LN=~e@D3q7_b zHQFUwJNGd_LfchY+aTH=t#@me13ac=w>{pu{njGe|Fo^?us0X(LloXk>H2){_drP6 zzq)4t?-AxBG@^byjkZz4t$lDC@rc_<+J>6#6%QVecppRipPfSW=X|VYJ4)~%WcyBzT`R&8H{yJZ}} z-n#o@z7Nq(JoY8nY%80wF*|ek9V%2%knO<;aL2R#UlGiDkyHVb)&zhIh{;sCTBNCX zBQ;ag7}AhJE$u#KWIv2iA-m|Vcf-;MF$D4m({lfZ|Mt`69RK>)FTZ|yt0IW#n1(Sz zQxPq>Izvb3qhls8@}7vGh;H@y2)*YN!s#%i6da;+z4*W^wY*)g*J+tbE2UNu5h3JH zAAk5)fBUaLz5L-EkI#q0$CsBw9G$mX7v!c;tF{IyIXEANHrF%4hkAayo__fBbU#=FgslH^!klF;r)KUPRmk?p)Bj|^XGs5@bcmL`MI`b zUEVIQzi6GUHTDCt=Md8Q5XMN(k>?HKpfGW3t>#i{UgmkaUhkK;Z@+$>=C`~qgnT$3 zV;ZGmOl~am?e&{VL(8p9El*{Ren@qi>wM+9dT)una~?-FH7V_MijKYaVJQ_25&ZFd zoY&>{dinb8+nO^0F^VGuFeYpQ{nW`6L_rh~*^p|rDk_SlwOpk(QR(yBb~W#YI_NRX zppP+hOiXk>j6a;8|K|6<|8)EiC|JeeFs9@=B`}@W`#etyXkus>QYcd9S}Mw%S3pK| zW`vFzeJ#>dT5V#|p@xYOI_KjUk{NbiZ6-Pm?uX;>!zmsQAM-G&5+73T6Vmlr0eTM(^3|2xh$y$A0$k0QlR=i-=5~Jic2Wo=(rlV+sL* zYOMekh{rG-hvDgP8dGF;qMMj8w>oDw5%2u@aE#t*QxHimjAJTUrUjeSvaHRdfePZf z78md-9_$1PAlQ_ssWjCpZ7%t`%(vyPDEBoYL#{>?gQEa3t zgsq=^AcBYr7+EWgJkgi}A`+1pRFNvu3~H6N)~Yh+GM6$JZHhZh0ooVyeHq3z2!rm7iWx0m6M$EV*t zzx?jw%ctY{$J5hqK71TwC@pJ~CFgWYbbk|TL>RoU)}Xao+qR8SRcSew>ooOuU^6jO z1tmw*JilFULvSH_P*j6vDx%)IF+@W0&Ltm)kPa!4XFwWUHH5%!i~%sVxr!))Lo_A` zkpqRb<)%%+LI^_~gNwD~QVIchhlx4F;dnd_<7fbAl+=hA9nWRG&yzF-V1>Tf0vI3`<%drnK7D+83TCa==i{M>E=vUf?1j9m zIY%i5=hzXhODVNVTWf3mEXt$bB5P6a$i!NyRB$aB5LAT-fv|5odl_fv24b&fh5`m? zC?Y+hc|VcVQd-e=o9EYQIt73I^i*qM`WOKX)x{Bf0Pocdnc?{<<{|=Skj~HJkH5Ec z=#Ho^L^?hhdQ>HCCdD)(Rb4YS)mlvoNVR@`ZU`WNhNP;pu1jm+f-5S-%!;{P@GCPgVsG!w_9eh>n?S$syeHI+r!Sme=caE7HsW$+-|)AtFORICRdt;GK8QIcN^Om-DkBDpCj`cyEf(Bzn=3rR7DMDiK=rF8CNI zFo2Yrr6Oo)tw?TC*lQK(pxI2CNssN-8F=RBOH8@3-Zm1}R4GqX?3tQd+5{wM?eLv-jaJ#N#j?4&yi;;&@17sv^vUB4}!@ zk;7W0d)MFo-}Yw6ZCvDOM2#AdkZsy>~J;Bb@F_DYa@-uw1#eIsg!2 zOo55P&zQxUM`DO>hI$2k>6y~gQ#$KF~Dv%Dm^~zd%`aG=x-3%Q`1zm>*K&o&3Zln0)Tcw zbq~P^X*Z@(AtWLOGh`0InV9y29BJ#agy_Yjwjw2~RM5ao%=q-1kH7s_fA`b>^1nVG zqcjcCgMlH$aA4m{QYu)L)`&TIVmdUdx69N@z1P;HnHUvnCV8#3=G@lXG@F6aB(^e&{+xt4pWvy`>_PR2C?GC+{37AqS$ZlyaM{r7bCrac}@aWqLNB zKq{lU03iZmQ*A^_2BwvuIcRHJq%2lfRzpDLhDovecT?AU5bpkN|1x@e2X$NI_1$iH z+oNosc?WoVnD+R>`$s!%>7n3WpmZ0c0bmbh;5}UIAL+wa!D!b)(UuI@r@{6$*f2fQZx+wwRenothajaaTcYw&?sG zi6iR6wH<(I`zLz*9xwpX9{hV?@7RZcgn-d2 zVe2)*0R?UIlf&=A{_k?`X!AG6{~M|xFny21x9ENEWP8YeHs7vIkGqx2eJCh<$01tx zSm+`zdml=B3vQf=HhCW6&M$hFD?Tg@vA1`xYP18P{T6XQS^(JT6kTOhlW!Xz4gQHy zI*@m5ASDu#L+M7s(cL8*Atln?jgrzSNH+sUN{l&Rlytm%clK@P?8|fR=f19A zzU}IlQEu+vF!^ups89lrH@IW>Ul6;Vk(2##S08*@j%AJrlYk`SRCf z@o}J4kx9>$%p?C2E{FG2dy^%s*96^#8PV(+2h#1bQc{-P=g)v$sSz9VSquO9%GBK7 z?qQcHL^BmvuqNJUQoEn@-xB}&1FHZ61M_TN=t!z`(I=!<-FfJL$esx3 ze%;CfrycU@rtR}Kv%S;Af6^6w9l7Tloo3q|UFWp$1DPL*qaDm^#fjLboY#ZrrF|rN z$PZ`4M&9~e=e?^oKeY{(esmJ}zwv%xZiy9Ua%Js7Uae7a0P`yY(#k~fgz;Z!z)9a` zm7nZ&kQ6Li^O>xKPl@AO_X7hGEhBk|g|4>|FV{LP?SC~@% z$so?#B_kW`Ba`=6O2g5#zu&jia;9P6>*acZWtoK7J0|7e8yxuJnR6_qJE5;6hmqLQ z0KT1+o(>_C@}7~NG_0wujqu4t)&3vAtB$6b{D-WSz2Cm)x_#``G@goZ?ow|?`hX^0 zl0+*=<%q}1PzJ%_nF0^y3>`HxRgDf#aJDxyv$f73ocOyq`AM;bluYrFFpFk?9N@_W zrE7-?`^VvWN8QVktbpe&tNbH~_p`sGspR~wy>N=E-i^yA#kBtSBel7*_csWgipLlG z`^W$Gk@x>*WY1!gKWHr8jHviJ(kJR!&ZCPF71AjZo?n+5#(7*2~6pMrwrqj-iuh_HbRw5;?Wl z_cs9fr(p#;6>K3H5ee@GPhh1~JhA*2+!Y$YQEDlwn@xAn2dUSTTynVkFO_?`z&pb8u;_BAudlQNPvI<$mMtpK&1)>{lvWc_8{i z_+l5%RQH5H%h68-jrL%)jNLOij3A6Cc*uq?KO%nG4UQnzP-#`s$4e-CNT1-zcb*h8 zZ}=R4_(wM7#2|PZ|D=6jtMV`M-`NSmET|*EUc@ZLkNrb6iw< z^4`rrGiqxQxO53j!}w&QTD6F_A{_*<$pCrb_YqLMWy^=ia5Qn`<7jE(U5cM+Rw&@N z!qg5P(8tOtDsCmDPfAX}bE3#8!~bJR%xhZiuTY^ks@p25#-ruP_g)n$2I2qkt}3w9 zSz7XDATH4$f)ss~wdGJeWeO7Okh&HwknH!6$kEiC2-V`2%j>@DL$`!6w2kZ^bQC@| zq;;u|^28&SB*ti0@SMq)Yyqdr=1Mdi*weI{cz7b^RN}j)YAB<*7SaZks zr==zjj}%@ty%B1Ri~#%DEy$TOk&yKZ_p@I;BlflzvirJZNK^po73215-{H^zOo_{f zgTnuF;!}J6OA`I@WS;Alji_8!F;2X|ACvZtJ5u^BxuSYy)KK;cRVnJk=jsTJBdlrd zpZkvedY=e((EZ>}D=;;$Ig5X-z$90e@~|BT!!?5NXlczMBD8j&3fOvg^h9~c8JlcZ z&p!!1o^}CI#brCu_ed^^8Ab~I;?4h!yYm?mJqu77U)lP-VUv#c{RKl& z1}_bQyHQk|T8=9|l)CYSLFz;q#gtw~eTlD){?{cvu19sm<|SPA=l&6FqYG4*gD-L>X4uaqPjCDAb_9Oq=FV`pctonD zW+94YrYoX*O_bPEwPiev!(~0QkvbZ&3GniIiox;g$?W&qkm72N6+!}y2KsNfP-2{H z<=>s?_OfEfxqzg#H%N&vEi0ZZDlt9lDQf7NF0A>rUQfPu?LeqGTMGaJEzl3h^K@A9 zfb(4RXqP!sE4_PX_$u02ExlUUT$mVQ!+osYO&G_-Q1IANf<=srGBHrD-w=_6Ff8#j z)k-#L&JGu2`Xla^cObSy!%5wu()$HSz`&snRHi7Dpp;<_Wx^wwZXd4>O|0G3&u_H& z8l4}j_PP@6D^xk{X6kN=J;!)`n?WNAtc8$d>jzMz2`$7N<^i=Xz2!~@sB@n zk#a1Dnxvw05CI@!S`(D~dfevjOej!m%-@UYeWb#0|b5aFljn zTeZ06*PO_WOENN*{_i|A->m?gY@ZB|q2)`W4#wL1E}&jelnD%9C!%{9h&u~$!UC!kiCn-5tiWsf64Xfv~iQHK#QrOPr+cfZsrp4uNtM`>#8lU5j=NK_Z%cMa6 zE?G#{{YmgW_Wn5c?xc064_KuCNM4L6z2~zqlVf_yJg@Jk;?@NDV~7e2XMyoFEU~e* z&9;Vq1391je=}Bf?N+yTkhxkXct$M_`7m!>=kknHtDZ(%qSzzGt#ZpF{pI;}G-XDE zPQSVz!y<5IBj5q}i>78sle)Vps)n_qI>%;c^UtR=a(!5 zFJdm?+OOx}lE4Mf@;gOyDySz)?>kwcL|BMP=aF=xuVQkh3X0m&X}5T=+BWm&uT^lU z=OWuD{M5Lz)_v|zY#(D@uom^TO3&~w=X-ydh|Kixe})`r4Sc%SD^0wn{kdo7v$Ov$ z62s)Ie|lls&=~v;Xt7qXPwxJz150W_^=wrAwf$Eu=wLy1+T%UwPZ(?FcqAD)JiXOf zqOH^BY!trR@km(@m2Jg3DsBT)hxU=TWBcxj{zSY9`|~gr>rgtDfRXk#=y7p>sJBos za(CE7=5=Nspy1H-v0#aRY)MzDdF0Ra#70di1~=7REhdKVr`gLE1r^;ewEKrk1N;3s z_9c-%0VmYK>xG-mnV0Y2gj7xEaz5Ge9*$D=IqT=Yn^u1J1yyDSD_z>a?YFCd zSW!zj@%Oi~UNmb4Kl9lcci+vfx9QYeyj-GoeR^@4peQ5kcuLvmi4jpCEbP?k4(c|? zMjc2KN1CL^NLB^rF5AZImkz=S!UKuf+4e4f#ZzGlOL&vgrEg@eNs;d>rH5B}*4lbj zaJ4Uv_a@9yYq_O+hWb;cOt$_$u#gU)w;1ur$E-w(?(GH=y|xdU{>7v<1^Fs!EA*P& zSIzfxW<|O(y_sM!r~lk2f?5_M-)J^W9`1Z88Y#^>M=ith8d$kfaYy7ssd zAZLx=oMF$~8fku+SG{FPY;g#ju1gbq&qXZ3WL5Lm>*s(Iypvj{t<|^lIX9S z#qE3;{SXz`sC%8 z)7q{e|Lj#<&1;pucpj&RVovK90;7Ff3grlOYugoL$ehCrZw2!emhs8L%A^DY>mEYN zoaC(-yE-*)3nM;p_XB2!n-M0Z#G{}rs&R2{>>{<0wu_SrSYl!~ z4(*~^hzbEP2ZvY8r|5v%HMgh}e;@~GIm-0nWBDV1Y0~xaut`n265p}LWt4bomdHz+ zj(6^J4kgwe=QAD4z2C^n8z0oKq;C6l;SwAX*M9Hk8mnwGY)pn{{}WcmevNS`-f5f@ zmw4H@T5|2#dV6z*NyT7v+#tV;MdrAtSq&g38P2ZUa)3|ML`fVa5Jl+AQSp^}o81cA;Wso>?9B0(dwA;(BHqj0ZPkv9HFQHbkJc=-;cGmFt z@wxf=R%;7FEp%mSv;nP>CCAww@VEBGMnI4RIW><&uoTlkAKsjcp}*+Eq!`>0xt_a3 zN)SyHZrZ22*U0!x^#AVvL^xuYS{Ka&PG_v=l&3FmY~pTgoX&us&KyMR{N!_dt&D#o zx^gh18q)6(D=`N~$eWLA3lR~V?S)b8v`o5!bfSAm_&BN`>JD{2M75?jDm+?%B@Da< z4ojt1unRjnR<<;@(D&~ok9AW6^FN9bLTCw}&~OTou0o)V`f^<6^3p{|-m*74*r5AY z!FQW$0b7~B(gC9QHeKBAG>m&-f~E&H18jW$ z=cQ=k)#{m|>TcoJd>AQTkSgRWh^Zjat?~=0n4cqjNo!7V zL9%MvX2>oiuhH7NRK8JIme{(~)-EB;do|PoPL|%Eko}a~Ixgf>(>o#YIIv)w4hFeh zEkfo>2?nsi{RVbd#NvLo{s!p?&Sabju9adubDT!nQ>N1vY2VUYKGJ2R8a%LKXb+F% zn07EKX-rXCGQ>z|%s^XK5x&)7{bcRqY{VK7i={q_T&x6%3aGqz0q*!o#U6I?kC7F< z5(qcp^XAIST42Rcx*G*It{yg{|EeB9gR0i(y&p!Ccv)C+cN@a3J-WMcs z5C7H-#Ig%5*bhDAVDzS74haQQ3(+L8)BNeWyOzD*h!4KVz3&UoD*Y$GB2WHGOL>pu z6Dlp8dTQ1Is`EUQnTivTu!&l`+u3f;P3gMvknka59{`EHA5dnm)Bm(|B{Mq8F0L6M z!=#Q2!{lq6oe!xJ=BZvq`In1xd~r>lZ+IYKqfAH&X2biCXH;64;7~ftW{b!+B*EFOYZv1-({bDO1!wf z*`;=XLHs|pZf|q#rxf? z9`VhlcU_$5{`4k5#e#_v)(2|m(gM=as2#& zWyb0gs*LaNK>`6T#b2bSInSQ<@k?{ct+-Ci-*u3j=_9-6SIvxE*3^3c@OOdxYi#OS zbUog#UAI~{eXIHrc+-AfDYIqJ;V=0Q>@#~xxS~_(|7A8v55LXYo%202^z=u`_2(u~ zB6@00QY*Cj?^0Z8GwUmXfu6ZXsTd_=Q?p4WSHQZLn^|G zdF+&A0sF`+`jj7mERLBc=pR(Uli!mmhle!uYy??dgk;61rpZYB>7czn?1rfyhZahZ zujtq9A6jHqb`%0#CosQY4{7|f33so;Za?&foL{j=Ms!F_&qJ=o3HC<*SP?1I*NCh= zdb{v2pMnI7w(%D|lT>fM6GHMfm)Ft(8RT4Z8A;osY1W{7E+3b_pTCqUTMO5d5l&dE z23%jbWVUd9XvQTResfoJdQMH`P(oT=t{}h6O9cwa0EbpoFbGAZrBhh>1xXC9Cw7yp z>FLe>a9_=5PZV^2uu9Dw3G@T9th8@o+EaKf0UBiA^)0-5NbKdd)ZOie;cykw>dan1 zSm^mUI5RCVMc*B&Hr{;gmWi@4F|wyT1ooAl9L*fv9Ek-;L{hyOybQXxfye{6`axFe z;h}gsOu9mC#!kI=7Xdi=Q%vQ*U8yfm@Ag@%h92>UmRT=XGJQ+Qscp9xs%FWPMOc2#PUd(W)c=u zv@|<;7 zW`SsSLqY-hXfR7WY(|U_1*Di`0^$*43r@0Y6jN1r6mc(TCQdObkW{EWG%_x+Q54T( zwcOt1J#_AeCRhSX7t-OaUSavO=80JelGkQPt-SaXw~!~ua_;65nQCt;Z*Je1>}Qms zgE4*xILy&~(6W_+3`}>dX8+j-dg|WzO@!YuyIqi7-R9D-?cT2=z^KHiyhXLTgw$pt zX&gej-t@wDK(Q6N6bmQMOMUJ-OHIh0cd{!@HBN+*x~`5E2XIsXIN5)Ee511Zl~bzt zVuMK|rBM+0!eFOj2m>8*xBq0pgv^HgeW7MyCl_Ht6u>M%SWOb9kI>UfDGwA~FD zro9Pa3QR#U3vxY_^8rYcm5}p!armT4P@pF3_RvKE7aA2Sc zS=8f(exQ|~gskKi+ArJr>)V)d5>x{jXUndVAuU6^70BvR2isiU=vO<^jK2Ekm5rG5 zUHh-R81$j%jpz)ogCalqP+EwX7W8vUadcX@h1AVP^Z)xKaFJ0ru&&$vLDooN3GOk+ z5k_W$#U;kH2lLm0uOM2Vrbih=!t5s=W3C?A5^5jw6Pm>UXwxK)!OG1w*O@v|J?dmQ zF=)MlT;j^A$>%8YQK29|KM9rrL!3zlYM5d8AU32zKZDU-;rt}knIuIX7geXcgQ#6= zsQPzYQ5@hOI97bK;kQYjq~doM3j50X^}i56*{`a6xQe4j=)z}3^+{EFJc!3_f+n?k zg;+tUE3O#$WoqTXkCd~ke|}=wS?*8X3rx-{LNWw_;>vRN1B9c?@C9*m2VUYl2Lvwd zPp!|Ac>KpxRC?0+-a_;1jA(d8Swm~h%+ z*kNdxdJI!^5~>%L3cM@ zm@MG*GA*0{=OK-AvP#O@(_(o$BlFyngT?I02(S3TROD^R;88 z)|{b<^Er>P=H95JrBlJmrzn8>lZo{7j+3$-=6DOjM`}i>_T(zXPo%qn-{kG=;eAKK zOyjG*+I)^)GU?{uuFlSiAJHW(O@{=Y)bH<2brW{W6*(r7nw#LfGKiL(cQml6w)Lbp z?jj$pvElC_)~tj1$$bK`FxS1dd+sOiLwT*0NuQ*8nkK$}U3Gs2Zc6~D4?EaI#Yz$C zZuiOYF1Z=hmsg9&l$|%s^Xi%9m@Ny?iR9|2^v(7Il&YPz`^kZDX6i~tYP?XoeCVTk zk_3}n^ALD}yrT5YO8a`^SO^@@)|>xG6H{lu=LutoO25Mug9qH*Y|Gx3-e<^5Fj3h+ zdB3FtpT(7n5D<8AX%O~{2T8Et$xQ{Q24CQ2Oy~Q3*3_(-T|M`q-=?Z#Gp!&<@w|fw zo8UbCj0GTm+?6!I1c3<@jaM5VNm4UNdltEYLq;hzib=`kVxOdLtdlm3>UK&F)rhpT zo9@_W%tIKA`hY90Oj#!)DXlM_s70gEeJ3trt|}WIyFP(pz$6nrHU2?Rk+3Hd)zFk{ z2Qxq+#|TQ)otwKUmUHV;0Awbc-KjJGJc1&*=QE2Q?e+U#TnBZo zNc}f93>vc?umuUs5mOHMMgaJ|GvEV`n*hj2~7Jbnm(`EkZljYoKj`gQ=wrjC%aAB@`BHF zHO58S>lc2AB57-=x>9wY36>_v?9OK~ zh~>{+MGmv6rP(rjw{Nkud-*ouBqTwlwr#LI{i?nunkOAf&DU$!3wF-EBoCGsjzqJ) ze16{l5&gPWN-oCrSA^+W51+8tv@t}wo{>~|r60%f+&ytx;YVb`hM4}GTpn&xmBJUu z-RvPn?=Rd(0o@d^-E@Hq7Z%;)cZMRL#Z#~AQsx0aq9pL;$#EAfb1^5Qzp7QzydvE> z;=|gk2R3}!VceJRpIa{W+?R)_XIw!Hc446++bNZ8$(Zz}a_08G8M^5_IpTE%b?P?% z&oNt4&5bWG&|A+A6aI|H-_Tp#S-9wnQ&y81{oz_?v$DARuTdLZnA-CZGyXLvUz;}^5cN!&ba1}aaomTuWB5Np7%UcsG8l#DxS5fE zuT^h9$T!hD4l4-;0NDhY? zouNgkR0Fp6iM(+Bi0<967*JKRWr#*YlcAEEqZ*&|8ya6)Q2j>$n*g_b1ozmip3V4w zkv)>*90>HC#M;@`u!e6%JdZ}3tAecQ=fU1^v&ml?poBd%{fTVZHX)Hl3=WF2*LT#;Hb;#%a=msu4$H(Nku zrMl!%?rVrZ3Rlm$l_Tsk9QjLHW|uQU#cfH!10Yy_^ft$DDVA|qAA_Q2LTiKJi_Zy0 zzcbPozozoyTa!YmWuqS~vg{o}J4Ols~+Gnutj!x^pH1f65bs19#9ynmcT-~1#Y7^u(8^Frn4o}K<@seNKh8$gd>xG&rBg%@ zSrkforS_ev?J3I{5`%lj$(A5UK2iV!VA1?l$0jWc^#bK7++|~BoRSIs0Nf0YxE6L*)X-21n&pzn;xm8znBA64->BgVn&WkUN z2K>lX|8Av~pied>`H?-(Z=gFwB?qwhHO%q9U+ZIp4b*lnThDO&6%}qH&6SNCd|I%Z z{qf9!?N@**zu4Jm4_K1^bIIO<@81$^zqJ7l8LqO)7FU#0O3sLR&LE#a&Q>w6%ELVg zGpk%GCRtKc@>i~B6l0C*+W-X|R*P^8Pn9%Afrc^=E$Rjj-5AA-fbpf9JXx=C83<(` zOy9>FbEQHQ4M#@Y{M~DGt)0ykce6R==%9^a$AqyFzC(h)LHMEeUn`Q-pv9sP)Nk4d zI{D}=c|VD?^iFmT*{;b}{ucGUbSZ|A&;)kD#8UmXwU9E>YrqG(SW=B9)fY2?ILaLK z=NW+zPCOGv$fiJNX^k4#L`%ue>8K;6G*8-9?I~lU=8c^Y{)Zjw>|sNKYw{}U3x-e| zPxWzkT6sc{6@RH|qw!qbLt4k8`Hc8*O?HGQQ>3d30)f{gcXuGp-5i zMEJJv{-}#HG5z#ARrBz2o0~P#wTmPKDaw=xCkI9``Jb_nrJKOPzaqL*F{inAh14V8CdaS&0jFk=)DLe=@#S$hg@_1dQw`$6bdNpG=obCK>fk6tQ$)_n z$!Wnwi7yX8Lc^Vhg2MQeof1rBO%7J&_m-y&QtuOBnGwUe-U`5(8Jc8TBkjV31f05B zV2G~u8JOIgO<<1LZZFVIsfZphxBOR!qMtM&vHcBdvQ0n2$|FbYfZ-v`R2?B z9`iWQf3MQ@`g*0UN+?S@dL?R@GC|Z}fV&2bCv@Pi?GrKioyhk#@aH3@+nffEsM#jj zm8htFRoVvA9BtQE|6yJo0u%NU4_VTkTB@?Yl;MB!RFaIjsnO>QAOW$!3t%foKVYyu zw12kd{pWpZ7QE_na?p?famte1m+Ph1xGd~Jxb*oWZ~9sN2s##>vM`a9$ov_v zWc+KFzckXzZ&v2J`~h_o>(Zv^;}U*N(Lr!;yMIX%*gedsUAfAx;xYE}IDaBY3B)7-n7l=0M%>8EsdPYucPQjytK+h69# zIg9=`M+mC6PHgVt8GT-Sf{7YpaWZ^qDQ?uO;p8WG@7==Bx#eH`vK>?BC}e|?w@ zUm96gzj;Ln^}q^p1AGxhgNF+_s}jSAK!#9?u7pMX9|`2G;|D*2@Vx9_d>V9H(|GOg z(XXHu(?r|I&%b!#^3h#7>R}Jdi`Xl?UjO=q@Rlxbm)z_olHb@6s#oC)U-+GlApxu$ z$Pe|VA8GyOO<2Kg!cFm=<8#g6tCi6e764v%t3!Puli~{DD`Zbt;HxrL3=xOK%-GEm zpsdRW!1SZ=K&_(HB1kxdTVC;YPF|7nwO)GL5u3mt``C%WMD+x*kG^fIi0MeW_K)^E zOyYxO!u>vCTqIlY?!A4td#{%5dB5~0+87zdoCR`Yj~U@w+{#IUWfEGc`C3N9vGGtU z>OYuU+Jb7XVkH21`6>!WgHfA-C= z70eh`l&NIbJc8y*XFT<@g@J1zLLeFG3E4Yt#I|21V5(b@P%k~5_o4j1RdG~0PARVo z>Ey%74{z(Llrr$d!*tXfSA7wN1}UDVDcrqG(_&X*AWPk$mIh(Ad=<=GwxXh9%99B- z`)QynlO~uME(O}wA%XB!Yox0q1Dp}B+B#Z1&&>5xB^v#4${aa>{z(R|i1c{m5$f&~ z4cm+SF&FaeL2a({-%C~*oWS}1I5jxn);J?>$emVmGDGky^fGBTDwdEU?3}cFG#*kE z6>X=Pvvf~$MoIYr7kPXj7 zEj!*hR{AtzQq{#yA2n92ER9;52;LDa4BZE{ngftV7DhW7UjU2lsz+!X z*WE|ODia{Z{I18JPC>UiJwr?mHp`6P-7U_ldpgR!lrd{)$f-{x!VT46tU#JaguYgJ z4PmZV5z-Yg*hz9!p0pXlrTfhL8kV+L69T^B^oom$^Cc=DAodpWXFb#j=d1p~AQIT` z2wNJ0)U)If+>GSa!pBqM;FWotMuY#tv85LGI)@HJs-ntYJMun=r?pj7Tu!d&5%=Qv zLnWlc0hXjN;j97Set_MyU>^A@vo05>g3c4R8VW)U8%J+cmer$n@3c4tG1lqJkZKBy zgg-y{nY_}UT|0PqA)OeG3h@_~>*fA3TDs+ESgPGz&K=MF{hcLP8sKWT-xWqz&8jl9x2<;<9MKVz{FG~JqeL~6b)K#7R za(xj@gFkEd^}p~gP2ciHu=XkcPdPcIzeo?NagC8_n-&~Zh2cH=KI>-Y1LvnC_)&}V z);oR68q~x-;hPq;wf~-u2;zv6=A!tR5w!X8r2$zhINIq~`6Xma4Ij#jbKp@dgGOzWAI9JUofHCCT* zUtMCFbGuA-xFeZ5oQs?04WSi+FEPo8dEUCGTflHmWdhcYiu6<+RnuSW@qLH;GC!!e zqbaE;TVxUvNZb5d6}%#1f5T61JKvon13Ol2waA95E6e^0M08!Z$=)5|tlZnF6Ab3# zUjkZ;4}x#EF`BaX!@LN@$dQY2iWFaJ*Ub$>BHWn%XW%WP=7c8B$;=f0TTj)(-eKLU zK%h=7q(Y4|H-Sl*p1%A`RJM1;I#b})MZm~E6ox~i)HerlwP9d3{zl8>;Cv*t791xt zV5ka8Ix%&?9sMMfeJd_!Aa!KlYog@?t&)LK0-2)RO`0W>jw(U@8wGCpEqz`_@iU(O z^!ZQG=61Vc5dut+eQ1vdOw27C0#|9|2_}c3Q`$mCjVo#`C}X3USau(jF$8y1D|>dG z&#wiRTiZoSxC%P-L*Od9mRz=6I@)^QmWs$EQz@S*6#3oth3~lB~L1560_56GNMp8s=Je z+IO1t3>;0EdVsf=XrS>iJ4H||JNr@EU*Q&;4k0=kzLTW(wqTKGV^jnLYb2BD6_VgoN(=I*eeyvq{6R87ESxYvIeIAY7}FoV~AQoQieDFrfl` zu+O!pWvi9{Ur?_5c=fFDNXC1BAIo@Y!4nj+`F$!k3YR9X2l(O&qAE?kse2%lJ5d-~ z0Z(6Xttj?z{*sV{zk1+($TH?;szgXuWJjyS0ReRXU%|8C-F5x`{_liYXV4|Ch9L{_ zOFZJ%r42ibrcOSWHBz199ux%-a9DD{w$e-vWgYD;ZuCaaXTNX@rci8)zLD@U) z{Ep5}Q82lW6e}W2;nd+b&UP&*Mv3+TNk0Ch(P`pDXVv*q;=SCH2%8oHRendlmU-Kf z7vr%5aPgPZa_X55@q{T^a~`DVOP`CQ?QJ^PrVE=pI!zC+=ksqRq({fZh+BuL{AmlF zJQoMHaPzkUz+A~I&QXNg1w4@UCt=ce3kXx(r4Qk3oKEnO`cjFz2q}N)89ANnKbL$5 zmT=Rh#@e)Kq)wP^YK6+1@}{%Dr7E=CEd4@Xx-P=OZ`cK7=ieOAadr{Qi zzuztrZW(QoSieu}N`-Zy(ra$-&N(LbPgm9bwUP%#raE8b2V2ZAO4T&K6>W0yxQ{+- z_bQU+pm}HT)#)pp6+IlN)SR9$(P>OWH5AT1I2WwqKOD3>F zN#2z!OB8iSCiJ=ab;!du{qpl#hRGeBOS`<_s3aDRX;14}T2t=AW~OujG=6+qxYv^WJ_xJ;iqU z#eU%;m2KC!p#J|JBDun^9lOu;HZ+beR}z*bj9;Zcl5&~$@7oLbB)hs;7v1c9K!rp- z+t(#)Do2*`O@$Z!s~UUr>=Fk;60}p~bQpn}BbM?yUd zY~xwpgf|& z+cxxBh>^donB~Sbry%!((&v|&>gh!2*(_0kY?iu4?j~+=;2mSf=f(3*6S3KP9HRF4 zI;tJZC|vGF_{`DvU@GgoA!I8dt@(!vdb^?|qvtKuJB@#_z==}b%If6dAsAgxRzpUc zS?f2Q`U-&vg3qTLm-{;hw3BRIfih;LD9^Ft;ienBymE(9?bZ%my^N-%VW??}ex?J` z;X-VtWT~~C*XP~efWuwb%t=hlkGTV4i2K+Q`R~6Oj$<8~h{n+o9aWo0xxt`z98k)X zWpzf`{+_RLmVRVwSP9ie(9=ElK?9LQpZ81@`eh5{oLg-B<7SFEo}D6xlgPT$;PU?s z^Mk>c=-hihUxI>`)| zFx)*GXD{5i+Y5r79Hoi*9QU+sy81{+!`SbxW)RbEGorQibu>dzlaxAB>`5R`!F+~3 zJ!^RMaw)?)Mq+yxU$A|Jf9?NFevsL`!;-W|_DAK@RY}`7$?fixMo`CbTf^5BV6{q2 zL?ooBoa2XQ*PYB|^FIQ-X1B6iRGIk(>U;|Ib!Qdnwwt9vSR2tOjWiP)t8sL2LF|&=; z#VMHmAfr^I#2P}1Pl%HXE5{HK(jbg3)}WvmN*nqr%N%c|qM#lJWJtZ<)5`th@^}C- z0?jySSBXvp95@P1=^*t~YpO*cecVg&G17PiPr0z!?*09t;^M6BBtobbT|;geip`Tt zA4U>$5fwvWTFH2Er zI`-9~L`B@ijXMhz_8^d|eKB41!FB*k?|Kx(MvN(AIKw@~Pl74wJkrEwxvLdqfjvSnL*0-hp5sa-u+S7t{Lv5V`*d0tO2 zX~_IlmMa^&)3_c@9FZ0YD47ZLYg@ME>k7KO!nuL&kuPO$ady^PUv-`$u`n7=aX}$$ zc9Sw(fz39FI|A@v$RBmNp8u03i)s(3RcTl0YmoNVknhPWzUIrT5lpRYu>UOv(+HR^ zi7nDd(~jl{D`U%dm!aTsG56{bw^bJMSb(;qGyl4{xjCIdyo^{lwy4kqAX%+6B>pqyF8w9?uT{)V{>r6NQIu-aI)k^!&k!;Gyp9dmS^w*@E{zxYTj?g(dV3kV=X z)5Sk6>Q>}!Y>dR)Ojz)@)}bXTeO3X1DE9kK?8!&(xwO12PR4AH0j;8CiZ)y#`rbO) z^!v5dj%25qMASX>u*QejjA>L?V+1EoBsAlATtGV3X8^g_)$5x683>}a1_~})#iJ?R zjilp%xiWoaWl&%u)_RT4aVTa)>sZZS2{9NOZY{Br=b&Nec&t!YQrw6?H<>jgY|^26 zILTlMRiA%#v82mfGTnMD*WBgzvBR zF~-L@)Yf#I5%E1r`narU30GKFw~25+}$)WgpP1M-+qlUs`aCXrtW@DeQbnc zWJH7_TwU4~wunp9!r`}QH14q;v%C06WZzxiAFQ!b!tQZ(sb=JRBwbaDa6^dOc!fB& zRr5B%GL{7(HSL*xCwt#@Kdq>x_jZc>`?n>!rMj)8`tsIpo!LY&GXv_76dlLsDsaWs zmhKJQzw>;-c{%N+$T#Hn7A60F`y?$1^~LFfC!8Ps;LgjrJ@N^-11gP$sM2e@f6>F! z)Ai_S0pbJkge2aqn6*0RD3KFRO~!)4wW%ROUR!^5sV|6KnTj)nj(>D^L1U`95p*y?_QcPkQf5_QS;TEsrLxItxJlc%Z)sV ziGQnzKsW7V8gRcS4$^V?z4|%S#GHdu*$OI5sQ=`dl41%v$p7~0AEp`U@rHabHQrU~ zmslJMb$Yr-^)wELmJXgdaS+b`_rhy9%)uyZiKPeIDg;L2qT_k}e|F@m;>*37^CPi_ z1KK}x#2ah>(pbm4-6w9H^AaZD>K^khNo5W`ne;dGy2){R;6L*jm;HQ) zt{#>(r(JdW<_n{)|J<)57WKqiW6)<=y&cip#B5FLzRw3AWNtY;e-a(vA$(9*iT&C0 z5G{KrwZ*Fp-<2u|ahG1e7I(wn{$mF0=U-9Yna4+;D_9cTQht|lB6w9OvR5FmoYVYj zh&#Z)RG1Jsbp5WQ^ZEyt<@4m39}^%G#=4(7OHp|?jF$Tep-&yImlf$Y**^DSMi!t*(EbWkTV+Fpb@XXR0pSiMY5yeIsfHY@`13h+)9Oo2WxXj z*Oe?IyXqsAPVcu97D1`$(1tC^o&~EH=#)bN{;;N=rXQ6!c>^0`g zRkz)3OIt}2aPDlq2F37LX36`#P8i;p1L1jZ z#B8L5Tz5NP^L&=ZGM)2SJ+dM!hrKwtz!{=nm5K~VFDa2Ad=;UhJnqiAu?LuSpvM0& ze}mJn`?Wnn*ORr%YtHp^Auj1k zUu*|`@?XgP;f61qGmKOCXEh0HuvqTPW+bW^6J!@+o9AHb;DF0SGXV>vzYsSoZJFhE zFj;WSiwgy+{{lbOnsrf`{!I(67fKLZ8Dq;jKWg!$s&xd`BQt9m92F+er~Mn|>cx%Q5@XX3KR0_`9&gu<2;L*t?$Lus z9$iQv?9(CQ@}KPeKh}Hn2+FcIuG;Xp$}a3#MWA6GBfB!H_1vuX_iIH+F$8M6BpvDM zj@c`Qczt`u#zE~M}EYg>H}A;?H~hrv<_x6Mhuty z%yyhpd7AYz1*zHeD(yg7D_vEExdUk#4G8p=#7fP~@|lBZPrW-ov228}m~6y4*_d@P zy}H|T+Yn;Qg^Z<6W8nTcfq945)4dq9*D?Wo5@Wi!DRM40!BN8g>qs~!9)+5@+`ioQ zz}c2?zVDn#z+6G8gr+;h@j0W4Khvl^)FGkx?fWF5wq#;lse+6jo00oN$nhumGdAv6 zfVl=FgVd1cvh^K8$^?b}C&TAhQ?2~Q%3Sz)vDjb<@h&OY2XUU_N;)W(6}f2v>QUEY zTdLDD3XN4XH#MR)sFUEXpRW8!XK$N_4_N;#?!oTrGODub%S|~Yl<;vdWc;W}O~_@H zdFCQOf>l?whaF!Gu5RF>5(HQ9(5A@DXNda25t-N0pi^Px%}6O5;6wI5iq8F?3IB`Z zbHC&=muksnbEzbkx#TWvE+N+_<}Qjg_xt@ajO3QwZ;@flt!6G^B=ljCYq{qhnIh!= z-S-dJ58LCt$NRj`Ij`sQOPY%}8)hQ@ZfQ2Q=E-od{u_lGY~6b6v|)+StOlvVKJK_= z!j9j>`)d#`oX1Y2n}2tr-seAzfy3YD?JLC+fyaEc4?exWF9zFD7j7tr==w{U8bH{^ zqumD-a&iX!!#W&TyqQ1x=(AzIzMUXkp?%_wl*mwS&C=dLbaPhj1t=FM{%JPGzZZ;o zFxJaxx!PnDodDN`_d@^iyn?+qrvvA?^8^ZxYram=G$Ma%{P+xj>dXmHFcY;wwi;Pj zT58@SyBJXysHTCmvgwTmFwHbirN5c9mJcB?Hb_cRM#73M*rJ9oFr&Z$F*z*UD%{H% zoH3ymsNr2v9VSGDf|#e1Wg0THN(an~g=rADQ0%3zOgrD?@?xuleRBaR;rjQ~)WhJG z0Y>2e(5ZG&jlyx_b*-Hp9S_E8u|^o@U)6UnlWcWpl8$8F4p5skj``+}B*@VtTgt`Y zg{hiqT%=x6B zZf>20emR)hp*nkjKiva)bPty|JumC$tLA8`O2A1_N%rG4M@B=1w)Q4jIbn+Wi}sl^ zT)51kpG%oeo3O}I@vk0Uuq;;HXiYurI!J>D@+M!WDSwV}HU=&(>m4oD&Pj~MxBr6Zx`uCAY@ zsk4@x2si4P+ntrg-dNrx8IRAU+0GB&?RVye^7Z|cCpy2qN8lSLGsX&eeym&Z*tq-B}~dMc3|YKA?GSl#(n?@5RTM43$ZA0^JvG zOB+imwI^6#p}|i~puZdH)N?SeY^>q*A9_d;E)&L-=B^mSMH}zj5N~S-V|fK0BL-)v zwImTVdbFw|DK#ZV6^jQ}Fh06OKtgIWJ_!GPmQ+AJf+|&3{yabMeryzxMj6QZ+yk13b%;%cPru=mcsymkm@pIbPu z35Yn^7g~rsKQbZQlB*HQo5|4mk&(K?;yp|&pql!#qw8cQJcn)q`=+{`=kE=(s*ZjCeumI=k1=)p1dIvCTPhE+TyAknIWSE#i_mEtn_%)<>YuHyY-}K*YtK(D@%G zMvp7DZ`u)lwKX_e+8UZru&y38WUQioR7!@xjQ8=3)1gv5gOFT2t1u z5PRfG_srX_c*~jWcX|UlIS7p+7s+Y678^5`SU6x@-~k%LfRNLq>uI|}EF{kCo?p?& zZ|=HrW8Kw0@p{ZZGR^Y|Zk+{&nY_Avmu<<7 z$|RwN(>#NW!5@cuEi+n9u6_z(4Cwsv$W#EElWw2*$2~GKfG>sd2`7cs6|wNc9>WW6 zWwVR9@eu&GiAj$EsEZmWY`K!D&Y|7atw&k%_wMzNZTB_3oc6Giv-&IE$_mz+{GbecywO&aA%cH=Y@W3MvL0t@Kme z^lm1f*Dh4g#hh~x4X!Q_XCsaedAR+y1q4qYuc&s+OBVt`UYDX}-?eHxK*W@o_dVw*>oh?C3-7jEzl6 znv|NnpWlK(Nc*gRO2^1f+ltsDx*eS!ZBgzr(?g)nCz2Z5pQgz}uZ76N_3Q5?9TsGr z0$#fOJqb7&6Y}ah7k^Y#9I0PoUrns9ub4Hx;i?Vc6K0y3COWshAEe%D&s!PBJ&Z-i z201H-qjW#Ecy1k6I!NV6AE4xu7P7;w&XM!JjU05@MaAj*(lPq^4zjdQH9Z>sWX{Q&xwX?__Om);eK ze;-cF%MfMt9I?CKJm-Zv+NMgTTOJd`5mTe%0{svG$;uDxK~b0zyV`00aHgYHM?#j7 zTLD~}wUp(&BwzWne|>#wZ``*->Z+DB0hlhdv(XV|vcPz9EWZ(q!Z$1g^T0L=X?OLd-uw>+S z<%Rn{nqd6Gt<5}F5tpu`lmHZa@X=qR$OwfXYBLDL$gJo4Nmv)Spo}p?D~#v?-dGuC zhzhr{?9f=Qw&Nj0SJBbQiRBK~7#_m{EZC&R#n#u?E1x#lC#-RcGtBcnB7a$dqiM;o z6f1tN5q=g?Z?>QNW0gWtr*@jDB1rKGN=0xT{{0%DCq=ZU%z&JdPg4V|R-iQ};#?(= z`0FjLHRW9TkBTO3Y%rKbAVAZSC7tf>zStDO_CU9txoAb$F%x*F7u>^dp_%OjGS>%` zZqmybP03y)X{I3#Ir~6`N8J# zvUy)Tybue~Ux{zFnpR^fUo6h8#oZkclMaF1O#QWqLdyCYxL1jBbBYXG7(ioTH7JXg z<+Ds-5uVbxRRf!v=462MdZoPXUD-)Da)%a!*Ijlq1fFn2|6sxZ?KYC3(K`a?7>yq zC8ira#Z%qep%=U7RMi?0OBxa$&u?zWSJ>>_`ApBa19>}OM$6Nu@OTVLuX}PdI3?cNQX0mg_KKDTHt3ZR&1endd`E2SO@$oAjKsHN+CEla^{pPfl=6{A- z0A%ahw2cU^m)Q{^X}Pr@+2Kh%+-fJNp$D?JhT<;KGI5Ye9tt(FGL>H&-R*F07P^dX zFkgbz?v*}X;e$#PfBB4QViNFcR`mFX*L^g#ljaj6&8V7bzF=zD>aK$eD?(DokJc0! zB3|(xE2`zpw`(OZy&dRsY;I}67J|rG&7Nwf2XY%P0iX<--K6H3w%3+Ok?8z)l0jaZ zi$)}I>pk;9`HJNK^n>{}`HZf&c+L2BvHpWYs|qF)0Ck@1+9`1^;+JwwEJ7!)8jDwS z(?ky>U5>`g@+X;c=Uzqa>?ktied!ZLD{*`#BTyRGT2@P!)mlSPtmu!xvGja5{Pn6A z1#eylB#Ec){oWhC_$zdA)^%~bKXbAli|MUGDGmxNHT9}@YoRHo-{pem4H>wC2)z&y z(?cBoePEX~jQ_{Gi|;#8|JtMWi1j7K=1Wm$K~Z}bCx;h_g%&dy+o+)pea8#JfZ`(cZ#!67a8MF?Zg0M1)1D zzG_Ts3w{^c9@*hA|G^zzy`}5Io6HYGVMh{vd>$g?hPYnqjvD|iWxb}sTyrh%y?RFx zPp$reF-p%Qxw-S{_7B-{3=IU{xJ2IjRfo2G>qkGuz6|?B3Od-2`m-+cuO%ItPr_XO zD#fV}j2N@L=gILbKGMHECosfUC3~x?^;&}6tz9HYQZ99 zXP$F}YqmY?p0J>#Kxm0>)bGwX4IwYwTJ&GD(MfBD{X)JURjR*a>&`$G<*eW01JYRa zl~@rcmLsrM1UjsLiFXTyq#Q*Z4>VzNgLETd-U zblr6IS5FDd$}fC@W1dEE^Qv58`OLC$#s*{|?8#ptF>0$|F|I+$zq>#k=Ns0UcD8!z z)316=MfGxKx)yOwt1NL$W58m`wdQYCYGTD8UWSFJ@ep1J^bRJRZmSNilREu$t^I#dBmsYeIp$G`OV+p=>5o(c7Yk#>DQgkt7S`E zk$T=Vi*@(uguexG(0jjA_dhXJe-fzPA|zJHi5ri(0ioT_|F#Tidtr6(vir@B%)tng z#;qTnqe18dz_Dqu24xj=rnkPK_e_I!qnmV)+K*}2+64l(zj;P`d)cuyTne~HTHtul zE=C9mirNnCP%lee0LH2cM$#}@p+zR>G_yW-jr;)3MM48jFZ2|(L?3R`UfEcsCRW6o z^0*w?`16iC8&R#e3SK>y`br361_?3YI_G)lDwwI}m;9qMD?kFz2cgc4X=9lc14Qps zyw2{6U7&aazv@``KGoHFV5AKtb~jtH15V%s>`&WA--D;o{Gj z^gYI#Qm&t8s%H}+PS!uRFLic>)iE-|H1BiSf*PN%T^8u!?L{+G*M>SwZ#xG_PGf^v z1D@(@KKs;G6|67Yr!_aE&M3ud<554Nwvw$kEUH%Az)b&b+oF5~^wFKa9}F| z1|Je1dk=)52IxJp$hqtQF|7d0J#4aehwuFY?!`T&sL)WsV13ZCa`a5|YbXPfH}^j) z6Y+ZqU>P*he$<)lYZ`ZmHXQRF zcgj_O?x3-t8h_(@&`-zan;h0jVM#o!7we=%H0!j3-FaB`5sgBmtncn5OXKF$= zkr87gPu@H7&jc^xF2j3Y8X}1^&1S+s0X zbG!QokzIDegJXs0ToD4Uf{@iZ**t;6ZcgHCU@v-l2~Xg)c;;x11WMUAX1hx*XTMKH zM<_Xi_$=4Cd?yL30%0vOtI_v2Rjkg{uBU+^5fRDU;ew9{tG-7H17~N%u75v=Bai=B zIGXugdy6XV5TXLBR&X%juSE1>D{r8tX4$|k?l|``ygM?48aEtlx&r_?GsmFC3{to& z-T7Udzq!B1IgLRe!hhGB=(9nF?&?=x0i9DK6d|$Mgg2R($^T@$S^0B?YhEt?7s8b^ zR~*2<)P|~Pb|vR*Js@&J|LSfVjsF)IRll`b^msIPRGz(3x#C(a_odvR_~@G0Se^#` zLScpat?B1}I7p$n8ic`<%y@B)F&pDfKKC98Debi z;Z0U@jBcD2ynsb8M2v$*8QOToa%lXe+hff+(w>!QsrB6C*8cAP%iMb z_=>#dij|WHcTX~Z64wKa4N@j_-{!Ufz)Lb`lI<4U>^@98m5}Ay>Mj9kw3e%xzI`*f zJhvv!A}c*p;va^fJ?Hz`6+xNy9h77je;{|CU$;Nn=JE}Xind3&CTDjHV&B`o%R*DT zyuJ8w-oj{uIyccm7EQpq&kA_)u|YLfF1Rx{e&TVjctZV;$+T zfflkWYuJ@m59X#-XXX`KuY2&! zliZj$Hh%SF1yPUhHZ^0)Xx<5HWVOC8y`bEi^xNPcN+~7w_g;yvW+gz_mt{(pg89}g z@^5myQQX__nBCHZGadW9D+km`plV@?nsLi-wGcW;D+wD|kOgCsvF^}7Q@PN>QGc;` zpkAZhlilBJdx=3H!SG8$N6yl`A7MXZ9NiL2={PM7O%i|l6rO6?sN6&|S^Qi0(NI2( zKiL#$`e4@;2u{*7jz}+7Z=G{3YKiLq!GCBceiP6lz`sc1q=XfTQ5Nf7*n0P~Mn1Or zk@0DN@Nao)OU`#e@Zy`le+1-z=`(h{db_Pp0o%5$e`Ov~2vwicsO=AIoMWPd0UA;t z{3(4&Nkk8z6pyBNID=?7|IITk(bNgneiDeNyi|{JjFnyr=I9!m`IyG;L4gbk2q*&2<9*`G;wshNx{~n-5V_)vAo{n~O3e zFli1JLMXYiZ823}$uw%;-Oe)?5qsRc>s0@b6wxpF_jXT5M3PVdC8DDs;wJ6{H0QFt zoklJKiL`udeDfkV;}I6|71t+5$TZ?U`ceqo#l{U zjnVWYVYC6yr;u~$>9ePenTs@!xx!o)&-2c|-amqFp16VkVOX{4- zgx)UmKT~sZw?tFfuQVjAmB*!_dXq}OEO($&Hz<2{66N_ zTODW!D~q!TH3WdyU~@0NX=Oz7J&R=V1mbUklt9$Xrez@8zbAND@Pi$GYfHt@XABJW z^A@ikHPw1loZR8&mL*^jbtx^Aqmcis3@pT)ujreZvyQeuQlc#jL*j5)yuBAStRQqg zCYm(J(;2mV_$EPyvA1x2fGt6Cs@^MHdnhYvu+k$VZwy$sOgn0|ej z+2RrPJgk~9Zh+AoZ(jOUF>bY0=$vc@`1~@1IR-<^#iHoV#ozy9Kd9@{#zJTK(f;;z z)00)=p`mqTMAU_Et0(?Wt8ES*w&|qr!p}T17dz7Sv&jw4A5S+Jk_?H-U!X!s4Y;vR zDL|9u)8)#klHz+^sg=rN0^DWultEX!_!jB$$l@J(z3ah_U_ZI7Z)15f7|{&yFACPp zZF4psMWErM%NWT`aOdxH%B^(g>)Vr2Cs&TisFyfssCR)!N9ClDmt~llvcb26@r22g zr1bA(zF+16bV$pX*|~|!*QN?zSOK0{-#4WfNxFTjw5FP9V}KH)N>{`D3!ziE334JY zI_S$yVc2k+i~LPXyGaEfAh_m=4quXDu5)Gm66&vzt*@`8%{-0Ev;3`0I*1@ZflFtHC7yDXh`?#Pgl_S>6jr(=H-~0 z5jTjO(J(nFse(jOfu9~<2;s-!d^b&zcwBSa<%z&n>08fJ)|~`1(-%>8QiHnzC zNdn<+WtO>G+TP%p1;EWI!1T~{&R3#$+~K56vK}{K!{v{-E5pwHjg6+?>4Tl3urQMo zhj2_QZt?@<8?_w^t$?rw_&v7Rs;dQ5Sj!DoWV=oCy?8d${vG{PK967Kk{<8W&4f1_@95jQCrl{DyIFvKd2jn3h16#Z`P&Mg6_XMu`a;SGj zrdKHePO-VIVwxihMb-ftBn`>eMdTXuUuRwm0WoP$P4iv3DFPR+n(5Q($x;%#`Uc`X zX0>(82oQi^_!y$rRa_#_D&HYJxEmPnCjL^K{eCVB5|1Cx+zFv;?Q>TyaAT(sgft3r8l=m1%8~g(LaxX-qh(A64 zBM|WiIKo6Wyx$n2HBcb%IPRZ^F8>K*3i7ubv99@1^H zgGja$`9I2s+=r`Z-dueM0dL0w-U?jSoSJIQe}xlKZOMy4ewmq>I;0LzRbDP%{JnQx zf3bIQDnyoi=}yX=x*hWxCy@Yz3)8TPL!#Sp)2qH6b347xtj`88t~KuZLp{At%r=(j z+m?!Sqv{28Fjjb>_J76@tPej1MknR5FfR=^w<#z2vEm{9rui8npfWi+9oB@!2QR#Q zsMNeXF&Ev**~g|NkFPe8Y?ToBHRt&z)lZOluZHKyPCFuXF0!!pN4yUM-XQhvjlD~` zNiSrQvvsz+f2OXuZ-xEI>w0>6d?Y{YXhW2QR}uIiW&85+)(FIu>*WtqYUP*AL?JNR zXPOz$gnRI{4Yd#6(4=DGQd(=37Y25oRm2&lil>e>6EYR`a(ZppqTBX8Yo;Hp~_bbXxxJ`d>Te#wNy}(Q# z$elnV>bPO0U< z0(7cRRDVo@eRer;yw-jN8+9+5=j&mtklHt0Jy}oI4zvDLw$t2S#X53zD!LPLK&E4Z~o|?D!ZDbU>3sM3Fhc*&GLG}t64PZgQ#8FE?MP7_AX@o%Hy-66muAxa zvF>-vJRL}YXB?JQYBB#M-aBomQ@(Z({M%GsU?Dy%oqzvJ7&3uLUoW^8;2->rEHKcr z)#2#Cov2iEN&5FZ% z0bM1mDY7?%KlOs6tsx$RQ&pVrt)LC{CED4i;aj+g65q?VaJUb zBR(#6LUBx4eQDRjWzIV&uQ@JLH2Q^fjyk1r^ZDnF(*g#EbEC6>ufKkO`Y3p@5%}1- zbR^j?b2tH>2F^|WJ^AJr~G*^OGBNV{&9`U zyBNiHkUr`bl04i=RF{6EqYfy}h$GxR=$gZp?ZKi;Fi ze|x#>wwhMUa23rpc|29x9X&F`9yq`NnxSk!o~`2Uy-oEKw}4X?P%sj=rmw-80E}$_ z_Jef(ee>(EvYW(vv`Zge9H&J^sT3UrMd|u{s5R74ON#^E&*H77>Y^l?@^s~{zuZ*C7UIrE_GO)tWjTEWow-?tV!mZ0 z#Ya;?F1h@-*7?y|bNR`?)1AL&Qp*nT=EAs*B*6puiaEEnc{&`UgH@kYk#e&cVfBEcAuT>I|*_1oyDJ zhh7^MXEC?<9UWfJE;Hn=Q9)fuJaShmS}MF{EKchO+)dYV8)vyaP<9!PaHZTK#eCqEhZXX@g z?KAY+4jRZX!%%n3Km~M){aU#?H7cQE9kzAfjG|$@kW@%f!q{NA7jC%REkNwK$B+|d zdGO~cb@#O&y$1cgzW1}OE@w4aKSS(OmNUPz=nB|~dFVN$3YQlU^Z2Q7rIUvG1IwBk zyiZGg5ZG^A@~NN4$#*%PCifT68`-4iZX>fTuLIb*`jy^~edg`|nFkRsjhoGRKtumw zg0&QH<)2e!GhvxWqupO`+!364i<#$*wVZJO6Sri2w&|hSrpX!K_SdcmMf&I1J(;4u z>W~_H!oN&K?a*SAN*{kexj~yfD>ltoO@;tT{7PXSXsCubouB99SS=>VF-yMFr}6(dtK?nSU>Vt>eEAsn9tx*uq$Q_pKcx!pEOdM0U0i9_H*8{(K~>LWS25c2 zuObA@Wv_PD8G5UjSfrHS6)^AFI&bT{(=%Jq3H@(yYz&Cz3Z#>jyXlX1bBm5nz^`gN z#FtTok#d)`9UaNG{zj*d?omsKC9yXfKUezJ<}Bqtof<)u?udg^}yANK}aRvU1Fn)m?2?*b;=Mp*`M094WQM z`WR|%_qX_6926>I;!{PDxTM$hZ$SV5VDTBO=VuAL?FT8=194>dN)auV4A* z-98~+@d4#yowOvw1<9lE(cVb%S!9`;oe+&tZtDroXCKf4-1pOE`QtDAl*6pU7j&QT zNzyGW?o*-@*o|q3fPL>2Kxd>S+7N0XXMBgd>gr?8Ug5&gpFcwiZ)kEuv_(goxU^ns z8PGiRo7kFhZIyNsoKWap^c>vg2JK7{+wg4M+S2VegC4;x#Jt^fF|6z#_T@|O(R1#h zeBsWtaDaB%e9K%=w_y~WJnF$?pc&!yDDP?W{Kd(|dDK6Xi$9!E$74ATT~s%YogZFX z&8TtJp!b^{BsVWuP!C|LK-*zkf9R^it*1Rhxb3#4JLWFT#auew%Qci2!>o9##x054 z!aTr8l$#|4WRB4)xH7!u8;3Cskx+OGf5|pCH<(TL9VmQLHhR+&yLBc7$t4CfYHDN5 zTIIzW5`0|o5edmXIA$`P|Wj=x#rc#6Rg6zZT88DsyfSkd658^TVG4vR@;Ot!fQ(G zzq897@0(_+?3hjVMk5#fWtpOq=tO7AGfx{L11Z;eY8`h4NqCgRJm{YP7@@_wk_2Ym z)hkOmH#HSFl4uR9XO;8!Z=jrP*R8DG`E@o-1sA`@g}hsx&Q`2az(OAk0}J}J03;e6 zz_lMDoKfDjMSJ}FnR;LMWB3-^9sX*e10_P$daczv)X_R;JE1E=4r8s0BHeRB$wH!z z(!X{i)!Vc2Pdm~g`w}%*wSKBRRn-Rt8vF7e3-Lkkjh@@_zO!gMqny!fwe{B31pofA z9W`!vpmj8Imxgjd%y}O92>i`y)a>(%FpizXXSEAbv2^LGU_nWU_tk}8WbmxJ&|o5% zW8^S6x`-j%yPs3zc!UBzG6tLtNN^1I&^7=1_%)*^b(8-ORfH4yB+Y!?4zbdYe2#H1{x0nj{l7@YH!fv%9Pt2u`TdQc<=;@x;H zRXpvw{hR3loqTY3FJw{;^oI-C@@fcHMX;zXZ#o92>D?Tn`%=0rr56q^5DB0H=!SAZTU&o9K_kWmu3O${guXQfbQ`_J=X8Or^FL!62{nW8Z-5;3h$qR_w zxDk}u5%hHXL#rO+(T~x9l-CghzYi|O3K|xf3&?DPQe3bCAGYW@S$;16chaRK8hvu- zC~@uTVR?#_ih68$zZfOvyQ(^=@%*s%_!a}@6(w!^Nj>x2Bg&T#X)+71e1m@}M~n+< z8!6o&UW!b6=`5|Ur$)QuBI%fuO1T*T7t-#CWb+O-6_mKnP)bDUZHIq)esziN!1rC` zldtiBW|ML`u4p25!($qg7mpZYmCSLD_8cKQeCOhpv_wvT|H@Mfy)Q8>H;3@~*Q><2 z1Ww1es24mlztMwSJ|D}DI*C|@AGQc&u{ph@C0?97Tw=Vpx4u^?Ml5ekB@~WSg$vgBdiY9!kSpm5jxX?^Sru&v* z*@rH38PqM_)oo?TG5;L)aS*FZ&>Bl%-o$zUfMxUTpTV zPX_28Ab}5zeCNB6z2Au<&YYZtwyT>ev#1xp=->!F{L0M6;ZgT%g4`C8PRCQ7XC;Bp zTMm$%LXj)nAC3HFdM4e+=$%+T7$axlXe{i)8Y7cH`T`ix*XGvd(>CA+=CN5`=W3p8 z%MHwd@?1exJbW@BmSe^8p_%NZx_OWAX`-D2FaSE9~#m$rWXRe501Yon+~W!0lv z-*~G%s9Zl%bL1NxfQLxn>t?Lduj%-{!*S>viH0d6;3S-t%{GZQ4;_-?#O4%5n=YXx z*NY{QhV*%zjbLoTW=k?yaSrLdpL=_IO2!#5R_LcE6#k|)gMK=uG#({-(=ozBI_4C{ z`I`*)L36gmCP`&4{FSi)vZf5@M>V*jA+#6R2Wg#YYhz9%LG^)O;8@SK*1Iwz5MN8W zR4!UaC-2^9Z6oIANsQF~8RLCOAfM`o!eO`Ts@XjD*`ok9FuGUi^xyH({*gFj-Ibm8 zPL?*f$96D%R7uqLJ_HN8_Sq-~GcX>pQ@nw7`zTZV#bkK+>BJ3auR_`4cI4cDR{1!B zt7W##ZxZ9IxG!==!^pzX?U9!O)jaMu!hJn zjkr+~GvngHWZHO z8G_r^{`9GOkxHm;uNPCa1e+=-KDB@wK;SPXS%qJUa4zfjY@uB5z^HrSYmF;5*L;c@ znH-wc;J7|wfH+eoK{*g6e8btt`$oPw`WAZL!_rbw?(n3^ZZEL4{%}?bA@QK#u3~_ku(8=1 z5c8~%TUG3?*YR%X@zlkV!-w!=H2)8aQ{u%z*O9};525p)LXk&J&0a*5saBkPi;|d3_jkRJuJJ-a1XDwlJ{=;6lhMY)j%Mo>$=Ub8;CMoSx7|qrFpkRtS zek0t&gT&p(674IstVYC_`SHhENzC+dqeHBB5MK=K5Od>M`r05G{mU#Jm+6S<4fndx zPcY($OAr=Ai&q$aTBT=W=9efcUeYtuHoAjWa!hPaOG?V|>5P^#(Q6L~F|CgR6cqJ+ z`1|e~b|gMDxYi${agTk^wm>-p_o_EtHw!SN)w0q~A6V~!#6aJItJi|v)T02NOk2wWsD#0yrp;wxgA{-^w{Uq_z>}>> z3kz$X-MJ(S$*2+GVe+(;3_)E9oy*aZp3(Ha(Z4onOWnDgw4sH9bp_2aJ(T1{sJTx2 zf|sbaHKuoht~HuvS3d0{u-Uc-ahHrc#Q&XY9&qC03G+bE$R(NOwy~63yfa72B|)*! z^=x9?Dx;5gsSE5ZRmAKj@Zzr-{)ga^x; zN0!>z5hH%u8R}+xEy3v`)s`JV-lAdy0wZ|JNVX9?TwqNPaqVPzcIiDe@?Le!ICe3W zf*Q1H!T|jg2b*lZl7|o$GB5)8OVvElqh&}rxRdwjze_Y$9cOnvXPQj7t z&}O<;bvyC7*_+^5 zpT5Ww<2fbg9kw6A`eO%!bNk4a<$*ZIUx7%0*Z;oe9F&6lOGz}$#~b+}LG+u`i5kxX zG2^AGsBWJwOqkA6o7 zeU$?5ull7^YRrsNU7NA^D$>$WVBpVzc~YlZ{B1Bj2-74t4zmfd^-V0A|7585u}Gl$ zuV8g2QYRItuHDY_rAShwJ5gl5&Ufp{)B2Toy0;YGaA`^;I&mknerKgnwRBV7zl27W z_Nox-ig%aLw_$G$Rtp-z2%CGiCg>2~=lS1X_26IpgPB*43|#+5m)pbfS0(83h4m}KH%yPFM)acXzd`V}>L`c6qxorV&sN4`uO5!T&7 zuiwBN%KO6)t7j^j89PX68i7@DKF6L)&%#c);G_-{ijT))+U2x`&uf4oQrLZu1%k%p zA%}d>NVDH^gyeq5FirKn(ce|hPvM%++9h4n9%pG}M!d|WfFksk<}Ihy1AlVu#IUf; zfv2$K_Kds2ucz}p^sWz?k9!`Bm#cwsO*^mQ6y!CdNsRF6w zJs`$$t~Bcgocx~9Y-L|l)~@W~=^^M68gfScyYAQ*7gHG=A=moHKt>S=Ij)!M*8a~3 z74C%&_wa|WuQl%{aEKeEbQ>~&Swy*?tdYFCwCdtxjK{w1&GZqn@{zD{^7OI2g+BYk zxs+0>0*6Pr6vyQVn=xp#Q*vbD>|^dRf_PJd9>8o84QR;EOAqPkm;fM5mP8#X>uZZV z$@b9~H(;G8y(S}KGe|s{A=b~^81Y+c`Z-or3`su~``|X5X*wd2N)=cWxTqWREpeV( z5gqnO`@Lq0O;@?~VW+S_74h%6G1J_T*~CQXbt^?hU+=0-q|{-6oq@Y0&Cfr!6wb9s znF-DcAch$RbfQ&sbH2jpLq)ln)CAzTJ1 zD#o|{G=I3}1aGXURnDOnRijjt@{5x5Ux#&_wu9g+uHli&sF3sH1BS22nQRoY&InQ# z9vXVAR#K7}V*Co7D;leX)X}l0&V0$0m@L{9*eJF&&q?R-Rz`Hk((kNvl4kuNHNln> zhVaCPx6XSZ0`+bri(0U{I12ldrl+kM-(x-W)tL2e-1v3Cy0)lE3!ojk13`o0b#h@@ zV6(?-PLUCzks+ZRkXy{$vTyFfg1Bl6n&%@4lO8DM?jdq5&r>TdfH>W3OsZ4|JRv9>Ugw`G)UBod0m=)55dnHBU~26EEJz6~;})oxO;aMrg@%jj-FQH-LXD8OOM=YV)SI z!HSg48O& zuLkGwz>*qe^xt>8lDTG1{rpXCH#cwDJzN{U)p{$D$tC$eC002YK*Ht)H-{4$rGRq8 zku77rkqz%Ndjf~!M}gnHTnUC2LK!yH6<@pAO>q`>C;erm6tg~gHW*(5ge6g)Ll!;y zw|PFh?fl?C<4omgP1kwO#p&wV%XE4(%p_kliR(Y1Ew$9jN;#2cD@A;hp*~QcU#7Fz z!NFMizBVgc0)+8Oej+rvx1Rg=49a?kS~v|-cQ7XSs*sD*`R#!Y%Cy={zVMZfTMU}H z53~sRAqriRN85oHyOFI@A=TU20jMxB(jNb-5!Cm|{D8muZz)t=Mm+tW{`DLojfiX? z|5VEFv95nxQ3p9uM+;{s7rXoBcW<)E4#i;JS3%Ewhok=aJ|bH5M(tgl>KY79{&z4l z)g~Er7q zl2eUB#gF|@E{ni;9fOI(6O?2gMXizx7*K_ef@m*CsLTT;E4=pCFZHS7;6yWk6p@8T_C1nhVJ6V+mcxfl?rlzJBp+%*&HEhhvgV77i zC(cl;tZv3X1OS1ww5<|t3_e?0TEmst$6kpsB$YS&Y}Wzl*&Jl{qnK;?Wcm&F`kfo?05F= z#_P8E1%#d$bYrc7wv*9}GYKx<&}>s9hlVsMyy1hRnc0%^V1UJ+SqY+8qu7B?)EXmk zrsC1dD#F^dN1ctgdjQ|kx(O~BJhx{k2% zM@Ky5Yq6Y4?2ba~WWKuy;Km)Qo+6*PAD-WTR7id0;Tj~jnx%$1EW%ev*e_@Zy`!0e zqQy-wU5GFQC)_fb?73mu+$Mz-Cn%6x!H}fcouC_(?GK^$Z^_OnB=Z-vRNPmMy13>I zU4l(m(rmeBM!LW;<7iO^+XvM<+bmz~Z@j;_sob+4*kxNseIKSmzm(%xUc}maeZQQj zWrOTdV{0tP{vSo>9S`;6$MLgA#*rk6yEEcjHkp}MWJjbsTV$QRWv?R{C3}{UaaP^g zn1-GHB7&9`%So{1bWb+X{D5 zr6WkbA1Lqcas0s4adSu5kf3i&_U#-WkNakf3cGbP4N7j=BT zi8KL;Sdq*^zYYO%%)N#seJ+!}-7slU_SA&$K6e@WiWDdi!77FD_>#qM(paZ z&{-BOOuXHS@cg>UllYp&v7rqMr`z}9;|A-gXo>aRTj(i@FU77i<7+kLA!p;;;rDCi znFDUtYnrUgb_ZRj*?KR02{ymwee>^!KY>jn-H$=RAl2#YUNP~PW8Kki8gc`qg928+ ziNosO#krANqyVF4tJW6-lee;{x>z`lnjQ!K&GNq|Z*|M6&Cg-7eAr<^!W z$3C=7`|N?Z|DJ67x7dx(%0FZ*O!Zsq#?}vq#t+w&FOC<#D7pU1KA>ubD7z7OKRWQ8 zeUNXqcHm<=qwlII4v|^h*jt?^!C18e)P4^r)@`ek7iG$k_iv%l0S~4-3{nEai2;`# zp{Xn*zo4qhWlQS1d{H%2LVW9E`JY1nA`TVT&)BjecpqJ3I=Hu(3h=ZYX!0j#EgH zxi;ItGz=I`?+{=7bpAq$=rG^sTyU(XURuHgW@3F9DnZfQ+>%+=r~En^oLOyagML$$ zF_i`IQrDEpafhW-Lz^A%64ApJx{>^I_6w5z#cQ&PvM z-cqwbsWT*5GFNE()#%G~~nKGltMwr=8x)~*in;&VG_J#(>)?4o42`xmdncNGZ-Yw^Z zQz}kS*NuvDIjE=VpQ@3rJUCO)$A>VuSv+P6bNEnAxgc_2ZY>@?6u}&(iuN;8m_g3pO%jHyYz+ za6ikAfLTWXpyPIK7gNZUjJ5syu1Um`2~3rsCSe$9*n0#}#*_5H$g^u*e$;kbEMO$ODf#4$TPR;wM04 z=+GYVC^06oyRL<%`~4PRekcJ8GTSQZzxYz{*A`to;Xh=hUzOn)*>;^CLRHR{P7;z(*24*Ho^YG#(9p`tf zxodOH10)uKs40cqxJn(vk)3Db2QOE1dQUT(j~8hJt;> zCmS)(Wv^yHVA_$rGG$(QSv@kzt9wB_hH4vsN0;}*S|jWa{GWNui+Sii({%=EM^ZeZ zNc;sDHI3aJu5vn>c_drl*5kNhMe2%wk<%aLbtsY$-|0k*g`~BW=WiKc_ zYnO0f<@&gFbvHBl^4}i8|9rRhVpofNaxBswcCml5>)X0KK9ntZBQ<*<4U-j}o1Lx0 zM7V!*I*{A&?nw7wX4{VgG3Uhkeh5!fHu>$s>@x^lR=g#W0u~L)sU>j6O!z&!ZUd)$ zZhYW~aq_AASzS??-GZxx`*P>^}#Rk;{U=2A{2my^$d9|uB9qCm_cRsUd9lmnwZqL>e z{m7Jk>TZgbFU;~0Z>WT+2O<{}jHA}g?m%PV*zDjAk6$|Kuod_)t-RiC0q!r4k*;Ov zq~U}I#&8Y;wr5=lAU2u#>%V;q3TH3Rl=G=2W1!!J+2J2iih1A5_gv}uy#WjNApF{Y zuq(`(d6GZZ_MNq*6`Lqy!6rK6HtrZqW$EeRhO=rGtd5>xvYJILlA@Zw8F~$-5;lCR z>cSplFt%1Q+3rb0G-@HO0gL17P1s@zDoRyUtDO~n|<93K> z;~P1YJ1zSknZj%ncL&0h--xr`TxE@`4h60s&5*Cmy&XThVvt0=G|baqj68L6Ep@M2 zo^+Kxq`kYy^MxXHn5eIAYDxj|1gVMZ`^d_AKUb6X*%thHe|^waJi710HJ6mn?V>Bi zcStnYc^}2TS)+~O^ho~J2l7SJ1zcN|uNP%IHLK5GR1B%BE;;ZWB%&j<9YZcP=NWp$ zY9tAh4wh0h4xY}JK21QYh8eu3h65^6LEB(u`h)* z|MEvnlM<*ERyMvO(AMQX)uX3ui@&N<`Wt< zbg)HvD8zKSc;n(-`*+vQJJZ{S0e;tECp*ib?*5_B-^DfWJBa@Ceeu-W>Sz8VPp=ns zizV;PT5ZTTDwI5rU-AvtKKd||Mn?V(l?rY;eCM(-t(B1cae8%oVTbMvI-MDHOS)w~ zWB}pF*YG|6gnW4>=Kk`!gTIuYr<|``h>hDc&2!7+MOMfwrDsYlFL^E(%p>9zh`a_( z18CK_RnR}a?;uv*gaP+xYT_?Vz7|a(;_=1@ak@V>Bu&rT%3+*rDIM$sG5hum0{;yD zI>||GlnyC1UYb+bgxnFHk3}a>WWLT;;#yR1lCi}L-E=$JhTcPorL!VSnbJ-MB@dK;D;MA6FM8KiRecz$`1 z`~w)dQvFP*WJO)Sm*TKXLz_4^l9}$~$&1~UqLrABPI_wE?p=EJ=^TsTUhpE5m6e8t+gZ2)rl-qae~^LWKQ z0*U#UgRH7)8Ito-74M=#spf&36v{yqAkZVY`V&4dy?Pe;VGcSXy^7tePO(%3tV`dX z!_UC~+YHd%7S90(%=4C|g97}|U9KlvFZMakEHDrG1bD z+=2m&8eHJPE&y%TUq{@|JlHM3TZ?BF0=e514LDYW-cW?8{eDjBjmj!XIY-|Bh@7W4 zWCGX8nN`Uzz_2G#%9Sl22N9q(817*g?8}nZ_DJ}NAn1sd&SjqB#2k>Br<)DL%!cgs zGQs|7z9$02t8mbA`~EDGTUF_2MDA3XKI*X2>!~Ran=i@o+q%x=$oi>CM9la;9pR2> zX8U-P&OoG}%MLB_Ks}=iE&xi)9wu5MWid?Dm4AiwBKwI6G+@K=qg~&E6-kNP#b&xT zWdgwNW5~PHy^7y#9Fs07WNS9wp_(Z&+-cV6y5zwb#1F)qsY$?Ir$K~`wN@e~wuV%E3~JzgrV>D0lSwEdN6VGY|< zuIGBrVL1h`R}>#bB>Trwy}sUQYBYWj)q3?uD!Z(mK$K4C>xSaG95YQegM=TLCH*QF z_XtjYCK2wY7E{;zlh1`b)bya}9J%fGkJD*JP0*#On5w!dGw&)L+`ERmL!p+R-bFwt zV!C2IbzFbRAl0~x>(((EOMwLj<3~x!7#TX0nHiOLsa553nvdBckg6LMwBArXpkyw> zvL|0^tJAA}R}Boeux&=IrdpLB5Aa#x+wLAR---tY(&ZBL67@2l2rX>JdXZodX6nDe z-k>C?B&~Wn7(|?@xq@?~JUU)G%eGdCQ$3wMKU6*28b99OD-5e&S3N%hy1)_$#PM11 zqszYB|JbA`5AaCkjj&<&Au?h4B+NPoaBh-@#)pO!=<7d7N6+|hj}b^B{qlN?5i8C~ zMG%e^+dMlP&!@LJZ4Op0&uTAD<}YSDTP|5ItrR@Ob5Z8 ztcH<#nWsNv{~OdpuZ}06Q$J3Wjo?ssFr1>#T*ucVaK=7@0hFt8rPx7u6o?wWGV{cz zN?Vv+5dOJC>z?%875rufsqEt9>_16;c1lLw#9<4cA5-p)r{`pr1%Ub}tixp}GNQfV za`$~{wjv8!sPD0c#-0o?kWpEE$@iXVTo2|l<068*@dc_)NktzUgWTLqf<2=dDx13Z zjv}hA(ytZuDU4QkMOezSNXXRmR*WV!2Mhh&sjebda}TQhSw$ob2;oXE&?_t{`Dvy- zLx6p(Nl%^xYAZE2$raT2H z`Kg)QFv*A#4$9s08uphwU%-p<1`b0pgHhYtGoKZ`eLCjW!S`YgZR>FNh}ft>Y9@1> zneKN&T$eLX&WwMRt`*e7i-#_)EMh5X%tf@>X`}|T%=0DcZq&wz+7EPV;5kM}C;( zp~X9N+KsIII_%67`^55Nk-pDU%tU>^oPlxqr>Mr$cHFnY7zkXCD`s?6I--7%9Cmuz zc^Q&G@koG~8BLLOi+GX^VvFZ8P8}m4Cb@4+>Ve`QTMZ~}jg>9NMTOUk@+G!tFLbZP zuGt>gnCp+=s^ds^WU(`*MnwBpWp>&z7aW~ulSHL7AshV+42zMi-86Q`la802vmP?< zUyuR(llZpBHkw1=;f*M`4ud9FfkCeX|DpX|mr|NyaBr{{=l8$J*?mNuOdNWK$71*V zTLQFfFNmW6N7}@rEE_QyD`_JH|4#KMx|*&_C4+OXhPB6XON4!r%7bhuD7Ca)m)7T8 z+G`(<5OD{)7i5xm2$cz33Y;M6AzQ+brQ_^^aDA`D%+zZI++ShUYKZpROuR8)F>mlXIkClZmWn>)cEkWy+2ZrRI=sTvf~NhasxES_ z%D%)cN?t^k746yM-6q!5ZMUA3&(4?Y`77O#CH~6xN;@%PeH5zu&;LQGf(Nnx)HMU3 zb8~5L7Zz&+9MS@0uLsu-%*GnVhka#E?I2myUoMB`x7G~toro$v(HOW5ZTb*S{~DBb zRy-YTWp!BGqjtE}O>Q!{qz45vwT5%VY$1y2K2xm^ehDcr3gsxWe>%4oIftf)vx56Kceb}K)NF5! z`hUB0O4V(B^67epVpw3WU(6iU*5ap-r0qM|yt%Yv`c|ax%k6j`+`v(^*>>wM7SRMUSL%ndkVX}1xZ})D0n#INMqe5% z0a1Cqn75R1g)%D}`mvc}pSDVqDa{FT{QF>S+0R|qr{86cO;l>${bv67LCeJ%3GZ;n zk|SYZxO$41&-NwjOZtg(jmT(fp4&QdY#E+dU&1DbT%>{rl``M z7shS4k`AEaj&~18*ISWypKuE%84+f5uB-j(sEA;bqLSY?8Ic_1>XjE@yD=^?S`NO- zJ~@?h+_LOI?7_tiKkmacHxhsenWzw(dO$*qSKc4t_ioK!Tev8jo?)QoA zObbRxpC}BV_2LuUsPAY@Jf404ilomLPAuutn|RwbGYt9UL(dWef6nMq>HfE41<2zZ zTH9;!hX?;(9D1C%45H@@5yKWCJ1>%8B2ARE8l~E{iM`GR+xQ_s9@oR6aw%UkMBY<9 z-wg|D6$OxDu)@{f2QuQ%kRKG7SLKtG^%g%~<6z>65vbe$rY6cwOR0vMn_x(IX7MWNa{ zu;Vt-fzl>~Y=a&KY=~x>Vk=r&6|0dM4kD!%HF#9>>gL5JDf4vs%^m_t)%RGlWKQ@U zTFK7g`M>rgT^|u7subZ`=`usof6|DlhF*a-=`P4-I?U?)a1g~#lrb*Ah_YkQvD81~ z%IzxoWnS#)s5}i0s4U(^2AcD3>T`y07ZWMR73Hp`@uy_kx$cTB_`h6QFUNEU63BOk zaG26KuAJOlS{dqLEH#@DrJB%s{Kt_eRdFU@2GOU!4`TejCdDKoEGHR+1-7g%LcGdv z&`!^ky~36)j6BaPbc9fBsWbVx+H932fwNj$qg*8KER?n9Q!$t@LQCZ(A7t3(33(!S zX%~iPS!ofjG1KMm5=`XhMBi&l`Y~$)USAz*L~dNA5TR^~);%UhqfeeS8vg6ETQlHr zc)@R*!J&h~pBjHo^EBxsW|XE6g$D7KkITz9Rb)^vKqFEkWa^R~QR@F)BzUe(RI!`5)xOYWbLc!w-OV;%tZe zNGBhMT)#tAy*}1R0PnAS9 z6Q}${k*1HzTXM%#vw{drb7V!fs2p=CRD*q!UXOM<;fV3T3GSq+`s0$pgy$woAThGwHX5W*_^}v;1 zC2`Ui69X=l{BbEoA1%6*)nRgM+H^%N;GxLe9v{$ zXv5j81XIw-Xe~Jj54C^xrqbec5sdHBWK0X>iUVuh(FgK^#+j`kz%^TKn*94+{UrE7 zMA5`g?@0tWmvi9tPnq}9{1L4&p2<6B`#~>NM4(D343A;WDQ`bL8@a*MJ;s(*S5b+z z&=t{%%qp5P(;abr@KkD~vMM2%gasZ+h*mmv$TKM z<_vtn-MtA@p3+ayi(rImrB_^q9-%X9nuIbB4W1tLgCE`SHe?fem^h(V@RxtuK zVCphQX#J$)@Epo2H{+n7wm$-Qs>Dvw4K#Rb@Mfg+_f(nH<>g=vIFsYF9ssu5ih+-< z2aghRbgg#D9ah_og74efj@+VaS(waqaO~wf`)mCiwc7w=w-#fjR$Y3}1Vt_ITgK%8 z;c`6@D#2D76sS=6kg=CT5S+#Kn5TTrH_^+j|7OOU%%Nq{`2|i?&Y#OrIxVaCE&s=g zn{42B?-yia>|%?}yzB#nuZ`7LWMDFYYa&c9VG*+USD;8}t|X(O`Z$=v6$;lmNaJZl zVH~ic_@Vc%UL`VlaeKOX27?qI8y6Kha#EfK1qytN=UNUFoj2v8doO?S%iV2TE0M(d z6*>A)m63S%LwN@}domv?z2!)zL!H#<94tr$LSi+2Ry`Nwws#xc|F~<>EF{A~pbhGm5KIe^=p$`IIb}z0gxhonas6O2CqKZF>J9)ab^+anRHvSHH z>pnbXyMLRue08_3%HA_mdw=T{$T0*zuf;oA{9~s(WoeEgV87wjg+CQeGxoq!Tj>bi zIYGA?#5B5PN}E!svJguU<2Zq2(orf1#I$lQ9*x~+O36Crs;fyP@qP`3F=Z?I-3JpF z3qs1{YtpH=$Cs(q`nKGar=TdcoMe@YR=@)6f6uE>7U zA;Xeg!UrA?fSL|8-M84G`f=;ZqU6@;$uG?fwYTTdWSW-iclnM!<4ePazt|d$t=8dt zx382IUQAys#(#G|%%D8#YFbe`-(OTpcG!dF-Y;=Jz16+gQo$N;!n!%jR5Grj8MRIC z)M*f2H@b)mm^h8-jc@5?1pB(BCE2@^9zjAy@Omnmpy5$*#Xd zRrutvy5MVI9$o_TCOJyU)<;!kD4=g<`@H^YSn5==(Sjy#+gk&==@i4io=wsAxAfca3qO=Hv@h!VK*XQ6 zJa^Q{K;5aqxeYaXWP0F{6=E9NXthcV|5wP};f3U3hdX%LRRHW#<9}+$pEa;nKB@}v zlfN$>tu3!DE7OrPFnpiA**%dSL;C`=^Y&rf-7d&PXED-<&O={;LF`f@=HtBk;1W}1 z(JQ31sr8mVbNunKZ`l3LGx@^8gqO(qx$xXF^tjwh9ow%!(;U}Qz3dJ6Cgv*djcYn5 zb)B1TTpCUl-uv1hu$Gey}PcQ zVn52+_o<)XY)Hm1y|vq8(=ds{K@%xKLBVH1Qa!UMpYZ{!(039KZkQyoe}R^Ip@Da8 zbd*A7J@dG7|A9(LmR;3(yABUoHTnL<4 z+|njayw-Yt3b%~gMpRYsH$a-M7HT|)Nt>A1*$S|1e2-jIwt}(R>lB7xP~EgxEmteU zo^J(Q9_+1Jr$#)W<%Um3ivJm5gVry~vqTEguNs4rrrC_(W8K{@HN0&u(g7I|ef|5X z^j^+>Uy(n`%shgQk1xnL@pVpf>c{l43>2~2l&wITLzTzsTFoA(bKJ($(wFjuFZayrp}I8@&XB-8)T;> zDMR4FWmSg73(TmYp=LR)*8`ecyO!1*B5g^qa{2Bq5S2Vg%$Yqr??Bn}MA@SdI?glX zHt`_82uSfwo4vGGk%I$JT4|aL7D?T&rPms1S40v-HjuB?-AQwM@90}&*k)gMW#=!h1lg$qD4dz{?%mUdHpE~!bypUyPCwn2kc;&s3MFQFl2ZE2YX*bzr10$Ol>AKhc zWWeftI`(;%@f&o+N+q^T^1TVa+sB#z=(WRn*`LyZZ2b@4`&HeUl|;kSf|>+ug(xE+ z8@w*F+1c4h6RGe5AtBCG$%hncrq^G&RA90<1^KxP?s1GuNTyaPPKM5YQcoI&Yea#d zZ?0Z_6(Ii5$1%I-Xy>HZ**3mGoG!%+eD?HjcRegB^2lez(KOYEkH$^2wZuOs_`f@obFevO|?P>VQ@6+wD^U({L`e8tRa@=`xJ(+xvIqHW@yPHf!$&}D# zk;@=`1-5@bD;jC@pN+$v!Pn)1uYDejlq%-B+gz4lCo;FKjFU!Y$_}g!@uAHq*QqJJ z`yt)mw3)#6JXCZHvPzs?=d;j))_$3uABXm9k>!f*dwoJM%xBZ`j zzzV>BVp$wymuKO4K*`)&H+TJ0nf_kOir+OVlUa{|k?aR!d5`p1nQg>@a<1d7I4Ly8 zT4UqJs+o_wkvTP5FfnGLL5|ATE@=kwi<oc0KL$9g8AuNPIW$No@;ci3#~=2Tm``atRat2_*8wkjYtn^MOJFeI?mFDWXQLo@>Fsu#q zn~`QuTa6_1xl>Yh*^sQkRr*-25T^LMRyriFWT znQxLhRLVdVn(zSBcd>qWfVPQw#EW%jM^%l1#g*PU0WIv*& z5F20i&Q~J;|LAzCdUj@bxiWfzr8_zz724=DhM&c^ggx|yeM02dSIEIvOR&#oe@tSV z5qDhYwrWIa0W5>($Z3aI6gZlmPM|=H>iT~}oE2|0>rcoTA|>ULH35gb89^XHTJNIG zj%Ec4ZAL<<=;@r!L+U!*oK+^ubZjPv4YW|;3VwyfRif~=$yi({0ffNlM}bdpbBCt{ z!X|KsKkg+Eaw}9V3xrs7)dbi)4jbO_^gyC285iIy z2#vq7*ynoVS!EosD^xl;_S%xKsmjs9aUoS908rIkA^N}Ah&};ZZD}1BmUSU}@0d43 zI1hRiCi_&e_~iHkgOP;ewSrmE)foSZl#%u)>!PA;KG zSz{cBPQ$FBc(1(p^6S}-ymWdDnjj&&U4HUb1Knq>F;>s@o-^TaPi>Qb(}(W-VZpt~>eCElV; zv&|$kdf*c%&p2CiiM()&RggK4R^QiYiKU0;Vb~KVN#z??yFSFu^^3;OZQe!EMZ|Ob z^MsNP{0x%mUL=<;roAE$c7zz}XljMqn8*`0v^|te&2K9z6pdx`#IxE2;%Jm>7{j`H zqv3f;OAyx=e{R`~ZjnAOqiuFLz_*kcdFN*-ZsaMxe|uNC&t*G$iQ+PusH+q|&d@}x zM#e&ZXa5Nz&ONKbvBugbzopURSVodk^4Yy zir?!<{vD9oGglZN_b*GNU7Nm5oaW!ZWlc5DV908iy6RN6iSF^y+@bo|Q>HVVV2DTC zP@pA?!(DdCDBc7N=%dzGtJ`$!_k2LCkvCdLIw}=l0Ms~WPbStej>TDfTn1ufQjM9z zq2|{;Z+!mP{LZ*hR-E9-QpQUs=|k;0Z9pOAE89sZrVoGFAM^PjAOK3OJeJ+uGit>dhvZvxYZ2kc>KfW`u}spCVfYD2UM2U<)Z(hiCUY@Il9uspY z9~&ABfY6@liu~+L#V^=xwY%5|`c1vn`F(yUOZ_1@mh7+@Z%9sM}D>5ZwI@~6^ z>A~5oYBR1#GV!yi59DFOqC-H(rZd-1wWZTdEBq}iLo_~WD~K?{)N!NWR-3BX6+3S_ zX(#%PRu_?Hq@FeZFf&orK!m7N;RWe|+=atndit0OavFCWho<*{F^Mav zHi&TOc+fG64{gQh`e6X#Akh-uQde80lmJfEZ@))qVEo1vqnr%9-UFqPb^SeDTiE%N zDGbpA+0ot+HaYV%%jIj*H#i2Nr~cY!XXR%QNX<+P)HwZZ_NZ_p+ z%Luo+Sdd4M_;LrvdWw*Fim8;WmynE-U`uULjO$p)X;$(*hh&Guib+(guP}qC9kdr6 zT3FuD-k{};RiHN8bh(RPZ_RM9L{p?Daxb+_;u?1k4u;AN3$5lmh}#~7hUL5jXZk;y zOfnQF5`*$3kQh*Nx+AJKXeelQw`Ey0lQ?m!TE^lYwGrwRJOx=y9ea$yG%uB@M;R?; zgMUm=+)qpbkdn%y*H<{~*jfHgxcKxI5GpHQU6ZDF@}|P$^kn&9@>;owGm2mZ zSR^_+<}!?*$VI8%&*1Hw z4gsj1E9*ADyw_Pw`{!rJN=>}mb z!alc!mDgC-ma@|c*{;en@o0R?XspH_lsKeh*)^|Xuq#fXW3s422hma{!Qed$Z}-!V zr+#$1j={A#RSYI5tC3r6oKO9dZIi~i%7#+EI5YLxg5@63%(*+vV`PEts|5IfN9H+h z1?ldtr114M)t8~t$X3TmH=Z$s&p{jB&l2fe5~x2elSDNj$y~#w3G4A2MT)L--*ZN! zf1Kz+!`#*hIpeY}CIa7pEeN$pznU_bo}$TBuf7KHDlx{3i>!Z10^(%Vi>=1dc~xEQ zm)Ue_YH&-VADOZNCYp}ETl)K4Tq9{Q(ZUDp5=LAH@OjaGvs^ zv)Opn;}@42aUT&#t48r!waF()F)1O(&t+2_PrmBdy%}obJRLFQyF9$y8tuFUo-6k< z!_Ti@{#Je0qNG-V{fu+XUJbIw)dGU+9YFFPe(pOz)iL4rj7?IkLL_gsJIwE9NcSI>3Sm^`z zg)*!Ak2KOz;>e(0FsKOo1tw)36Xd$p-chFb7VLfa*j|Gqa?uRV0w%@nD-B`+D3rK} z4v$u?;5g@`j>u`toGvh96WKS>_V$3I?F%=)!RV=?d`%U-z-(!QNqxPvfR&j+>U)WQrCzyyEtX!^Cwr!rp3s}G)F-zTG&NdEKWQ{4QB@;)kBGc_=K;PwDl zFW$it$LR9QTgQ8T_dH__7UJwEQ3mz2fqq`7$)qT%xF%{(2#}r4z@~}+ZiO=cX`X!V z1%B$YAa>y7K2yCBA{r##{EmkjEbe9OeV^>lwm4=QcwU%^N_z_s84G=7xw{{-4 zc7~r^90zG{(IyR3f>zpFu0s;0h-NhVsX`g(1xNP<$(VFnPdT4Wsq5SQeDw8v;e4Fl z5d+&5R6SyOy;jy~^4i=##}A~+D0r&>)0aOu+WOKh zkmF>0_&FZ)SDwlBD?aFCr||OOSlA`rnjS#oPl06P%wJ&|MN_36p+tP>h{LE7RK>F3 zIXB||6XB5A4Ge5XdBiP&N*m%i{agQ) zX6Pzs%54(I_Xw8R`E17Ez^Yr(A76>EaCobI)@nz4n6GO}#IA1rh4aUYs!(QE@nzKn zM2!D#e>D4F`D#ePNMN$550zlVMdJ*~vw&%!Gf3iJK`AP~J^#;Fl_WO4@J+ZU%i;&8 zzYMKJ)^M5ad%fpVeEyzvb{i@{qO;=ZEuxGrExfzJ1yMJfm5?5AjD9e~91t zsC}AzncPCj0&=vB3CyXu70SBe2^M@Q!vkp|Z<8{k-{$=JfEa$H`};0EWdvg!y;Imk z^u|L0{26uWcbue57zDC}u~F#yl*bX!rdphmm*S)P!SV@{Qo?(PL&=CL4- zw76R?oc6Pxc`~xF28S}e)BKFT;bP63u<#f4PbKvGwcYl>-C|#*--J`Y`PPo!H&=am zeGdms?|*eDO#K_-`+2QfAXafwo)Lq%lndeb>zmpIb91B~^AlOmaFxaaaA%!yFheRo zz7js2(>{kQA99)syV%8vRlzCx5J>J`oC7EKz>mXF?nwGcY}WD=PjVC=OWkVAvNr*T zF&mGLJiLy4d@a2^h>I%C1*C0<5mUYVeQ2!`UW3Zy$e}EH3_2*wq4KmuR$x~~d~eIp zJoRC84!dyADm0I=9Lmu}=HeuP&$BPyuQ^u1Vtvw-(IL;Un>x(m$`;mRxy{)rRyp%H z_MmA5a+iFt>FzI(nw#y3F2+BWu-lN&=NcY4_*-7^HVHi}ZwRHgco-JUy$W^FG*O#I zzLJ5%Jlxr-)D2g>eKNHH&UU7;E{&$0FxHt_GB~*kT8uRw1Y)9W^Dd+VwUN^Gk$^6u zwX|=;3%aMD!t%!2zq*WHRQ_})GP;w6tDmo4xwfF3s|FWh(&)*0PYqN2IhexuYY?uH z|Lr|iXv3mOeQtiQ;}yh5zEyWe-`9iWc^0sC!%?PdhYuR2>^hs%yT9$E*nsT#@YZ0~6P z)j&-(SXxckZ6R)v)|1s?_55|RMzu3-&R1z+|CQEF2$)2*Yz=Xlh#_^Za>?L{l{wz% zZe@IX4(E7{99(G6>U9c5>VvG(+ey-&a`9%ZYk?-B7?^w%<$D(zUl@-D`^tLwVfKOy;^~OHe_%+a*CcUu^Z9CH~#tx-aZp$p(Q)7VUaDjhp!An%2tV zZ}GU^X?7&7)w9GE%~e)l%aRkHuP?=@C3z){9~z2hdgTn*wj>QdUkLgBcwsXx#Oe;0 zJe^IV(|Y9=e8FncXZ#9p5Hk?ZyXouR!Bo86Jlzd$ZN`!0;~|+|c>>I~Hg;)6>!Us) zNW7qj22t7llollExuB*e;1;*W&L)u=>hTMMp=lTyml#lJ@N`W~x?57jmBoF2w#FKM zXnnc0xJ#)g!DNN=LPv0AG1O61s*ma?tLuT-EW1vG$_PqXwom(@jGrWwAX1VHIRW*w z{P-E~H9vJ;q=N+YEaUKK=dtR=>GARMQ`Pgy^Mi4`_#yBZbC@qM@iU{*fm?_UlqmN0 z8@*Qvr2g8QiW+O**2vt}Tt#_y#a8Gy58&t+cCiG%lzs+jh_l`IcXqvbc8n7dYJG4)CeM^ zgIVzDfqzJ7Xh_JN8S{GqEqc9NZ?VN07Um}pxwGw)c=b&yI6Z4I6tu}q5t6i=Zu+@6 z@UeuKRw`EnI}`f3!)&!IhMCPYKRcmoHkYzkLMsI~uWLf{1nXAhB9 z3Hep@!Jobn)USJjAdq8v7ttw8>xMSh>JXPa#F<`$$K~=Bwyp zbMnQoQb7H8_$Bi%HQbD1bMJbf1CR})j-O{5W<4O40v5olP;n`^HcY?Pg{tHNCc3maF9{Ju{x`)%(MqW z@u(y{C-)A5Thr!-vD*aKRV|{Adhegf?kWTdTQ#|IPAds&b@l^pm@DlyLk$~;)?vr{ zWO60OYPCGGoK<{u-qOmdK;;6^GM5iUEKPCzGesiZ12lwI#47zf>3obDdDv~FUB3Zw zkP+-H4k4wLEcrO+i~M(6t~AO(*SX5~Og^B+KPE`}N#>SlMo@j9q!jR-+h~ES?u&#T zJDu_q5ymc1%?QGE=I(a?u1f4g+!VP%E}%GW&fDFTL8RXn{WT55gwX5)b>LcvPsI+cj7=7(w$@N3lHJqe{xpa7g*{+Ge}{ z?@r1Kw@~`$2Ct_>^mdF~j@Ksq!7W-gDV~8YRFLBQ{=bS7N~MDTj1aeuy7@Yle`}`r z8#efNSf!8(ilt8z_JZ#eg`b`eyyc_3`Oj+U0Dd=KbOs9lEUm@W@hGm}!#tj9rWk!p zdqqV96VH0y__LbMN9lndD=MFlp^_E6sAabfrKbG1)sOE)f8X}`OTYAFH;<15PMec7 zE~k3&bFG4?nA8Hk#dOxhP)8N4Qg{1)O_FD&)VbONEg!yi@0az@w5&i=SDs!uWJjBK zC+7P(wYKLIj-j%28Oe;SsM~*@-QNE@)my%$uD&pQ<-WpNFN~>+^|Xg>`jnRG*4R;C z3e$6aRR|StW2qp;Pr?_`{xox9x_-_Mdq?Ig^z~J|sK6NIE(Kn}^d!TM_>raVskQ z;th*tEzRkT{-%&8Yp4j{XrmhCR4@rV9aDvzK(YOAJ+ku?nlDt24TNY{4e6S&CK6Xt zT$R7TI|qMAqvP!kZg%r^MVie!=pDVL9N&=mqDj4VD{ic+iv3{C2ef6se?PrvwVo2f zNGXvf(VSgSew9UQ?k;6amqs9a%1V;5(7l@YJzZAn_8O3b^;=BcSoK-gwElF?GzTpcn}nt;xUq`VSw zuqXEr?oCq_gzS8I(){@(Uc3;0x;{o5mA)dQ5^MV&0^A!KiY8l@LpAYYCyC<+yT1)p zF1~uy%!j7H&2R??0A%%|uB|=6XF)(pJ5UFI+taz#J3@vf@;JDg{EkqSTGJuNV4L;l z+$!wi%rSZ1y7p4W(tT(SLBgG&)!;CqpG3qILfX_(!juYCSqeDqWi<~u%(KLkfR1>L&c9E9xY>rsgI0c=$#O&Y3tk+S2NSMvEjvtC$0dB zMOClJrEWBCd|}3yU{#6y1bdjR7B6g&Gz~EhOF@*VaJn@Ii&^>N+;+Qab25W3>KEJt zFvx5H1eKbaqk|IH6Yokkv={@NT$qG9XS$1p_)i#KFmSeZ?5AvPr<5?W6~MGQ?Nb*Z z^w79DxP8mICUv~lEGoaURW^2E4xmBqUj=p(e%pQ&jG%rkACU_&P}hS~#ag&mHBLD% zxy_%RbiL|yCyH#%1vX0*WpiZF@ZM)iyl(KF;B0Uy z-#hkd@H+lOKJJL7?`V|1YxTq3jD~C`6^P5Kc*(AmlHFU=1S>-5+3(|-i`&g;BsB?+ z1{t1Vh0*1OzBG_nM)Z3;KFlwtPF)DsM4M0(r4Nnh2-(;~J(0{82k5U+3FA4fk(QFC zE;QkUnnss(T$6cYtE?|v8&10Z$T&tfuV7&NJ{=wyqM-d+&)?d1Pj(cq;SqLXcutdk1f8i)oYrHUs?$@D zU$e^KHXUOW%-RUyXJHqe=szHW{vwJ7o(U&&Siu{qlSJk=#F9NZb@tWuA-m&)^oa$ zQ(5&6;0}PiYuv_L9_QNHUTuW(I&=VsN0DdGj6usrqj-fVgiWoMT7X2?^v zYsMF$&Z$Wq&N_8M?Ea_Z&H-mi&E6Fpws(lIZ-g=p8hO8@A{DZ#ZEJQG_pKgnBnh+y zu33*V!~5)Pw;WjA57sp|3n+}C2pM(mZv~Iie@hwsJXqYZbq_MH3s{=4&)fR`aZvQY zNVgi75o`yDeTFyA;^K&TB-E2BMpnH21QPFqO1Y>4UBW5G@}Rl7+1G~c3zfe3ljG?Z zA#Lf%kh6aQHn%CZSfU-FIk7M;m8U8%a1jqk7^&>ZF~XBx2N?~M;B1^UNZJo`vz|(4 z6O<&ZmSzMV;XhkEz?m~XpG^SDoIB>i^a%oP3D8B*$Zr5v4vT_4EIRu4Z)Gi6SzB-J zo(_$t3X7~6CP2*Zj^_tLt>JAUgZOZ{k1$$szFBkU7lxTa_v`yJt8KQdg{zTdLJz}h zs*oSPvoPj1)rge-{kPH!v!~5sb70kkl_7H?2E#a6jgTh}?8z0Fa%6S2tmF%w#(nv% zU>@C1uvBWMitLjrx8+fvZ|xPZaKJZ!YYekYfIaeRbQ73}zh4=67Q1wHsto+UXV;g5 z*MDQbb<=k1UjP1f_4ycoBQhH5ktg^)U}w=Yx;Y26wCZtl#ig-kw%Sn4P!VGnH3~aq zJ4J+8dCEotoe-awnvl`JlQ9#t*Us{OJ3b*1FQonfcCxYRh~lkGC0e;Y+#e}+>8+l$h-0#`NEnwNPwG0#LD5zTcuE3QV`*5Q=~N0 zN3{NYpq*>A_<$VHWc#&t{KtX)?bg;|LHD)scRt>Ro|p4{V<=(qvJ?|R!2Z6Yp%LST ztI_q~e^>tu{-3Ikdnqf^3|AGOirOvePpOkwc^#=|>;paa^R9HTvkDyRpo*R_P==(8 z%E*MP&FuPQZ*HB%QGabSk}S~@gu*_SwKkeSf|7y~Jjr{iZbkG%@p_|*hq?@Mg4B#{ z>{JdXZHE`ZWUj{=5K`^+tgt97fEEo>IO_{{>xzpqoI4)ZK4WYvKxT?c%Qx6FBv&~} zhVB@&g@L&ORe2^JSLktD|QC8(`-(5D^`qb7mV@eXVn1678+)Mez z9?3#7Y34XX^UsRb6@~^0_XFpRgNfx8`j>x)P7D*dkx9=yPvuvSF-pzFHAF-V2# zHYE(|4RiFm!$*_hYED7sBPA)jyL^L$oGC9i&guQU_|D4szfQlwHEnLMo?^aQ z|es#{-Po;n0 zcrSEj?C*tlL4iXaB<>&}FW-{0L+RNq4T)u>TjC^}R;sCvL5{> zc3AMX7HEA=s4sP>V9an;({GhCtpUOtqoD9g&cLv*^`Vv1V&`cF){ss+gf+=1R*apJ2CiA$e&~7@tX;J#^S6pl) z@1;!;xY%ti%{xud5^#{tL82Rs%kP4c$J`Jc6d&8YyOS3 z2M-Qd*+?d`1th3aJ++LZvbj{MTe&vAHv2yGh?PeR;9l_8Iae>ffBOb9)(1K;CXe&N zaJabuSO}_QFbIt(-@ZROtZTxpwRLr@mi8g^;z@W!*4_mrn5Cj?Hdu`9V-*QBwO+1`+8;AD@t=k4sK7G8 z>AhRPl56GMc|vZ?3aX>SS~SzMVNPbH53_Y*ia%tGAz1tK5-5 zE8N?c1=gCPPm0%4OfLA+lM0Q0evA(I79{=<^l0^pM*4OctJ6~lRcYSeosHA)*`+A_ z?%djBmFv&an}C!J%h6Ml47~!w$-#4*y49c|t1qP$kQ=(qeh*7viFp6GzOa!n?9+=T z!a?)=@6$FBE1}&k`Jc|Lo9PAR!+D#qlD>M){*ep}&U;?!u(V_dsdP5S4=^%L+&P0x7%i z&Rx$Mi0D?g8#|1YYJRjBlLY)8oGKeW+Or4=Ys{cbLZy+t8pER?m>&As5aZd@Z8q> z6#)t1mOVC&*{xMf60pf>5W%LiQKUH~!u;VukUfTOR0!?~HX^Z%Yq_9=07t4!o10He zBy}ZuO*20*dxM!`D{vVYJaW^4)wyMaXLERPU`*ZbG!+b7lW*M08SzqWv>-L{4D zSuHGzJDG&|`eD;cY>8guo4kP=%x3#GPY8LhL2{m~kA6DimuX)GQA?{RECj{9=b3@& zEVDY%h9^r|koN~Kopxkferaz)1LzMz}0 zA+zW%?2A$ZP3VD}i$1U9{fh1SEh{18r%P2PoB~oQ(24L7qo_e4Jmq}-i&oOf9i1@o zX#OqdrKS!MpgB{kA8n+zDi?!Fa$sRoDQs=FcGMHlTi%?@%M&24Y|W|c?@2R~YwyGe zF(J|-D_wCH!1ZY#L-=XMY2rqr$V<&x?hK-Gltca^%7!<7dj*70qx3SfNvDu}4{h6i-#so&X-yCaj-z5dh^1Mf0%kt-byNAj#x?#c^()ecG;86*~V zgdU9Jp#@TVpLh&TJr;4Hd{0<8%2OY8Um#=UCQwXW{32d3+ayX2v_!}Vlt1w4P z6Zztsm>lGt>QW7uH@ujGv4LkQdIw-F#2AeYJk37K&RvYX2^Wvodi!K^F-Km_ zTecZC5Ws0y@C=5YDtIe4WNS6o{gnD0E;!hVI7b_%!nk}cMeRxJ)h^PQqag?+-nv9C za&AQMhCvO~b7Cq+S+!4fGz(g(k3X=&XqNF=k6fzFz2a2SrcPdt+!Q0&SO{>c3jKG~ zX9ycQ#&>iEU(N3B`_An2uR5?6gr5BCb1w+_Ylgk;C>mgQ5YYL|%usMsNzYF5v{UZiw1fg z1V^mN=Sg*)DnLBbe9`v86%|eWcJt4QybV(bv0p3`@n}&(>VrOr6W552hDWE56mAB) zma>R6a)of0jr@#(X?TmZN||}6$C$7SkcVSzW_;&$Ei-ZHr&k3^gYW{Olh)_Z`w*Tw z0l3m_TQnhMRDbmH74z~MWYd~1S{qC1&2kG4H#sa7#=QksSVdv@Z)LGUOy1*Ynn%4Fk98zvDQt9Ybr-E# zGf$f8%!Hs42wuc$vH7%9>8%4tOahZ5l(d3QB^hOypt`D11|s6RhAaWyx!DY*baozK72yr&007(w>ABHDZo8ihz8|#QC$NQ(l zyZcS+)>Zj;nj=`V${qgx{qv82-#C-7+x&I5EvT&{PNTyfxbShXt3q)~8s$mW(%AY9_Rn*N% zP5nvK@c31}QpmMULw&6fw(g=6xj1uqdVaEhoCyF7PObvmm#kdv><(v8>qF{VGrzV) z2v7PikD@1z1-Mc)evE#40mZ_=TJfKz@}H0Tij=;~c{wV`soA%AAXAo_ij9=^*0h(= zWa>vZ9a_s&yy?0)5Twuuytq6(v^yL{!Q(yC%lk9`bMm4dXI9ndtPm4&P`nNU4WM`72XpdjgER;Qn3S0jB{!t@1z<1}*e z9a!c0Pi{F{lt+WDV0qL1s?9X-ZEuW)H`6ESas-pfqLu61?CRgPNZpcx1T`R!FGn}G(*_{_ z7b-_T@fE{3R_K#O&wB~YcOA^{?qil@?%r_!)pv|n<{^#kZ~dJzj-YeGA%828J5b_q z?q9Oyt*M?CeTngW;!YeY+SH3$Q_$8McP^B66;vqUW@j|QPQ<{(c5Q`Z&5q3*A}Lc@ zd8yHo?q+avANnWFRb|kw#=!aJ&7+OoEwQ)C6uoyGv{JJT;%-2>wh|Os5RK+ufT(I! zhv_f)B0Q+`jtkmsbkAYpX>IKLcaicMaOgWogqFRUpX9^4?l@5*|6%LqztcvNRYYPH zJG0o0FqHlI!Nzu`@;@M;nVFf%J-MEDNaUb~x1e*y@c50d5jmqHjw~2`tlWJmuR$d4 zaGSUpAFuB{jS!b`ckQHCPyd0Ii8SY6lJ=cy+q~@Bx7-c3$pmaZFm6Cp&#>X^sQ zAt<`(V7uS+loF#6?}IzvAlW0Z{-#gUc~?@VrXX$mUV0=flTtdYCV{O=iZ(80{72BV zn5<^fO%&^(L&4_oh6GtEiIzRDfZ4=Hlq65@C5shP$V#j4pR9dFB0JzSMa}OFYnbJ0 zQsbVkrCIp0%J7Jh@$E-C?u4y%ZN>V-M>ToH%$lkyHY>+&)7TE|Dvp-o)ZwP$+?BhOPu7Z z`SYCbE0!vF?m>TcT^&#s2G2r!{n`RTmLa@cM=Oe^4P+hHbfynTJ7e!{kLYNC>{WKr z;{6R7Zc96y8DB#jlg7TcnGf;&q&J*A8$HfLmur63k@BVTFf+xtlqI?Gt*#FW^0shf zbDiA#q(5bbn|~isohyDrw@}kfS|Z=Tr}M!|a7pn451x*@(Te`R7;h>5t?2u8m&$Lq zrGMp@;!C%Gi<&*aN5!WY#} zM3V6nL-@joca$w9I9q<^(GN;;hNv26O^mo&J4n-qF zCduS)44#VaUB2@et6VFgiA$=9CVL}M;750tM=53@j)swXTqRl1Lng?*b+P-DUVf#2 zJva(~Hndf>O23tN06p4!;-Tzz`P6qy>V6EFLRn0!WI@_PpS{n>pC7Q?U)uBtWLwz8 zu@3v)Z-loWZiELVnr_oMl-r$nJ`EFC;Na96AIZ&mE1Rn3-)4Z9d&&0YgvsfthRPqv z6El4-634WT%&gU8ynky+Tjtzk55Je_M%Pxe@4OdkM~{^)rs(3MKD zpFI3bqKxOQoo!hFH=Jq1g^869${Q=tpLrG-dtUael?1d5N79ktK(;oqTCIn&MJpASVphP`pFZr%L+pSci!mchsxe%K=*4PvAw z?mM=&@jLD9+pp*KO3dTIOI0p>_Hd{e@{}gZ-|n^tL_5XXcwQ%@t;H#fi{ivN2# ze9Qo>udu1EI$9>(9fV9@Qx4LGw#6Cg5^W6~S9f>au~M;~sth>nH-g_@#>`1#CM~xT z)?@p^su49RvP8s)1fljl4?Mf@zbbTM2Y*L~>5V)6g(j50c~|-WQ)K>z^Ww}E*&RtZ z^P>S)0dP2nIJ1fL{sz{Ji!Dn&u4Q+(ejoGS$Y$7%M!KB!04fE%6CP1ARJM%W`zfH; zh)(a}9AKq*PG8Icsn7L&kN7shV!{ffd%lAVSW24$=iTe(=Q`AeryhrWvAh{kg31y* zmP%Ta;@`>jG^MVgqb*ErJ8#=4Ge_GH>znJF{x#JS>kn{+JZ`_D6c4L7KT5(g(-CHJblY*` zcB(O~*HNy%!1kRDRQZDv<^rEy4 zU@69LAc<*KZV4<-eBmap?mcrKpPM7p9=VvRFip9j!yLf(f_kU!SgZnYoYkwz6nEpJt%&sdRR4o!oIzXBtq& zaD9zz1nJ8>mQGpOAdXBHb&cDe zbCGKBv>$p?IXPfn6=*B%8l?Ep{D&tNp|4FGxTW zWYWMrF8QvSEt^(JIxtnQXk$~)=$g|{r6g#P4u>Vz~wm&{-izh`cV0D&Ej(Z5bq4E zIbLu47yZ4)5;F}3Pw0F`a@-iqirDL)47XO^yP0t?C_}&Ys#WippMDKt0Hb4#R{z;} z8>H8W89qNfZF`ZM<4KEd+fp2WluXx)xx3q^dySV`1x>Wf3i8 z%qQ@p)YVs=N>*fl=Bgq&!bs^eEiU-Y9NqL z#WR}+#9BQH z{4=N1?9ZlcbNwDJsW?{QWn9}-;L`7N;G6!q{9>MNA$lkmW;859A?0hT@-!oTAV5rd zI&Hw%abfsC%hF70DI*ArVuwd;re#y3uukmdpBCi(a|$PKeI#iKn9ul}X?}Xyg=;_1 z$m=wik*7O0bu`WN#KxUA;(US6WQo@ZvK#dt;K-=wr2z?o1L@NpnCTa7BMJ$8pGH77 zR_Y*_+gw!OODZ{kK}-F1u_|y}q6xH`9iTyoJ{5Gf7;85s6SeH*8NXIZF# zo-(Q)VX7|*8Zwa8*Y7bP{a5+!#D5eLNmg z1;OM*2#XIj%4y3Qay79Rxb>>Ry2DSGK;SUrUNBhzH+IWtBM+JDS2X*DW-&C>=)D^^ z!`5;rL-JB&T*2*ts3HHVi2L3pnk*q+Z`2K6LjJ^7E;x|AJfeIMx+fS&4`O&9muv)v z7!((}yHSU?!_H@K-NlD7H-bP=yaVH(#QHA`$hE_$p)p0Qd^(9)8oQ!aC=DTQ)@4WdR~m}QNF#T=Q&wK`V{BUw{p znM?>9h!wPgpeu~zJ1aWd@zwn`k$V|l!(go7F+*m}-R+^gJJL(-%s?_No^=^Eq}fgy z=-%E(bC?ju5Y19hNc8m6yzXljKH@YwtQUFp47+t1Dyhs9c@otbVn1#`ICow&t4Tim zA@~DB!wWE;Y8~r?-+JP z5cInxHF>w?`$Y>5a-}c+vM-f%hGe2%(<+_+RP?*ZLk>!x7oUGn;l^B!_9%fA;mQUq z2I9QEvnQPfUuStjq@ap{)SP?2hzaFIci@WPI|_PKB#>>+wABLwbg$CNV!1kJzhW7lzu&j?=2DY-T#&|$34)!Vu(r7Mj@q*jI|69J ztI>IMJ|mY6niYiobw8P;Qunbn-7f)#9u2o;diXzwg3woIN0+aH3&b)}!gN#P`8`?# zY^WT&g3!NH#F?Z1m9(IuSsP7_Tqq)0_!tp}mCibR(Ac6zX?fWBmgtJihtFzKQ zT?{g}_NNi_$I%Y*_d`vvK9yDi$Eykc9r0`RxKe zb=x1Vfq*B$qlTi&xGLJE&Ac%v}h8TbT-Ta2H*B zXI+P_G9Jk=zIQ4t>Z}pis9lASS0QKq0d4)ia>};OB(&ni>DI6sbTt(y9E}_9GX%Xc z{qbWJWk6jcO1iF8XW6)4kGgdl?V>fpS#z*6BpgLLpy6L5uRq$cxid;=G&g$r@DZQ4 zaI5XxIx!ww(LNTkXJcihrxwNXOeoj(Q(5)An2H^&N;nIbm4li08VL#1?}oRULbQu4K z4;&jNhx0O8@E)WVX>NNqS$Nw)(4y5B9O+MpI(wGO6@^`Oot;EE&uF+unM%D?csdew@fe?sc+*wYz2h%<2VnX0MH>s-63BE3uTg?e@> zm1~rB`C@lt>2f&q^s>?P33vG~j4N=1eMj!+lHEZx9575xlG{H$`*o45e7Q4&KOr-` z?W&?STerqN5qC7r+*4~5PoXKOx^~o68toFlTt*L` zO0ZOe2)4V|WoBlF9uorG(ESuc`?R%!o2}Y#-(cy}m~Zmmon2 z9k50u2nPEH1{Rd74h#cWpFp-)ZN3;*ez4XugrsoO5oala{4a2rU)Iz^thLaa))@N< zR~b=cs2>GEV6o(UUVo-@S<)UuINYNrb1JJY9N%UxkdvHl()!gr{)aLZ3oRkfUgAS~l zF#eM9_*P4rILnM+u^{S>rnW7UxGbdpb)e>)BQ16B=}3F9O7;mqAWaHcS@Y3VG_BxlbGd`=LoKCBWr8# zPjb@23V;ugU%89xUqcfG>D1@YwlsVEyo=pki=pSAG~Pw2nxqL7?>2Ray4R@!2sY{k zBx)_%I4iM+^}~>GKIA!$Q^Q1OZ8FEg^ydQ_@@g9UGTeUan+}oT;Mu$|RzgR{R}GCw zXtemIBC+0}bloMxPbA1djm3E>a389n_J~Cu3z9@*mgxx#oD+}rT?J>+HU~tM6rgVDUb-t^{Uz+5 zp3iq*$0jRZ9sOS6f98}a_%ORq`3hKHpVwXCSq8S3uB?2>EmXP)hwgU3^JB?I>~@An zkj)*MN#wjMA3R!Wfb}y6T$M&W!NCU5RbeN09{SES9aw6J&IoDFoz@G>P7U;HX3G`Y z$~e!`fwIW+)M&^b=aPAWwG(q4avY`fro7t^Z$9Zg@|mLBZF=DC-RR<4DKDlw>t*V| zwxvNi1XUey@DBlMH32T`NFnGTEIJFo#pd6Lm9qPoO2%tH93Z}>RSJMBh#dr1OLt&$ z*gW60pGw9ox!RO2H!fF-@;?WDe7{##-89mpf_KVDZ}%%WTxW z7a7;7zXSM^K3ybnGji*Qc$BLnrkrNFsso=djYYK<-|6|3+BE?V)>ZkZl^lGRm!aR= zde0u@Zxlh*2<$m`;&G<`ytK{@R2S5DPV~hGUej|U`I{T6KC?A<>yCC!aOZdLTb#aH|!&O*v=>E6$XQSq^_<{o)dVdoK zSt?oCscEF^^f`lz+ceqUP3us)y69^t$icJQsP4#^Il6?7 zYaGtLRr$LZ8uB+UygTS$cya!7qJUG7L4IvRqc3+JE7tzpDh!4l zzn)ledoUSrpLL-XLuP`0KPP{Xo^lxWC+oy!8tn7*O*YChV1Z(m*a8H$O0TXSX~fJ9Px^q{d!0U>Ql*T5c# zC-mPG!wit~;?4PRJL#z#PX6<+?fb)jVYEEoeSB|`^H4Iax7D_}+q0=!Mtvg9@%}Q* zu3td=yM_V-8HcHxp9(X*OV>ee1i8$Mk0G{X-ND2aCw50b zds-p%8ljs|`C#O;fXfF*5>vc+PAnwuRozAtF#Hd$qln|KOLJemH#oHWT#%f4L=en7 zyKUy;vh%X0dJyi}Wz#ND6YGP8X#pY}iIN{1P9DOiTrp6|a4V6|<7|wP2u2#-UMcz+ zlwMv|3gGsfKqRWu(t*h)vY3j&RHU4aVP*7%Zh3NtEgPSai4rzqyi};q1Me8=D)pXCN?P>@2$!YFDz}c{8tEl{7NDXh2G#Q=xdpYboa}Aov$&mTDZZ0u?0+csS66rzv6en&RuLo*<3UVTUbcdW#^{(GtHA?pH2s(8=aY)*A@ioh~Zuu|8K#I3pvK>Lck)Xrl~>+cB`9 zmPbs?erKAmhc)`c2bGDNEIH0(FK*_r-*7C2(alJWY;Ug}>(WMPMD_>8z3qCnnDHhq zsz*P6VT2^>p`(_d#w{5HMWVQEEpW69?`Z}=N=@HC$}|+iGd`k!a%zFzF;h?vN zb!X4ZX-KKSB?WM5ehhw8VNfZ%fn8@PmGtmKSKQp3tq}8J>$atLHfJ$n5DeDmxMQCr zt`C4WcBLc>`^l^hfe=)4-No)qyC;+pHKp6o`O#Nsw}9^4t!>{@zO)P6LUQ9lAlayu zXjxsrnOBh2>C^;2P#nj};NQ&!KhYHd|3FF_J+totD;ScQffE`lwV-MqLcZSuy2k`H zCXr>s(dy%6=%%_L!hhxzUQ+-x$VE-zvs5{2$DJaVraj=ri-yA^KrVzewj?Im&Zhfv zWc$PCu^TwOzCi}VH7UZ($?#<(M>%Qu{g&6v{*tm_)q*kr4IX&uad{;h%C6KQ=b7wJ zo1f#bw1hf&ZhJ$#7eUQb{y1aC{N=dgysOX+_rA3siP_YjK3WPUOkch=lP-n!+Fc!A z*9V{f`@O5oc6C-4{O{=Bv(T59qjj6fJgaiF94b&~4KlN3KVW_)k%f*RGnf|(YfI#h zZ!L#(2L%AL&W*H~^5K)d!DPd4Vt8i*^_@0KFXG(Ds8k*C;u7fgH@&!MbDz2gXLOjT zuklk@1jX(y`sAC$3&6^xY=H2@kv5#&;atOEg60aQKK98iqwK_d$%7gk5G@$qeqBcMB0y7dfVO7LB3GAE`_NTKF+ za~5)%1?ePBRTxQ=mire_R(KO?aDp*d{5>`bMrYiMh{|$Qmd7FItWI5+z+4kAtfnzQ zK+>7dLyHLy)pMK@hkkhfpk7X9W=A9zR^-QT?kh_TM~r$d`xu{?;4&}C$sN;rgn_}m zn0kYA_2;5m;!GH-z0@;@H|69K4lv21C&Gb}U!^Z6Z}@YRJCGh}N&x8oaG20-OhmtU z3WA!Up|Gc*`QYnqjWTiRd@lQ0KZgwbozS)s7@a2stbl3G$wZ!ZY&g)W{upKZ!YJR? z7_S9O?0X^YccNsH!ukZl_ec)P{&DVOdd_iIP4mV}tLC{@>Rwv_8MIdjKYaBn)q122H9c1TNhOpk^piEJY;tTOg;^O45-%Zq=d(~i^V;*Lc- zrB}DJs$@J862|r@iS>2Ob+s6t)sr)ANUGK-a#ou)B?b|-Oq>z3QwHV{p51lI*S{;% z3092@N}=b%;U}`)27Pk0+xsV14BZ#)0L*7 z+wP!{HsQ=NMrl6EMo%p!f&O)JzLHUroa{!UX=_UaBwPj`A4l|6b-xJl77>hMtuP0C z(lUGnQj-}A4xBY;qND7crcLBcD$RG(>HG<6@0;u0!?I;D64FzQ)F9MJT1D<3JKh8@4PyfEX@Et*>dRDI zpVVj1Hn|iTCpGxjb~sRpho~>g9A40rmM)C6H~%^|WP)}`l1MN{xc{{G zwHXqR3QO```V*N9k3JgTR~RF1D}Me%Ys9l!GANSosgmsX%kvjAMP6I^;QlKPXF0h( z*`GVZujBd(Nz5wlX`IZ-kk`{us%u7{`$sI{JoG4W2z4?kldm z`kB4-T5#0BHn557RnYJ*rH!Ft-hbL18m8UGx=KHzDd7uTZv$Q$iu#Iv1_(@wdmW@xMr?@|Vbh$~QHxVNq z(O%4iXm!QlP}0ZdX1KPg3=2FBQy|7Q<2j|)>N4e+=6nm6!e;neu8WsA?_Ip;0XFMC z?!a`Dyz=nZ`?sur_SC{`r;o&iFY_!9UvK;@^p41v&;GmkxtwiQzIZG{;h{NIz3MR$ zXzK4Tc4u22rq%OaHeCyG`5a8X$jjp7VTez5USZAfr)Tp!Zg@iBGc?Pw+H$of^Uw2J zNK@}Gv7z8^p+>DrPl`g*7GoKEilqNAtDSZ?9beSCUIg4`2QH*B$KmR&m3l zf}@+OZ>fg2^XYKWo86mkJmMEYx6cJ_?td*WxUpS{QLxC=tm86e>*n9n@>#z_#%;N_ zR8#fmNf@Z4GGFJupXRNdrLxX~(Uq&k+-IOiemeO?Xy_r%dKz6vD?3;?8+gGUif#7jn0Gyc&VTP z&)}|RO66l3TKmO}hzg>iawq_g+jFlYp+%b(3r;Mj6Z0#mS*q-(G)SYKOg|Ekc(hyy z9tIvnt02hhgv?>@NET%#i2av<1jn4vi{$I~2UCoaJ4rGcC%CF2lD*O?7c*&!kS-l? zoII=_IUCy}r9ycBg>{f+(9U*gy7_{&T!3WK&w?IUk;cO4s*pMpE}Y^qVVVcYl3sv_ zxJnvFPg6BVrGs}#=DfI~{NUHI$Y26C0vBu5-TaS!Jz>wxW;8cI+T!rUcM+#^F*mSa z%z_{bA7nMbMrn*R2GxNIABYpZ-+Zsi`OG>rI>{N%$R_{jm!l}B+Gr#57DQ?TUMeEOj*lsFiMY?CGG77%Qm}xs~K(kYY^rL7VLM> z<5a8GZ*=d?zpuxqx0V$XpcNPS%I2W83G;2YYv~x6d0F02#a=xxCo4aWZuhI}6ab`j zEX<%Mt{}Iv#wWFHGi{l@KNa8a*rNE~?E7B73cdVu+VrBev23wNk%pKR#TIn+G?b#^ zK{zpjifbLhbqf|#>r&c;#C!u1Au8OaU}3>WsfZ{!x;|)X*gJ4bc%KT)!Ji!{VvM1( zzNhoiyhl0_K`A$l8lR8K=LU#K6MxQ3kR0gN@=JanXBl@jy(8LahHsqwKDmIC2fgNf zK;`)8Zfvu2Y?Uci4K@HBadF#8U{$AKLAvR-0;O+>cdqz4K*`ufD{lK;fDcyY!20pb zHopC?wm6;DjjAe_M&M*9iEAV^hDcD5Kbmp-6Ovt^WUZ`$b~%C;{G(?97KJeME*!tn=U%$! zT!&*UuC8j5>#w%qa+p2s^vC=hLt}**EAQR#jyHz5HhzAoGGyL9^oem)L5p*MFCl2r z`wQ%dHCE+`4&4i-n2yaJJq`2bKmq-*tjMU^o@5w2tty$Rw(oCRt)ZCYjj8Y0R}k|$ zyU;7I`GX;BSYwrZr2`5HP%p-rqZo^$%pd2+(GR^MYb1lGx{l}-2IF#?!x$glhRCuyWsf2R4gNZHH6Rdp9~ z0ZM6J!yD4&D%)HgE$w$}^rMseySwvSzMUcdah_3bw=ndZE(1|+gD($;cdcxi%f+WN z@0Puv1ne7!p%>e};+l6PWSeaxd!`g2Ny0O%MBsGNEjk=r@rKd^-(*HE=4#-r0qWkD zdz~9ls|D6eF$r_UnoLijo9gFZYO38b2i;Y5(bRC)uXd$4s=vvXXY%*r`b-RHM4x@@ zKF0%_!xOL8SK#C0qZQPvkgq!dqmV&9;})k3m89XT>#dz{AulZJrIcUL$+RAFF>Wp7 z%1TyO{U=mj(Jp6@;k*S7k`z&){#YhLSz#H!9&NK3Y zE)YTFD)+BS!E$_{^2=SA{?>IO!hoh#jKv09_67~HbMdu#P^#8~4xsTA?ibCc--@;sSEtk3F zT1LwKUdY|Zorsa#%l&>QL@}nhlu&LVCUd`Evbn_E{XV~QcFz9aXJ>oAU$5u$@wgIM zVQKuJxXwx~7oZV{RI&9ic|%k+f>Sfp|Mv z%>6oz1`Sg3j((e3g3wx=`Umku2>$~MeEPN0ugbjb&v^ybGQB2EYqkl75mRMNQ?Bot z*-8S8V4qQ>(O+*Jz(o+JMV)TYy6cpZLU$(5m%9HZ--2O=Vy^SfecUNg*(*|63f|JH zq$wQTYC0=hq}VGdTR~cYpT3q1{(AHKum&_*eAPpor-{^$n{cnMfei%m`_YWy_)Uan z++@8Hzj&PP>n(7aW9Aub#YVA}H(H{O*mY0Rb;aFkB6j}$W9I|)Sc*fRX_P}$LQigzXH^A+CB##>ffV-8c1Ek}9IzbM|KJ$J(t^g2l`P1RW7}G?+9j zklK_->zh~})uQI`vj8!i&`$ckizjo~kPr7M^-ub^D77?%E!+>Du;x~rS=!Xih6gT*abn0+LafLSqo z{PtTqV!&IMzW#UV)F6*!Pii?>(g(Tkmt|__x5Gu@Aoe^)N3E@aLh2=a zRX$8^7x5^m?1L?aJ5SXx%yOaRPlaDA{a+T-1X<1;!x2~fImMR*z8-gq5o2Ti>JT(( z$CeO@&fQ6F7oc=HPsO93+G!_0LWi_M=6UfYE=kx=Q6hZ#*8_Z{RF$CJNTN$I8ao24=A;rFQ4gsiC8jOlMK-nWmVE1b70WxRfN z?NHeB>@02VYCQ0mKRSm5`SI~9&c`wnHEKonKePBJsxvVA@2JYh{6mPJK&bQ2QA1Lk zh_0Bs?w}QfeC)g{Xr4Oht3)r~%>ne8TA!iMG9r-{w7z;sQ5hmATaex2dsv_`d393m zESL8`st^ zOaBd7d}N!uWD+}lqBoSJU?-#;Ge?!hulxbDVCj~$a^)6=B9;fr4*?1AGQXo;IFr}V zxPL7;9cttsATNVtRt5XUse}cE1^u+xI%sN(dIj}`jUBASvrmhb^`$Hu1epqIl!sbH zy&f*OZzXPX3*YjT97?CH(}&?0$=6Adid+WYUe%(r{ zI$Slu)^$}qrGIP%m}CM-uKl%)wcN%Qy0wQdtsJcam>eIA-uu3_<`qcE;Cy#a*mG_c zgR#MrZJNpTlUrvd0GBova9ANJ|5>+Hz0;%jmKug@QW@Ehb)z@9?}(% zgAzt~l`t!!1q~m3m>V5Ze@fUs55kq_P7jWATb8a3u)oR@*b2!*EL-W$1hDxEB(%76 z=*=0pkz&iq4WpwC?UHu31F#hxSaheOYqY42y+P;q?WmLcydn-${QUd^JADy+oWw=$ zOo$S%yfU@0y04k3mc8PHl7{hEa%v4mjEf%1=arzamg-CEyUQLYwPG}E1a;h^EO-7& zk?BP`cr3Tu{&}U^h#ltjFnZ#o-30vk1EE>YK0aN&6Se{rn{{+twNm~()pTI&9?*en zqX96oA8Zs=UrQ!Zj~_h71QWX7W@aWQQ?dyZFEvC`dhI~e8KD(kS>?H`ELkv6LfVA~ z_MmxuLNm8P_n8T$t5y4qC;8yw|7aJpriHvXD7UHQx;!s;(v??_#`?g65DI$EM2Af8 z8!n6NXnF^5iUYUOIHy!EBr~NVcg>PjgmSU-xpN&nTJHhAY5=~HZW>B3|1Qq2DoIOA zSsC9}S(A;9*AZ}r+caBglpCYzExT|{;=*L?9Tc0SA2scE9(XNN+-Yxit6dt=!^sM# z(Q;%~U4B92P4RI|Yrm6I^TZRn8)`A@0Z`7*?akDK+J$|m&1>9hL;DqsoEQ|Mhr~A5 zJ;@%n46D&-N80Yv)m2V}zSBiWVCztZ-cRG3%SUI*21u<}r?o`mUdnp02=UG0Yw|rN ztI9S%L$Vm4uQk~39UOh@ufP+4vQ)C@_el$pMc6R#tG{*yip5rE6Y4$dqy6&A7x)aL z8}x_u$+bOB`%co|a=BpHkGdXBCJ(=jsBI+Iu5ivMcYEbY;Ey-AB#t|+B8zpjda=rZ7q^L@S5SNL#m_qZevf5s47WS?3f zH3jd=QF>t@@{-w=*?t@I*xMFn3*2V!0Im7O+4h^(m0V;d_a2(dKJ*bFXQFep#xijLMBIGLqeGvaE`H=6ez_!ZdDxHf=v~&P zW(LQ5#6L$CSFo2CZV~X|$0~~_E88TOwzEUb%8HOwXS(Zlxzm zpP(StHa=tWH}x zzOnW=H%4S>X|(XOdyut^!|{* zu=X!D8K;f^%q_O)a3)dsVq>rj#;BQZ0ERxF41Qi%nPP$z)_{t3+3v zH-D(9_6+sJ&5${=w1lH7LbVux+AbX+?Q!=MUK|asq3s^) zcDa#Xs}UXD$E{u&!#^4%{fU#Gr6QLl7R-tcvGISNt+&{zPzGTWYQOu%aAm)u-*S=y^yApgHd%1LZachQ10?H_;+I=T~?d>~W zPsl4Br=*MU%h?X{b^F?bI(t;j<)+Pf|H~gXm;bgrDK0i8!hf<`(TsOan=sOIYttIl zY$ie_6>of9F&FoZPhpEiM=sI4D{-wI|J2mI)tF_@xEmCxt`8q+ZpIPkfXYUDT(H@n z=4@joma>TnO^a=m3qUe6a$3}oH)vRvWIe-Rv8uNtBXsj^tn0><*@O*YF)}vs|9Nru zCi0q~JSppNsEyc**e5jUE-z8`1A+NJ{nVT{t|fPUz}L%POe85%q}g z6=a%mO>b_(!rimFzBb^1GgKUwK@CUf^epS^uJ^gDva2)fbPM9|w5jPU8r&VsmW~0z z`1XNt%fNtx{e8+qx)cRj0WTdL!=@iq+zP)sj1ZPVEuN?mYJq^OJ6(!&zvZh6c`&c9rin+;(H|K;_3c^IeyXpW zJv6*nq2Wh;sNKf1m@Pfoi`+qde9cD39m3opP;=|UFCK00Y6Q(;Bm=YE)ri)-TJY6- zGm(r#Ba60S?G)OZ6``V^n3rGOvI(=?r^@9$3=oNv@25(TGMM?SI~Tk?YT*{_i9;c; z47j?c)+2RcnY!ug$O5MNAc4v{BcdxDyxB>OSjEPDje{!FZBN_zn?ku&kaK}|=r|hoyaLF>2 z^@}Gi zy9u7{{{O^!{~$CpJk-tWnM9aPf$#C|%CURkoa>eMooA|pvEpp>ks$l!Tvo34Cc5I( zf7R~r6q-pjB4ZG#9>K{f@XC+N2^gMh*~hH3 z|81%}4V}ZF+On$rS|!Nj173UU_c#=wmT&}?rU!-^jFK4}E@HyW%m$8ggt70Gy}3VE z6u(1E7(s|-NO5J@@g9(VB%C&S)XoqN+iPpDP)fp?@R?nowC_qrwTdu1I3+?$b)o@* z_kal*ho8XD61S|~%nWg9skh8qJTPoMuTlfq9P-C%bAY(%pGQuYqJuzrkb+Cr_#GEQ-s1L02 zjamg4h796m$7h2XQ(#c-)j}(#q#>e}>lVjnJtMfY*f7v8Qtq()sr+uwC-mZW!TasJ zLTyK3$A!mkeazx@YPv6QIS6`Kbjt9X=t5_Gc7abNet^e^hN?8ex$(=)Vd$G~V8N>+ zhM&4P!2>hU6N5IE6t+x1&@%>H+%=1>iNoe5SCC1d%c(n#G)hUQT8Vqh1lM-q_r$bO z5>aAsP2ojbX4v;+2XsS#Ea$U3qlYsl>0E>F31PwEddnI{wU0rhTKPpl3~g*sCinFH zX2jC%;Yi=C0dE2!gA9Cs*7^^mtPo&+`vL9G4%c3q4BkMMsde2QksxnBCNysArBM~M zjd`y=FPDw{qVH?xlj3}_vZivdGIMesdn;`J)`dto`D8EaXZLU=uD`k0rx!zw>}hU8 z#~IVt(cbMQ-~V~9h=J? zv+%8boAbQk@MFy0e*dY;>DIxa)}zv<4Ht%i30ZlqQjJJTeQpG}E}jT2=M>-{YAwz5 zNpQ;ksVwj*vncB`ww};9z1dvXf3m%W2aGnr=h+Xuxv_b_fmH|2cMjktuyqG}>4WFZ&jZ6siWPC?>j zj4svLS)xD!uN-xq5l*`pYDPt~)cIQah60U`-=Up#e2JkV_Gvv~mb^XT^r(h-gEEef zPw7uH=~OInR@1x&U-8t`qh6&07yfi208?Ha+BS!f`mSEJysSRzmmTHWG4oa(R63#5 zxQ(gx;D|ePx0;&^u8&kGcVt#brF(9*ep{6`LO;df*R1C4!D0C7?A_}R6tYtMl8)tn z$bqVWdpv;UXhvonACD?fyo{k&m(-?B;MRJ?NH-U#b4%~MEDsMfAt?SJQLmCF~@r|NLs{4&W5-ZWMdBo=Aq$7TPmzbU6<_GFU?o+ z>*lAxiSjV~vg54aGHK1OQhMJf_%!@d<<@p@2Kaag!muPKz+(g9Xcro_l z-dlpcV9H&iAIi(1mY<;c6?8i+M=gc_HsNHMsCn#$EYh@^9wY?`$(r9PwsK#|KAoMNE-F3CF)Hw|Xz7rMT=Z)VIr*pX z-6ebNIA|r)0_pe@iAK(1JZgI>&1?Sa;cO0V!-ajK&B$=8H3-&AsbH;nk^p~CZD~)h z!DwGJ08igOtQNCc4s)ybwDBMZ$nq5@i==#Xzek?PiGkQJ&)C`E-CJ*FMj8wo>5CdX z#R}ZE(B>QRogp;(%VhcJ0;K2S;&^?HFL6*BrjPuy-|xn5{$k8c9(S%tmzLu3ejk`k zsd!CT2*m8)+Q`Kgn1FN4m+C?5-=Bujy^$XdOFGBgV#rRr&Is+(DQrlJ2$&qC$anS< z*;g?B8gpx3KPyRBS7;1 z?nw@`^4k9=kNnGgCR5jy+Y@k4N}uBF%M{{`6omHVQt-~dFH~~-pPaX#QECy|Vl%rO zvFgrWNH6b2K=yRx0SJb$>V>D>Q4ITV!lxiX}1orJh&%1cU(;OTnY80 z_oLkYf}Ou8-LCDYm+BiM`Ag4=zXd1q^7zV}Rplzj{yP59khXSTbpIn#hB~_I0}C@m z*_=Y9Ghd~r;2V|r$d6S}rxg&+*81W5dF1RE(o^z)capQ?lw#P_iF^OJ zYjd~FfwDKYa$BS9ZrJ6$l=~Hg6!gW+2Nl{%mC2K=HG?F(q$C>ZTU6hTyu1@jNYS6Y zq`H0K3V}G4$1}c@JWRU1xG)9o1|dmAiugwiM{9{W6Pj@LoLVn}3^8A@2Albwz4vw7FZ06hiezuC@E z!Fhp{H>@DG>*65m?@YMTqtcbY_S=M6jU9PKg`PhVeoJs84cnMV0qp>@TS1OIvIwnv zZyE$u{te0xecTZBg;0%&uEpEhQk0~zK;a-xR$+$tRd98We#(xq&krXO&dl3KcD`Fd zi1sH`lQ~5|nqG&|5;G+9kPn$=-Eqe={AeYKzpYVbtMg@z+v&GkzWIk@%)iF7{YHAY z{va7FjqMY37|_MDY8j|2_+&jps1&Ovs}ReU^DNW{%FG!-_A}b^$^^!Dm~XHL8uHUL?=SK?ffa(Dd`GxN0r}krz(9G zZ{kfVp3-#RF2+mcSk!;jcx_z#Vzw!+k}?5mS1T*MQC@q1l@m$m2A7M$HK;gJYA33t zuBGMnvyUQ&evD+tW3XnX22g2f7HJkq`C>FH8#KOe+dp8x6C6G0$I*(hGGXDOU@CfW zmHid4eBxI4m;;Th(skpf)o?)Tl88}vZ^CK12U?@k<0Q)Tk#?&r|E;oaesu=-8GMN+ zZT8O|Iu~b3zfK0uNgHDo8$nErwpL{|kNJlcd~B)sz^%*ddU0H_u@OnBJD})Qe*#AL zE#k}jr@_G;5@HwWl2p^=ysFWet`Pyv33k1w?cp3T6rDa+xKl?f@23iW-rrbkfgUl@wx+~d_shK7 z2nvm_@{3KCSUm!SXn`$Mt`i!Fjq}C z8Sl?_y=+sz%Nj6xi&C#Ks6V801#SMuQ>zQq<;j7p*2zZ29R2*6AI_Sg`Y4QKaO9#D z;ON6<;V zUy5A*JsAUb^8pukmkze@80>`1n!)uQUIz_(|6%>)G@k^xRLa$jVh4Sg26F<@)>%U` zk$LdLw#5u4w8N7S6yA2He=7qo0l@um^=}kFc3bEE9V~VU-vfM2y=vY6EBf*!1e@KG z`gf+YGaW?n0MtCI`3|k6J2aZzm51)GEq%^RXs$cO{x-!Lyw3b8Z>KISks`v=xIfc}xM>78Cs%b8B5B4kxZo{_PYctcUYjBFmO?Yf}8ZMR>szNdY zhd_>tpi2KtMt;^tfz*~6GVl!k5Zz{25XeBRv5rvr@!rP1vI+|eo8DH$tOeq_Uqdsg z>D^X0x|?g@^V2a7vLSpWi+l37f|OKSHM&J^r~Njm?RK!$^qtk`!hPw&%{a4d{za0_ z+UQ6b>61FJ$w9U0Z8^oKrJrIk6BVT~wA64m76Dd1&X?{6QyJ->YF@c`z6Du$j@F=U z(Hfb)k7NZIbrN4#VNOr>{%FhGM5;?ZyvwKRb4~HXw>oK;?rgrD zMSCg*BuZ%E0VO){-s7O}Kn^7`s+tlcz`_EeE>9JJO3@@z{F0A;o13CZG5#w7-KOJt zFjmo@B;o58jGB_;P;z)0+%jCa>E*&3pV`pB8;PY@oTSL?`W7;ECckl?yxbdhG2o-v zj8kM^Pf%t)rF^!?f*{Xob$=*#&Q?FJxLi^>zJ9q_aG7_xPFhVzFmV5PczIHPIY>Cg z0DhwUdMh{Z>=Z8GPjCPN#Pd`mWh8R?Gc~i2^Il<|gHD1FC1p%pt)kF`u#i@p^?TG3 z;6^(`+}=Mu<#{Ug=gT%eG<>WXzj@o!(;R=W_mAC2gUy-FEX896Yw{Lge8oic~QFF*JZab&%T8n9sHuj61jTT@Ds(&YMgjaaq z2PF$r2nev)p?|-3s;{9K%y>pU0DlkY!BIun?O^i)m3u`LbY`a898_;#j_CVp1Z)*= z>UM)aM$S!BYL|RL`1xFYK^@B*r)D}K7BGJ8`R`IX)8Ytj`7)oZpO%!;bmj7{FR0Os z0QBS)T!7lX2XasAs@?Ad1ueV)f46pXx{AFysF#$g>#ef@GWx@CU;Q#|Ay;%sz`wAx@>=a<#$ywH=VCp`4-6&^&W1J{S>`=2GAWhN%|2d=;9 z5g~XNg=wr`ExN`RCci~s`9lD?uetFWNXmC1qWqJYd$lQ(Pq~uAL+-cy$Nw!W$=_C% z67#5wtBV3nTdlOgu-IqFU0gjPpY)4&zC?0$9rFlz5N$t)V&_F~Q@!BiVYUXv&T;dP zK9xEAM&4{=oVpr0jxd(__#J&gckF#@?~>xqdIaN6QH%0=pISrvf2MIBM88xpQjQ19 z;wI)cli}VvL+lTw2v|*bF!%U(a`GP0qAaAf+Q36w5=!49G6Tv3vr$DA-AthpQ|El? zpwFZdM}m6az@U5Y{?qv!qQk0U+uwD4VdN=MyXxS#SuC16Z3#VqhTrr( zYS~MpDImY(hbac0Q+3}ueu1VXmaLK-5>Jj3z9p^7%f5=(kxTuZRR3xB#w&`ITbIl{ zQwm+ZO$Ea`FKt&5sc#T0;b7d%g?`orvqlAikF}tA)?kUhU6t ztBh;EY+oo$Ok!4o&p8Atsm(R?v2j|uF2HJ83yJM)%+^rtEc zY);))zQohme?Oo-zbxh`91_GkBZ1}u-o4&bjWBDz?ew$bbS4S5`dA5$pCFQ_mi-!# zG{~#d-&eUSjLpZKLQ&j}TDkpafVV~*&xtfcXK{ZxXeUp6U_&rufb35_@Xp+#v}Vt1 zO*wWu_t|1A4LeiVO%Kk`&k5L23b{JVfp!C zH^mG7yOzPZZz5bvdQ;~LZY^zoR*T!Va04u-HcQd6v0m>-=s0L@`dpRbk1*rZ-u!kWTn(_GBK4NTf4|*(YwwR{{?D zK(v`-&ZZCUP$;bSad_;7u)ic|wF7^;;b4zGk z`r-YdtE7@kfRd6%5VYFKj?T&q=An%&cTM=<>>BgW+cnKW6lSuab3flzVGSI~NNH~f ztXrV5oLQ3;GpAV83?}IG;2=Zg%cXf)^Mv|>`0NQUGO0+i!o+@ya=!0xF|4%TWU`Yw zt0XQGQM>KoW~ji5naWalExH*zL#Us#kJqy>bE_vD#^OCY+HqAb47r)c%c=shbPEj_ z?@y2TV?onFBn?R^Yd3c{H(XP&d%rcNe09h#e`H~InzwhaJZ8N(5n*~U`QOo`=bwg? z>^E7N0={vr>8VIYMui=Au0Hvk7t^B~Ni!npz;46IG$C3ev^#%@Y6^%_P3MB6a%1b`!~Y z$bJ$#v1z*C?jAf2X|$8<%rq7k8rF0(V`KR8;=KI>C>fY3)9Jw9Ls%gP;w8#8{%{QE zq=ALI(&E9%KbRH>4ZHitqE?k%p4DGd_EYDO-TK2{-B@rGl5sxQzGWZ-uwEFAA?ab% z&RXw=A_brj8M85F5WEHDg|WM@KJVx{MV%twk{utdLBx{Gjjxr}rn(skWj}XovlS?; z8Yl=q+Lf}JR^wju)Z4=1Pq5S4k9k^}>Y%@j$>ldVQ$|1mDPkOqt5R0=(o`&|ReW}g z?D9HnU_q;%AID>3`+m3q{IkS{0VMjz3>oE);`uqf3t5A>5^ONI8_T%Ys^4bWA=p1# z=AOWe`2)%G4Jxl<@A#M=4%(~TCQrr2UN{YX8N-AkultLDm_c=`)Wihm2>y8ROHSc} z;7;$+_00(bi-&Q@qXYj-y31u7aXo;zcse+Du`y<9@G0hN_z|$9-c~ugb+M~*34l`o zbHm)_+U1|QlQ(k)3nGXN{M+Qc{dbVk051Vr;Guq&Wm9`7mtw8S4uR3AvNDabCl5p} zQ6Fy>+`qgaou5lw&UZ{;@F)8c=4EGe;pDaO695-9Q*Ep2+Y~CzW}v{dHm7hspN+GE zeVTDVUXo6W7L+l8LFo~yBRF4~cg&Esg6dH-`15|e#9aH?Ui+8rTK@Um3gX=t`xYer zM53^(7>Yo(vp;rllCBoK#WXEi*xX!u`dCg{58xknsbT%MTrb)`G(8xi;Ku$7B@6;a zzJ5Qu1a5oV3GtdcY~~3p1Jhs3;AvJ<81iXjeXXpfkEHj1PlHJ8)on8wr=d?ZZeaCh zI0R`K_48q`2l~nvU+7oz;{rZaKX$X?apm&|ITk~nbWK~h(Uv6NM!lOjISsPGlr{1C zu)l_kT7nhIq0?cjy_D5&3d)i`;ksZe#7E8tdF9-}W{&f$8eZ4? z=~yC*{4;xcIVMHhIoWC11#=$6G!&hb#HUJuWY1aTw-e zjp@<=7DMj1ljfYv&x1i3p&cC(r`YTo_frA}|7Pj`2iR&#uLckIxfzO-F&PIPqHRQx z1}!C(pqS7~IwT^?H_@3-81DVS!t8Xc-gEz8@7q3yX!RI&d{zmr&&Bn1Yjh#nGJAcy|dRe0mp4&pm=(mYWhJ@jFOHvcS3Do;?baCv9spTXZIniR|`M=U}l!ZnAp z!-FlA6K!A`eKCBIR;BOT`nL^eZUN$QPv~nvA%kI0g(}e|wn_wFr-%QZpm;7e!a-H+ z0C`uK7yLa>V%W_6O@x*|rQO4=w=7HPDO~bFnF>PBdN?hM+$1srrzHA=+z5-mgWUt> zYu(3WWSg4J1OcHt@7~&4tNsIu{alt24^X#D{@U90L}1#HKHBCcXa8`w&RjiS!5EG5 zOt#M~$JO8MPoVD`(QOK{xp(R{LY}soDZQk1G0nA>jte9lx)(GYFqZB zRCdxfEOG)%-C0-E?$Sl|E34eI(i?!$Qa-yu1ET;7>}hZ!S!L;zHe=ulDJ=Y~37ht} z8Y_Ic?}eQtZiVng3%pm^`3aUZx-Cb!m%^<$^zwYNCqK)aI8-sYpO9;0d_aMpXZ$;C z_SX0fGujqJysGdc_D_22*alZX$Yjbd`m4~<2SL1AR#&q_rP`9%vD(+lZ*|1dDRY@H z&)ZcW@Z6SHxoo*83575tYoojw%_?Krhht?Hrn67TIIqw9yJaHF-0a?tS8oNVUkw}* z_)6FPNso7Z-)TG|N zHocxQ{NFv60WN6%OXBW!#GGvGDfGG|SsVe!lPBgp$({h!pLm6(Odg-fw!p*PHF{mY z56{Z*2icPqQ6zS@>)%KEyRUaV`(>ZH9Sd zv80SSc|!zu--WDTY=~$ma#Z{Q13{~~^8T!DCPm5w?TLDaFisb=d(Nlk&hZA=L6pQ4NOr4 z1BgJGRIA-&(tWhTVhIhbu%=*qyoZXN;-Av!Vb}Ltso#2${~~R#`jh)k!#;$qTRGlxc)UOdy{B^d#6#=WJTy`niPSa#lVf|XGh@Ii8BGo~lH#g^gLF!2V=1BHn

#Wgd5e0~-b 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

!DV1# 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

  • ZW{;L@U0!N~133`;+vib;IZ1!} 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%0D7FR~XfO@0bX|*9BTKb;&=k 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�mCPXTXlJdq-82NZziIVhvBUj-V?f+49 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�JXvREcVt=@N}=0{ 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
    +|);NE9$eC}}QcVBtw_~xAtKYTLxc6Pph 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 r)K{5Xp}q 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Ξwjw@<(RS&6_4k^>NP8Om-~-c6Xh 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

    QCEszPgEHhak`%o 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%0AwCNHK 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

    (X1U0ysAg%RpnczgZ))9q7p@$wo@1@6MU@Bt1E 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 A+yDRo literal 0 HcmV?d00001 diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py new file mode 100644 index 000000000..fe69d385f --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py @@ -0,0 +1,38 @@ +import os +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption + + +# Image-to-video (TI2V). Dense-1.3B reuses the SAME T2V checkpoint — there is no separate +# i2v weight. The condition first frame is used twice: as visual input to the Qwen3-VL text +# encoder, and as a clean latent pinned into the first frame of the diffusion latent so the +# model only generates the frames that follow. Pass a first frame via `input_image`. + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) + +# prompts/ti2v_example.json is a released in-distribution caption paired with the first frame +# in assets/ti2v_first_frame.png. The caption should describe the motion that unfolds from the +# given frame; the pipeline calls normalize_caption internally so a path also works directly. +here = os.path.dirname(__file__) +caption = normalize_caption(os.path.join(here, "prompts", "ti2v_example.json")) +input_image = Image.open(os.path.join(here, "assets", "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b_ti2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference/prompts/ti2v_example.json b/examples/lingbot_video/model_inference/prompts/ti2v_example.json new file mode 100644 index 000000000..f4915fc91 --- /dev/null +++ b/examples/lingbot_video/model_inference/prompts/ti2v_example.json @@ -0,0 +1,131 @@ +{ + "caption": { + "comprehensive_description": { + "scene_content_description": "A dynamic, high-fidelity sequence of a fit young man and a sleek white humanoid robot running side-by-side along a paved promenade lined with blooming cherry blossom trees. The man is dressed in black athletic wear, while the robot features a glossy white chassis with black mechanical joints. They are running towards the camera, which tracks backward to maintain their position in the frame. The background features a blurred cityscape and a bridge over a river, creating a sense of depth and urban vitality. The atmosphere is energetic and futuristic, blending organic nature with advanced technology.", + "camera_movement_description": "The camera executes a smooth, continuous backward tracking shot, moving parallel to the subjects' forward motion to keep them centered in the frame. There is a subtle, rhythmic vertical bobbing motion synchronized with the cadence of the runners' footsteps, adding a visceral sense of speed and physical exertion. The camera maintains a steady focus on the two runners, allowing the background elements to exhibit motion blur." + }, + "camera_info": { + "color": "Natural", + "frame_size": "Wide", + "shot_type_angle": "Eye level", + "lens_size": "Telephoto", + "composition": "Symmetrical", + "lighting": "Bright sunlight", + "lighting_type": "Daylight" + }, + "world_knowledge": [], + "prominent_elements": [ + { + "name": "fit young man", + "description": "A muscular male with short dark hair, wearing a tight black t-shirt and black running shorts.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "He runs steadily towards the camera, his arms pumping rhythmically at his sides and his legs cycling with powerful strides, maintaining a consistent pace." + } + ], + "location": "Left side of the frame (viewer's perspective)", + "relative_size": "large", + "shape_and_color": "Athletic build, dark clothing contrasting with the bright surroundings.", + "texture": "Realistic skin and fabric", + "appearance_details": "White running shoes, focused and determined facial expression.", + "relationship": "The primary human subject", + "orientation": "Facing forward", + "pose": "Running posture, arms bent at the elbows", + "expression": "Focused and determined", + "clothing": "Black t-shirt, black shorts, white sneakers", + "gender": "Male", + "skin_tone_and_texture": "Tanned, muscular" + }, + { + "name": "humanoid robot", + "description": "A sleek, anthropomorphic machine with a glossy white exterior and exposed black mechanical joints at the shoulders, elbows, knees, and ankles.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "It runs with mechanical precision, its limbs moving in a fluid, lifelike gait that perfectly matches the man's stride, its arms swinging in coordination with its legs." + } + ], + "location": "Right side of the frame (viewer's perspective)", + "relative_size": "large", + "shape_and_color": "Angular and futuristic, white with black accents.", + "texture": "Smooth, reflective metal and matte composite materials", + "appearance_details": "A smooth, featureless black visor for a face; the label '07' is visible on its chest plate.", + "relationship": "The companion subject running alongside the man", + "orientation": "Facing forward", + "pose": "Running posture, mirroring the human", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "cherry blossom trees", + "description": "A dense row of mature trees with dark trunks and canopies full of vibrant pink flowers.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "The trees appear to rush past the camera due to the backward tracking motion, with the pink blossoms blurring slightly to emphasize speed." + } + ], + "location": "Background, lining both sides of the path", + "relative_size": "large", + "shape_and_color": "Organic and sprawling, with dark brown bark and bright pink blossoms.", + "texture": "Rough bark and delicate petals", + "appearance_details": "Hanging branches that frame the top of the shot.", + "relationship": "The environmental setting", + "orientation": "Receding into the distance", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "paved promenade", + "description": "A wide, brick-paved walkway stretching from the foreground into the distance.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "The ground rushes towards the bottom of the frame, providing a strong sense of forward momentum." + } + ], + "location": "Lower center of the frame", + "relative_size": "large", + "shape_and_color": "Rectangular and linear, composed of reddish-brown bricks.", + "texture": "Rough and uneven", + "appearance_details": "Distinct pattern of the paving stones.", + "relationship": "The ground surface for the runners", + "orientation": "Leading the eye towards the horizon", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "urban background", + "description": "A blurred cityscape featuring tall buildings and a steel bridge spanning a body of water.", + "actions": [ + { + "timestamp": "[0.0s - 5.0s]", + "action": "The background remains relatively static but shifts slightly due to the camera's lateral movement, remaining out of focus to keep attention on the runners." + } + ], + "location": "Far background, visible through the gaps in the trees and to the right", + "relative_size": "medium", + "shape_and_color": "Geometric and muted, with grey, blue, and beige tones.", + "texture": "Indistinct due to depth of field", + "appearance_details": "Silhouette of skyscrapers and the truss structure of the bridge.", + "relationship": "The distant context", + "orientation": "Static in the distance", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + } + ] + }, + "duration": 5 +} From 670ec2272f17c03ba68c055e30b31025a07f081f Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Mon, 27 Jul 2026 22:08:22 +0800 Subject: [PATCH 12/34] Add text-to-image (t2i) support and example to LingBot-Video t2i is text-to-video with num_frames=1 through the same pipeline and DiT (no separate image weight), matching the official runner which sets num_frames=1 and swaps in the still-image negative prompt. - Add DEFAULT_NEGATIVE_PROMPT_IMAGE (verbatim from the official pipeline): drops the temporal/motion terms that cannot apply to a single frame. - Example lingbot-video-dense-1.3b_t2i.py + released still-image caption prompts/t2i_example.json; saves the single returned frame as PNG. - EN/ZH docs and example README document the t2i path. Co-Authored-By: Claude Opus 4.8 --- diffsynth/pipelines/lingbot_video.py | 7 ++ docs/en/Model_Details/LingBot-Video.md | 18 ++++ docs/zh/Model_Details/LingBot-Video.md | 18 ++++ examples/lingbot_video/README.md | 19 +++++ .../lingbot-video-dense-1.3b_t2i.py | 33 ++++++++ .../model_inference/prompts/t2i_example.json | 83 +++++++++++++++++++ 6 files changed, 178 insertions(+) create mode 100644 examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py create mode 100644 examples/lingbot_video/model_inference/prompts/t2i_example.json diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 561b95f62..8ea06d84c 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -84,6 +84,13 @@ def normalize_caption(prompt): '{"universal_negative": {"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "unstable color", "color flicker", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], "artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], "composition_and_content": ["text", "watermark", "signature", "logo", "subtitles", "pillarboxed", "side bars", "portrait image in landscape frame"], "temporal_and_motion_stability": ["flickering", "jittery", "motion blur", "temporal inconsistency", "warping", "morphing", "incoherent motion", "unnatural movement", "static object with sudden jump", "frame-to-frame inconsistency"], "material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "liquid freezing improperly", "distorted reflections"]}}' ) +# Still-image (t2i) default negative prompt, copied verbatim from the official pipeline. +# Drops the whole temporal/motion block and the video-only codec/temporal terms that +# cannot apply to a single frame. Pass this as negative_prompt when num_frames=1. +DEFAULT_NEGATIVE_PROMPT_IMAGE = ( + '{"universal_negative": {"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], "artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], "composition_and_content": ["text", "watermark", "signature", "logo", "pillarboxed", "side bars", "portrait image in landscape frame"], "material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "distorted reflections"]}}' +) + # VAE downsample factors (QwenImageVAE / Wan-VAE): 8x spatial, 4x temporal. VAE_SCALE_FACTOR_SPATIAL = 8 VAE_SCALE_FACTOR_TEMPORAL = 4 diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 32c3dfba3..695bac0b4 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -142,6 +142,24 @@ video = pipe( The condition frame is aspect-ratio-preserving cover-resized and center-cropped to `height`×`width`, so it need not match the target resolution exactly. A runnable example ships at [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py), using the released first frame (`assets/ti2v_first_frame.png`) and its paired caption (`prompts/ti2v_example.json`). The caption should describe the motion that unfolds from the frame; as with T2V it is most in-distribution as a structured-JSON caption. `input_image` and `input_video` are mutually exclusive — pass at most one. +## Text-to-image (t2i) + +Text-to-image is text-to-video with a single frame — the same pipeline and DiT, just `num_frames=1`. There is no separate image checkpoint. The only image-specific knob is the negative prompt: `DEFAULT_NEGATIVE_PROMPT_IMAGE` (exported from `diffsynth.pipelines.lingbot_video`) drops the temporal/motion terms that cannot apply to a still frame. The pipeline returns a 1-element list, i.e. a single `PIL.Image`. + +```python +from diffsynth.pipelines.lingbot_video import DEFAULT_NEGATIVE_PROMPT_IMAGE + +frames = pipe( + prompt=caption, + negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + height=480, width=832, num_frames=1, + num_inference_steps=40, cfg_scale=3.0, seed=0, +) +frames[0].save("image.png") +``` + +A runnable example ships at [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py), using the released still-image caption `prompts/t2i_example.json`. + ## Model Training LingBot-Video is trained through [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py), which fine-tunes the DiT with LoRA using the flow-matching SFT objective. The script parameters include: diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 20a7204a4..51247d997 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -142,6 +142,24 @@ video = pipe( 首帧会按保持宽高比的方式 cover-resize 并中心裁剪到 `height`×`width`,因此不必与目标分辨率完全一致。可直接运行的示例见 [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py),它使用随仓库发布的首帧(`assets/ti2v_first_frame.png`)及其配对 caption(`prompts/ti2v_example.json`)。caption 应描述从首帧开始展开的运动;与 T2V 一样,写成结构化 JSON caption 最贴近训练分布。`input_image` 与 `input_video` 互斥,至多传一个。 +## 文生图(t2i) + +文生图就是只生成一帧的文生视频——同一条 pipeline、同一个 DiT,只需设 `num_frames=1`,无需额外的图像权重。唯一与图像相关的开关是负向提示词:`DEFAULT_NEGATIVE_PROMPT_IMAGE`(从 `diffsynth.pipelines.lingbot_video` 导出)去掉了不适用于单帧的时序/运动类词条。此时 pipeline 返回只含一个元素的列表,即一张 `PIL.Image`。 + +```python +from diffsynth.pipelines.lingbot_video import DEFAULT_NEGATIVE_PROMPT_IMAGE + +frames = pipe( + prompt=caption, + negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + height=480, width=832, num_frames=1, + num_inference_steps=40, cfg_scale=3.0, seed=0, +) +frames[0].save("image.png") +``` + +可直接运行的示例见 [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py),它使用随仓库发布的静态图 caption `prompts/t2i_example.json`。 + ## 模型训练 LingBot-Video 通过 [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py) 进行训练,使用 flow-matching SFT 目标对 DiT 做 LoRA 微调。脚本的参数包括: diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index 74d839d65..84a44258d 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -75,6 +75,25 @@ video = pipe( The runnable example uses the released first frame + caption in `model_inference/assets/ti2v_first_frame.png` and `model_inference/prompts/ti2v_example.json`. `input_image` and `input_video` are mutually exclusive. +### Text-to-image (t2i) + +Text-to-image is just text-to-video with `num_frames=1` — same pipeline and DiT, no separate image weight. Pass `DEFAULT_NEGATIVE_PROMPT_IMAGE` (the still-image negative prompt) and save the single returned frame as an image. + +```bash +python examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py +``` + +```python +from diffsynth.pipelines.lingbot_video import DEFAULT_NEGATIVE_PROMPT_IMAGE +frames = pipe( + prompt=caption, negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + height=480, width=832, num_frames=1, cfg_scale=3.0, seed=0, +) +frames[0].save("image.png") +``` + +The runnable example uses the released still-image caption `model_inference/prompts/t2i_example.json`. + ## Prompt rewriting (important for quality) LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality (softer, less coherent motion); feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict`, a path to a `prompt.json`, or a plain string, and normalises it to the exact compact-JSON format the DiT was trained on — a plain string is passed through unchanged, so existing scripts keep working. diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py new file mode 100644 index 000000000..24fe3e23d --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py @@ -0,0 +1,33 @@ +import os +import torch +from diffsynth.pipelines.lingbot_video import ( + LingBotVideoPipeline, ModelConfig, normalize_caption, DEFAULT_NEGATIVE_PROMPT_IMAGE, +) + + +# Text-to-image (t2i) is text-to-video with a single frame: pass num_frames=1 through the +# same pipeline and DiT (no separate image weight). The only image-specific knob is the +# negative prompt — DEFAULT_NEGATIVE_PROMPT_IMAGE drops the temporal/motion terms that +# cannot apply to a still frame. The pipeline returns a 1-frame list, i.e. one PIL image. + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) + +# prompts/t2i_example.json is a released in-distribution still-image caption. +caption = normalize_caption(os.path.join(os.path.dirname(__file__), "prompts", "t2i_example.json")) +frames = pipe( + prompt=caption, + negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + height=480, width=832, num_frames=1, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +frames[0].save("image_lingbot-video-dense-1.3b_t2i.png") diff --git a/examples/lingbot_video/model_inference/prompts/t2i_example.json b/examples/lingbot_video/model_inference/prompts/t2i_example.json new file mode 100644 index 000000000..f598d85a2 --- /dev/null +++ b/examples/lingbot_video/model_inference/prompts/t2i_example.json @@ -0,0 +1,83 @@ +{ + "caption": { + "comprehensive_description": "A clear glass bottle filled with water sits on a light-colored wooden table, acting as a lens to focus sunlight. The bottle is positioned slightly to the left of the center, with its base resting on the table. Bright, direct sunlight from the upper right creates a brilliant, starburst-like lens flare on the table's surface, casting a warm, golden glow. The background is a soft, out-of-focus blur of green foliage and bright light, suggesting an outdoor garden or patio setting. The overall atmosphere is warm, serene, and summery, emphasizing the interplay between light and water.", + "camera_info": { + "color": "Warm", + "frame_size": "Extreme Close Up", + "shot_type_angle": "Low angle", + "lens_size": "Long Lens", + "composition": "Left heavy", + "lighting": "Hard light", + "lighting_type": "Daylight" + }, + "world_knowledge": [], + "prominent_elements": [ + { + "name": "glass bottle", + "description": "A clear, cylindrical glass bottle with a narrow neck and a flat base, partially filled with water.", + "location": "center-left", + "relative_size": "medium", + "shape_and_color": "Cylindrical with a tapered neck; transparent and clear", + "texture": "smooth, glossy", + "appearance_details": "The bottle contains clear water that reflects the surrounding light. The glass surface shows subtle highlights and reflections from the sun.", + "relationship": "Sits on the wooden table and acts as the focal point for the sunlight, creating a lens flare.", + "orientation": "upright", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "wooden table", + "description": "A flat surface made of light-colored wood with visible grain and horizontal planks.", + "location": "spanning the bottom half of the frame", + "relative_size": "large", + "shape_and_color": "Rectangular planks; light tan and beige", + "texture": "matte, grainy", + "appearance_details": "The surface is illuminated by a bright, star-shaped lens flare caused by the bottle focusing the sunlight.", + "relationship": "Provides the base upon which the bottle rests.", + "orientation": "horizontal", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "lens flare", + "description": "A bright, star-shaped burst of light created by sunlight passing through the water in the bottle.", + "location": "center, on the table surface", + "relative_size": "medium", + "shape_and_color": "Star-shaped; bright white and golden yellow", + "texture": "ethereal, glowing", + "appearance_details": "The flare has multiple sharp rays extending outwards from the point where the bottle meets the table.", + "relationship": "Originates from the interaction of sunlight and the water inside the glass bottle.", + "orientation": "radiating", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "" + }, + { + "name": "blurred foliage", + "description": "A soft-focus background consisting of green leaves and bright light spots.", + "location": "top half of the frame", + "relative_size": "large", + "shape_and_color": "Amorphous shapes; various shades of green and bright white", + "texture": "soft, blurry", + "appearance_details": "The background is heavily out of focus, creating a bokeh effect that emphasizes the sharpness of the bottle in the foreground.", + "relationship": "Provides a natural, outdoor context for the scene.", + "orientation": "upright", + "pose": "", + "expression": "", + "clothing": "", + "gender": "", + "skin_tone_and_texture": "", + "is_cluster": true, + "number_of_objects": "numerous" + } + ] + } +} From 8d8b7c7554922e4699e5758fd4d80eccc284d610 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Tue, 28 Jul 2026 13:05:09 +0800 Subject: [PATCH 13/34] Add ti2v/t2i low-VRAM inference + ti2v LoRA training examples - model_inference_low_vram: add ti2v (input_image) and t2i (num_frames=1 + DEFAULT_NEGATIVE_PROMPT_IMAGE) low-VRAM variants, mirroring the t2v script. - train.py: add opt-in --first_frame_as_condition for image-to-video LoRA. It conditions each clip on its own first frame; FlowMatchSFTLoss already pins the clean first-frame latent and excludes it from the loss, so no core change is needed. A distinct condition column still works via --extra_inputs input_image. - model_training: add ti2v LoRA launch script and validate_lora example. - docs (en/zh) + example README: reference the new scripts and TI2V LoRA. Co-Authored-By: Claude Opus 4.8 --- docs/en/Model_Details/LingBot-Video.md | 8 ++- docs/zh/Model_Details/LingBot-Video.md | 8 ++- examples/lingbot_video/README.md | 8 ++- .../lingbot-video-dense-1.3b_t2i.py | 47 ++++++++++++++++++ .../lingbot-video-dense-1.3b_ti2v.py | 49 +++++++++++++++++++ .../lora/lingbot-video-dense-1.3b_ti2v.sh | 31 ++++++++++++ .../lingbot_video/model_training/train.py | 13 +++++ .../lingbot-video-dense-1.3b_ti2v.py | 34 +++++++++++++ 8 files changed, 193 insertions(+), 5 deletions(-) create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py create mode 100644 examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh create mode 100644 examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 695bac0b4..5c3f48914 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -140,7 +140,7 @@ video = pipe( ) ``` -The condition frame is aspect-ratio-preserving cover-resized and center-cropped to `height`×`width`, so it need not match the target resolution exactly. A runnable example ships at [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py), using the released first frame (`assets/ti2v_first_frame.png`) and its paired caption (`prompts/ti2v_example.json`). The caption should describe the motion that unfolds from the frame; as with T2V it is most in-distribution as a structured-JSON caption. `input_image` and `input_video` are mutually exclusive — pass at most one. +The condition frame is aspect-ratio-preserving cover-resized and center-cropped to `height`×`width`, so it need not match the target resolution exactly. A runnable example ships at [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py) (low-VRAM variant: [`model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)), using the released first frame (`assets/ti2v_first_frame.png`) and its paired caption (`prompts/ti2v_example.json`). The caption should describe the motion that unfolds from the frame; as with T2V it is most in-distribution as a structured-JSON caption. `input_image` and `input_video` are mutually exclusive — pass at most one. To fine-tune an image-to-video LoRA, see [TI2V LoRA](#ti2v-lora) below. ## Text-to-image (t2i) @@ -158,7 +158,7 @@ frames = pipe( frames[0].save("image.png") ``` -A runnable example ships at [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py), using the released still-image caption `prompts/t2i_example.json`. +A runnable example ships at [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py) (low-VRAM variant: [`model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)), using the released still-image caption `prompts/t2i_example.json`. ## Model Training @@ -220,6 +220,10 @@ The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are l For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). `train.py` runs each prompt through `normalize_caption`. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/rewrite_captions.py` before training. +### TI2V LoRA + +To train an **image-to-video** LoRA, add `--first_frame_as_condition` (see [`lora/lingbot-video-dense-1.3b_ti2v.sh`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)). It conditions each clip on its **own first frame**: the frame is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to the Qwen3-VL text encoder), and excluded from the flow-matching loss, so the LoRA learns to animate frames 2..N from frame 1. The dataset, LoRA scope, and DiT are identical to t2v — no condition column is required. Validate with [`validate_lora/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py). If your dataset ships a *distinct* condition frame instead, drop the flag and pass that column via `--extra_inputs input_image` (adding it to `--data_file_keys`). + We have written recommended training scripts, please refer to the table in the "Model Overview" section above. For how to write model training scripts, please refer to [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, please refer to [Training Framework Detailed Explanation](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). ## Notes diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 51247d997..96ba8eecf 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -140,7 +140,7 @@ video = pipe( ) ``` -首帧会按保持宽高比的方式 cover-resize 并中心裁剪到 `height`×`width`,因此不必与目标分辨率完全一致。可直接运行的示例见 [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py),它使用随仓库发布的首帧(`assets/ti2v_first_frame.png`)及其配对 caption(`prompts/ti2v_example.json`)。caption 应描述从首帧开始展开的运动;与 T2V 一样,写成结构化 JSON caption 最贴近训练分布。`input_image` 与 `input_video` 互斥,至多传一个。 +首帧会按保持宽高比的方式 cover-resize 并中心裁剪到 `height`×`width`,因此不必与目标分辨率完全一致。可直接运行的示例见 [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)(低显存版本:[`model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)),它使用随仓库发布的首帧(`assets/ti2v_first_frame.png`)及其配对 caption(`prompts/ti2v_example.json`)。caption 应描述从首帧开始展开的运动;与 T2V 一样,写成结构化 JSON caption 最贴近训练分布。`input_image` 与 `input_video` 互斥,至多传一个。图生视频 LoRA 训练见下文 [TI2V LoRA](#ti2v-lora)。 ## 文生图(t2i) @@ -158,7 +158,7 @@ frames = pipe( frames[0].save("image.png") ``` -可直接运行的示例见 [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py),它使用随仓库发布的静态图 caption `prompts/t2i_example.json`。 +可直接运行的示例见 [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)(低显存版本:[`model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)),它使用随仓库发布的静态图 caption `prompts/t2i_example.json`。 ## 模型训练 @@ -220,6 +220,10 @@ MoE / FFN 专家(`gate_proj`、`up_proj`、`down_proj`)与 router 保持冻 为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。`train.py` 会对每条 prompt 调用 `normalize_caption`。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/rewrite_captions.py` 离线改写一次。 +### TI2V LoRA + +训练**图生视频** LoRA 只需加上 `--first_frame_as_condition`(见 [`lora/lingbot-video-dense-1.3b_ti2v.sh`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh))。它以每个片段**自身的首帧**为条件:首帧经 VAE 编码为干净 latent,钉入第一个时间槽(并作为视觉输入喂给 Qwen3-VL 文本编码器),且从 flow-matching loss 中剔除,因此 LoRA 学习的是"以首帧为条件生成第 2..N 帧"。数据集、LoRA 范围、DiT 均与 t2v 完全一致,无需额外的条件帧列。验证脚本见 [`validate_lora/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)。若数据集提供的是**另一张**条件帧(而非复用首帧),去掉该开关,改用 `--extra_inputs input_image` 传入该列(并把它加进 `--data_file_keys`)。 + 我们编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 ## 注意事项 diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index 84a44258d..6c9d137fb 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -54,7 +54,7 @@ save_video(video, "output.mp4", fps=15, quality=5) The pipeline ships a default (T2V) negative prompt, so `negative_prompt` is optional. Video-to-video is supported by passing `input_video=` (a list of frames or a `VideoData`) together with `denoising_strength < 1`. -**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference_low_vram/lingbot-video-dense-1.3b.py`. +**Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference_low_vram/lingbot-video-dense-1.3b.py` (t2v), `_ti2v.py`, and `_t2i.py`. ### Image-to-video (TI2V) @@ -174,6 +174,12 @@ The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are l - `--max_timestep_boundary` / `--min_timestep_boundary` — restrict the sampled training timesteps to a sub-range of the schedule. - `--lora_checkpoint ` — resume / continue from a previously trained LoRA. +### Image-to-video (TI2V) LoRA + +To train an image-to-video LoRA, add `--first_frame_as_condition` — see `model_training/lora/lingbot-video-dense-1.3b_ti2v.sh`. It conditions each clip on its **own first frame**: the frame is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to the text encoder), and excluded from the flow-matching loss, so the LoRA learns to animate frames 2..N from frame 1. Everything else — dataset, LoRA scope, DiT — is identical to t2v, and no condition column is needed. Validate with `model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py`. + +(If your dataset ships a *distinct* condition frame rather than reusing frame 1, drop the flag and pass that column via `--extra_inputs input_image`, adding it to `--data_file_keys`.) + ### Applying a trained LoRA Trained LoRA checkpoints are written to `--output_path` with the `pipe.dit.` prefix stripped (keys like `blocks.0.attn.to_q.lora_A.weight`). To continue training from one, pass it via `--lora_checkpoint`. diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py new file mode 100644 index 000000000..92d4ec6ba --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py @@ -0,0 +1,47 @@ +import os +import torch +from diffsynth.pipelines.lingbot_video import ( + LingBotVideoPipeline, ModelConfig, normalize_caption, DEFAULT_NEGATIVE_PROMPT_IMAGE, +) + + +# Low-VRAM text-to-image (t2i). t2i is text-to-video with num_frames=1 through the same +# pipeline and DiT (no separate image weight); the only image-specific knob is the negative +# prompt (DEFAULT_NEGATIVE_PROMPT_IMAGE drops temporal/motion terms). offload_dtype / +# offload_device on each ModelConfig turn on VRAM management: weights stay on CPU in fp8 and +# stream to the GPU layer-by-layer, computed in bf16. vram_limit only caps resident VRAM once +# offloading is enabled by those two fields. +vram_config = { + "offload_dtype": torch.float8_e4m3fn, + "offload_device": "cpu", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, +) + +# prompts/t2i_example.json is a released in-distribution still-image caption. +caption = normalize_caption(os.path.join( + os.path.dirname(__file__), "..", "model_inference", "prompts", "t2i_example.json")) +frames = pipe( + prompt=caption, + negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + height=480, width=832, num_frames=1, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +frames[0].save("image_lingbot-video-dense-1.3b_t2i_low_vram.png") diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py new file mode 100644 index 000000000..d61b6e36d --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py @@ -0,0 +1,49 @@ +import os +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption + + +# Low-VRAM image-to-video (TI2V). offload_dtype / offload_device on each ModelConfig turn on +# VRAM management: weights stay on CPU in fp8 and stream to the GPU layer-by-layer, computed +# in bf16. vram_limit only caps resident VRAM once offloading is enabled by those two fields. +# The TI2V delta over t2v is just `input_image` — the condition-frame VAE encode / text-encoder +# vision pass run under the same offloading, so peak VRAM matches the low-VRAM t2v run. +vram_config = { + "offload_dtype": torch.float8_e4m3fn, + "offload_device": "cpu", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, +) + +# Released first frame + paired caption, shared with the model_inference TI2V example. +here = os.path.dirname(__file__) +inference_dir = os.path.join(here, "..", "model_inference") +caption = normalize_caption(os.path.join(inference_dir, "prompts", "ti2v_example.json")) +input_image = Image.open(os.path.join(inference_dir, "assets", "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b_ti2v_low_vram.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh new file mode 100644 index 000000000..7fe3bb66e --- /dev/null +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh @@ -0,0 +1,31 @@ +# Image-to-video (TI2V) LoRA SFT. +# +# Same DiT / dataset / attention-only LoRA scope as the t2v script — the only delta is +# `--first_frame_as_condition`, which conditions each clip on its OWN first frame: the frame +# is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to the +# Qwen3-VL text encoder), and excluded from the flow-matching loss, so the LoRA learns to +# animate frames 2..N from frame 1. Dense-1.3B reuses the same T2V weights — no separate i2v +# checkpoint. Reuses the shared example dataset (plain `video` + `prompt`); no condition +# column is required. If your dataset instead ships a distinct condition frame, drop this +# flag and pass it via `--extra_inputs input_image` (adding that column to --data_file_keys). +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B \ + --dataset_metadata_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B/metadata.csv \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 169 \ + --first_frame_as_condition \ + --dataset_repeat 200 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ + --learning_rate 1e-4 \ + --num_epochs 20 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-dense-1.3b_ti2v_lora" \ + --lora_base_model "dit" \ + --lora_target_modules "to_q,to_k,to_v,to_out" \ + --lora_rank 32 \ + --use_gradient_checkpointing diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index 3d8de6b78..9824e9c62 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -15,6 +15,7 @@ def __init__( preset_lora_path=None, preset_lora_model=None, use_gradient_checkpointing=True, use_gradient_checkpointing_offload=False, + first_frame_as_condition=False, extra_inputs=None, fp8_models=None, offload_models=None, @@ -51,6 +52,7 @@ def __init__( # Store other configs self.use_gradient_checkpointing = use_gradient_checkpointing self.use_gradient_checkpointing_offload = use_gradient_checkpointing_offload + self.first_frame_as_condition = first_frame_as_condition self.extra_inputs = extra_inputs.split(",") if extra_inputs is not None else [] self.fp8_models = fp8_models self.task = task @@ -84,6 +86,15 @@ def get_pipeline_inputs(self, data): "max_timestep_boundary": self.max_timestep_boundary, "min_timestep_boundary": self.min_timestep_boundary, } + if self.first_frame_as_condition: + # Image-to-video (TI2V) LoRA: condition on the clip's own first frame. The + # ImageEmbedder unit VAE-encodes it to first_frame_latents and feeds it to the + # text encoder as vlm_image; FlowMatchSFTLoss then pins that clean latent into + # the first temporal slot and excludes it from the loss (see diffsynth/diffusion/ + # loss.py). No separate condition column or core change is needed. If your + # dataset instead ships a distinct condition frame, drop this flag and pass it via + # --extra_inputs input_image (with the column added to --data_file_keys). + inputs_shared["input_image"] = data["video"][0] inputs_shared = self.parse_extra_inputs(data, self.extra_inputs, inputs_shared) return inputs_shared, inputs_posi, inputs_nega @@ -101,6 +112,7 @@ def lingbot_video_parser(): parser = add_general_config(parser) parser = add_video_size_config(parser) parser.add_argument("--processor_path", type=str, default=None, help="Path to the Qwen3-VL processor directory (or `model_id:origin_file_pattern`). Used to tokenize prompts.") + parser.add_argument("--first_frame_as_condition", default=False, action="store_true", help="Image-to-video (TI2V) LoRA: condition on each clip's own first frame (pinned as a clean latent and excluded from the loss).") parser.add_argument("--max_timestep_boundary", type=float, default=1.0, help="Max timestep boundary (fraction of the training schedule, in [0, 1]).") parser.add_argument("--min_timestep_boundary", type=float, default=0.0, help="Min timestep boundary (fraction of the training schedule, in [0, 1]).") parser.add_argument("--initialize_model_on_cpu", default=False, action="store_true", help="Whether to initialize models on CPU.") @@ -144,6 +156,7 @@ def lingbot_video_parser(): preset_lora_model=args.preset_lora_model, use_gradient_checkpointing=args.use_gradient_checkpointing, use_gradient_checkpointing_offload=args.use_gradient_checkpointing_offload, + first_frame_as_condition=args.first_frame_as_condition, extra_inputs=args.extra_inputs, fp8_models=args.fp8_models, offload_models=args.offload_models, diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py new file mode 100644 index 000000000..db26c6925 --- /dev/null +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py @@ -0,0 +1,34 @@ +import os +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption + + +# Validate a TI2V LoRA (trained with lora/lingbot-video-dense-1.3b_ti2v.sh) by conditioning +# on a first frame via `input_image`, exactly as at inference. Same base T2V checkpoint. +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +pipe.load_lora(pipe.dit, "models/train/lingbot-video-dense-1.3b_ti2v_lora/epoch-19.safetensors", alpha=1) + +# Reuse the released first frame + caption from the inference example. +inference_dir = os.path.join(os.path.dirname(__file__), "..", "..", "model_inference") +caption = normalize_caption(os.path.join(inference_dir, "prompts", "ti2v_example.json")) +input_image = Image.open(os.path.join(inference_dir, "assets", "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + input_image=input_image, + height=480, width=832, num_frames=169, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b_ti2v.mp4", fps=15, quality=10) From b2492ddd9506a36bc46618651db6a72dca6474d8 Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Mon, 27 Jul 2026 21:22:22 +0800 Subject: [PATCH 14/34] update vae&inner_func --- diffsynth/models/qwen_image_vae.py | 33 +++++++ diffsynth/pipelines/lingbot_video.py | 128 ++++++--------------------- 2 files changed, 59 insertions(+), 102 deletions(-) diff --git a/diffsynth/models/qwen_image_vae.py b/diffsynth/models/qwen_image_vae.py index 2845354f2..29f529971 100644 --- a/diffsynth/models/qwen_image_vae.py +++ b/diffsynth/models/qwen_image_vae.py @@ -724,3 +724,36 @@ def decode(self, x, **kwargs): x = self.decoder(x) x = x.squeeze(2) return x + + def count_conv3d(self, model): + return sum(1 for m in model.modules() if isinstance(m, QwenImageCausalConv3d)) + + def encode_video(self, x, **kwargs): + # used for lingbot video + t = x.shape[2] + iter_ = 1 + (t - 1) // 4 + feat_cache = [None] * self.count_conv3d(self.encoder) + out = None + for i in range(iter_): + feat_idx = [0] + chunk = x[:, :, :1, :, :] if i == 0 else x[:, :, 1 + 4 * (i - 1): 1 + 4 * i, :, :] + out_ = self.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) + out = out_ if out is None else torch.cat([out, out_], dim=2) + x = self.quant_conv(out) + x = x[:, :16] + mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) + x = (x - mean) * std + return x + + def decode_video(self, x, **kwargs): + # used for lingbot video + mean, std = self.mean.to(dtype=x.dtype, device=x.device), self.std.to(dtype=x.dtype, device=x.device) + x = x / std + mean + x = self.post_quant_conv(x) + feat_cache = [None] * self.count_conv3d(self.decoder) + out = None + for i in range(x.shape[2]): + feat_idx = [0] + out_ = self.decoder(x[:, :, i:i + 1, :, :], feat_cache=feat_cache, feat_idx=feat_idx) + out = out_ if out is None else torch.cat([out, out_], dim=2) + return out diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 8ea06d84c..d4ae834ca 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -17,7 +17,7 @@ from ..models.lingbot_video_dit import LingBotVideoDiT from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder -from ..models.qwen_image_vae import QwenImageVAE, QwenImageCausalConv3d +from ..models.qwen_image_vae import QwenImageVAE # LingBot-Video is trained on structured JSON captions. normalize_caption serialises a @@ -157,8 +157,8 @@ def _pixel_tensor_to_pil(pixel: torch.Tensor) -> Image.Image: class LingBotVideoPipeline(BasePipeline): """Text-to-video pipeline for LingBot-Video (DiT + Qwen3-VL text encoder + QwenImageVAE), following the DiffSynth PipelineUnit + model_fn pattern. Sampling uses FlowMatchScheduler - (Wan template). The 5D-video VAE encode/decode lives here (encode_video / decode_video) - so QwenImageVAE stays identical to its image use elsewhere.""" + (Wan template). The 5D-video VAE encode/decode lives in QwenImageVAE + (encode_video / decode_video); the 4D image paths stay untouched.""" def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): super().__init__( @@ -171,8 +171,6 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): self.dit: LingBotVideoDiT = None self.vae: QwenImageVAE = None self.processor = None - # Cached number of template-prefix tokens to crop from the prompt embedding. - self._crop_start: Optional[int] = None self.in_iteration_models = ("dit",) self.units = [ LingBotVideoUnit_ShapeChecker(), @@ -186,24 +184,6 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): self.model_fn = model_fn_lingbot_video self.compilable_models = ["dit"] - def _compute_crop_start(self) -> int: - # Token count of the template prefix (everything before the user prompt), computed once. - if self._crop_start is None: - marker = "<|USER_INPUT_MARKER|>" - marked = PROMPT_TEMPLATE.format(marker) - marker_pos = marked.find(marker) - if marker_pos < 0: - self._crop_start = 0 - else: - prefix = self.processor( - text=marked[:marker_pos], - images=None, - videos=None, - return_tensors="pt", - ) - self._crop_start = int(prefix["input_ids"].shape[1]) - return self._crop_start - @staticmethod def from_pretrained( torch_dtype: torch.dtype = torch.bfloat16, @@ -306,85 +286,11 @@ def __call__( self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) - video = self.decode_video(latents) + video = self.vae.decode_video(latents) video = self.vae_output_to_video(video) self.load_models_to_device([]) return video - def _count_conv3d(self, model): - return sum(1 for m in model.modules() if isinstance(m, QwenImageCausalConv3d)) - - def encode_video(self, x): - # x: (B, C, T, H, W). Temporal chunking (1 + 4k frames) through a persistent causal - # feature cache — equivalent to encoding the whole clip at once, bounded in memory. - vae = self.vae - t = x.shape[2] - iter_ = 1 + (t - 1) // 4 - feat_cache = [None] * self._count_conv3d(vae.encoder) - out = None - for i in range(iter_): - feat_idx = [0] - chunk = x[:, :, :1, :, :] if i == 0 else x[:, :, 1 + 4 * (i - 1): 1 + 4 * i, :, :] - out_ = vae.encoder(chunk, feat_cache=feat_cache, feat_idx=feat_idx) - out = out_ if out is None else torch.cat([out, out_], dim=2) - x = vae.quant_conv(out) - x = x[:, :16] - mean, std = vae.mean.to(dtype=x.dtype, device=x.device), vae.std.to(dtype=x.dtype, device=x.device) - x = (x - mean) * std - return x - - def decode_video(self, x): - # x: (B, 16, T', H, W) in latent space. Denormalize, then decode one latent frame - # at a time through the causal feature cache. - vae = self.vae - mean, std = vae.mean.to(dtype=x.dtype, device=x.device), vae.std.to(dtype=x.dtype, device=x.device) - x = x / std + mean - x = vae.post_quant_conv(x) - feat_cache = [None] * self._count_conv3d(vae.decoder) - out = None - for i in range(x.shape[2]): - feat_idx = [0] - out_ = vae.decoder(x[:, :, i:i + 1, :, :], feat_cache=feat_cache, feat_idx=feat_idx) - out = out_ if out is None else torch.cat([out, out_], dim=2) - return out - - def preprocess_cond_image(self, image: Image.Image, height, width): - # TI2V condition frame -> (1, C, 1, H, W) pixel tensor in [0, 1], aspect-ratio - # preserving cover-resize + center-crop to (height, width). Ported from the - # official i2v pipeline's preprocess_image. - raw = torch.from_numpy(np.array(image.convert("RGB"))).permute(2, 0, 1).unsqueeze(0).contiguous() - old_h, old_w = raw.shape[-2:] - scale = max(height / old_h, width / old_w) - new_h = max(math.ceil(old_h * scale), height) - new_w = max(math.ceil(old_w * scale), width) - resized = F.interpolate(raw.float(), size=(new_h, new_w), mode="bilinear", align_corners=False) - top = int(round((new_h - height) / 2.0)) - left = int(round((new_w - width) / 2.0)) - cropped = resized[:, :, top: top + height, left: left + width] / 255.0 - return cropped.unsqueeze(2) - - def _vision_patch_size(self) -> int: - # Resolve the Qwen3-VL vision patch size (used with SPATIAL_MERGE_SIZE to pick - # the smart-resize grid factor). Falls back to 16 like the official pipeline. - for obj in ( - getattr(getattr(self.text_encoder, "config", None), "vision_config", None), - getattr(getattr(self.processor, "image_processor", None), "config", None), - getattr(self.processor, "image_processor", None), - ): - patch = getattr(obj, "patch_size", None) - if patch is not None: - return int(patch) - return 16 - - def _vlm_image(self, pixel: torch.Tensor) -> Image.Image: - # Build the PIL image handed to the text encoder from the condition pixel tensor, - # smart-resized to the Qwen3-VL patch grid. - image = _pixel_tensor_to_pil(pixel) - patch_factor = self._vision_patch_size() * SPATIAL_MERGE_SIZE - w, h = image.size - resized_height, resized_width = smart_resize(h, w, factor=patch_factor) - return image.resize((resized_width, resized_height)) - class LingBotVideoUnit_ShapeChecker(PipelineUnit): def __init__(self): @@ -426,6 +332,26 @@ def __init__(self): output_params=("context", "encoder_attention_mask"), onload_model_names=("text_encoder",), ) + # Cached number of template-prefix tokens to crop from the prompt embedding. + self._crop_start: Optional[int] = None + + def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: + # Token count of the template prefix (everything before the user prompt), computed once. + if self._crop_start is None: + marker = "<|USER_INPUT_MARKER|>" + marked = PROMPT_TEMPLATE.format(marker) + marker_pos = marked.find(marker) + if marker_pos < 0: + self._crop_start = 0 + else: + prefix = pipe.processor( + text=marked[:marker_pos], + images=None, + videos=None, + return_tensors="pt", + ) + self._crop_start = int(prefix["input_ids"].shape[1]) + return self._crop_start def encode_prompt(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None): # T2V: visual_template is empty. TI2V: prepend the image-token block to the @@ -450,7 +376,7 @@ def encode_prompt(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None): prompt_mask = inputs["attention_mask"] # Crop the prompt-enhancement template prefix. - crop_start = pipe._compute_crop_start() + crop_start = self._compute_crop_start(pipe) if crop_start > 0: prompt_embeds = prompt_embeds[:, crop_start:] prompt_mask = prompt_mask[:, crop_start:] @@ -482,10 +408,8 @@ def process(self, pipe: LingBotVideoPipeline, input_video, noise): # Text-to-video: start from pure noise. return {"latents": noise} pipe.load_models_to_device(self.onload_model_names) - # preprocess_video -> (B, C, T, H, W) in [-1, 1], in pipe.torch_dtype. video = pipe.preprocess_video(input_video) - # encode_video applies latent normalisation on the 5D-video path. - input_latents = pipe.encode_video(video).to(dtype=torch.float32, device=pipe.device) + input_latents = pipe.vae.encode_video(video).to(dtype=torch.float32, device=pipe.device) if pipe.scheduler.training: return {"latents": noise, "input_latents": input_latents} else: From a10c026529f9fd9a446727d33005721681400458 Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Mon, 27 Jul 2026 22:37:20 +0800 Subject: [PATCH 15/34] tmp commit for code refactor --- diffsynth/pipelines/lingbot_video.py | 161 +++++++----------- docs/en/Model_Details/LingBot-Video.md | 57 +------ docs/zh/Model_Details/LingBot-Video.md | 57 +------ examples/lingbot_video/README.md | 4 +- .../lingbot-video-dense-1.3b.py | 12 +- .../model_inference/prompt_rewriter.py | 12 +- .../lingbot-video-dense-1.3b.py | 12 +- .../model_training/rewrite_captions.py | 7 +- .../lingbot_video/model_training/train.py | 8 +- .../validate_lora/lingbot-video-dense-1.3b.py | 1 + 10 files changed, 106 insertions(+), 225 deletions(-) diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index d4ae834ca..7de2aba38 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -1,6 +1,4 @@ import json -import math -import os import torch import torch.nn.functional as F @@ -19,82 +17,6 @@ from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder from ..models.qwen_image_vae import QwenImageVAE - -# LingBot-Video is trained on structured JSON captions. normalize_caption serialises a -# dict/list caption (or a prompt.json path) into the compact-JSON string the DiT expects; -# a plain string is passed through. Kept module-level so train.py / rewrite_captions.py -# can reuse it without importing the pipeline. The prompt rewriter that turns a brief idea -# into such a caption lives in examples/lingbot_video/model_inference/prompt_rewriter.py. -_RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} - - -def _serialize_caption(caption) -> str: - if isinstance(caption, (dict, list)): - return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) - return str(caption) - - -def _caption_from_sample(sample) -> str: - if isinstance(sample, dict): - if "caption" in sample: - caption = sample["caption"] - else: - caption = {k: v for k, v in sample.items() if k not in _RUNTIME_KEYS} - else: - caption = sample - return _serialize_caption(caption) - - -def normalize_caption(prompt): - if prompt is None: - return prompt - if isinstance(prompt, str): - if prompt.endswith(".json") and os.path.isfile(prompt): - with open(prompt, "r", encoding="utf-8") as f: - prompt = json.load(f) - return _caption_from_sample(prompt) - return prompt - if isinstance(prompt, (dict, list)): - return _caption_from_sample(prompt) - return str(prompt) - - -# Prompt truncation length for the Qwen3-VL processor. -TOKEN_LENGTH = 37698 -# Hidden-state layer used as the prompt embedding: 0 -> the last layer. -HIDDEN_STATE_SKIP_LAYER = 0 - -# Prompt-enhancement chat template wrapping the user prompt. -PROMPT_TEMPLATE = ( - "<|im_start|>system\nGiven a user input that may include a text prompt alone, " - "a text prompt with an image reference, or a text prompt with a video reference " - "or a video reference alone, generate an \"Enhanced prompt\" that provides detailed " - "visual descriptions suitable for video generation. Evaluate the level of detail " - "in the user's input: if it is simple, enrich it by adding specifics about colors, " - "shapes, sizes, textures, lighting, motion dynamics, camera movement, temporal " - "progression, and spatial relationships to create vivid, concrete, and temporally " - "coherent scenes to create vivid and concrete scenes. Please generate only the " - "enhanced description for the prompt below and avoid including any additional " - "commentary or evaluations:<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n" - "<|im_start|>assistant\n" -) - -# Default T2V negative prompt (structured JSON string), copied verbatim. -DEFAULT_NEGATIVE_PROMPT = ( - '{"universal_negative": {"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "unstable color", "color flicker", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], "artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], "composition_and_content": ["text", "watermark", "signature", "logo", "subtitles", "pillarboxed", "side bars", "portrait image in landscape frame"], "temporal_and_motion_stability": ["flickering", "jittery", "motion blur", "temporal inconsistency", "warping", "morphing", "incoherent motion", "unnatural movement", "static object with sudden jump", "frame-to-frame inconsistency"], "material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "liquid freezing improperly", "distorted reflections"]}}' -) - -# Still-image (t2i) default negative prompt, copied verbatim from the official pipeline. -# Drops the whole temporal/motion block and the video-only codec/temporal terms that -# cannot apply to a single frame. Pass this as negative_prompt when num_frames=1. -DEFAULT_NEGATIVE_PROMPT_IMAGE = ( - '{"universal_negative": {"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], "artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], "composition_and_content": ["text", "watermark", "signature", "logo", "pillarboxed", "side bars", "portrait image in landscape frame"], "material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "distorted reflections"]}}' -) - -# VAE downsample factors (QwenImageVAE / Wan-VAE): 8x spatial, 4x temporal. -VAE_SCALE_FACTOR_SPATIAL = 8 -VAE_SCALE_FACTOR_TEMPORAL = 4 - # --- TI2V (image-to-video) --------------------------------------------------- # The condition frame is used twice: (1) as visual input to the Qwen3-VL text # encoder — its image tokens are prepended to the prompt via IMG_PROMPT_TEMPLATE; @@ -183,6 +105,14 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): ] self.model_fn = model_fn_lingbot_video self.compilable_models = ["dit"] + self.default_negative_prompt = ( + '{"universal_negative": {' + '"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "unstable color", "color flicker", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], ' + '"artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], ' + '"composition_and_content": ["text", "watermark", "signature", "logo", "subtitles", "pillarboxed", "side bars", "portrait image in landscape frame"], ' + '"temporal_and_motion_stability": ["flickering", "jittery", "motion blur", "temporal inconsistency", "warping", "morphing", "incoherent motion", "unnatural movement", "static object with sudden jump", "frame-to-frame inconsistency"], ' + '"material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "liquid freezing improperly", "distorted reflections"]}}' + ) @staticmethod def from_pretrained( @@ -214,11 +144,9 @@ def from_pretrained( @torch.no_grad() def __call__( self, - # Structured caption (dict / list), a prompt.json path, or a plain string. - prompt: Union[str, dict, list] = "", - negative_prompt: Union[str, dict, list] = DEFAULT_NEGATIVE_PROMPT, - # Image-to-video (TI2V): condition on a single first frame. - input_image: Image.Image = None, + # Structured caption (dict) or a plain string. + prompt: Union[str, dict] = "", + negative_prompt: Union[str, dict] = "", # Video-to-video input_video: list[Image.Image] = None, denoising_strength: float = 1.0, @@ -240,11 +168,6 @@ def __call__( # Scheduler self.scheduler.set_timesteps(num_inference_steps, denoising_strength=denoising_strength, shift=sigma_shift) - # Serialise dict/list/prompt.json captions to the structured-JSON string; plain - # strings pass through unchanged. - prompt = normalize_caption(prompt) - negative_prompt = normalize_caption(negative_prompt) - # Inputs inputs_posi = {"prompt": prompt} inputs_nega = {"negative_prompt": negative_prompt} @@ -312,10 +235,11 @@ def __init__(self): ) def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, rand_device): - length = (num_frames - 1) // VAE_SCALE_FACTOR_TEMPORAL + 1 + # VAE downsample factors (QwenImageVAE / Wan-VAE): 8x spatial, 4x temporal. + length = (num_frames - 1) // 4 + 1 shape = ( 1, pipe.dit.in_channels, length, - height // VAE_SCALE_FACTOR_SPATIAL, width // VAE_SCALE_FACTOR_SPATIAL, + height // 8, width // 8, ) # fp32 noise: the flow-matching sampler accumulates state in fp32. noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device, torch_dtype=torch.float32) @@ -323,6 +247,32 @@ def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, r class LingBotVideoUnit_PromptEmbedder(PipelineUnit): + # Prompt truncation length for the Qwen3-VL processor. + TOKEN_LENGTH = 37698 + # Hidden-state layer used as the prompt embedding: 0 -> the last layer. + HIDDEN_STATE_SKIP_LAYER = 0 + + # Prompt-enhancement chat template wrapping the user prompt. + PROMPT_TEMPLATE = ( + "<|im_start|>system\nGiven a user input that may include a text prompt alone, " + "a text prompt with an image reference, or a text prompt with a video reference " + "or a video reference alone, generate an \"Enhanced prompt\" that provides detailed " + "visual descriptions suitable for video generation. Evaluate the level of detail " + "in the user's input: if it is simple, enrich it by adding specifics about colors, " + "shapes, sizes, textures, lighting, motion dynamics, camera movement, temporal " + "progression, and spatial relationships to create vivid, concrete, and temporally " + "coherent scenes to create vivid and concrete scenes. Please generate only the " + "enhanced description for the prompt below and avoid including any additional " + "commentary or evaluations:<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n" + "<|im_start|>assistant\n" + ) + + # LingBot-Video is trained on structured JSON captions. normalize_caption serialises a + # dict caption into the compact-JSON string the DiT expects; a plain string is passed + # through. The prompt rewriter that turns a brief idea into such a caption lives in + # examples/lingbot_video/model_inference/prompt_rewriter.py. + _RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} + def __init__(self): super().__init__( seperate_cfg=True, @@ -335,11 +285,25 @@ def __init__(self): # Cached number of template-prefix tokens to crop from the prompt embedding. self._crop_start: Optional[int] = None + @classmethod + def normalize_caption(cls, prompt): + # A dict caption is serialised to the compact-JSON string the DiT expects; + # a plain string passes through unchanged. + if isinstance(prompt, dict): + if "caption" in prompt: + caption = prompt["caption"] + else: + caption = {k: v for k, v in prompt.items() if k not in cls._RUNTIME_KEYS} + if isinstance(caption, (dict, list)): + return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) + return str(caption) + return prompt + def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: # Token count of the template prefix (everything before the user prompt), computed once. if self._crop_start is None: marker = "<|USER_INPUT_MARKER|>" - marked = PROMPT_TEMPLATE.format(marker) + marked = self.PROMPT_TEMPLATE.format(marker) marker_pos = marked.find(marker) if marker_pos < 0: self._crop_start = 0 @@ -353,26 +317,24 @@ def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: self._crop_start = int(prefix["input_ids"].shape[1]) return self._crop_start - def encode_prompt(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None): - # T2V: visual_template is empty. TI2V: prepend the image-token block to the - # prompt and pass the condition image so the encoder attends to it. The image - # tokens land after the template prefix, so crop_start is unaffected. - visual_template = IMG_PROMPT_TEMPLATE if vlm_image is not None else "" - text = PROMPT_TEMPLATE.format(visual_template + prompt) + def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): + prompt = self.normalize_caption(prompt) + # T2V: visual_template is empty, so the text is simply the templated prompt. + text = self.PROMPT_TEMPLATE.format(prompt) inputs = pipe.processor( text=[text], images=[vlm_image] if vlm_image is not None else None, videos=None, do_resize=False, truncation=True, - max_length=TOKEN_LENGTH, + max_length=self.TOKEN_LENGTH, padding="longest", return_tensors="pt", ) inputs = inputs.to(pipe.device) # The text encoder returns the tuple of per-layer hidden states. hidden_states = pipe.text_encoder(**inputs) - prompt_embeds = hidden_states[-(HIDDEN_STATE_SKIP_LAYER + 1)] + prompt_embeds = hidden_states[-(self.HIDDEN_STATE_SKIP_LAYER + 1)] prompt_mask = inputs["attention_mask"] # Crop the prompt-enhancement template prefix. @@ -405,7 +367,6 @@ def __init__(self): def process(self, pipe: LingBotVideoPipeline, input_video, noise): if input_video is None: - # Text-to-video: start from pure noise. return {"latents": noise} pipe.load_models_to_device(self.onload_model_names) video = pipe.preprocess_video(input_video) diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 5c3f48914..265e3c7e1 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -46,6 +46,7 @@ video = pipe( # A plain sentence is a minimal smoke test only — it is out-of-distribution. # For real quality, pass a structured caption instead (see "Prompt rewriting"). prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, ) @@ -66,9 +67,8 @@ The model is loaded via `LingBotVideoPipeline.from_pretrained`, see [Loading Mod Input parameters for `LingBotVideoPipeline` inference include: -* `prompt`: Prompt describing the content appearing in the video. Accepts a structured caption (`dict` / `list`), a path to a `prompt.json`, or a plain string; see [Prompt rewriting](#prompt-rewriting-important-for-quality). -* `negative_prompt`: Negative prompt describing content that should not appear in the video. A default (T2V) negative prompt is built into the pipeline, so this can be left unset. -* `input_image`: A `PIL.Image` first frame for image-to-video (TI2V); the model animates it. See [Image-to-video (TI2V)](#image-to-video-ti2v). +* `prompt`: Prompt describing the content appearing in the video. Accepts a structured caption (`dict`) or a plain string; see [Prompt rewriting](#prompt-rewriting-important-for-quality). +* `negative_prompt`: Negative prompt describing content that should not appear in the video, default value is `""`. The official T2V negative prompt ships as `pipe.default_negative_prompt` and can be passed via `negative_prompt=pipe.default_negative_prompt`. * `input_video`: Input video (a list of frames or a `VideoData`) for video-to-video generation, used together with `denoising_strength`. * `denoising_strength`: Denoising strength, range 0~1, default value is 1.0. Lower values keep more of the input video structure. Only effective when `input_video` is provided. * `height`: Video height, default 480. Must be a multiple of 16. @@ -85,7 +85,7 @@ When running low on VRAM, please refer to [VRAM Management](../Pipeline_Usage/VR ## Prompt rewriting (important for quality) -LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality; feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict`, a path to a `prompt.json`, or a plain string, and normalises it (via `normalize_caption`) to the exact compact-JSON format the DiT was trained on — a plain string is passed through unchanged, so existing scripts keep working. +LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality; feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict` or a plain string and normalises it to the exact compact-JSON format the DiT was trained on — a `dict` is serialised automatically, a plain string is passed through unchanged, so existing scripts keep working. To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped with the examples (`examples/lingbot_video/model_inference/prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. @@ -117,48 +117,7 @@ video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0 Instead of the env vars you can pass `base=` / `adapter=` to `rewrite_prompt`, or skip the local VLM entirely and drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. See the optional rewrite section at the bottom of `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py`. -If you don't have the rewriter model, three released LingBot-Video t2v captions ship with the repo as ready-to-use examples: `examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`. Pass one straight to the pipeline (`video = pipe(prompt="path/to/t2v_example_1.json", ...)`), or copy one as a template for writing your own structured caption. - -## Image-to-video (TI2V) - -The pipeline can condition generation on a **first frame**: pass a `PIL.Image` as `input_image` and the model animates it. Dense-1.3B reuses the **same T2V checkpoint** — there is no separate i2v weight to download, and the DiT is unchanged (`in_channels` stays 16). - -Matching the original LingBot-Video i2v pipeline, the condition frame is used twice: - -- it is fed to the Qwen3-VL text encoder as a visual reference (its image tokens are prepended to the prompt), so the caption and the frame are interpreted together; -- it is VAE-encoded to a clean latent that is pinned into the first temporal slot of the diffusion latent before sampling and re-applied after every scheduler step, so the model only generates the frames that follow. - -```python -from PIL import Image - -input_image = Image.open("first_frame.png").convert("RGB") -video = pipe( - prompt=caption, # describe the motion that unfolds from the first frame - input_image=input_image, - height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=3.0, seed=0, -) -``` - -The condition frame is aspect-ratio-preserving cover-resized and center-cropped to `height`×`width`, so it need not match the target resolution exactly. A runnable example ships at [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py) (low-VRAM variant: [`model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)), using the released first frame (`assets/ti2v_first_frame.png`) and its paired caption (`prompts/ti2v_example.json`). The caption should describe the motion that unfolds from the frame; as with T2V it is most in-distribution as a structured-JSON caption. `input_image` and `input_video` are mutually exclusive — pass at most one. To fine-tune an image-to-video LoRA, see [TI2V LoRA](#ti2v-lora) below. - -## Text-to-image (t2i) - -Text-to-image is text-to-video with a single frame — the same pipeline and DiT, just `num_frames=1`. There is no separate image checkpoint. The only image-specific knob is the negative prompt: `DEFAULT_NEGATIVE_PROMPT_IMAGE` (exported from `diffsynth.pipelines.lingbot_video`) drops the temporal/motion terms that cannot apply to a still frame. The pipeline returns a 1-element list, i.e. a single `PIL.Image`. - -```python -from diffsynth.pipelines.lingbot_video import DEFAULT_NEGATIVE_PROMPT_IMAGE - -frames = pipe( - prompt=caption, - negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, - height=480, width=832, num_frames=1, - num_inference_steps=40, cfg_scale=3.0, seed=0, -) -frames[0].save("image.png") -``` - -A runnable example ships at [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py) (low-VRAM variant: [`model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)), using the released still-image caption `prompts/t2i_example.json`. +If you don't have the rewriter model, three released LingBot-Video t2v captions ship with the repo as ready-to-use examples: `examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`. Load one with `json.load` and pass the resulting `dict` to the pipeline (see the inference example script), or copy one as a template for writing your own structured caption. ## Model Training @@ -218,11 +177,7 @@ The recommended launch script patches LoRA on the joint text+video self-attentio The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are left frozen. To also adapt the FFN, add those module names to `--lora_target_modules`. -For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). `train.py` runs each prompt through `normalize_caption`. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/rewrite_captions.py` before training. - -### TI2V LoRA - -To train an **image-to-video** LoRA, add `--first_frame_as_condition` (see [`lora/lingbot-video-dense-1.3b_ti2v.sh`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)). It conditions each clip on its **own first frame**: the frame is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to the Qwen3-VL text encoder), and excluded from the flow-matching loss, so the LoRA learns to animate frames 2..N from frame 1. The dataset, LoRA scope, and DiT are identical to t2v — no condition column is required. Validate with [`validate_lora/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py). If your dataset ships a *distinct* condition frame instead, drop the flag and pass that column via `--extra_inputs input_image` (adding it to `--data_file_keys`). +For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). The pipeline normalises each prompt internally. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/rewrite_captions.py` before training. We have written recommended training scripts, please refer to the table in the "Model Overview" section above. For how to write model training scripts, please refer to [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, please refer to [Training Framework Detailed Explanation](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 96ba8eecf..f7173c60c 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -46,6 +46,7 @@ video = pipe( # 普通句子仅用于最简单的跑通验证,属于分布外输入。 # 正式使用请改传结构化 caption(见"提示词改写"章节)。 prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, ) @@ -66,9 +67,8 @@ save_video(video, "video.mp4", fps=15, quality=10) `LingBotVideoPipeline` 推理的输入参数包括: -* `prompt`: 描述视频内容的提示词。支持结构化 caption(`dict` / `list`)、`prompt.json` 路径,或普通字符串;详见[提示词改写](#提示词改写对质量很重要)。 -* `negative_prompt`: 负向提示词,描述不希望出现在视频中的内容。Pipeline 内置了默认(T2V)负向提示词,因此可以不设置。 -* `input_image`: 图生视频(TI2V)的首帧,传入一个 `PIL.Image`,模型会以它为第一帧生成后续画面。详见[图生视频(TI2V)](#图生视频ti2v)。 +* `prompt`: 描述视频内容的提示词。支持结构化 caption(`dict`)或普通字符串;详见[提示词改写](#提示词改写对质量很重要)。 +* `negative_prompt`: 负向提示词,描述不希望出现在视频中的内容,默认值为 `""`。官方 T2V 负向提示词内置在 `pipe.default_negative_prompt` 中,可通过 `negative_prompt=pipe.default_negative_prompt` 传入。 * `input_video`: 输入视频(帧列表或 `VideoData`),用于视频生视频,需与 `denoising_strength` 配合使用。 * `denoising_strength`: 降噪强度,取值范围 0~1,默认为 1.0。值越小,越保留输入视频的结构。仅在提供 `input_video` 时生效。 * `height`: 视频高度,默认为 480,需能被 16 整除。 @@ -85,7 +85,7 @@ save_video(video, "video.mp4", fps=15, quality=10) ## 提示词改写(对质量很重要) -LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。喂入一句普通句子属于分布外(out-of-distribution)输入,会明显降低质量;喂入模型期望的结构化 caption 则能恢复质量。Pipeline 接受 `dict`、`prompt.json` 路径或普通字符串形式的 caption,并将其(通过 `normalize_caption`)归一化为 DiT 训练时使用的紧凑 JSON 格式——普通字符串会原样透传,因此已有脚本无需改动。 +LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。喂入一句普通句子属于分布外(out-of-distribution)输入,会明显降低质量;喂入模型期望的结构化 caption 则能恢复质量。Pipeline 接受 `dict` 或普通字符串形式的 caption,并将其归一化为 DiT 训练时使用的紧凑 JSON 格式——`dict` 会自动序列化,普通字符串会原样透传,因此已有脚本无需改动。 若要把一个**简短想法**转成该结构化 caption,可使用随示例发布的两阶段改写器(`examples/lingbot_video/model_inference/prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 @@ -117,48 +117,7 @@ video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0 除了 env var,也可以给 `rewrite_prompt` 传 `base=` / `adapter=`;或者完全不下载本地 VLM,改为传入一个暴露 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,来驱动托管的 / OpenAI 兼容的推理端点。详见 `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py` 文件末尾的可选改写小节。 -如果没有改写器模型,仓库自带 3 个官方 LingBot-Video t2v 结构化 caption 作为开箱即用的示例:`examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`。可直接按路径传给 pipeline(`video = pipe(prompt="path/to/t2v_example_1.json", ...)`),也可以复制一个作为编写自己 caption 的模板。 - -## 图生视频(TI2V) - -Pipeline 支持以一张**首帧**为条件生成视频:把一个 `PIL.Image` 传给 `input_image`,模型会以它为第一帧生成后续画面。Dense-1.3B **复用同一份 T2V 权重**——无需额外下载 i2v 权重,DiT 也保持不变(`in_channels` 仍为 16)。 - -与官方 LingBot-Video i2v pipeline 一致,首帧会被使用两次: - -- 作为视觉参考喂给 Qwen3-VL 文本编码器(其图像 token 会前插到提示词里),让 caption 与首帧被联合理解; -- 经 VAE 编码为一个干净 latent,在采样前钉入扩散 latent 的第一个时间槽,并在每个调度步之后重新钉入,因此模型只生成首帧之后的画面。 - -```python -from PIL import Image - -input_image = Image.open("first_frame.png").convert("RGB") -video = pipe( - prompt=caption, # 描述从首帧开始展开的运动 - input_image=input_image, - height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=3.0, seed=0, -) -``` - -首帧会按保持宽高比的方式 cover-resize 并中心裁剪到 `height`×`width`,因此不必与目标分辨率完全一致。可直接运行的示例见 [`lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)(低显存版本:[`model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)),它使用随仓库发布的首帧(`assets/ti2v_first_frame.png`)及其配对 caption(`prompts/ti2v_example.json`)。caption 应描述从首帧开始展开的运动;与 T2V 一样,写成结构化 JSON caption 最贴近训练分布。`input_image` 与 `input_video` 互斥,至多传一个。图生视频 LoRA 训练见下文 [TI2V LoRA](#ti2v-lora)。 - -## 文生图(t2i) - -文生图就是只生成一帧的文生视频——同一条 pipeline、同一个 DiT,只需设 `num_frames=1`,无需额外的图像权重。唯一与图像相关的开关是负向提示词:`DEFAULT_NEGATIVE_PROMPT_IMAGE`(从 `diffsynth.pipelines.lingbot_video` 导出)去掉了不适用于单帧的时序/运动类词条。此时 pipeline 返回只含一个元素的列表,即一张 `PIL.Image`。 - -```python -from diffsynth.pipelines.lingbot_video import DEFAULT_NEGATIVE_PROMPT_IMAGE - -frames = pipe( - prompt=caption, - negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, - height=480, width=832, num_frames=1, - num_inference_steps=40, cfg_scale=3.0, seed=0, -) -frames[0].save("image.png") -``` - -可直接运行的示例见 [`lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)(低显存版本:[`model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)),它使用随仓库发布的静态图 caption `prompts/t2i_example.json`。 +如果没有改写器模型,仓库自带 3 个官方 LingBot-Video t2v 结构化 caption 作为开箱即用的示例:`examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`。用 `json.load` 读入后作为 `dict` 传给 pipeline(见推理示例脚本),也可以复制一个作为编写自己 caption 的模板。 ## 模型训练 @@ -218,11 +177,7 @@ modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ MoE / FFN 专家(`gate_proj`、`up_proj`、`down_proj`)与 router 保持冻结。若要同时微调 FFN,可将这些模块名加入 `--lora_target_modules`。 -为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。`train.py` 会对每条 prompt 调用 `normalize_caption`。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/rewrite_captions.py` 离线改写一次。 - -### TI2V LoRA - -训练**图生视频** LoRA 只需加上 `--first_frame_as_condition`(见 [`lora/lingbot-video-dense-1.3b_ti2v.sh`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh))。它以每个片段**自身的首帧**为条件:首帧经 VAE 编码为干净 latent,钉入第一个时间槽(并作为视觉输入喂给 Qwen3-VL 文本编码器),且从 flow-matching loss 中剔除,因此 LoRA 学习的是"以首帧为条件生成第 2..N 帧"。数据集、LoRA 范围、DiT 均与 t2v 完全一致,无需额外的条件帧列。验证脚本见 [`validate_lora/lingbot-video-dense-1.3b_ti2v.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)。若数据集提供的是**另一张**条件帧(而非复用首帧),去掉该开关,改用 `--extra_inputs input_image` 传入该列(并把它加进 `--data_file_keys`)。 +为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。Pipeline 会在内部对每条 prompt 做归一化。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/rewrite_captions.py` 离线改写一次。 我们编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index 6c9d137fb..a9df5fa7c 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -52,7 +52,7 @@ video = pipe(prompt="A playful puppy runs across a lush green meadow ...", heigh save_video(video, "output.mp4", fps=15, quality=5) ``` -The pipeline ships a default (T2V) negative prompt, so `negative_prompt` is optional. Video-to-video is supported by passing `input_video=` (a list of frames or a `VideoData`) together with `denoising_strength < 1`. +The pipeline ships the official T2V negative prompt as `pipe.default_negative_prompt`; pass it via `negative_prompt=pipe.default_negative_prompt` (the parameter defaults to empty). Video-to-video is supported by passing `input_video=` (a list of frames or a `VideoData`) together with `denoising_strength < 1`. **Low VRAM:** pass `vram_limit=` to `from_pretrained` to enable layer-by-layer offloading — see `model_inference_low_vram/lingbot-video-dense-1.3b.py` (t2v), `_ti2v.py`, and `_t2i.py`. @@ -144,7 +144,7 @@ videos/001.mp4,A serene lake at sunrise, mist rising from the water ... Pass `--data_file_keys "video"` so the loader treats the `video` column as a file to load. -For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). `train.py` runs each prompt through `normalize_caption`, so a `dict`-valued prompt (in JSONL) or a path to a `prompt.json` is serialised automatically, and a plain string is used as-is. If your dataset stores raw prose, rewrite it once offline before training: +For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). The pipeline's prompt embedder normalises each prompt, so a `dict`-valued prompt (in JSONL) is serialised automatically and a plain string is used as-is. If your dataset stores raw prose, rewrite it once offline before training: ```bash python examples/lingbot_video/model_training/rewrite_captions.py \ diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index 39f0c3b52..bad35404a 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -1,7 +1,8 @@ +import json import os import torch from diffsynth.utils.data import save_video, VideoData -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig # LingBot-Video is trained on structured-JSON captions, not free-form prose. This example @@ -20,11 +21,13 @@ ) # --- Text-to-video ------------------------------------------------------------------- -# prompts/t2v_example_*.json are released in-distribution captions. The pipeline calls -# normalize_caption internally, so pipe(prompt="prompts/t2v_example_1.json") also works. -caption = normalize_caption(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json")) +# prompts/t2v_example_*.json are released in-distribution captions. The pipeline accepts +# a plain string or a structured caption dict, so the json is loaded here. +with open(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: + caption = json.load(f) video = pipe( prompt=caption, + negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, @@ -36,6 +39,7 @@ input_video = VideoData("video_lingbot-video-dense-1.3b.mp4", height=480, width=832) video = pipe( prompt=caption, + negative_prompt=pipe.default_negative_prompt, input_video=input_video, denoising_strength=0.7, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, diff --git a/examples/lingbot_video/model_inference/prompt_rewriter.py b/examples/lingbot_video/model_inference/prompt_rewriter.py index 7a2742109..dc5da61e9 100644 --- a/examples/lingbot_video/model_inference/prompt_rewriter.py +++ b/examples/lingbot_video/model_inference/prompt_rewriter.py @@ -3,9 +3,9 @@ rewrite_prompt turns a brief idea into the structured JSON caption the DiT expects: stage 1 expands the idea into a natural-language caption (base model), stage 2 maps it into structured JSON (base model + stage-2 LoRA). This is a separate VLM + LoRA adapter, -not the DiT, and is not downloaded with the pipeline -- hence it lives with the examples, -while the core keeps only normalize_caption. TransformersBackend loads the rewriter VLM -locally; make_backend also accepts any object exposing generate(text, image, use_lora). +not the DiT, and is not downloaded with the pipeline -- hence it lives with the examples. +TransformersBackend loads the rewriter VLM locally; make_backend also accepts any object +exposing generate(text, image, use_lora). from prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) @@ -36,7 +36,6 @@ from system_prompts import ( VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, ) -from diffsynth.pipelines.lingbot_video import normalize_caption # mode -> (step1 system prompt, step2 system prompt, feed image?, add duration?) @@ -200,7 +199,10 @@ def rewrite_prompt(prompt, mode="t2v", first_frame=None, duration=5, """ rw = Rewriter(make_backend(backend, base, adapter)) result = rw.rewrite(prompt, mode=mode, first_frame=first_frame, duration=duration) - caption = normalize_caption(result["json"]) if result["json"] is not None else result["json_raw"] + if result["json"] is not None: + caption = json.dumps(result["json"], ensure_ascii=False, separators=(",", ":")) + else: + caption = result["json_raw"] if return_result: return caption, result return caption diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index 898d2976c..dab4270c1 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -1,7 +1,8 @@ +import json import os import torch from diffsynth.utils.data import save_video -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig # Low-VRAM inference. offload_dtype / offload_device on each ModelConfig turn on VRAM @@ -30,11 +31,14 @@ vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, ) -# Released in-distribution structured caption (shared with the model_inference example). -caption = normalize_caption(os.path.join( - os.path.dirname(__file__), "..", "model_inference", "prompts", "t2v_example_1.json")) +# Released in-distribution structured caption (shared with the model_inference example); +# the pipeline accepts a plain string or a caption dict, so the json is loaded here. +with open(os.path.join( + os.path.dirname(__file__), "..", "model_inference", "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: + caption = json.load(f) video = pipe( prompt=caption, + negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, diff --git a/examples/lingbot_video/model_training/rewrite_captions.py b/examples/lingbot_video/model_training/rewrite_captions.py index e452f3a4d..d65700deb 100644 --- a/examples/lingbot_video/model_training/rewrite_captions.py +++ b/examples/lingbot_video/model_training/rewrite_captions.py @@ -17,11 +17,10 @@ import os import sys -# The two-stage rewriter engine lives with the inference examples (the diffsynth core -# keeps only normalize_caption), so training and inference share one implementation. +# The two-stage rewriter engine lives with the inference examples, so training and +# inference share one implementation. sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "model_inference")) from prompt_rewriter import Rewriter, make_backend -from diffsynth.pipelines.lingbot_video import normalize_caption def _load_rows(path): @@ -77,7 +76,7 @@ def main(): first_frame = row.get(args.first_frame_column) if args.first_frame_column else None result = rewriter.rewrite(raw, mode=args.mode, first_frame=first_frame, duration=args.duration) if result["json"] is not None: - row[args.prompt_column] = normalize_caption(result["json"]) + row[args.prompt_column] = json.dumps(result["json"], ensure_ascii=False, separators=(",", ":")) ok += 1 else: failed += 1 diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index 9824e9c62..58fab8771 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -1,6 +1,6 @@ import torch, os, argparse, accelerate, warnings from diffsynth.core import UnifiedDataset -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig from diffsynth.diffusion import * os.environ["TOKENIZERS_PARALLELISM"] = "false" @@ -65,9 +65,9 @@ def __init__( self.min_timestep_boundary = min_timestep_boundary def get_pipeline_inputs(self, data): - # Normalise the metadata "prompt" column to the structured-JSON caption so LoRA - # trains in-distribution. Use rewrite_captions.py offline if it stores raw prose. - inputs_posi = {"prompt": normalize_caption(data["prompt"])} + # The metadata "prompt" column stores the serialised structured-JSON caption + # (see rewrite_captions.py); the pipeline's PromptEmbedder consumes it as-is. + inputs_posi = {"prompt": data["prompt"]} inputs_nega = {} inputs_shared = { # Assume you are using this pipeline for inference, diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py index e695867f6..5f5d7cdbf 100644 --- a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py @@ -17,6 +17,7 @@ video = pipe( prompt="from sunset to night, a small town, light, house, river", + negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=169, num_inference_steps=40, cfg_scale=3.0, seed=0, From 94e8baa8b79e3b6f6cf5bc3d6fe66d629a944855 Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Tue, 28 Jul 2026 10:49:37 +0800 Subject: [PATCH 16/34] low vram patch&refactor scripts --- .../configs/vram_management_module_maps.py | 11 +++++ diffsynth/pipelines/lingbot_video.py | 42 +++++++------------ docs/en/Model_Details/LingBot-Video.md | 11 +++-- docs/zh/Model_Details/LingBot-Video.md | 11 +++-- examples/lingbot_video/README.md | 9 ++-- .../lingbot-video-dense-1.3b.py | 24 ++++++----- .../lingbot-video-dense-1.3b.py | 42 ++++++++++++------- .../lora/lingbot-video-dense-1.3b.sh | 15 ++----- .../scripts}/prompt_rewriter.py | 15 +++++-- .../{ => scripts}/rewrite_captions.py | 4 +- .../scripts}/system_prompts.py | 0 11 files changed, 98 insertions(+), 86 deletions(-) rename examples/lingbot_video/{model_inference => model_training/scripts}/prompt_rewriter.py (94%) rename examples/lingbot_video/model_training/{ => scripts}/rewrite_captions.py (95%) rename examples/lingbot_video/{model_inference => model_training/scripts}/system_prompts.py (100%) diff --git a/diffsynth/configs/vram_management_module_maps.py b/diffsynth/configs/vram_management_module_maps.py index 1f35eee51..b070862de 100644 --- a/diffsynth/configs/vram_management_module_maps.py +++ b/diffsynth/configs/vram_management_module_maps.py @@ -408,6 +408,17 @@ "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule", "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", }, + "diffsynth.models.lingbot_video_dit.LingBotVideoDiT": { + "diffsynth.models.lingbot_video_dit.LingBotVideoBlock": "diffsynth.core.vram.layers.AutoWrappedModule", + "diffsynth.models.lingbot_video_dit.LingBotVideoRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", + }, + "diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder": { + "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", + "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule", + "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule", + "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + }, } def QwenImageTextEncoder_Module_Map_Updater(): diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 7de2aba38..2fd0db18c 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -122,22 +122,18 @@ def from_pretrained( processor_config: ModelConfig = None, vram_limit: float = None, ): - # Initialize pipeline pipe = LingBotVideoPipeline(device=device, torch_dtype=torch_dtype) model_pool = pipe.download_and_load_models(model_configs, vram_limit) - # Fetch models by name (registered in diffsynth/configs/model_configs.py). pipe.text_encoder = model_pool.fetch_model("lingbot_video_text_encoder") pipe.dit = model_pool.fetch_model("lingbot_video_dit") pipe.vae = model_pool.fetch_model("qwen_image_vae") - # Initialize the Qwen3-VL processor (tokenizer + image/video processor). if processor_config is not None: processor_config.download_if_necessary() from transformers import AutoProcessor pipe.processor = AutoProcessor.from_pretrained(processor_config.path) - # VRAM Management pipe.vram_management_enabled = pipe.check_vram_management_state() return pipe @@ -158,7 +154,7 @@ def __call__( width: int = 480, num_frames: int = 81, # Classifier-free guidance - cfg_scale: float = 6.0, + cfg_scale: float = 3.0, # Scheduler num_inference_steps: int = 40, sigma_shift: float = 3.0, @@ -193,19 +189,13 @@ def __call__( self.load_models_to_device(self.in_iteration_models) models = {name: getattr(self, name) for name in self.in_iteration_models} for progress_id, timestep in enumerate(progress_bar_cmd(self.scheduler.timesteps)): - # fp32 so the integer timestep is represented exactly (bf16 rounds values > 256). - timestep_input = timestep.unsqueeze(0).to(dtype=torch.float32, device=self.device) - - noise_pred_posi = self.model_fn(**models, **inputs_shared, **inputs_posi, timestep=timestep_input) - if cfg_scale != 1.0: - noise_pred_nega = self.model_fn(**models, **inputs_shared, **inputs_nega, timestep=timestep_input) - noise_pred = noise_pred_nega + cfg_scale * (noise_pred_posi - noise_pred_nega) - else: - noise_pred = noise_pred_posi - - inputs_shared["latents"] = self.scheduler.step(noise_pred, timestep, inputs_shared["latents"]) - if first_frame_latents is not None: - inputs_shared["latents"][:, :, :cond_t] = first_frame_latents + timestep = timestep.unsqueeze(0).to(dtype=torch.float32, device=self.device) + noise_pred = self.cfg_guided_model_fn( + self.model_fn, cfg_scale, + inputs_shared, inputs_posi, inputs_nega, + **models, timestep=timestep, progress_id=progress_id + ) + inputs_shared["latents"] = self.step(self.scheduler, progress_id=progress_id, noise_pred=noise_pred, **inputs_shared) self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) @@ -235,13 +225,8 @@ def __init__(self): ) def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, rand_device): - # VAE downsample factors (QwenImageVAE / Wan-VAE): 8x spatial, 4x temporal. length = (num_frames - 1) // 4 + 1 - shape = ( - 1, pipe.dit.in_channels, length, - height // 8, width // 8, - ) - # fp32 noise: the flow-matching sampler accumulates state in fp32. + shape = (1, pipe.dit.in_channels, length, height // 8, width // 8) noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device, torch_dtype=torch.float32) return {"noise": noise} @@ -270,7 +255,7 @@ class LingBotVideoUnit_PromptEmbedder(PipelineUnit): # LingBot-Video is trained on structured JSON captions. normalize_caption serialises a # dict caption into the compact-JSON string the DiT expects; a plain string is passed # through. The prompt rewriter that turns a brief idea into such a caption lives in - # examples/lingbot_video/model_inference/prompt_rewriter.py. + # examples/lingbot_video/model_training/scripts/prompt_rewriter.py. _RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} def __init__(self): @@ -280,7 +265,7 @@ def __init__(self): input_params_nega={"prompt": "negative_prompt"}, input_params=("vlm_image",), output_params=("context", "encoder_attention_mask"), - onload_model_names=("text_encoder",), + onload_model_names=("text_encoder", ), ) # Cached number of template-prefix tokens to crop from the prompt embedding. self._crop_start: Optional[int] = None @@ -297,7 +282,10 @@ def normalize_caption(cls, prompt): if isinstance(caption, (dict, list)): return json.dumps(caption, ensure_ascii=False, separators=(",", ":")) return str(caption) - return prompt + elif isinstance(prompt, str): + return prompt + else: + raise TypeError(f"prompt must be a str or a dict, not {type(prompt)}") def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: # Token count of the template prefix (everything before the user prompt), computed once. diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 265e3c7e1..63a40fb6c 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -87,7 +87,7 @@ When running low on VRAM, please refer to [VRAM Management](../Pipeline_Usage/VR LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality; feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict` or a plain string and normalises it to the exact compact-JSON format the DiT was trained on — a `dict` is serialised automatically, a plain string is passed through unchanged, so existing scripts keep working. -To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped with the examples (`examples/lingbot_video/model_inference/prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. +To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped with the examples (`examples/lingbot_video/model_training/scripts/prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT), so it is **not downloaded automatically** — you must fetch both weights yourself before running the rewrite: @@ -108,16 +108,15 @@ import os os.environ["REWRITER_BASE_MODEL"] = "./models/Qwen/Qwen3.6-27B" os.environ["REWRITER_ADAPTER"] = "./models/Robbyant/lingbot-video-rewriter-lora" -# The rewriter ships with the inference examples; run from -# examples/lingbot_video/model_inference (or add it to sys.path) for this import. -from prompt_rewriter import rewrite_prompt +# Run from the repo root so the package-style import resolves. +from examples.lingbot_video.model_training.scripts.prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` Instead of the env vars you can pass `base=` / `adapter=` to `rewrite_prompt`, or skip the local VLM entirely and drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. See the optional rewrite section at the bottom of `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py`. -If you don't have the rewriter model, three released LingBot-Video t2v captions ship with the repo as ready-to-use examples: `examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`. Load one with `json.load` and pass the resulting `dict` to the pipeline (see the inference example script), or copy one as a template for writing your own structured caption. +If you don't have the rewriter model, released LingBot-Video t2v structured captions ship in the example dataset as ready-to-use samples (`t2v_example_*.json` under `DiffSynth-Studio/diffsynth_example_dataset`, downloaded automatically by the inference example scripts). Load one with `json.load` and pass the resulting `dict` to the pipeline, or copy one as a template for writing your own structured caption. ## Model Training @@ -177,7 +176,7 @@ The recommended launch script patches LoRA on the joint text+video self-attentio The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are left frozen. To also adapt the FFN, add those module names to `--lora_target_modules`. -For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). The pipeline normalises each prompt internally. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/rewrite_captions.py` before training. +For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). The pipeline normalises each prompt internally. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/scripts/rewrite_captions.py` before training. We have written recommended training scripts, please refer to the table in the "Model Overview" section above. For how to write model training scripts, please refer to [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, please refer to [Training Framework Detailed Explanation](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index f7173c60c..a47151fc0 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -87,7 +87,7 @@ save_video(video, "video.mp4", fps=15, quality=10) LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。喂入一句普通句子属于分布外(out-of-distribution)输入,会明显降低质量;喂入模型期望的结构化 caption 则能恢复质量。Pipeline 接受 `dict` 或普通字符串形式的 caption,并将其归一化为 DiT 训练时使用的紧凑 JSON 格式——`dict` 会自动序列化,普通字符串会原样透传,因此已有脚本无需改动。 -若要把一个**简短想法**转成该结构化 caption,可使用随示例发布的两阶段改写器(`examples/lingbot_video/model_inference/prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 +若要把一个**简短想法**转成该结构化 caption,可使用随示例发布的两阶段改写器(`examples/lingbot_video/model_training/scripts/prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 改写器是**独立的 VLM + 阶段二 LoRA 适配器**(不是 DiT),**不会自动下载**——运行改写前,需要先自行下载这两个权重: @@ -108,16 +108,15 @@ import os os.environ["REWRITER_BASE_MODEL"] = "./models/Qwen/Qwen3.6-27B" os.environ["REWRITER_ADAPTER"] = "./models/Robbyant/lingbot-video-rewriter-lora" -# 改写器随推理示例一起发布;请在 examples/lingbot_video/model_inference 目录下运行 -# (或将该目录加入 sys.path),此 import 才能解析。 -from prompt_rewriter import rewrite_prompt +# 在仓库根目录下运行,此包式 import 才能解析。 +from examples.lingbot_video.model_training.scripts.prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` 除了 env var,也可以给 `rewrite_prompt` 传 `base=` / `adapter=`;或者完全不下载本地 VLM,改为传入一个暴露 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,来驱动托管的 / OpenAI 兼容的推理端点。详见 `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py` 文件末尾的可选改写小节。 -如果没有改写器模型,仓库自带 3 个官方 LingBot-Video t2v 结构化 caption 作为开箱即用的示例:`examples/lingbot_video/model_inference/prompts/t2v_example_{1,2,3}.json`。用 `json.load` 读入后作为 `dict` 传给 pipeline(见推理示例脚本),也可以复制一个作为编写自己 caption 的模板。 +如果没有改写器模型,官方 LingBot-Video t2v 结构化 caption 已随样例数据集发布(`DiffSynth-Studio/diffsynth_example_dataset` 中的 `t2v_example_*.json`,推理示例脚本会自动下载)。用 `json.load` 读入后作为 `dict` 传给 pipeline,也可以复制一个作为编写自己 caption 的模板。 ## 模型训练 @@ -177,7 +176,7 @@ modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ MoE / FFN 专家(`gate_proj`、`up_proj`、`down_proj`)与 router 保持冻结。若要同时微调 FFN,可将这些模块名加入 `--lora_target_modules`。 -为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。Pipeline 会在内部对每条 prompt 做归一化。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/rewrite_captions.py` 离线改写一次。 +为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。Pipeline 会在内部对每条 prompt 做归一化。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/scripts/rewrite_captions.py` 离线改写一次。 我们编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 diff --git a/examples/lingbot_video/README.md b/examples/lingbot_video/README.md index a9df5fa7c..e9da22107 100644 --- a/examples/lingbot_video/README.md +++ b/examples/lingbot_video/README.md @@ -105,12 +105,11 @@ pipe(prompt="assets/cases/t2v/example_1/prompt.json") # pipe(prompt='{"comprehensive_description":{...}}') # already-serialised string ``` -To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped here (`model_inference/prompt_rewriter.py`), a faithful port of the original: stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. +To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped here (`model_training/scripts/prompt_rewriter.py`), a faithful port of the original: stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. ```python -# The rewriter lives in model_inference/; run from that directory (or add it to -# sys.path) so this sibling import resolves. -from prompt_rewriter import rewrite_prompt +# Run from the repo root so the package-style import resolves. +from examples.lingbot_video.model_training.scripts.prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` @@ -147,7 +146,7 @@ Pass `--data_file_keys "video"` so the loader treats the `video` column as a fil For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). The pipeline's prompt embedder normalises each prompt, so a `dict`-valued prompt (in JSONL) is serialised automatically and a plain string is used as-is. If your dataset stores raw prose, rewrite it once offline before training: ```bash -python examples/lingbot_video/model_training/rewrite_captions.py \ +python examples/lingbot_video/model_training/scripts/rewrite_captions.py \ --metadata metadata.csv --output metadata_rewritten.csv \ --base /path/to/rewriter-base --adapter /path/to/rewriter-step2-lora --duration 5 ``` diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index bad35404a..9e788d3bb 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -3,11 +3,7 @@ import torch from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig - - -# LingBot-Video is trained on structured-JSON captions, not free-form prose. This example -# runs on a released in-distribution caption; see the bottom for turning a brief idea into -# such a caption with the two-stage prompt rewriter. +from modelscope import dataset_snapshot_download pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, @@ -21,10 +17,18 @@ ) # --- Text-to-video ------------------------------------------------------------------- -# prompts/t2v_example_*.json are released in-distribution captions. The pipeline accepts -# a plain string or a structured caption dict, so the json is loaded here. -with open(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: +# Download dataset +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +# LingBot-Video is trained on structured-JSON captions, not free-form prose. This example +# runs on a released in-distribution caption; see the bottom for turning a brief idea into +# such a caption with the two-stage prompt rewriter. +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: caption = json.load(f) + video = pipe( prompt=caption, negative_prompt=pipe.default_negative_prompt, @@ -48,7 +52,7 @@ save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=10) # --- Optional: rewrite a brief idea into a structured caption ------------------------ -# The two-stage rewriter (prompt_rewriter.py, a sibling module) is a separate VLM + +# The two-stage rewriter (model_training/scripts/prompt_rewriter.py) is a separate VLM + # stage-2 LoRA adapter (NOT the DiT) and is not downloaded automatically. Fetch both # weights and point the env vars at them: # modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B @@ -56,7 +60,7 @@ # export REWRITER_BASE_MODEL=./models/Qwen/Qwen3.6-27B # export REWRITER_ADAPTER=./models/Robbyant/lingbot-video-rewriter-lora # -# from prompt_rewriter import rewrite_prompt +# from examples.lingbot_video.model_training.scripts.prompt_rewriter import rewrite_prompt # caption = rewrite_prompt( # "A playful puppy runs across a lush green meadow, chasing a red ball. " # "Dynamic side-tracking camera.", diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index dab4270c1..9762634f4 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -1,19 +1,15 @@ import json -import os import torch -from diffsynth.utils.data import save_video +from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download - -# Low-VRAM inference. offload_dtype / offload_device on each ModelConfig turn on VRAM -# management: weights stay on CPU in fp8 and stream to the GPU layer-by-layer, computed in -# bf16. vram_limit only caps resident VRAM once offloading is enabled by those two fields. vram_config = { - "offload_dtype": torch.float8_e4m3fn, + "offload_dtype": torch.bfloat16, "offload_device": "cpu", - "onload_dtype": torch.float8_e4m3fn, + "onload_dtype": torch.bfloat16, "onload_device": "cpu", - "preparing_dtype": torch.float8_e4m3fn, + "preparing_dtype": torch.bfloat16, "preparing_device": "cuda", "computation_dtype": torch.bfloat16, "computation_device": "cuda", @@ -28,14 +24,18 @@ ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), - vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, ) -# Released in-distribution structured caption (shared with the model_inference example); -# the pipeline accepts a plain string or a caption dict, so the json is loaded here. -with open(os.path.join( - os.path.dirname(__file__), "..", "model_inference", "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: +# --- Text-to-video ------------------------------------------------------------------- +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: caption = json.load(f) + video = pipe( prompt=caption, negative_prompt=pipe.default_negative_prompt, @@ -43,4 +43,16 @@ num_inference_steps=40, cfg_scale=3.0, seed=0, ) -save_video(video, "video_lingbot-video-dense-1.3b_low_vram.mp4", fps=15, quality=10) +save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=10) + +# --- Video-to-video ------------------------------------------------------------------ +input_video = VideoData("video_lingbot-video-dense-1.3b.mp4", height=480, width=832) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_video=input_video, denoising_strength=0.7, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=1, +) +save_video(video, "video_lingbot-video-dense-1.3b_v2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh index a04d8ec7e..138ce67ad 100644 --- a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh @@ -1,21 +1,14 @@ -# Download the example video-SFT dataset (a small text-to-video set with a `video` + -# `prompt` metadata.csv), the same DiffSynth-Studio example dataset the other training -# scripts use. NOTE: its prompts are plain prose; for best quality rewrite them into -# structured captions first with model_training/rewrite_captions.py (see the README). -modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b/*" --local_dir ./data/diffsynth_example_dataset -# Attention-only LoRA SFT. # `--lora_target_modules "to_q,to_k,to_v,to_out"` patches LoRA on the joint # text+video self-attention only, leaving the MoE / FFN experts and the router frozen. -# `--num_frames 169` = 7 s at the model's native 24 fps (169 = 4k+1, required by the -# VAE's 4x temporal compression). The loader samples the first 169 frames of each clip. accelerate launch examples/lingbot_video/model_training/train.py \ - --dataset_base_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B \ - --dataset_metadata_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B/metadata.csv \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/metadata.json \ --data_file_keys "video" \ --height 480 \ --width 832 \ - --num_frames 169 \ + --num_frames 81 \ --dataset_repeat 200 \ --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ diff --git a/examples/lingbot_video/model_inference/prompt_rewriter.py b/examples/lingbot_video/model_training/scripts/prompt_rewriter.py similarity index 94% rename from examples/lingbot_video/model_inference/prompt_rewriter.py rename to examples/lingbot_video/model_training/scripts/prompt_rewriter.py index dc5da61e9..d6b7daa11 100644 --- a/examples/lingbot_video/model_inference/prompt_rewriter.py +++ b/examples/lingbot_video/model_training/scripts/prompt_rewriter.py @@ -7,7 +7,7 @@ TransformersBackend loads the rewriter VLM locally; make_backend also accepts any object exposing generate(text, image, use_lora). - from prompt_rewriter import rewrite_prompt + from examples.lingbot_video.model_training.scripts.prompt_rewriter import rewrite_prompt caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration=5) video = pipe(prompt=caption, ...) """ @@ -33,9 +33,16 @@ except ImportError: repair_json = None -from system_prompts import ( - VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, -) +# Support both package-style import (from the repo root) and top-level import (when +# this directory itself is on sys.path, e.g. from rewrite_captions.py). +try: + from .system_prompts import ( + VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, + ) +except ImportError: + from system_prompts import ( + VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, + ) # mode -> (step1 system prompt, step2 system prompt, feed image?, add duration?) diff --git a/examples/lingbot_video/model_training/rewrite_captions.py b/examples/lingbot_video/model_training/scripts/rewrite_captions.py similarity index 95% rename from examples/lingbot_video/model_training/rewrite_captions.py rename to examples/lingbot_video/model_training/scripts/rewrite_captions.py index d65700deb..b67b1edde 100644 --- a/examples/lingbot_video/model_training/rewrite_captions.py +++ b/examples/lingbot_video/model_training/scripts/rewrite_captions.py @@ -17,9 +17,9 @@ import os import sys -# The two-stage rewriter engine lives with the inference examples, so training and +# The two-stage rewriter engine lives alongside this script, so training and # inference share one implementation. -sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "model_inference")) +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from prompt_rewriter import Rewriter, make_backend diff --git a/examples/lingbot_video/model_inference/system_prompts.py b/examples/lingbot_video/model_training/scripts/system_prompts.py similarity index 100% rename from examples/lingbot_video/model_inference/system_prompts.py rename to examples/lingbot_video/model_training/scripts/system_prompts.py From 7caae830f1b2dea65977688e928780c6f377ec1f Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Tue, 28 Jul 2026 11:15:49 +0800 Subject: [PATCH 17/34] remove fp32 cast to keep compatibility with low-vram-inference --- diffsynth/models/lingbot_video_dit.py | 63 +------------------ diffsynth/pipelines/lingbot_video.py | 17 ++--- .../lingbot-video-dense-1.3b.py | 1 - 3 files changed, 8 insertions(+), 73 deletions(-) diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 6e621ab20..07eccd71b 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -10,29 +10,6 @@ from ..core.device.npu_compatible_device import get_device_type -# Modules kept in fp32 regardless of the bulk compute dtype (sensitive AdaLN / norm / -# router paths); the custom `to()` below honours this list. -LINGBOT_VIDEO_FP32_MODULES = ( - "time_embedder", - "time_modulation", - "scale_shift_table", - "norm", - "norm1", - "norm2", - "norm_q", - "norm_k", - "norm_post_attn", - "norm_post_ffn", - "norm_out", - "norm_out_modulation", - "router", -) - - -def should_keep_in_fp32(name: str) -> bool: - return any(module_name in name.split(".") for module_name in LINGBOT_VIDEO_FP32_MODULES) - - def get_timestep_embedding( timesteps: torch.Tensor, embedding_dim: int, @@ -457,14 +434,12 @@ def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=No "LingBotVideoBlock expects token-level temb6 with shape (B*S, 6D); " f"got {tuple(temb6.shape)} for hidden states {tuple(x.shape)}." ) - # AdaLN modulation / norms run in fp32 (sensitive path); cast to the bulk - # compute dtype only at the bf16 Linear boundary. mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.unsqueeze(0) shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = mod.chunk(6, dim=-1) gate_msa, gate_mlp = gate_msa.tanh(), gate_mlp.tanh() scale_msa, scale_mlp = 1.0 + scale_msa, 1.0 + scale_mlp - bulk_dtype = self.attn.to_q.weight.dtype + bulk_dtype = x.dtype attn_in = (self.norm1(x) * scale_msa + shift_msa).to(bulk_dtype) attn_out = self.attn(attn_in, rotary_emb, attention_mask) x = x + (gate_msa * self.norm_post_attn(attn_out)).to(x.dtype) @@ -482,41 +457,13 @@ class LingBotVideoDiT(nn.Module): """LingBot-Video MoE DiT ported for DiffSynth-Studio. Supports both the Dense (`num_experts=0`, FFN = MLP) and MoE - (`num_experts>0`, FFN = sparse MoE) variants from a single class. The bulk of - the network runs in the model's compute dtype (e.g. bf16) while the modules in - `LINGBOT_VIDEO_FP32_MODULES` are pinned to fp32 by the custom `to()`. + (`num_experts>0`, FFN = sparse MoE) variants from a single class. """ _supports_gradient_checkpointing = True _no_split_modules = ["LingBotVideoBlock"] _repeated_blocks = ["LingBotVideoBlock"] - def to(self, *args, **kwargs): - device, dtype, non_blocking, _ = torch._C._nn._parse_to(*args, **kwargs) - if dtype is None or dtype == torch.float32: - return super().to(*args, **kwargs) - if not torch.is_floating_point(torch.empty((), dtype=dtype)): - return super().to(*args, **kwargs) - - if device is not None: - super().to(device=device, non_blocking=non_blocking) - - for name, param in self.named_parameters(): - if not torch.is_floating_point(param): - continue - target_dtype = torch.float32 if should_keep_in_fp32(name) else dtype - param.data = param.data.to(dtype=target_dtype, non_blocking=non_blocking) - if param.grad is not None: - param.grad.data = param.grad.data.to(dtype=target_dtype, non_blocking=non_blocking) - - for name, buffer in self.named_buffers(): - if not torch.is_floating_point(buffer): - continue - target_dtype = torch.float32 if should_keep_in_fp32(name) else dtype - buffer.data = buffer.data.to(dtype=target_dtype, non_blocking=non_blocking) - - return self - def __init__( self, patch_size: Tuple[int, int, int] = (1, 2, 2), @@ -652,10 +599,7 @@ def forward( # Timestep -> per-token modulation. timestep_proj = self.time_proj(timestep.float()) - # time_proj always returns fp32; match the time_embedder's own weight dtype - # (fp32 under standard load via the custom `to()` override; bf16 under low-VRAM - # offload, where the wrapper wholesale-casts all params). - t_emb = self.time_embedder(timestep_proj.to(self.time_embedder.linear_1.weight.dtype)) # (B, D) + t_emb = self.time_embedder(timestep_proj.to(joint.dtype)) # (B, D) if packed_batch: temb_input = torch.cat( [t_emb[i:i + 1].unsqueeze(1).expand(1, sample_seq_lens[i], -1) for i in range(B)], dim=1 @@ -677,7 +621,6 @@ def forward( final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1)) shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) final_hidden = self.norm_out(joint) * (1.0 + scale) + shift - # Cast to joint's dtype, not proj_out.weight.dtype (which is fp8 under offload). projected = self.proj_out(final_hidden.to(joint.dtype)) if packed_batch: diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 2fd0db18c..958fa13b7 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -1,12 +1,9 @@ import json import torch -import torch.nn.functional as F -import numpy as np from PIL import Image from tqdm import tqdm from typing import Optional, Union -from typing_extensions import Literal from ..core.device.npu_compatible_device import get_device_type from ..core import ModelConfig @@ -227,7 +224,7 @@ def __init__(self): def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, rand_device): length = (num_frames - 1) // 4 + 1 shape = (1, pipe.dit.in_channels, length, height // 8, width // 8) - noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device, torch_dtype=torch.float32) + noise = pipe.generate_noise(shape, seed=seed, rand_device=rand_device) return {"noise": noise} @@ -358,7 +355,7 @@ def process(self, pipe: LingBotVideoPipeline, input_video, noise): return {"latents": noise} pipe.load_models_to_device(self.onload_model_names) video = pipe.preprocess_video(input_video) - input_latents = pipe.vae.encode_video(video).to(dtype=torch.float32, device=pipe.device) + input_latents = pipe.vae.encode_video(video).to(dtype=pipe.torch_dtype, device=pipe.device) if pipe.scheduler.training: return {"latents": noise, "input_latents": input_latents} else: @@ -402,16 +399,12 @@ def model_fn_lingbot_video( use_gradient_checkpointing_offload: bool = False, **kwargs, ): - # Cast inputs to the DiT's compute dtype (e.g. bf16); the DiT keeps AdaLN/norm in fp32. - dit_dtype = dit.patch_embedder.weight.dtype - hidden_states = latents.to(dtype=dit_dtype) - encoder_hidden_states = context.to(dtype=dit_dtype) noise_pred = dit( - hidden_states=hidden_states, + hidden_states=latents, timestep=timestep, - encoder_hidden_states=encoder_hidden_states, + encoder_hidden_states=context, encoder_attention_mask=encoder_attention_mask, use_gradient_checkpointing=use_gradient_checkpointing, use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, ) - return noise_pred.float() + return noise_pred diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index 9e788d3bb..733ac0cd5 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -17,7 +17,6 @@ ) # --- Text-to-video ------------------------------------------------------------------- -# Download dataset dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", From 5f604e25ddb724ccf47a132434d81929c3b46ae2 Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Tue, 28 Jul 2026 12:53:44 +0800 Subject: [PATCH 18/34] add support for full train --- .../lingbot-video-dense-1.3b.py | 8 ++--- .../full/lingbot-video-dense-1.3b.sh | 18 ++++++++++ .../lora/lingbot-video-dense-1.3b.sh | 4 +-- .../model_training/scripts/prompt_rewriter.py | 2 -- .../scripts/rewrite_captions.py | 9 +++-- .../lingbot_video/model_training/train.py | 2 +- .../validate_full/lingbot-video-dense-1.3b.py | 36 +++++++++++++++++++ .../validate_lora/lingbot-video-dense-1.3b.py | 15 ++++++-- 8 files changed, 77 insertions(+), 17 deletions(-) create mode 100644 examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh create mode 100644 examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index 9762634f4..9b3dd9fcd 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -5,11 +5,11 @@ from modelscope import dataset_snapshot_download vram_config = { - "offload_dtype": torch.bfloat16, - "offload_device": "cpu", - "onload_dtype": torch.bfloat16, + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, "onload_device": "cpu", - "preparing_dtype": torch.bfloat16, + "preparing_dtype": torch.float8_e4m3fn, "preparing_device": "cuda", "computation_dtype": torch.bfloat16, "computation_device": "cuda", diff --git a/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh b/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh new file mode 100644 index 000000000..50540eb14 --- /dev/null +++ b/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh @@ -0,0 +1,18 @@ +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/metadata.json \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --dataset_repeat 50 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ + --learning_rate 1e-5 \ + --num_epochs 2 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-dense-1.3b_full" \ + --trainable_models "dit" \ + --use_gradient_checkpointing diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh index 138ce67ad..34010d953 100644 --- a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh @@ -9,11 +9,11 @@ accelerate launch examples/lingbot_video/model_training/train.py \ --height 480 \ --width 832 \ --num_frames 81 \ - --dataset_repeat 200 \ + --dataset_repeat 50 \ --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ --learning_rate 1e-4 \ - --num_epochs 20 \ + --num_epochs 5 \ --remove_prefix_in_ckpt "pipe.dit." \ --output_path "./models/train/lingbot-video-dense-1.3b_lora" \ --lora_base_model "dit" \ diff --git a/examples/lingbot_video/model_training/scripts/prompt_rewriter.py b/examples/lingbot_video/model_training/scripts/prompt_rewriter.py index d6b7daa11..b27ff9f9e 100644 --- a/examples/lingbot_video/model_training/scripts/prompt_rewriter.py +++ b/examples/lingbot_video/model_training/scripts/prompt_rewriter.py @@ -33,8 +33,6 @@ except ImportError: repair_json = None -# Support both package-style import (from the repo root) and top-level import (when -# this directory itself is on sys.path, e.g. from rewrite_captions.py). try: from .system_prompts import ( VIDEO_STEP1_EXPAND, VIDEO_STEP2_MAP, IMAGE_STEP1_EXPAND, IMAGE_STEP2_MAP, diff --git a/examples/lingbot_video/model_training/scripts/rewrite_captions.py b/examples/lingbot_video/model_training/scripts/rewrite_captions.py index b67b1edde..84a1de737 100644 --- a/examples/lingbot_video/model_training/scripts/rewrite_captions.py +++ b/examples/lingbot_video/model_training/scripts/rewrite_captions.py @@ -15,12 +15,11 @@ import argparse import json import os -import sys -# The two-stage rewriter engine lives alongside this script, so training and -# inference share one implementation. -sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) -from prompt_rewriter import Rewriter, make_backend +try: + from .prompt_rewriter import Rewriter, make_backend +except ImportError: + from prompt_rewriter import Rewriter, make_backend def _load_rows(path): diff --git a/examples/lingbot_video/model_training/train.py b/examples/lingbot_video/model_training/train.py index 58fab8771..5039d95ee 100644 --- a/examples/lingbot_video/model_training/train.py +++ b/examples/lingbot_video/model_training/train.py @@ -1,6 +1,6 @@ import torch, os, argparse, accelerate, warnings from diffsynth.core import UnifiedDataset -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline from diffsynth.diffusion import * os.environ["TOKENIZERS_PARALLELISM"] = "false" diff --git a/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py new file mode 100644 index 000000000..ea9bca724 --- /dev/null +++ b/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py @@ -0,0 +1,36 @@ +import torch +import json +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth import load_state_dict +from modelscope import dataset_snapshot_download + + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +state_dict = load_state_dict("models/train/lingbot-video-dense-1.3b_full/epoch-1.safetensors") +pipe.dit.load_state_dict(state_dict) +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py index 5f5d7cdbf..5f341ddf0 100644 --- a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py @@ -1,6 +1,8 @@ import torch +import json from diffsynth.utils.data import save_video from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download pipe = LingBotVideoPipeline.from_pretrained( @@ -13,12 +15,19 @@ ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) -pipe.load_lora(pipe.dit, "models/train/lingbot-video-dense-1.3b_lora/epoch-19.safetensors", alpha=1) +pipe.load_lora(pipe.dit, "models/train/lingbot-video-dense-1.3b_lora/epoch-4.safetensors", alpha=1) +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) video = pipe( - prompt="from sunset to night, a small town, light, house, river", + prompt=caption, negative_prompt=pipe.default_negative_prompt, - height=480, width=832, num_frames=169, + height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, ) From cae44a08145cd0da92cc99d1c9d9564ef16b84bc Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Tue, 28 Jul 2026 13:17:16 +0800 Subject: [PATCH 19/34] style refactor --- diffsynth/configs/model_configs.py | 9 ---- diffsynth/models/lingbot_video_dit.py | 41 ++++++------------- .../models/lingbot_video_text_encoder.py | 17 +------- diffsynth/pipelines/lingbot_video.py | 22 ---------- .../lingbot_video_dit.py | 5 --- .../lingbot_video_text_encoder.py | 5 --- .../lingbot-video-dense-1.3b.py | 3 +- .../lingbot-video-dense-1.3b.py | 2 +- 8 files changed, 17 insertions(+), 87 deletions(-) diff --git a/diffsynth/configs/model_configs.py b/diffsynth/configs/model_configs.py index 19f2c3af9..09df9f72c 100644 --- a/diffsynth/configs/model_configs.py +++ b/diffsynth/configs/model_configs.py @@ -1325,8 +1325,6 @@ lingbot_video_series = [ { # Example: ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors") - # Dense 1.3B DiT (num_experts=0 -> pure SwiGLU MLP FFN). Model __init__ - # defaults already match transformer/config.json, so no extra_kwargs. "model_hash": "2bcf511fe5e0000519394d242b4d8abd", "model_name": "lingbot_video_dit", "model_class": "diffsynth.models.lingbot_video_dit.LingBotVideoDiT", @@ -1334,18 +1332,11 @@ }, { # Example: ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/*.safetensors") - # Qwen3-VL text encoder (2 shards). Hash is over the merged key set of both - # shards. The checkpoint stores only the `model.*` submodule (713 tensors, - # no tied lm_head), matching a bare Qwen3VLModel exactly -> identity converter. "model_hash": "b8750c24f732c87797f551196c4cef78", "model_name": "lingbot_video_text_encoder", "model_class": "diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder", "state_dict_converter": "diffsynth.utils.state_dict_converters.lingbot_video_text_encoder.LingBotVideoTextEncoderStateDictConverter", }, - # VAE: the LingBot-Video VAE (vae/*.safetensors) is byte-structurally identical - # to QwenImageVAE (hash ed4ea5824d55ec3107b09815e318123a, registered in - # qwen_image_series). It is loaded via that existing entry as model_name - # "qwen_image_vae"; the pipeline fetches it and uses the 5D-video code path. ] MODEL_CONFIGS = ( diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 07eccd71b..c98557fc3 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -18,7 +18,7 @@ def get_timestep_embedding( scale: float = 1.0, max_period: int = 10000, ) -> torch.Tensor: - """Sinusoidal timestep embedding (matches diffusers.get_timestep_embedding).""" + """Sinusoidal timestep embedding.""" assert timesteps.ndim == 1 half_dim = embedding_dim // 2 exponent = -math.log(max_period) * torch.arange( @@ -37,7 +37,7 @@ def get_timestep_embedding( class Timesteps(nn.Module): - """Parameter-free sinusoidal timestep projection (matches diffusers.Timesteps).""" + """Parameter-free sinusoidal timestep projection.""" def __init__(self, num_channels: int, flip_sin_to_cos: bool = True, downscale_freq_shift: float = 0.0, scale: int = 1): super().__init__() @@ -57,12 +57,7 @@ def forward(self, timesteps: torch.Tensor) -> torch.Tensor: class TimestepEmbedding(nn.Module): - """Two-layer timestep MLP (matches diffusers.TimestepEmbedding, act_fn='silu'). - - Submodule names `linear_1` / `linear_2` are kept identical so the original - checkpoint keys (`time_embedder.linear_1.*`, `time_embedder.linear_2.*`) load - without renaming. - """ + """Two-layer timestep MLP (act_fn='silu').""" def __init__(self, in_channels: int, time_embed_dim: int, sample_proj_bias: bool = True): super().__init__() @@ -75,7 +70,7 @@ def forward(self, sample: torch.Tensor) -> torch.Tensor: class LingBotVideoRMSNorm(nn.Module): - """RMSNorm with fp32 accumulation (ported verbatim from lingbot-video).""" + """RMSNorm with fp32 accumulation.""" def __init__(self, dim: int, eps: float = 1e-6): super().__init__() @@ -155,7 +150,7 @@ def _cat_interleave(a: torch.Tensor, len_a: list, b: torch.Tensor, len_b: list) class LingBotVideoTextEmbedder(nn.Module): - """CondProjection: RMSNorm(text_dim) -> Linear -> SiLU -> Linear.""" + """RMSNorm(text_dim) -> Linear -> SiLU -> Linear.""" def __init__(self, text_dim: int, hidden_size: int): super().__init__() @@ -186,7 +181,7 @@ def forward(self, x, rotary_emb, attention_mask=None): v = self.to_v(x).unflatten(2, (self.num_heads, self.head_dim)) q = apply_rotary_emb(self.norm_q(q), rotary_emb) k = apply_rotary_emb(self.norm_k(k), rotary_emb) - # q/k/v are (B, S, H, D); DiffSynth's attention_forward handles the layout. + # q/k/v are (B, S, H, D). out = attention_forward( q, k, v, q_pattern="b s n d", k_pattern="b s n d", v_pattern="b s n d", out_pattern="b s n d", @@ -207,12 +202,6 @@ def forward(self, x): class LingBotVideoRouter(nn.Module): - """TokenChoiceTopKRouter inference path (no capacity / jitter / load stats). - - The asymmetry is preserved: selection uses the bias-added score, while the - gating weights gather the bias-free score. - """ - def __init__(self, hidden_size, num_experts, top_k, score_func, norm_topk_prob, n_group, topk_group, route_scale): super().__init__() self.num_experts = num_experts @@ -257,7 +246,7 @@ def forward(self, tokens: torch.Tensor): class LingBotVideoGroupedExperts(nn.Module): - """Weight layout matches GroupedExperts: w1 [E,I,H], w2 [E,H,I], w3 [E,I,H].""" + """Weight layout: w1 [E,I,H], w2 [E,H,I], w3 [E,I,H].""" def __init__(self, num_experts, hidden_size, intermediate_size): super().__init__() @@ -272,10 +261,7 @@ def _round_up_to_multiple(value: int, multiple: int) -> int: class LingBotVideoSparseMoeBlock(nn.Module): - """MoE FFN. Keeps only the portable eager expert path (grouped_mm with a - per-expert for-loop fallback); the sglang / triton / fp8 / context-parallel - backends from the source are intentionally dropped for the DiffSynth port. - """ + """MoE FFN with a grouped_mm expert path and a per-expert for-loop fallback.""" def __init__(self, hidden_size, intermediate_size, num_experts, top_k, moe_intermediate_size, score_func, norm_topk_prob, n_group, topk_group, routed_scaling_factor, n_shared_experts): @@ -417,7 +403,7 @@ def __init__(self, hidden_size, num_attention_heads, intermediate_size, norm_eps self.attn = LingBotVideoAttention(h, num_attention_heads, norm_eps, qkv_bias, out_bias) self.norm_post_attn = LingBotVideoRMSNorm(h, norm_eps) self.norm2 = LingBotVideoRMSNorm(h, norm_eps) - # Sparsity decision matches the source MoEBlock: mlp_only_layers + decoder_sparse_step + num_experts. + # Sparsity decision: mlp_only_layers + decoder_sparse_step + num_experts. if layer_idx not in mlp_only_layers and (num_experts > 0 and (layer_idx + 1) % decoder_sparse_step == 0): self.ffn = LingBotVideoSparseMoeBlock( h, intermediate_size, num_experts, num_experts_per_tok, moe_intermediate_size, @@ -454,7 +440,7 @@ def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=No class LingBotVideoDiT(nn.Module): - """LingBot-Video MoE DiT ported for DiffSynth-Studio. + """LingBot-Video MoE DiT. Supports both the Dense (`num_experts=0`, FFN = MLP) and MoE (`num_experts>0`, FFN = sparse MoE) variants from a single class. @@ -553,7 +539,7 @@ def forward( text_lens_list = [int(v) for v in text_lens.detach().cpu().tolist()] packed_batch = B > 1 - # patchify: token order (f h w), feature order (pf ph pw c) -- matches patchify_and_embed + # patchify: token order (f h w), feature order (pf ph pw c) patch_tokens = hidden_states.reshape(B, C, gt, pF, gh, pH, gw, pW) patch_tokens = patch_tokens.permute(0, 2, 4, 6, 3, 5, 7, 1).reshape(B, n_video, pF * pH * pW * C) @@ -578,8 +564,7 @@ def forward( attention_mask = None moe_padding_mask = None if packed_batch: - # Block-diagonal mask so packed samples only attend within their own block - # (replaces the source's flash varlen path; numerically equivalent, no flash dep). + # Block-diagonal mask so packed samples only attend within their own block. sample_seq_lens = [n_video + tl for tl in text_lens_list] total = sum(sample_seq_lens) block_mask = torch.zeros((total, total), dtype=torch.bool, device=device) @@ -632,7 +617,7 @@ def forward( else: x = projected[:, :n_video] - # unpatchify (matches the rearrange in postprocess) + # unpatchify Cout = self.out_channels x = x.reshape(B, gt, gh, gw, pF, pH, pW, Cout) x = x.permute(0, 7, 1, 4, 2, 5, 3, 6).reshape(B, Cout, T, H, W) diff --git a/diffsynth/models/lingbot_video_text_encoder.py b/diffsynth/models/lingbot_video_text_encoder.py index 434c471da..680968675 100644 --- a/diffsynth/models/lingbot_video_text_encoder.py +++ b/diffsynth/models/lingbot_video_text_encoder.py @@ -3,21 +3,8 @@ class LingBotVideoTextEncoder(torch.nn.Module): - """ - Text encoder for LingBot-Video. - - The checkpoint (``text_encoder/*.safetensors``) is a - ``Qwen3VLForConditionalGeneration`` exported by transformers, but only the - ``model.*`` submodule (language_model + visual, 713 tensors) is stored — the - tied ``lm_head`` is absent because ``tie_word_embeddings=True``. Wrapping a - bare ``Qwen3VLModel`` therefore matches the checkpoint keys exactly (0 missing - / 0 unexpected), so the state-dict converter is the identity. - - ``forward`` mirrors :class:`QwenImageTextEncoder`: it forces - ``output_hidden_states=True`` and returns the tuple of per-layer hidden - states. The pipeline selects ``hidden_states[-1]`` (the original - ``HIDDEN_STATE_SKIP_LAYER == 0``) as the prompt embedding. - """ + """Qwen3-VL text encoder for LingBot-Video. `forward` returns the tuple of + per-layer hidden states.""" def __init__(self): super().__init__() diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 958fa13b7..a2e113aef 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -74,11 +74,6 @@ def _pixel_tensor_to_pil(pixel: torch.Tensor) -> Image.Image: class LingBotVideoPipeline(BasePipeline): - """Text-to-video pipeline for LingBot-Video (DiT + Qwen3-VL text encoder + QwenImageVAE), - following the DiffSynth PipelineUnit + model_fn pattern. Sampling uses FlowMatchScheduler - (Wan template). The 5D-video VAE encode/decode lives in QwenImageVAE - (encode_video / decode_video); the 4D image paths stay untouched.""" - def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): super().__init__( device=device, torch_dtype=torch_dtype, @@ -229,12 +224,8 @@ def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, r class LingBotVideoUnit_PromptEmbedder(PipelineUnit): - # Prompt truncation length for the Qwen3-VL processor. TOKEN_LENGTH = 37698 - # Hidden-state layer used as the prompt embedding: 0 -> the last layer. HIDDEN_STATE_SKIP_LAYER = 0 - - # Prompt-enhancement chat template wrapping the user prompt. PROMPT_TEMPLATE = ( "<|im_start|>system\nGiven a user input that may include a text prompt alone, " "a text prompt with an image reference, or a text prompt with a video reference " @@ -248,11 +239,6 @@ class LingBotVideoUnit_PromptEmbedder(PipelineUnit): "commentary or evaluations:<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n" "<|im_start|>assistant\n" ) - - # LingBot-Video is trained on structured JSON captions. normalize_caption serialises a - # dict caption into the compact-JSON string the DiT expects; a plain string is passed - # through. The prompt rewriter that turns a brief idea into such a caption lives in - # examples/lingbot_video/model_training/scripts/prompt_rewriter.py. _RUNTIME_KEYS = {"duration", "fps", "height", "width", "num_frames", "resolution", "ratio"} def __init__(self): @@ -264,13 +250,10 @@ def __init__(self): output_params=("context", "encoder_attention_mask"), onload_model_names=("text_encoder", ), ) - # Cached number of template-prefix tokens to crop from the prompt embedding. self._crop_start: Optional[int] = None @classmethod def normalize_caption(cls, prompt): - # A dict caption is serialised to the compact-JSON string the DiT expects; - # a plain string passes through unchanged. if isinstance(prompt, dict): if "caption" in prompt: caption = prompt["caption"] @@ -285,7 +268,6 @@ def normalize_caption(cls, prompt): raise TypeError(f"prompt must be a str or a dict, not {type(prompt)}") def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: - # Token count of the template prefix (everything before the user prompt), computed once. if self._crop_start is None: marker = "<|USER_INPUT_MARKER|>" marked = self.PROMPT_TEMPLATE.format(marker) @@ -304,7 +286,6 @@ def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): prompt = self.normalize_caption(prompt) - # T2V: visual_template is empty, so the text is simply the templated prompt. text = self.PROMPT_TEMPLATE.format(prompt) inputs = pipe.processor( text=[text], @@ -317,18 +298,15 @@ def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): return_tensors="pt", ) inputs = inputs.to(pipe.device) - # The text encoder returns the tuple of per-layer hidden states. hidden_states = pipe.text_encoder(**inputs) prompt_embeds = hidden_states[-(self.HIDDEN_STATE_SKIP_LAYER + 1)] prompt_mask = inputs["attention_mask"] - # Crop the prompt-enhancement template prefix. crop_start = self._compute_crop_start(pipe) if crop_start > 0: prompt_embeds = prompt_embeds[:, crop_start:] prompt_mask = prompt_mask[:, crop_start:] - # Batch=1: drop the right padding before the DiT forward. if prompt_embeds.shape[0] == 1: true_len = int(prompt_mask[0].sum().item()) prompt_embeds = prompt_embeds[:, :true_len] diff --git a/diffsynth/utils/state_dict_converters/lingbot_video_dit.py b/diffsynth/utils/state_dict_converters/lingbot_video_dit.py index 3774568ee..d3b87b0d9 100644 --- a/diffsynth/utils/state_dict_converters/lingbot_video_dit.py +++ b/diffsynth/utils/state_dict_converters/lingbot_video_dit.py @@ -1,9 +1,4 @@ def LingBotVideoDiTStateDictConverter(state_dict): - # The LingBot-Video DiT checkpoint (transformer/diffusion_pytorch_model.safetensors) - # is saved by diffusers with module-hierarchy keys that already match - # `LingBotVideoDiT` exactly (patch_embedder / time_embedder / time_modulation / - # text_embedder / blocks.N.* / norm_out_modulation / proj_out). The only work - # needed is stripping any wrapper prefix a repackaged/compiled checkpoint may add. prefixes = ["model.diffusion_model.", "_orig_mod.", "module.", "transformer."] state_dict_ = {} for name in state_dict: diff --git a/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py b/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py index ba4ef6db3..5c301c20c 100644 --- a/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py +++ b/diffsynth/utils/state_dict_converters/lingbot_video_text_encoder.py @@ -1,9 +1,4 @@ def LingBotVideoTextEncoderStateDictConverter(state_dict): - # The LingBot-Video text encoder checkpoint stores a Qwen3VLForConditionalGeneration - # with keys already under `model.language_model.*` and `model.visual.*`, which is - # exactly the layout of the wrapped `Qwen3VLModel` (assigned to `self.model`). The - # tied `lm_head` is not stored, so no key mapping is required — this is an identity - # converter that only strips any wrapper prefix a repackaged checkpoint may add. prefixes = ["_orig_mod.", "module."] state_dict_ = {} for name in state_dict: diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py index 733ac0cd5..ea8b6b06f 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py @@ -1,6 +1,5 @@ -import json -import os import torch +import json from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig from modelscope import dataset_snapshot_download diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py index 9b3dd9fcd..64fbb3e80 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py @@ -1,5 +1,5 @@ -import json import torch +import json from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig from modelscope import dataset_snapshot_download From 531ba560d0197ca44babd81e043d70388971a750 Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Tue, 28 Jul 2026 13:43:08 +0800 Subject: [PATCH 20/34] pop changes for ti2v pipeline --- diffsynth/pipelines/lingbot_video.py | 52 ++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index a2e113aef..b7bf7347a 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -1,6 +1,9 @@ import json +import math import torch +import torch.nn.functional as F +import numpy as np from PIL import Image from tqdm import tqdm from typing import Optional, Union @@ -136,6 +139,7 @@ def __call__( prompt: Union[str, dict] = "", negative_prompt: Union[str, dict] = "", # Video-to-video + input_image: Image.Image = None, input_video: list[Image.Image] = None, denoising_strength: float = 1.0, # Randomness @@ -188,6 +192,8 @@ def __call__( **models, timestep=timestep, progress_id=progress_id ) inputs_shared["latents"] = self.step(self.scheduler, progress_id=progress_id, noise_pred=noise_pred, **inputs_shared) + if first_frame_latents is not None: + inputs_shared["latents"][:, :, :cond_t] = first_frame_latents self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) @@ -196,6 +202,42 @@ def __call__( self.load_models_to_device([]) return video + def preprocess_cond_image(self, image: Image.Image, height, width): + # TI2V condition frame -> (1, C, 1, H, W) pixel tensor in [0, 1], aspect-ratio + # preserving cover-resize + center-crop to (height, width). + raw = torch.from_numpy(np.array(image.convert("RGB"))).permute(2, 0, 1).unsqueeze(0).contiguous() + old_h, old_w = raw.shape[-2:] + scale = max(height / old_h, width / old_w) + new_h = max(math.ceil(old_h * scale), height) + new_w = max(math.ceil(old_w * scale), width) + resized = F.interpolate(raw.float(), size=(new_h, new_w), mode="bilinear", align_corners=False) + top = int(round((new_h - height) / 2.0)) + left = int(round((new_w - width) / 2.0)) + cropped = resized[:, :, top: top + height, left: left + width] / 255.0 + return cropped.unsqueeze(2) + + def _vision_patch_size(self) -> int: + # Resolve the Qwen3-VL vision patch size, used with SPATIAL_MERGE_SIZE to pick + # the smart-resize grid factor. + for obj in ( + getattr(getattr(self.text_encoder, "config", None), "vision_config", None), + getattr(getattr(self.processor, "image_processor", None), "config", None), + getattr(self.processor, "image_processor", None), + ): + patch = getattr(obj, "patch_size", None) + if patch is not None: + return int(patch) + return 16 + + def _vlm_image(self, pixel: torch.Tensor) -> Image.Image: + # Build the PIL image handed to the text encoder from the condition pixel tensor, + # smart-resized to the Qwen3-VL patch grid. + image = _pixel_tensor_to_pil(pixel) + patch_factor = self._vision_patch_size() * SPATIAL_MERGE_SIZE + w, h = image.size + resized_height, resized_width = smart_resize(h, w, factor=patch_factor) + return image.resize((resized_width, resized_height)) + class LingBotVideoUnit_ShapeChecker(PipelineUnit): def __init__(self): @@ -284,9 +326,13 @@ def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: self._crop_start = int(prefix["input_ids"].shape[1]) return self._crop_start - def encode_prompt(self, pipe: LingBotVideoPipeline, prompt): + def encode_prompt(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None): prompt = self.normalize_caption(prompt) - text = self.PROMPT_TEMPLATE.format(prompt) + # TI2V: prepend the image-token block so the encoder attends to the condition + # frame. The image tokens land after the template prefix, so crop_start is + # unaffected. + visual_template = IMG_PROMPT_TEMPLATE if vlm_image is not None else "" + text = self.PROMPT_TEMPLATE.format(visual_template + prompt) inputs = pipe.processor( text=[text], images=[vlm_image] if vlm_image is not None else None, @@ -362,7 +408,7 @@ def process(self, pipe: LingBotVideoPipeline, input_image, height, width): # was trained to inpaint on. pixel = pipe.preprocess_cond_image(input_image, height, width) pixel = pixel.to(dtype=pipe.torch_dtype, device=pipe.device) - first_frame_latents = pipe.encode_video(pixel * 2.0 - 1.0).to(dtype=torch.float32, device=pipe.device) + first_frame_latents = pipe.vae.encode_video(pixel * 2.0 - 1.0).to(dtype=pipe.torch_dtype, device=pipe.device) vlm_image = pipe._vlm_image(pixel) return {"first_frame_latents": first_frame_latents, "vlm_image": vlm_image} From 4c9ee93581716e89dda091a45380e1e847af4b02 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Tue, 28 Jul 2026 15:07:59 +0800 Subject: [PATCH 21/34] Align TI2V / T2I examples, LoRA + full training, docs and README with reviewer's refactor (531ba56) - TI2V + T2I inference / low-VRAM examples rewritten to the new pipeline API: read structured captions from JSON, pass pipe.default_negative_prompt(_image), drop the removed module-level normalize_caption / DEFAULT_NEGATIVE_PROMPT_IMAGE imports. - Add default_negative_prompt_image attribute to LingBotVideoPipeline (T2I variant with temporal terms removed) so t2i examples can reference it symmetrically with default_negative_prompt. - TI2V LoRA training script aligned to the reviewer's new t2v LoRA (dataset path, num_frames=81, num_epochs=5, dataset_repeat=50); validate_lora rewritten to use pipe.default_negative_prompt + json.load. - New TI2V full-parameter training script + validate_full script (parallel to the reviewer's t2v full training), toggled via --first_frame_as_condition. - Docs rewritten to match the standard Model_Details template: single-checkpoint overview covering T2V / TI2V / T2I with 3-row Examples table, input_image param documented, prompt-rewriter moved under Model Inference, VAE-internals text dropped per reviewer's "keep it about model info + usage" directive. - README.md / README_zh.md: add Update History entry and Video Synthesis series block (Quick Start + Examples table) for LingBot-Video. --- README.md | 74 +++++++ README_zh.md | 74 +++++++ diffsynth/pipelines/lingbot_video.py | 8 + docs/en/Model_Details/LingBot-Video.md | 180 +++++++++--------- docs/zh/Model_Details/LingBot-Video.md | 176 ++++++++--------- .../lingbot-video-dense-1.3b_t2i.py | 21 +- .../lingbot-video-dense-1.3b_ti2v.py | 19 +- .../lingbot-video-dense-1.3b_t2i.py | 25 ++- .../lingbot-video-dense-1.3b_ti2v.py | 23 ++- .../full/lingbot-video-dense-1.3b_ti2v.sh | 26 +++ .../lora/lingbot-video-dense-1.3b_ti2v.sh | 29 +-- .../lingbot-video-dense-1.3b_ti2v.py | 39 ++++ .../lingbot-video-dense-1.3b_ti2v.py | 16 +- 13 files changed, 470 insertions(+), 240 deletions(-) create mode 100644 examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh create mode 100644 examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py diff --git a/README.md b/README.md index 41a6accc0..aa87df426 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ We believe that a well-developed open-source code framework can lower the thresh > Currently, the development personnel of this project are limited, with most of the work handled by [Artiprocher](https://github.com/Artiprocher) and [mi804](https://github.com/mi804). Therefore, the progress of new feature development will be relatively slow, and the speed of responding to and resolving issues is limited. We apologize for this and ask developers to understand. +- **July 28, 2026** LingBot-Video open-sourced, welcome a new member to the video model family! Dense-1.3B is a single checkpoint supporting text-to-video, image-to-video and text-to-image tasks, with low VRAM inference and LoRA / full training. For details, please refer to the [documentation](/docs/en/Model_Details/LingBot-Video.md) and [example code](/examples/lingbot_video/). + - **July 21, 2026** We have open-sourced [DiffSynth-Studio Model Integration Skills](https://www.modelscope.cn/collections/DiffSynth-Studio/DiffSynth-Studio-Model-Integration-Skills). This is a composable collection of Agent Skills that automates the entire workflow of integrating external diffusion models into DiffSynth-Studio, significantly improving the standardization and efficiency of model integration. Get started with the [example](https://www.modelscope.cn/skills/DiffSynth-Studio/diffsynth-integrator/file/view/master/example.md?status=1)! - **June 29, 2026** Boogu-Image open-sourced. Support includes text-to-image generation, image editing, low VRAM inference, and training capabilities. For details, please refer to the [documentation](/docs/en/Model_Details/Boogu-Image.md) and [example code](/examples/boogu_image/). @@ -1447,6 +1449,78 @@ Example code for Wan is available at: [/examples/wanvideo/](/examples/wanvideo/) +#### LingBot-Video: [/docs/en/Model_Details/LingBot-Video.md](/docs/en/Model_Details/LingBot-Video.md) + +

    + +Quick Start + +Running the following code will quickly load the [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) model and perform inference. VRAM management is enabled, and the framework will automatically control the loading of model parameters based on available VRAM. The model can run with a minimum of 24GB VRAM. + +```python +import torch +import json +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video.mp4", fps=15, quality=10) +``` + +
    + +
    + +Examples + +Example code for LingBot-Video is available at: [/examples/lingbot_video/](/examples/lingbot_video/) + +| Model ID | Inference | Low VRAM Inference | Full Training | Full Training Validation | LoRA Training | LoRA Training Validation | +|-|-|-|-|-|-|-| +|[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| +|[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| + +
    + ### Audio Synthesis #### ACE-Step: [/docs/en/Model_Details/ACE-Step.md](/docs/en/Model_Details/ACE-Step.md) diff --git a/README_zh.md b/README_zh.md index ad0606c6a..60766d83d 100644 --- a/README_zh.md +++ b/README_zh.md @@ -36,6 +36,8 @@ DiffSynth 目前包括两个开源项目: > 目前本项目的开发人员有限,大部分工作由 [Artiprocher](https://github.com/Artiprocher) 和 [mi804](https://github.com/mi804) 负责,因此新功能的开发进展会比较缓慢,issue 的回复和解决速度有限,我们对此感到非常抱歉,请各位开发者理解。 +- **2026年7月28日** LingBot-Video 开源,欢迎加入视频生成模型家族!Dense-1.3B 是一份 checkpoint,同时支持文生视频、图生视频和文生图任务,并配备低显存推理和 LoRA / 全量训练能力。详情请参考[文档](/docs/zh/Model_Details/LingBot-Video.md)和[示例代码](/examples/lingbot_video/)。 + - **2026年7月21日** 我们开源了 [DiffSynth-Studio Model Integration Skills](https://www.modelscope.cn/collections/DiffSynth-Studio/DiffSynth-Studio-Model-Integration-Skills)。这是一套可组合的 Agent Skill 合集,将外部扩散模型接入 DiffSynth-Studio 的全流程自动化,大幅提升模型接入标准化程度与效率。从[使用示例](https://www.modelscope.cn/skills/DiffSynth-Studio/diffsynth-integrator/file/view/master/example.md?status=1)开始体验吧! - **2026年6月29日** Boogu-Image 开源,已支持文生图推理、图像编辑、低显存推理和训练能力。详情请参考[文档](/docs/zh/Model_Details/Boogu-Image.md)和[示例代码](/examples/boogu_image/)。 @@ -1447,6 +1449,78 @@ Wan 的示例代码位于:[/examples/wanvideo/](/examples/wanvideo/) +#### LingBot-Video: [/docs/zh/Model_Details/LingBot-Video.md](/docs/zh/Model_Details/LingBot-Video.md) + +
    + +快速开始 + +运行以下代码可以快速加载 [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) 模型并进行推理。显存管理已启动,框架会自动根据剩余显存控制模型参数的加载,最低 24G 显存即可运行。 + +```python +import torch +import json +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video.mp4", fps=15, quality=10) +``` + +
    + +
    + +示例代码 + +LingBot-Video 的示例代码位于:[/examples/lingbot_video/](/examples/lingbot_video/) + +| 模型 ID | 推理 | 低显存推理 | 全量训练 | 全量训练后验证 | LoRA 训练 | LoRA 训练后验证 | +|-|-|-|-|-|-|-| +|[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| +|[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| + +
    + ### 音频生成模型 #### ACE-Step: [/docs/zh/Model_Details/ACE-Step.md](/docs/zh/Model_Details/ACE-Step.md) diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index b7bf7347a..bbb94ed2b 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -108,6 +108,14 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): '"temporal_and_motion_stability": ["flickering", "jittery", "motion blur", "temporal inconsistency", "warping", "morphing", "incoherent motion", "unnatural movement", "static object with sudden jump", "frame-to-frame inconsistency"], ' '"material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "liquid freezing improperly", "distorted reflections"]}}' ) + # T2I variant: video-only temporal/motion group dropped (cannot apply to a still). + self.default_negative_prompt_image = ( + '{"universal_negative": {' + '"visual_quality": ["low quality", "worst quality", "blurry", "pixelated", "jpeg artifacts", "low resolution", "unstable color", "underexposed", "overexposed", "invisible subject", "subject hidden in darkness"], ' + '"artistic_style": ["painting", "illustration", "drawing", "cartoon", "3d render", "cgi", "sketch", "digital art"], ' + '"composition_and_content": ["text", "watermark", "signature", "logo", "subtitles", "pillarboxed", "side bars", "portrait image in landscape frame"], ' + '"material_and_structure": ["plastic-like glass", "unrealistic texture", "deformed bottle", "liquid freezing improperly", "distorted reflections"]}}' + ) @staticmethod def from_pretrained( diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 63a40fb6c..0f4d5f8de 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -1,17 +1,10 @@ # LingBot-Video -LingBot-Video is a flow-matching text-to-video generation model. This document covers DiffSynth-Studio's inference and LoRA SFT training support for the **Dense-1.3B** text-to-video checkpoint. - -The integration is built on the standard DiffSynth pipeline stack: - -- **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. The Dense-1.3B build uses a plain FFN; the architecture also supports an MoE FFN. -- **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. -- **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal compression. -- **Scheduler** — DiffSynth's `FlowMatchScheduler` (Wan template): first-order flow-matching Euler for inference; training uses the full-resolution 1000-step flow-matching schedule. +LingBot-Video is a flow-matching video generation model developed by the LingBot team, supporting text-to-video, image-to-video and text-to-image tasks with a single checkpoint. ## Installation -Before using this project for model inference and training, please install DiffSynth-Studio first. +Before performing model inference and training, please install DiffSynth-Studio first. ```shell git clone https://github.com/modelscope/DiffSynth-Studio.git @@ -19,91 +12,107 @@ cd DiffSynth-Studio pip install -e . ``` -LingBot-Video additionally requires `transformers >= 5.x` (for Qwen3-VL) and `imageio` / `imageio-ffmpeg` for video I/O. For more information about installation, please refer to [Install Dependencies](../Pipeline_Usage/Setup.md). +For more information on installation, please refer to [Setup Dependencies](../Pipeline_Usage/Setup.md). ## Quick Start -Run the following code to quickly load the [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) model and perform text-to-video inference. The required files are downloaded automatically the first time the code runs. - -> **⚠️ Rewrite your prompt into a structured caption first.** LingBot-Video is trained on **structured-JSON captions**, not free-form prose. The plain sentence in the snippet below runs, but it is out-of-distribution and the result will look noticeably soft / low quality. This is expected model behaviour, not a bug — before doing real inference, turn your idea into the structured caption the model expects. See [Prompt rewriting](#prompt-rewriting-important-for-quality) below; the runnable [`lingbot-video-dense-1.3b.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py) example defaults to a released structured caption and shows the optional rewrite path at the bottom. +Running the following code will load the [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) model for inference. VRAM management is enabled, the framework automatically controls parameter loading based on available VRAM, requiring a minimum of 24GB VRAM. ```python import torch -from diffsynth.utils.data import save_video +import json +from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", ) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + video = pipe( - # A plain sentence is a minimal smoke test only — it is out-of-distribution. - # For real quality, pass a structured caption instead (see "Prompt rewriting"). - prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=3.0, seed=0, + num_inference_steps=40, cfg_scale=3.0, + seed=0, ) save_video(video, "video.mp4", fps=15, quality=10) ``` -**Low VRAM:** set `offload_dtype` / `offload_device` on each `ModelConfig` to enable layer-by-layer offloading; `vram_limit` alone has no effect (it only caps resident VRAM once offloading is on). See the low-VRAM example in the table below. - ## Model Overview -| Model ID | Inference | Low VRAM Inference | Full Training | Full Training Validation | LoRA Training | LoRA Training Validation | +Dense-1.3B is a single checkpoint that serves three tasks — text-to-video, image-to-video, and text-to-image — through the same pipeline. Each task ships its own inference / low-VRAM / training / validation scripts. + +|Model ID|Inference|Low VRAM Inference|Full Training|Full Training Validation|LoRA Training|LoRA Training Validation| |-|-|-|-|-|-|-| -|[Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|-|-|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| +|[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| ## Model Inference The model is loaded via `LingBotVideoPipeline.from_pretrained`, see [Loading Models](../Pipeline_Usage/Model_Inference.md#loading-models) for details. -Input parameters for `LingBotVideoPipeline` inference include: +The input parameters for `LingBotVideoPipeline` inference include: -* `prompt`: Prompt describing the content appearing in the video. Accepts a structured caption (`dict`) or a plain string; see [Prompt rewriting](#prompt-rewriting-important-for-quality). -* `negative_prompt`: Negative prompt describing content that should not appear in the video, default value is `""`. The official T2V negative prompt ships as `pipe.default_negative_prompt` and can be passed via `negative_prompt=pipe.default_negative_prompt`. +* `prompt`: Structured-JSON caption (`dict`) or a plain string describing the content. LingBot-Video is trained on structured captions; the pipeline normalises a `dict` automatically. Released structured captions ship in the example dataset (see [Prompt rewriting](#prompt-rewriting) below). +* `negative_prompt`: Negative prompt describing content that should not appear. `pipe.default_negative_prompt` ships the official T2V/V2V/TI2V negative prompt; `pipe.default_negative_prompt_image` is the T2I variant with temporal terms removed. +* `input_image`: First-frame PIL image for image-to-video (TI2V). The frame is VAE-encoded to a clean latent pinned into the first temporal slot after every scheduler step, so the model only generates the frames that follow. Leave `None` for T2V / V2V / T2I. * `input_video`: Input video (a list of frames or a `VideoData`) for video-to-video generation, used together with `denoising_strength`. -* `denoising_strength`: Denoising strength, range 0~1, default value is 1.0. Lower values keep more of the input video structure. Only effective when `input_video` is provided. -* `height`: Video height, default 480. Must be a multiple of 16. -* `width`: Video width, default 480. Must be a multiple of 16. -* `num_frames`: Number of video frames, default 81. Must satisfy `4k+1` (the VAE compresses time by 4×). -* `cfg_scale`: Classifier-free guidance scale, default 6.0. A value of 3.0 is recommended for the Dense-1.3B model. -* `num_inference_steps`: Number of inference steps, default 40. -* `sigma_shift`: Flow-matching timestep shift, default 3.0. +* `denoising_strength`: Denoising strength in `[0, 1]`, default `1.0`. Lower values keep more of the input video structure. Only effective when `input_video` is provided. +* `height`: Video / image height, default `480`. Must be a multiple of 16. +* `width`: Video / image width, default `480`. Must be a multiple of 16. +* `num_frames`: Number of frames, default `81`. Must satisfy `4k+1` (the VAE compresses time by 4×). Use `num_frames=1` for text-to-image. +* `cfg_scale`: Classifier-free guidance scale, default `3.0`. +* `num_inference_steps`: Number of inference steps, default `40`. +* `sigma_shift`: Flow-matching timestep shift, default `3.0`. * `seed`: Random seed. Default is `None`, meaning completely random. * `rand_device`: Device for generating the initial noise, default `"cpu"`. * `progress_bar_cmd`: Progress bar, default `tqdm`. Can be disabled by setting to `lambda x: x`. -When running low on VRAM, please refer to [VRAM Management](../Pipeline_Usage/VRAM_management.md) to enable VRAM management features. +If VRAM is insufficient, please enable [VRAM Management](../Pipeline_Usage/VRAM_management.md). We provide recommended low-VRAM configurations for each task in the example code, see the table in the "Model Overview" section above. -## Prompt rewriting (important for quality) +### Prompt rewriting -LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality; feeding the structured caption the model expects restores it. The pipeline accepts a caption as a `dict` or a plain string and normalises it to the exact compact-JSON format the DiT was trained on — a `dict` is serialised automatically, a plain string is passed through unchanged, so existing scripts keep working. +LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality. The pipeline accepts a caption as a `dict` (the format used at training time) or a plain string, and normalises the `dict` internally. -To turn a **brief idea** into that structured caption, use the two-stage rewriter shipped with the examples (`examples/lingbot_video/model_training/scripts/prompt_rewriter.py`): stage 1 *expands* the idea into a natural-language caption, stage 2 *maps* it into structured JSON. +Released structured captions ship in the example dataset (`t2v_example_*.json`, `ti2v_example.json`, `t2i_example.json` under `DiffSynth-Studio/diffsynth_example_dataset`, downloaded automatically by the inference example scripts). Load one with `json.load` and pass the resulting `dict` to the pipeline, or use one as a template. -The rewriter is a **separate VLM + stage-2 LoRA adapter** (not the DiT), so it is **not downloaded automatically** — you must fetch both weights yourself before running the rewrite: +To turn a brief idea into a structured caption, use the two-stage rewriter shipped under `examples/lingbot_video/model_training/scripts/prompt_rewriter.py` — stage 1 expands the idea into a natural-language caption, stage 2 maps it into structured JSON. The rewriter is a **separate VLM + stage-2 LoRA adapter** and is not downloaded automatically: | Role | Model ID | Size | |-|-|-| | Rewriter base VLM (stage 1 + 2) | [`Qwen/Qwen3.6-27B`](https://modelscope.cn/models/Qwen/Qwen3.6-27B) | ~55 GB | | Rewriter stage-2 LoRA adapter | [`Robbyant/lingbot-video-rewriter-lora`](https://modelscope.cn/models/Robbyant/lingbot-video-rewriter-lora) | ~0.5 GB | -```shell -# 1. Download the rewriter base VLM and its stage-2 LoRA adapter. -modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B -modelscope download --model Robbyant/lingbot-video-rewriter-lora --local_dir ./models/Robbyant/lingbot-video-rewriter-lora -``` - ```python -# 2. Point the rewriter at the downloaded weights, then rewrite and run inference. import os os.environ["REWRITER_BASE_MODEL"] = "./models/Qwen/Qwen3.6-27B" os.environ["REWRITER_ADAPTER"] = "./models/Robbyant/lingbot-video-rewriter-lora" @@ -114,73 +123,64 @@ caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` -Instead of the env vars you can pass `base=` / `adapter=` to `rewrite_prompt`, or skip the local VLM entirely and drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. See the optional rewrite section at the bottom of `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py`. - -If you don't have the rewriter model, released LingBot-Video t2v structured captions ship in the example dataset as ready-to-use samples (`t2v_example_*.json` under `DiffSynth-Studio/diffsynth_example_dataset`, downloaded automatically by the inference example scripts). Load one with `json.load` and pass the resulting `dict` to the pipeline, or copy one as a template for writing your own structured caption. +Instead of the env vars you can pass `base=` / `adapter=` to `rewrite_prompt`, or drive a hosted / OpenAI-compatible endpoint by passing a custom object exposing `generate(text, image, use_lora)` as `backend=`. ## Model Training -LingBot-Video is trained through [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py), which fine-tunes the DiT with LoRA using the flow-matching SFT objective. The script parameters include: +Models in the LingBot-Video series are trained uniformly via [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py). The script parameters include: * General Training Parameters - * Dataset Basic Configuration + * Dataset Configuration * `--dataset_base_path`: Root directory of the dataset. - * `--dataset_metadata_path`: Metadata file path of the dataset (a CSV / JSONL with a `video` column and a `prompt` column). - * `--dataset_repeat`: Number of times the dataset is repeated in each epoch. - * `--dataset_num_workers`: Number of processes for each DataLoader. - * `--data_file_keys`: Field names to be loaded from metadata as files, usually video file paths, separated by `,`. + * `--dataset_metadata_path`: Path to the dataset metadata file. + * `--dataset_repeat`: Number of dataset repeats per epoch. + * `--dataset_num_workers`: Number of processes per DataLoader. + * `--data_file_keys`: Field names to load from metadata, typically paths to image or video files, separated by `,`. * Model Loading Configuration - * `--model_paths`: Paths of models to be loaded. JSON format. + * `--model_paths`: Paths to load models from, in JSON format. * `--model_id_with_origin_paths`: Model IDs with original paths, separated by commas. - * Training Basic Configuration + * `--extra_inputs`: Additional input parameters required by the model Pipeline, separated by `,`. + * `--fp8_models`: Models to load in FP8 format, currently only supported for models whose parameters are not updated by gradients. + * Basic Training Configuration * `--learning_rate`: Learning rate. * `--num_epochs`: Number of epochs. - * `--task`: Training task, default is `sft`. + * `--trainable_models`: Trainable models, e.g., `dit`, `vae`, `text_encoder`. + * `--find_unused_parameters`: Whether unused parameters exist in DDP training. + * `--weight_decay`: Weight decay magnitude. + * `--task`: Training task, defaults to `sft`. * Output Configuration - * `--output_path`: Model saving path. - * `--remove_prefix_in_ckpt`: Remove prefix in the state dict of the saved model. - * `--save_steps`: Interval of training steps to save the model. If left blank, the model is saved once per epoch. + * `--output_path`: Path to save the model. + * `--remove_prefix_in_ckpt`: Remove prefix in the model's state dict. + * `--save_steps`: Interval in training steps to save the model. * LoRA Configuration - * `--lora_base_model`: Which model to add LoRA to, e.g. `dit`. + * `--lora_base_model`: Which model to add LoRA to. * `--lora_target_modules`: Which layers to add LoRA to. * `--lora_rank`: Rank of LoRA. - * `--lora_checkpoint`: Path of a LoRA checkpoint to resume / continue from. + * `--lora_checkpoint`: Path to LoRA checkpoint. + * `--preset_lora_path`: Path to preset LoRA checkpoint for LoRA differential training. + * `--preset_lora_model`: Which model to integrate preset LoRA into, e.g., `dit`. * Gradient Configuration * `--use_gradient_checkpointing`: Whether to enable gradient checkpointing. - * `--use_gradient_checkpointing_offload`: Whether to offload gradient checkpointing to memory. + * `--use_gradient_checkpointing_offload`: Whether to offload gradient checkpointing to CPU memory. * `--gradient_accumulation_steps`: Number of gradient accumulation steps. - * Video Width/Height Configuration + * Resolution Configuration * `--height`: Height of the video. Must be divisible by 16. * `--width`: Width of the video. Must be divisible by 16. + * `--max_pixels`: Maximum pixel area, images larger than this will be scaled down during dynamic resolution. * `--num_frames`: Number of frames in the video. Must satisfy `4k+1`. * LingBot-Video Specific Parameters - * `--processor_path`: Path of the Qwen3-VL processor used by the text encoder. + * `--processor_path`: Path to the Qwen3-VL processor directory (or `model_id:origin_file_pattern`). Used to tokenize prompts. + * `--first_frame_as_condition`: Enable image-to-video (TI2V) LoRA / full training. Each clip is conditioned on its own first frame: the frame is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to the Qwen3-VL text encoder as vision input), and excluded from the flow-matching loss. + * `--max_timestep_boundary`: Max timestep boundary as a fraction of the training schedule, in `[0, 1]`. + * `--min_timestep_boundary`: Min timestep boundary as a fraction of the training schedule, in `[0, 1]`. + * `--initialize_model_on_cpu`: Whether to initialize models on CPU. -The launch script first downloads the example video-SFT dataset used across DiffSynth-Studio, then trains on it: +We provide a sample dataset for your testing. You can download it with the following command: ```shell -modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ - --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset -``` - -### Attention-only LoRA (default scope) - -The recommended launch script patches LoRA on the joint text+video self-attention only: - -``` ---lora_base_model "dit" ---lora_target_modules "to_q,to_k,to_v,to_out" ---lora_rank 32 ---remove_prefix_in_ckpt "pipe.dit." +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b/*" --local_dir ./data/diffsynth_example_dataset ``` -The MoE / FFN experts (`gate_proj`, `up_proj`, `down_proj`) and the router are left frozen. To also adapt the FFN, add those module names to `--lora_target_modules`. - -For best results the `prompt` column should hold **structured-JSON captions** (the same in-distribution format used at inference — see [Prompt rewriting](#prompt-rewriting-important-for-quality)). The pipeline normalises each prompt internally. If your dataset stores raw prose, rewrite it once offline with `examples/lingbot_video/model_training/scripts/rewrite_captions.py` before training. - -We have written recommended training scripts, please refer to the table in the "Model Overview" section above. For how to write model training scripts, please refer to [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, please refer to [Training Framework Detailed Explanation](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). - -## Notes +Training captions should be **structured-JSON captions** (the same in-distribution format used at inference). If your dataset stores raw prose, rewrite it once offline with [`examples/lingbot_video/model_training/scripts/rewrite_captions.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/scripts/rewrite_captions.py) before training. -- The text encoder shares its checkpoint fingerprint with the existing `krea2_text_encoder` (identical Qwen3-VL architecture), so the model loader instantiates both when loading LingBot-Video. This is redundant load time only — the pipeline fetches the correct encoder by name and the other is released. -- The 5D-video VAE encode/decode and its latent normalisation live in the pipeline (`LingBotVideoPipeline.encode_video` / `decode_video`), so `QwenImageVAE` stays byte-identical to its image use elsewhere; the pipeline does not separately re-apply `latents_mean` / `latents_std`. +We provide recommended training scripts for each task, please refer to the table in "Model Overview" above. For guidance on writing model training scripts, see [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, see [Training Framework Overview](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index a47151fc0..3564a41cf 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -1,13 +1,6 @@ # LingBot-Video -LingBot-Video 是一个基于 flow-matching 的文生视频生成模型。本文档介绍 DiffSynth-Studio 对 **Dense-1.3B** 文生视频权重的推理与 LoRA SFT 训练支持。 - -该接入基于标准的 DiffSynth Pipeline 组件栈构建: - -- **DiT** — `LingBotVideoDiT`(`diffsynth/models/lingbot_video_dit.py`),视频去噪器。Dense-1.3B 版本使用普通 FFN;该架构同时支持 MoE FFN。 -- **文本编码器** — `LingBotVideoTextEncoder`(Qwen3-VL)。提示词会被包裹进提示增强的对话模板中编码,随后裁剪掉模板前缀 token。 -- **VAE** — 复用 DiffSynth 的 `QwenImageVAE`(与 LingBot-Video 的 VAE 逐字节一致),空间 8× / 时间 4× 压缩。 -- **调度器** — DiffSynth 的 `FlowMatchScheduler`(Wan 模板):推理时使用一阶 flow-matching Euler;训练时使用完整分辨率的 1000 步 flow-matching 调度。 +LingBot-Video 是由 LingBot 团队研发的 flow-matching 视频生成模型,同一份 checkpoint 支持文生视频、图生视频和文生图三种任务。 ## 安装 @@ -19,47 +12,69 @@ cd DiffSynth-Studio pip install -e . ``` -LingBot-Video 还额外依赖 `transformers >= 5.x`(用于 Qwen3-VL)以及 `imageio` / `imageio-ffmpeg`(用于视频读写)。更多关于安装的信息,请参考[安装依赖](../Pipeline_Usage/Setup.md)。 +更多关于安装的信息,请参考[安装依赖](../Pipeline_Usage/Setup.md)。 ## 快速开始 -运行以下代码可以快速加载 [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) 模型并进行文生视频推理。首次运行时会自动下载所需文件。 - -> **⚠️ 推理前请先把提示词改写为结构化 caption。** LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。下面代码里的普通句子能跑通,但属于分布外输入,生成结果会明显偏"糊"、质量偏低。这是模型的预期行为,并非 bug —— 正式推理前,请先把想法转成模型期望的结构化 caption。详见下文[提示词改写](#提示词改写对质量很重要);可直接运行的 [`lingbot-video-dense-1.3b.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py) 示例默认使用随仓库发布的结构化 caption,并在文件末尾给出可选的改写流程。 +运行以下代码可以快速加载 [Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b) 模型并进行推理。显存管理已启动,框架会自动根据剩余显存控制模型参数的加载,最低 24G 显存即可运行。 ```python import torch -from diffsynth.utils.data import save_video +import json +from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", ) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + video = pipe( - # 普通句子仅用于最简单的跑通验证,属于分布外输入。 - # 正式使用请改传结构化 caption(见"提示词改写"章节)。 - prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, - num_inference_steps=40, cfg_scale=3.0, seed=0, + num_inference_steps=40, cfg_scale=3.0, + seed=0, ) save_video(video, "video.mp4", fps=15, quality=10) ``` -**低显存:** 在每个 `ModelConfig` 上设置 `offload_dtype` / `offload_device` 才能开启逐层 offload;单独传 `vram_limit` 没有效果(它只在 offload 已开启时限制常驻显存上限)。详见下表中的低显存示例。 - ## 模型总览 +Dense-1.3B 是一份 checkpoint,通过同一个 Pipeline 支持文生视频、图生视频、文生图三种任务,每种任务都配有推理 / 低显存 / 训练 / 验证脚本。 + |模型 ID|推理|低显存推理|全量训练|全量训练后验证|LoRA 训练|LoRA 训练后验证| |-|-|-|-|-|-|-| -|[Robbyant/lingbot-video-dense-1.3b](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|-|-|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| +|[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| +|[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| ## 模型推理 @@ -67,43 +82,37 @@ save_video(video, "video.mp4", fps=15, quality=10) `LingBotVideoPipeline` 推理的输入参数包括: -* `prompt`: 描述视频内容的提示词。支持结构化 caption(`dict`)或普通字符串;详见[提示词改写](#提示词改写对质量很重要)。 -* `negative_prompt`: 负向提示词,描述不希望出现在视频中的内容,默认值为 `""`。官方 T2V 负向提示词内置在 `pipe.default_negative_prompt` 中,可通过 `negative_prompt=pipe.default_negative_prompt` 传入。 -* `input_video`: 输入视频(帧列表或 `VideoData`),用于视频生视频,需与 `denoising_strength` 配合使用。 -* `denoising_strength`: 降噪强度,取值范围 0~1,默认为 1.0。值越小,越保留输入视频的结构。仅在提供 `input_video` 时生效。 -* `height`: 视频高度,默认为 480,需能被 16 整除。 -* `width`: 视频宽度,默认为 480,需能被 16 整除。 -* `num_frames`: 视频帧数,默认为 81,需满足 `4k+1`(VAE 在时间维上做 4× 压缩)。 -* `cfg_scale`: 分类器自由引导系数,默认为 6.0。Dense-1.3B 模型推荐使用 3.0。 -* `num_inference_steps`: 推理步数,默认为 40。 -* `sigma_shift`: flow-matching 时间步偏移,默认为 3.0。 -* `seed`: 随机种子,默认为 `None`,即完全随机。 -* `rand_device`: 生成初始噪声的设备,默认为 `"cpu"`。 -* `progress_bar_cmd`: 进度条,默认为 `tqdm`,可设为 `lambda x: x` 关闭。 +* `prompt`: 描述视频内容的提示词,接受结构化 JSON caption(`dict`)或纯字符串。LingBot-Video 在结构化 caption 上训练,Pipeline 会自动对 `dict` 进行归一化。示例数据集中提供了发布版的结构化 caption(见下方[提示词改写](#提示词改写))。 +* `negative_prompt`: 描述不应出现内容的负向提示词。`pipe.default_negative_prompt` 提供了官方 T2V/V2V/TI2V 负向提示词;`pipe.default_negative_prompt_image` 是移除时序项后的 T2I 版本。 +* `input_image`: 图生视频(TI2V)的首帧 PIL 图像。该帧被 VAE 编码成 clean latent,在每个采样步之后重新写入第一个时间槽,使模型只生成后续帧。T2V / V2V / T2I 时留 `None`。 +* `input_video`: 视频到视频生成的输入视频(帧列表或 `VideoData`),与 `denoising_strength` 配合使用。 +* `denoising_strength`: 去噪强度,范围 `[0, 1]`,默认 `1.0`。较小值保留更多输入视频结构。仅当 `input_video` 提供时生效。 +* `height`: 视频 / 图像高度,默认 `480`,必须是 16 的倍数。 +* `width`: 视频 / 图像宽度,默认 `480`,必须是 16 的倍数。 +* `num_frames`: 帧数,默认 `81`,须满足 `4k+1`(VAE 时间上 4× 压缩)。文生图使用 `num_frames=1`。 +* `cfg_scale`: 无分类器指导强度,默认 `3.0`。 +* `num_inference_steps`: 推理步数,默认 `40`。 +* `sigma_shift`: Flow-matching 时间步 shift,默认 `3.0`。 +* `seed`: 随机种子,默认 `None`(完全随机)。 +* `rand_device`: 生成初始噪声的设备,默认 `"cpu"`。 +* `progress_bar_cmd`: 进度条,默认 `tqdm`,可设为 `lambda x: x` 关闭。 -显存不足时,请参考[显存管理](../Pipeline_Usage/VRAM_management.md)启用显存管理功能。 +显存不足时请参考[显存管理](../Pipeline_Usage/VRAM_management.md)启用显存管理功能。我们在示例代码中提供了每个任务的推荐低显存配置,见上方"模型总览"中的表格。 -## 提示词改写(对质量很重要) +### 提示词改写 -LingBot-Video 使用**结构化 JSON caption** 训练,而非自由文本。喂入一句普通句子属于分布外(out-of-distribution)输入,会明显降低质量;喂入模型期望的结构化 caption 则能恢复质量。Pipeline 接受 `dict` 或普通字符串形式的 caption,并将其归一化为 DiT 训练时使用的紧凑 JSON 格式——`dict` 会自动序列化,普通字符串会原样透传,因此已有脚本无需改动。 +LingBot-Video 训练时使用的是**结构化 JSON caption**,直接喂平铺句子属于分布外输入,会明显降低生成质量。Pipeline 接受 `dict` 形式的 caption(与训练一致的格式)或纯字符串,`dict` 会被内部归一化。 -若要把一个**简短想法**转成该结构化 caption,可使用随示例发布的两阶段改写器(`examples/lingbot_video/model_training/scripts/prompt_rewriter.py`):阶段一将想法*扩写*为自然语言 caption,阶段二将其*映射*为结构化 JSON。 +发布版的结构化 caption 已通过 `DiffSynth-Studio/diffsynth_example_dataset` 示例数据集提供(`t2v_example_*.json`、`ti2v_example.json`、`t2i_example.json`,推理示例脚本会自动下载)。用 `json.load` 读入后作为 `dict` 传入 Pipeline,或作为编写自定义 caption 的模板。 -改写器是**独立的 VLM + 阶段二 LoRA 适配器**(不是 DiT),**不会自动下载**——运行改写前,需要先自行下载这两个权重: +如需将一段简短描述改写为结构化 caption,可使用 `examples/lingbot_video/model_training/scripts/prompt_rewriter.py` 中的两阶段改写器:阶段 1 将想法扩展为自然语言描述,阶段 2 将其映射为结构化 JSON。改写器是**独立的 VLM + 阶段二 LoRA 适配器**,需要另外下载: | 角色 | 模型 ID | 大小 | |-|-|-| -| 改写器 base VLM(阶段一 + 二) | [`Qwen/Qwen3.6-27B`](https://modelscope.cn/models/Qwen/Qwen3.6-27B) | ~55 GB | +| 改写器 base VLM(阶段 1 + 2) | [`Qwen/Qwen3.6-27B`](https://modelscope.cn/models/Qwen/Qwen3.6-27B) | ~55 GB | | 改写器阶段二 LoRA 适配器 | [`Robbyant/lingbot-video-rewriter-lora`](https://modelscope.cn/models/Robbyant/lingbot-video-rewriter-lora) | ~0.5 GB | -```shell -# 1. 下载改写器 base VLM 及其阶段二 LoRA 适配器。 -modelscope download --model Qwen/Qwen3.6-27B --local_dir ./models/Qwen/Qwen3.6-27B -modelscope download --model Robbyant/lingbot-video-rewriter-lora --local_dir ./models/Robbyant/lingbot-video-rewriter-lora -``` - ```python -# 2. 让改写器指向已下载的权重,再改写并推理。 import os os.environ["REWRITER_BASE_MODEL"] = "./models/Qwen/Qwen3.6-27B" os.environ["REWRITER_ADAPTER"] = "./models/Robbyant/lingbot-video-rewriter-lora" @@ -114,73 +123,64 @@ caption = rewrite_prompt("a puppy running across a meadow", mode="t2v", duration video = pipe(prompt=caption, height=480, width=832, num_frames=81, cfg_scale=3.0) ``` -除了 env var,也可以给 `rewrite_prompt` 传 `base=` / `adapter=`;或者完全不下载本地 VLM,改为传入一个暴露 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,来驱动托管的 / OpenAI 兼容的推理端点。详见 `examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py` 文件末尾的可选改写小节。 - -如果没有改写器模型,官方 LingBot-Video t2v 结构化 caption 已随样例数据集发布(`DiffSynth-Studio/diffsynth_example_dataset` 中的 `t2v_example_*.json`,推理示例脚本会自动下载)。用 `json.load` 读入后作为 `dict` 传给 pipeline,也可以复制一个作为编写自己 caption 的模板。 +除环境变量外,也可以直接向 `rewrite_prompt` 传 `base=` / `adapter=`;或者提供一个实现了 `generate(text, image, use_lora)` 方法的自定义对象作为 `backend=`,从而对接托管服务或 OpenAI-compatible 端点。 ## 模型训练 -LingBot-Video 通过 [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py) 进行训练,使用 flow-matching SFT 目标对 DiT 做 LoRA 微调。脚本的参数包括: +LingBot-Video 系列模型统一通过 [`examples/lingbot_video/model_training/train.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/train.py) 进行训练,脚本的参数包括: * 通用训练参数 * 数据集基础配置 * `--dataset_base_path`: 数据集的根目录。 - * `--dataset_metadata_path`: 数据集的元数据文件路径(含 `video` 列与 `prompt` 列的 CSV / JSONL)。 + * `--dataset_metadata_path`: 数据集的元数据文件路径。 * `--dataset_repeat`: 每个 epoch 中数据集重复的次数。 * `--dataset_num_workers`: 每个 Dataloader 的进程数量。 - * `--data_file_keys`: 元数据中需要按文件加载的字段名称,通常是视频文件路径,以 `,` 分隔。 + * `--data_file_keys`: 元数据中需要加载的字段名称,通常是图像或视频文件的路径,以 `,` 分隔。 * 模型加载配置 * `--model_paths`: 要加载的模型路径。JSON 格式。 - * `--model_id_with_origin_paths`: 带原始路径的模型 ID,用逗号分隔。 + * `--model_id_with_origin_paths`: 带原始路径的模型 ID。用逗号分隔。 + * `--extra_inputs`: 模型 Pipeline 所需的额外输入参数,以 `,` 分隔。 + * `--fp8_models`: 以 FP8 格式加载的模型,目前仅支持参数不被梯度更新的模型。 * 训练基础配置 * `--learning_rate`: 学习率。 * `--num_epochs`: 轮数(Epoch)。 + * `--trainable_models`: 可训练的模型,例如 `dit`、`vae`、`text_encoder`。 + * `--find_unused_parameters`: DDP 训练中是否存在未使用的参数。 + * `--weight_decay`: 权重衰减大小。 * `--task`: 训练任务,默认为 `sft`。 * 输出配置 * `--output_path`: 模型保存路径。 - * `--remove_prefix_in_ckpt`: 在保存模型的 state dict 中移除前缀。 - * `--save_steps`: 保存模型的训练步数间隔。留空则每个 epoch 保存一次。 + * `--remove_prefix_in_ckpt`: 在模型文件的 state dict 中移除前缀。 + * `--save_steps`: 保存模型的训练步数间隔。 * LoRA 配置 - * `--lora_base_model`: LoRA 添加到哪个模型上,例如 `dit`。 + * `--lora_base_model`: LoRA 添加到哪个模型上。 * `--lora_target_modules`: LoRA 添加到哪些层上。 * `--lora_rank`: LoRA 的秩(Rank)。 - * `--lora_checkpoint`: 用于续训 / 继续训练的 LoRA 检查点路径。 + * `--lora_checkpoint`: LoRA 检查点的路径。 + * `--preset_lora_path`: 预置 LoRA 检查点路径,用于 LoRA 差分训练。 + * `--preset_lora_model`: 预置 LoRA 融入的模型,例如 `dit`。 * 梯度配置 * `--use_gradient_checkpointing`: 是否启用 gradient checkpointing。 * `--use_gradient_checkpointing_offload`: 是否将 gradient checkpointing 卸载到内存中。 * `--gradient_accumulation_steps`: 梯度累积步数。 - * 视频宽高配置 - * `--height`: 视频高度,需能被 16 整除。 - * `--width`: 视频宽度,需能被 16 整除。 - * `--num_frames`: 视频帧数,需满足 `4k+1`。 + * 分辨率配置 + * `--height`: 视频的高度,必须能被 16 整除。 + * `--width`: 视频的宽度,必须能被 16 整除。 + * `--max_pixels`: 最大像素面积,动态分辨率时大于此值的图片会被缩小。 + * `--num_frames`: 视频的帧数,须满足 `4k+1`。 * LingBot-Video 专有参数 - * `--processor_path`: 文本编码器使用的 Qwen3-VL processor 路径。 + * `--processor_path`: Qwen3-VL processor 目录(或 `model_id:origin_file_pattern` 形式)路径,用于对 prompt 进行 tokenize。 + * `--first_frame_as_condition`: 启用图生视频(TI2V)的 LoRA / 全量训练。每段视频以自己的第一帧作为条件:该帧被 VAE 编码为 clean latent 固定到第一个时间槽(同时作为视觉输入送入 Qwen3-VL 文本编码器),并从 flow-matching 损失中排除。 + * `--max_timestep_boundary`: 训练时时间步的上边界,取值 `[0, 1]` 表示相对训练调度的比例。 + * `--min_timestep_boundary`: 训练时时间步的下边界,取值 `[0, 1]` 表示相对训练调度的比例。 + * `--initialize_model_on_cpu`: 是否在 CPU 上初始化模型。 -启动脚本会先下载 DiffSynth-Studio 通用的示例视频 SFT 数据集,然后在其上训练: +我们构建了一个样例数据集供您测试,可通过以下命令下载: ```shell -modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset \ - --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset -``` - -### 仅注意力 LoRA(默认范围) - -推荐的启动脚本仅在文本+视频联合自注意力上添加 LoRA: - -``` ---lora_base_model "dit" ---lora_target_modules "to_q,to_k,to_v,to_out" ---lora_rank 32 ---remove_prefix_in_ckpt "pipe.dit." +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b/*" --local_dir ./data/diffsynth_example_dataset ``` -MoE / FFN 专家(`gate_proj`、`up_proj`、`down_proj`)与 router 保持冻结。若要同时微调 FFN,可将这些模块名加入 `--lora_target_modules`。 - -为获得最佳效果,`prompt` 列应存放**结构化 JSON caption**(与推理时一致的分布内格式——见[提示词改写](#提示词改写对质量很重要))。Pipeline 会在内部对每条 prompt 做归一化。若数据集存放的是原始文本,请在训练前用 `examples/lingbot_video/model_training/scripts/rewrite_captions.py` 离线改写一次。 - -我们编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 - -## 注意事项 +训练时 `prompt` 字段应存放**结构化 JSON caption**(与推理时使用的分布内格式一致)。如果数据集里存的是原始散文,可先使用 [`examples/lingbot_video/model_training/scripts/rewrite_captions.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/scripts/rewrite_captions.py) 离线改写一次。 -- 文本编码器与已有的 `krea2_text_encoder` 共享同一 checkpoint 指纹(Qwen3-VL 架构相同),因此模型加载器在加载 LingBot-Video 时会同时实例化两者。这只是冗余的加载耗时——Pipeline 会按名称取用正确的编码器,另一个会被释放。 -- 5D 视频的 VAE 编码/解码及其 latent 归一化都在 Pipeline 内实现(`LingBotVideoPipeline.encode_video` / `decode_video`),因此 `QwenImageVAE` 与它在图像场景下的用法保持逐字节一致;Pipeline 不会再额外应用 `latents_mean` / `latents_std`。 +我们为每个任务编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py index 24fe3e23d..ad9a49495 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py @@ -1,14 +1,14 @@ import os +import json import torch -from diffsynth.pipelines.lingbot_video import ( - LingBotVideoPipeline, ModelConfig, normalize_caption, DEFAULT_NEGATIVE_PROMPT_IMAGE, -) +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -# Text-to-image (t2i) is text-to-video with a single frame: pass num_frames=1 through the -# same pipeline and DiT (no separate image weight). The only image-specific knob is the -# negative prompt — DEFAULT_NEGATIVE_PROMPT_IMAGE drops the temporal/motion terms that -# cannot apply to a still frame. The pipeline returns a 1-frame list, i.e. one PIL image. +# Text-to-image (t2i). t2i is text-to-video with a single frame: pass num_frames=1 through +# the same pipeline and DiT (no separate image weight). The only image-specific knob is the +# negative prompt -- `pipe.default_negative_prompt_image` drops the temporal/motion terms +# that cannot apply to a still frame. The pipeline returns a 1-frame list, i.e. one PIL +# image. pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, @@ -21,11 +21,12 @@ processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) -# prompts/t2i_example.json is a released in-distribution still-image caption. -caption = normalize_caption(os.path.join(os.path.dirname(__file__), "prompts", "t2i_example.json")) +with open(os.path.join(os.path.dirname(__file__), "prompts", "t2i_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) + frames = pipe( prompt=caption, - negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + negative_prompt=pipe.default_negative_prompt_image, height=480, width=832, num_frames=1, num_inference_steps=40, cfg_scale=3.0, seed=0, diff --git a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py index fe69d385f..8b7d6652a 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py +++ b/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py @@ -1,14 +1,16 @@ import os +import json import torch from PIL import Image from diffsynth.utils.data import save_video -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -# Image-to-video (TI2V). Dense-1.3B reuses the SAME T2V checkpoint — there is no separate +# Image-to-video (TI2V). Dense-1.3B reuses the SAME T2V checkpoint -- there is no separate # i2v weight. The condition first frame is used twice: as visual input to the Qwen3-VL text -# encoder, and as a clean latent pinned into the first frame of the diffusion latent so the -# model only generates the frames that follow. Pass a first frame via `input_image`. +# encoder, and VAE-encoded to a clean latent pinned into the first frame of the diffusion +# latent (and re-pinned after every denoising step) so the model only generates the frames +# that follow. Pass a first frame via `input_image`. pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, @@ -21,15 +23,16 @@ processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) -# prompts/ti2v_example.json is a released in-distribution caption paired with the first frame -# in assets/ti2v_first_frame.png. The caption should describe the motion that unfolds from the -# given frame; the pipeline calls normalize_caption internally so a path also works directly. +# In-tree released ti2v caption + paired first frame; the reviewer will move these to the +# diffsynth_example_dataset repo in a follow-up pass. here = os.path.dirname(__file__) -caption = normalize_caption(os.path.join(here, "prompts", "ti2v_example.json")) +with open(os.path.join(here, "prompts", "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) input_image = Image.open(os.path.join(here, "assets", "ti2v_first_frame.png")).convert("RGB") video = pipe( prompt=caption, + negative_prompt=pipe.default_negative_prompt, input_image=input_image, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py index 92d4ec6ba..c237ba8b0 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py @@ -1,19 +1,16 @@ import os +import json import torch -from diffsynth.pipelines.lingbot_video import ( - LingBotVideoPipeline, ModelConfig, normalize_caption, DEFAULT_NEGATIVE_PROMPT_IMAGE, -) +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig # Low-VRAM text-to-image (t2i). t2i is text-to-video with num_frames=1 through the same # pipeline and DiT (no separate image weight); the only image-specific knob is the negative -# prompt (DEFAULT_NEGATIVE_PROMPT_IMAGE drops temporal/motion terms). offload_dtype / -# offload_device on each ModelConfig turn on VRAM management: weights stay on CPU in fp8 and -# stream to the GPU layer-by-layer, computed in bf16. vram_limit only caps resident VRAM once -# offloading is enabled by those two fields. +# prompt (`pipe.default_negative_prompt_image` drops temporal/motion terms). Uses the same +# disk-offload VRAM profile as the low-VRAM t2v/ti2v examples. vram_config = { - "offload_dtype": torch.float8_e4m3fn, - "offload_device": "cpu", + "offload_dtype": "disk", + "offload_device": "disk", "onload_dtype": torch.float8_e4m3fn, "onload_device": "cpu", "preparing_dtype": torch.float8_e4m3fn, @@ -31,15 +28,15 @@ ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), - vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, ) -# prompts/t2i_example.json is a released in-distribution still-image caption. -caption = normalize_caption(os.path.join( - os.path.dirname(__file__), "..", "model_inference", "prompts", "t2i_example.json")) +with open(os.path.join(os.path.dirname(__file__), "..", "model_inference", "prompts", "t2i_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) + frames = pipe( prompt=caption, - negative_prompt=DEFAULT_NEGATIVE_PROMPT_IMAGE, + negative_prompt=pipe.default_negative_prompt_image, height=480, width=832, num_frames=1, num_inference_steps=40, cfg_scale=3.0, seed=0, diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py index d61b6e36d..3963cfb46 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py @@ -1,18 +1,19 @@ import os +import json import torch from PIL import Image from diffsynth.utils.data import save_video -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -# Low-VRAM image-to-video (TI2V). offload_dtype / offload_device on each ModelConfig turn on -# VRAM management: weights stay on CPU in fp8 and stream to the GPU layer-by-layer, computed -# in bf16. vram_limit only caps resident VRAM once offloading is enabled by those two fields. -# The TI2V delta over t2v is just `input_image` — the condition-frame VAE encode / text-encoder -# vision pass run under the same offloading, so peak VRAM matches the low-VRAM t2v run. +# Low-VRAM image-to-video (TI2V). Uses the reviewer's disk-offload VRAM profile from the +# low-VRAM t2v example: weights live on disk, stream to CPU (fp8) then to GPU (bf16 compute) +# one layer at a time. The TI2V delta over t2v is just `input_image` -- the condition-frame +# VAE encode / text-encoder vision pass run under the same offloading, so peak VRAM matches +# the low-VRAM t2v run. vram_config = { - "offload_dtype": torch.float8_e4m3fn, - "offload_device": "cpu", + "offload_dtype": "disk", + "offload_device": "disk", "onload_dtype": torch.float8_e4m3fn, "onload_device": "cpu", "preparing_dtype": torch.float8_e4m3fn, @@ -30,17 +31,19 @@ ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), - vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, ) # Released first frame + paired caption, shared with the model_inference TI2V example. here = os.path.dirname(__file__) inference_dir = os.path.join(here, "..", "model_inference") -caption = normalize_caption(os.path.join(inference_dir, "prompts", "ti2v_example.json")) +with open(os.path.join(inference_dir, "prompts", "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) input_image = Image.open(os.path.join(inference_dir, "assets", "ti2v_first_frame.png")).convert("RGB") video = pipe( prompt=caption, + negative_prompt=pipe.default_negative_prompt, input_image=input_image, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, diff --git a/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh b/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh new file mode 100644 index 000000000..aa372e3ac --- /dev/null +++ b/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh @@ -0,0 +1,26 @@ +# Image-to-video (TI2V) full-parameter SFT. +# +# Same DiT + dataset as the t2v full-parameter script; adds `--first_frame_as_condition` +# to condition each clip on its OWN first frame (VAE-encoded latent pinned into the first +# temporal slot and excluded from the flow-matching loss). Dense-1.3B reuses the T2V +# weights, so there is no separate i2v checkpoint to load. `--trainable_models "dit"` +# unfreezes the whole DiT for a full-parameter update. +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/metadata.json \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --first_frame_as_condition \ + --dataset_repeat 50 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ + --learning_rate 1e-5 \ + --num_epochs 2 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-dense-1.3b_ti2v_full" \ + --trainable_models "dit" \ + --use_gradient_checkpointing diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh index 7fe3bb66e..e877d0952 100644 --- a/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh +++ b/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh @@ -1,28 +1,29 @@ # Image-to-video (TI2V) LoRA SFT. # -# Same DiT / dataset / attention-only LoRA scope as the t2v script — the only delta is -# `--first_frame_as_condition`, which conditions each clip on its OWN first frame: the frame -# is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to the -# Qwen3-VL text encoder), and excluded from the flow-matching loss, so the LoRA learns to -# animate frames 2..N from frame 1. Dense-1.3B reuses the same T2V weights — no separate i2v -# checkpoint. Reuses the shared example dataset (plain `video` + `prompt`); no condition -# column is required. If your dataset instead ships a distinct condition frame, drop this -# flag and pass it via `--extra_inputs input_image` (adding that column to --data_file_keys). -modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "wanvideo/Wan2.1-T2V-1.3B/*" --local_dir ./data/diffsynth_example_dataset +# Same DiT / dataset / attention-only LoRA scope as the t2v script -- the only delta is +# `--first_frame_as_condition`, which conditions each clip on its OWN first frame: the +# frame is VAE-encoded to a clean latent pinned into the first temporal slot (and fed to +# the Qwen3-VL text encoder), and excluded from the flow-matching loss, so the LoRA learns +# to animate frames 2..N from frame 1. Dense-1.3B reuses the same T2V weights -- no +# separate i2v checkpoint. Reuses the shared example dataset (plain `video` + `prompt`); +# no condition column is required. If your dataset instead ships a distinct condition +# frame, drop this flag and pass it via `--extra_inputs input_image` (adding that column +# to --data_file_keys). +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b/*" --local_dir ./data/diffsynth_example_dataset accelerate launch examples/lingbot_video/model_training/train.py \ - --dataset_base_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B \ - --dataset_metadata_path data/diffsynth_example_dataset/wanvideo/Wan2.1-T2V-1.3B/metadata.csv \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/metadata.json \ --data_file_keys "video" \ --height 480 \ --width 832 \ - --num_frames 169 \ + --num_frames 81 \ --first_frame_as_condition \ - --dataset_repeat 200 \ + --dataset_repeat 50 \ --model_id_with_origin_paths "Robbyant/lingbot-video-dense-1.3b:transformer/diffusion_pytorch_model.safetensors,Robbyant/lingbot-video-dense-1.3b:text_encoder/model*.safetensors,Robbyant/lingbot-video-dense-1.3b:vae/diffusion_pytorch_model.safetensors" \ --processor_path "Robbyant/lingbot-video-dense-1.3b:processor/" \ --learning_rate 1e-4 \ - --num_epochs 20 \ + --num_epochs 5 \ --remove_prefix_in_ckpt "pipe.dit." \ --output_path "./models/train/lingbot-video-dense-1.3b_ti2v_lora" \ --lora_base_model "dit" \ diff --git a/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py new file mode 100644 index 000000000..42f92877d --- /dev/null +++ b/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py @@ -0,0 +1,39 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth import load_state_dict + + +# TI2V full-parameter validation: load the freshly-trained DiT weights and generate from +# the same caption + first frame the TI2V inference example uses. Adjust +# `epoch-N.safetensors` to whichever epoch you want to validate. +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="transformer/diffusion_pytorch_model.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), +) +state_dict = load_state_dict("models/train/lingbot-video-dense-1.3b_ti2v_full/epoch-1.safetensors") +pipe.dit.load_state_dict(state_dict) + +inference_dir = os.path.join(os.path.dirname(__file__), "..", "..", "model_inference") +with open(os.path.join(inference_dir, "prompts", "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(inference_dir, "assets", "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-dense-1.3b_ti2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py index db26c6925..eb0b65e5e 100644 --- a/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py @@ -1,12 +1,14 @@ import os +import json import torch from PIL import Image from diffsynth.utils.data import save_video -from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig, normalize_caption +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig -# Validate a TI2V LoRA (trained with lora/lingbot-video-dense-1.3b_ti2v.sh) by conditioning -# on a first frame via `input_image`, exactly as at inference. Same base T2V checkpoint. +# TI2V LoRA validation: load the fresh LoRA checkpoint and generate from the same caption +# + first frame the TI2V inference example uses. Adjust `epoch-N.safetensors` to whichever +# epoch you want to validate (matches the .sh's `--num_epochs`). pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", @@ -17,17 +19,19 @@ ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="processor/"), ) -pipe.load_lora(pipe.dit, "models/train/lingbot-video-dense-1.3b_ti2v_lora/epoch-19.safetensors", alpha=1) +pipe.load_lora(pipe.dit, "models/train/lingbot-video-dense-1.3b_ti2v_lora/epoch-4.safetensors", alpha=1) # Reuse the released first frame + caption from the inference example. inference_dir = os.path.join(os.path.dirname(__file__), "..", "..", "model_inference") -caption = normalize_caption(os.path.join(inference_dir, "prompts", "ti2v_example.json")) +with open(os.path.join(inference_dir, "prompts", "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) input_image = Image.open(os.path.join(inference_dir, "assets", "ti2v_first_frame.png")).convert("RGB") video = pipe( prompt=caption, + negative_prompt=pipe.default_negative_prompt, input_image=input_image, - height=480, width=832, num_frames=169, + height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, ) From 5fa49f58fa9f33cd38f8b5e2b00005b040911a9b Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Tue, 28 Jul 2026 17:12:37 +0800 Subject: [PATCH 22/34] fix: manage Qwen3-VL vision tower in LingBotVideoTextEncoder VRAM map Low-VRAM TI2V feeds the condition frame through the Qwen3-VL vision tower, but the LingBotVideoTextEncoder VRAM-management map did not cover its module types. The vision LayerNorm / patch-embed weights stayed on `meta` and the vision RoPE `inv_freq` (a non-persistent buffer, absent from the checkpoint) stayed on CPU, so a TI2V run under offload died with a cuda/cpu device mismatch. T2V / T2I never touch that path. Add LayerNorm, Qwen3VLVisionPatchEmbed and Qwen3VLVisionRotaryEmbedding to the map. PatchEmbed is wrapped whole (not its inner Conv3d) because its forward reads `self.proj.weight.dtype` to cast the input, which under offload would otherwise pick up the fp8 dtype and crash on the bf16 bias. Co-Authored-By: Claude Opus 5 --- diffsynth/configs/vram_management_module_maps.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/diffsynth/configs/vram_management_module_maps.py b/diffsynth/configs/vram_management_module_maps.py index b070862de..e05c8c61e 100644 --- a/diffsynth/configs/vram_management_module_maps.py +++ b/diffsynth/configs/vram_management_module_maps.py @@ -418,6 +418,16 @@ "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule", "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule", "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + # TI2V feeds the condition frame through the Qwen3-VL vision tower, so its modules + # need managing too. Without these, the vision LayerNorm / patch-embed weights are + # never onloaded (they stay on `meta`) and the vision RoPE `inv_freq` -- a + # non-persistent buffer, absent from the checkpoint -- stays on CPU, so a TI2V run + # dies with a cuda/cpu device mismatch. T2V never hits this path. + # PatchEmbed is wrapped as a whole rather than its inner Conv3d: its forward reads + # `self.proj.weight.dtype` to cast the input, which would pick up the offload dtype. + "torch.nn.LayerNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLVisionPatchEmbed": "diffsynth.core.vram.layers.AutoWrappedModule", + "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLVisionRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule", }, } From 56334bfb66b53a56a6f44dd24942de603f6bac06 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Tue, 28 Jul 2026 19:17:04 +0800 Subject: [PATCH 23/34] style: group input_image under image-to-video in pipeline __call__ The input_image param (the TI2V condition frame) was grouped under a '# Video-to-video' comment. Relabel it '# Image-to-video (TI2V)' to match wan_video.py's param grouping and the file's own TI2V terminology. Co-Authored-By: Claude Opus 5 --- diffsynth/pipelines/lingbot_video.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index bbb94ed2b..3365421d3 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -146,8 +146,9 @@ def __call__( # Structured caption (dict) or a plain string. prompt: Union[str, dict] = "", negative_prompt: Union[str, dict] = "", - # Video-to-video + # Image-to-video (TI2V) input_image: Image.Image = None, + # Video-to-video input_video: list[Image.Image] = None, denoising_strength: float = 1.0, # Randomness From 7d0852e5c75b7261ab1a442ea1c64792f0054bf3 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Tue, 28 Jul 2026 19:40:00 +0800 Subject: [PATCH 24/34] refactor: move TI2V helpers into the units that use them Address reviewer comments on lingbot_video.py (:20, :185, :214): - Move the module-level TI2V constants (IMAGE_MIN/MAX_TOKEN_NUM, MAX_RATIO, SPATIAL_MERGE_SIZE) and helpers (smart_resize, _round/_ceil/_floor_by_factor, _pixel_tensor_to_pil) plus the pipeline methods preprocess_cond_image, _vision_patch_size and _vlm_image into LingBotVideoUnit_ImageEmbedder, the only consumer. Move IMG_PROMPT_TEMPLATE into LingBotVideoUnit_PromptEmbedder. - Move the pre-loop first-frame latent pin out of __call__ and into LingBotVideoUnit_ImageEmbedder.process; reorder self.units so InputVideoEmbedder (which produces `latents`) runs before ImageEmbedder (which pins into it) and before PromptEmbedder (which consumes vlm_image). __call__ keeps only the per-step re-pin inside the denoise loop. Behavior-preserving for inference and training (the loss overwrites `latents` and does its own first-frame pin, so the unit-level pin is inert there). Verified on GPU: TI2V pins frame 0 to the condition frame; T2V no-op path OK. Co-Authored-By: Claude Opus 5 --- diffsynth/pipelines/lingbot_video.py | 309 ++++++++++++++------------- 1 file changed, 155 insertions(+), 154 deletions(-) diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 3365421d3..988512f37 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -17,64 +17,6 @@ from ..models.lingbot_video_text_encoder import LingBotVideoTextEncoder from ..models.qwen_image_vae import QwenImageVAE -# --- TI2V (image-to-video) --------------------------------------------------- -# The condition frame is used twice: (1) as visual input to the Qwen3-VL text -# encoder — its image tokens are prepended to the prompt via IMG_PROMPT_TEMPLATE; -# (2) VAE-encoded to a clean latent written into the first temporal slot of the -# diffusion latent before sampling and after every scheduler step (inpainting). -# The DiT is unchanged (in_channels stays 16); Dense-1.3B reuses its T2V weights. -IMG_PROMPT_TEMPLATE = "<|vision_start|><|image_pad|><|vision_end|>" - -# Qwen3-VL vision token-budget bounds used by smart_resize (official defaults). -IMAGE_MIN_TOKEN_NUM = 4 -IMAGE_MAX_TOKEN_NUM = 16384 -MAX_RATIO = 200 -SPATIAL_MERGE_SIZE = 2 - - -def _round_by_factor(number: float, factor: int) -> int: - return round(number / factor) * factor - - -def _ceil_by_factor(number: float, factor: int) -> int: - return math.ceil(number / factor) * factor - - -def _floor_by_factor(number: float, factor: int) -> int: - return math.floor(number / factor) * factor - - -def smart_resize(height: int, width: int, factor: int, - min_pixels: Optional[int] = None, max_pixels: Optional[int] = None): - # Resize so both sides are multiples of `factor` and the token count stays in - # [min_pixels, max_pixels] while preserving aspect ratio. Ported verbatim from - # the official LingBot-Video i2v pipeline (Qwen3-VL smart-resize). - max_pixels = max_pixels if max_pixels is not None else IMAGE_MAX_TOKEN_NUM * factor**2 - min_pixels = min_pixels if min_pixels is not None else IMAGE_MIN_TOKEN_NUM * factor**2 - if max_pixels < min_pixels: - raise ValueError("max_pixels must be greater than or equal to min_pixels.") - if max(height, width) / min(height, width) > MAX_RATIO: - raise ValueError(f"absolute aspect ratio must be smaller than {MAX_RATIO}.") - resized_height = max(factor, _round_by_factor(height, factor)) - resized_width = max(factor, _round_by_factor(width, factor)) - if resized_height * resized_width > max_pixels: - beta = math.sqrt((height * width) / max_pixels) - resized_height = _floor_by_factor(height / beta, factor) - resized_width = _floor_by_factor(width / beta, factor) - elif resized_height * resized_width < min_pixels: - beta = math.sqrt(min_pixels / (height * width)) - resized_height = _ceil_by_factor(height * beta, factor) - resized_width = _ceil_by_factor(width * beta, factor) - return resized_height, resized_width - - -def _pixel_tensor_to_pil(pixel: torch.Tensor) -> Image.Image: - # Match torchvision.transforms.ToPILImage for a float CHW image in [0, 1]. - # pixel: (B, C, T, H, W); take batch 0, temporal slot 0. - frame = pixel[0, :, 0].detach().cpu().clamp(0, 1) - array = frame.permute(1, 2, 0).mul(255).byte().numpy() - return Image.fromarray(array, mode="RGB") - class LingBotVideoPipeline(BasePipeline): def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): @@ -92,11 +34,12 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): self.units = [ LingBotVideoUnit_ShapeChecker(), LingBotVideoUnit_NoiseInitializer(), - # ImageEmbedder must run before PromptEmbedder: it produces the vlm_image - # that PromptEmbedder feeds to the text encoder (TI2V only; no-op for T2V). + LingBotVideoUnit_InputVideoEmbedder(), + # ImageEmbedder runs after InputVideoEmbedder (it pins the condition latent into + # `latents`) and before PromptEmbedder (it produces the vlm_image the text encoder + # consumes). No-op for T2V/V2V. LingBotVideoUnit_ImageEmbedder(), LingBotVideoUnit_PromptEmbedder(), - LingBotVideoUnit_InputVideoEmbedder(), ] self.model_fn = model_fn_lingbot_video self.compilable_models = ["dit"] @@ -182,13 +125,11 @@ def __call__( for unit in self.units: inputs_shared, inputs_posi, inputs_nega = self.unit_runner(unit, self, inputs_shared, inputs_posi, inputs_nega) - # TI2V: the clean condition latent (if any) is pinned into the first temporal - # slot(s) both before sampling and after every scheduler step, so the DiT only - # ever denoises the frames after the given first frame. + # TI2V: the ImageEmbedder unit has already pinned the clean condition latent into the + # first temporal slot(s); re-pin it after every scheduler step so the DiT only ever + # denoises the frames after the given first frame. first_frame_latents = inputs_shared.get("first_frame_latents") - if first_frame_latents is not None: - cond_t = first_frame_latents.shape[2] - inputs_shared["latents"][:, :, :cond_t] = first_frame_latents + cond_t = first_frame_latents.shape[2] if first_frame_latents is not None else None # Denoise self.load_models_to_device(self.in_iteration_models) @@ -211,42 +152,6 @@ def __call__( self.load_models_to_device([]) return video - def preprocess_cond_image(self, image: Image.Image, height, width): - # TI2V condition frame -> (1, C, 1, H, W) pixel tensor in [0, 1], aspect-ratio - # preserving cover-resize + center-crop to (height, width). - raw = torch.from_numpy(np.array(image.convert("RGB"))).permute(2, 0, 1).unsqueeze(0).contiguous() - old_h, old_w = raw.shape[-2:] - scale = max(height / old_h, width / old_w) - new_h = max(math.ceil(old_h * scale), height) - new_w = max(math.ceil(old_w * scale), width) - resized = F.interpolate(raw.float(), size=(new_h, new_w), mode="bilinear", align_corners=False) - top = int(round((new_h - height) / 2.0)) - left = int(round((new_w - width) / 2.0)) - cropped = resized[:, :, top: top + height, left: left + width] / 255.0 - return cropped.unsqueeze(2) - - def _vision_patch_size(self) -> int: - # Resolve the Qwen3-VL vision patch size, used with SPATIAL_MERGE_SIZE to pick - # the smart-resize grid factor. - for obj in ( - getattr(getattr(self.text_encoder, "config", None), "vision_config", None), - getattr(getattr(self.processor, "image_processor", None), "config", None), - getattr(self.processor, "image_processor", None), - ): - patch = getattr(obj, "patch_size", None) - if patch is not None: - return int(patch) - return 16 - - def _vlm_image(self, pixel: torch.Tensor) -> Image.Image: - # Build the PIL image handed to the text encoder from the condition pixel tensor, - # smart-resized to the Qwen3-VL patch grid. - image = _pixel_tensor_to_pil(pixel) - patch_factor = self._vision_patch_size() * SPATIAL_MERGE_SIZE - w, h = image.size - resized_height, resized_width = smart_resize(h, w, factor=patch_factor) - return image.resize((resized_width, resized_height)) - class LingBotVideoUnit_ShapeChecker(PipelineUnit): def __init__(self): @@ -274,9 +179,153 @@ def process(self, pipe: LingBotVideoPipeline, height, width, num_frames, seed, r return {"noise": noise} +class LingBotVideoUnit_InputVideoEmbedder(PipelineUnit): + def __init__(self): + super().__init__( + input_params=("input_video", "noise"), + output_params=("latents", "input_latents"), + onload_model_names=("vae",), + ) + + def process(self, pipe: LingBotVideoPipeline, input_video, noise): + if input_video is None: + return {"latents": noise} + pipe.load_models_to_device(self.onload_model_names) + video = pipe.preprocess_video(input_video) + input_latents = pipe.vae.encode_video(video).to(dtype=pipe.torch_dtype, device=pipe.device) + if pipe.scheduler.training: + return {"latents": noise, "input_latents": input_latents} + else: + latents = pipe.scheduler.add_noise(input_latents, noise, timestep=pipe.scheduler.timesteps[0]) + return {"latents": latents} + + +class LingBotVideoUnit_ImageEmbedder(PipelineUnit): + """TI2V (image-to-video): the condition first frame is used twice — (1) VAE-encoded to a + clean latent pinned into the diffusion latent's first temporal slot (here before sampling, + re-pinned after every scheduler step in ``__call__``), so the DiT only denoises the frames + after it; (2) smart-resized to a PIL image handed to the Qwen3-VL text encoder as + ``vlm_image`` (its image tokens are prepended to the prompt). Runs after InputVideoEmbedder + (it needs ``latents`` to pin into) and before PromptEmbedder (which consumes ``vlm_image``). + No-op (returns ``{}``) for T2V/V2V. The DiT is unchanged (in_channels stays 16); Dense-1.3B + reuses its T2V weights.""" + + # Qwen3-VL vision token-budget bounds used by smart_resize (official defaults). + IMAGE_MIN_TOKEN_NUM = 4 + IMAGE_MAX_TOKEN_NUM = 16384 + MAX_RATIO = 200 + SPATIAL_MERGE_SIZE = 2 + + def __init__(self): + super().__init__( + input_params=("input_image", "latents", "height", "width"), + output_params=("latents", "first_frame_latents", "vlm_image"), + onload_model_names=("vae",), + ) + + def process(self, pipe: LingBotVideoPipeline, input_image, latents, height, width): + if input_image is None: + return {} + pipe.load_models_to_device(self.onload_model_names) + # (1, C, 1, H, W) in [0, 1] -> [-1, 1] to match the VAE input range; encode_video applies + # the latent normalisation, giving the clean cond latent the DiT was trained to inpaint on. + pixel = self.preprocess_cond_image(input_image, height, width) + pixel = pixel.to(dtype=pipe.torch_dtype, device=pipe.device) + first_frame_latents = pipe.vae.encode_video(pixel * 2.0 - 1.0).to(dtype=pipe.torch_dtype, device=pipe.device) + vlm_image = self.vlm_image(pipe, pixel) + # Pin the clean condition latent into the first temporal slot before sampling. + cond_t = first_frame_latents.shape[2] + latents[:, :, :cond_t] = first_frame_latents + return {"latents": latents, "first_frame_latents": first_frame_latents, "vlm_image": vlm_image} + + @staticmethod + def preprocess_cond_image(image: Image.Image, height, width) -> torch.Tensor: + # TI2V condition frame -> (1, C, 1, H, W) pixel tensor in [0, 1], aspect-ratio + # preserving cover-resize + center-crop to (height, width). + raw = torch.from_numpy(np.array(image.convert("RGB"))).permute(2, 0, 1).unsqueeze(0).contiguous() + old_h, old_w = raw.shape[-2:] + scale = max(height / old_h, width / old_w) + new_h = max(math.ceil(old_h * scale), height) + new_w = max(math.ceil(old_w * scale), width) + resized = F.interpolate(raw.float(), size=(new_h, new_w), mode="bilinear", align_corners=False) + top = int(round((new_h - height) / 2.0)) + left = int(round((new_w - width) / 2.0)) + cropped = resized[:, :, top: top + height, left: left + width] / 255.0 + return cropped.unsqueeze(2) + + def vlm_image(self, pipe: LingBotVideoPipeline, pixel: torch.Tensor) -> Image.Image: + # Build the PIL image handed to the text encoder from the condition pixel tensor, + # smart-resized to the Qwen3-VL patch grid. + image = self._pixel_tensor_to_pil(pixel) + patch_factor = self._vision_patch_size(pipe) * self.SPATIAL_MERGE_SIZE + w, h = image.size + resized_height, resized_width = self.smart_resize(h, w, factor=patch_factor) + return image.resize((resized_width, resized_height)) + + @staticmethod + def _vision_patch_size(pipe: LingBotVideoPipeline) -> int: + # Resolve the Qwen3-VL vision patch size, used with SPATIAL_MERGE_SIZE to pick the + # smart-resize grid factor. + for obj in ( + getattr(getattr(pipe.text_encoder, "config", None), "vision_config", None), + getattr(getattr(pipe.processor, "image_processor", None), "config", None), + getattr(pipe.processor, "image_processor", None), + ): + patch = getattr(obj, "patch_size", None) + if patch is not None: + return int(patch) + return 16 + + @staticmethod + def _pixel_tensor_to_pil(pixel: torch.Tensor) -> Image.Image: + # Match torchvision.transforms.ToPILImage for a float CHW image in [0, 1]. + # pixel: (B, C, T, H, W); take batch 0, temporal slot 0. + frame = pixel[0, :, 0].detach().cpu().clamp(0, 1) + array = frame.permute(1, 2, 0).mul(255).byte().numpy() + return Image.fromarray(array, mode="RGB") + + @classmethod + def smart_resize(cls, height: int, width: int, factor: int, + min_pixels: Optional[int] = None, max_pixels: Optional[int] = None): + # Resize so both sides are multiples of `factor` and the token count stays in + # [min_pixels, max_pixels] while preserving aspect ratio. Ported verbatim from the + # official LingBot-Video i2v pipeline (Qwen3-VL smart-resize). + max_pixels = max_pixels if max_pixels is not None else cls.IMAGE_MAX_TOKEN_NUM * factor**2 + min_pixels = min_pixels if min_pixels is not None else cls.IMAGE_MIN_TOKEN_NUM * factor**2 + if max_pixels < min_pixels: + raise ValueError("max_pixels must be greater than or equal to min_pixels.") + if max(height, width) / min(height, width) > cls.MAX_RATIO: + raise ValueError(f"absolute aspect ratio must be smaller than {cls.MAX_RATIO}.") + resized_height = max(factor, cls._round_by_factor(height, factor)) + resized_width = max(factor, cls._round_by_factor(width, factor)) + if resized_height * resized_width > max_pixels: + beta = math.sqrt((height * width) / max_pixels) + resized_height = cls._floor_by_factor(height / beta, factor) + resized_width = cls._floor_by_factor(width / beta, factor) + elif resized_height * resized_width < min_pixels: + beta = math.sqrt(min_pixels / (height * width)) + resized_height = cls._ceil_by_factor(height * beta, factor) + resized_width = cls._ceil_by_factor(width * beta, factor) + return resized_height, resized_width + + @staticmethod + def _round_by_factor(number: float, factor: int) -> int: + return round(number / factor) * factor + + @staticmethod + def _ceil_by_factor(number: float, factor: int) -> int: + return math.ceil(number / factor) * factor + + @staticmethod + def _floor_by_factor(number: float, factor: int) -> int: + return math.floor(number / factor) * factor + + class LingBotVideoUnit_PromptEmbedder(PipelineUnit): TOKEN_LENGTH = 37698 HIDDEN_STATE_SKIP_LAYER = 0 + # Token block prepended to the prompt (TI2V) so the encoder attends to the condition frame. + IMG_PROMPT_TEMPLATE = "<|vision_start|><|image_pad|><|vision_end|>" PROMPT_TEMPLATE = ( "<|im_start|>system\nGiven a user input that may include a text prompt alone, " "a text prompt with an image reference, or a text prompt with a video reference " @@ -337,10 +386,9 @@ def _compute_crop_start(self, pipe: LingBotVideoPipeline) -> int: def encode_prompt(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None): prompt = self.normalize_caption(prompt) - # TI2V: prepend the image-token block so the encoder attends to the condition - # frame. The image tokens land after the template prefix, so crop_start is - # unaffected. - visual_template = IMG_PROMPT_TEMPLATE if vlm_image is not None else "" + # TI2V: prepend the image-token block so the encoder attends to the condition frame. + # The image tokens land after the template prefix, so crop_start is unaffected. + visual_template = self.IMG_PROMPT_TEMPLATE if vlm_image is not None else "" text = self.PROMPT_TEMPLATE.format(visual_template + prompt) inputs = pipe.processor( text=[text], @@ -375,53 +423,6 @@ def process(self, pipe: LingBotVideoPipeline, prompt, vlm_image=None) -> dict: return {"context": prompt_embeds, "encoder_attention_mask": prompt_mask} -class LingBotVideoUnit_InputVideoEmbedder(PipelineUnit): - def __init__(self): - super().__init__( - input_params=("input_video", "noise"), - output_params=("latents", "input_latents"), - onload_model_names=("vae",), - ) - - def process(self, pipe: LingBotVideoPipeline, input_video, noise): - if input_video is None: - return {"latents": noise} - pipe.load_models_to_device(self.onload_model_names) - video = pipe.preprocess_video(input_video) - input_latents = pipe.vae.encode_video(video).to(dtype=pipe.torch_dtype, device=pipe.device) - if pipe.scheduler.training: - return {"latents": noise, "input_latents": input_latents} - else: - latents = pipe.scheduler.add_noise(input_latents, noise, timestep=pipe.scheduler.timesteps[0]) - return {"latents": latents} - - -class LingBotVideoUnit_ImageEmbedder(PipelineUnit): - """TI2V: turn the condition first frame into (a) a clean VAE latent pinned into - the diffusion latent's first temporal slot and (b) a smart-resized PIL image for - the Qwen3-VL text encoder. No-op (returns {}) when input_image is None (T2V/V2V).""" - - def __init__(self): - super().__init__( - input_params=("input_image", "height", "width"), - output_params=("first_frame_latents", "vlm_image"), - onload_model_names=("vae",), - ) - - def process(self, pipe: LingBotVideoPipeline, input_image, height, width): - if input_image is None: - return {} - pipe.load_models_to_device(self.onload_model_names) - # (1, C, 1, H, W) in [0, 1] -> [-1, 1] to match the VAE input range; encode_video - # applies the latent normalisation, giving the same clean cond latent the DiT - # was trained to inpaint on. - pixel = pipe.preprocess_cond_image(input_image, height, width) - pixel = pixel.to(dtype=pipe.torch_dtype, device=pipe.device) - first_frame_latents = pipe.vae.encode_video(pixel * 2.0 - 1.0).to(dtype=pipe.torch_dtype, device=pipe.device) - vlm_image = pipe._vlm_image(pixel) - return {"first_frame_latents": first_frame_latents, "vlm_image": vlm_image} - - def model_fn_lingbot_video( dit: LingBotVideoDiT, latents: torch.Tensor = None, From 5bc41d260b5f92c288cd3fa9c5c5d67c99c1dda1 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Wed, 29 Jul 2026 11:02:14 +0800 Subject: [PATCH 25/34] style: strip comments and align MoE-30B-A3B integration with repo conventions - lingbot_video_dit.py: drop unused LINGBOT_VIDEO_FP32_MODULES / should_keep_in_fp32, remove docstring and inline comments, keep norm_out_modulation call on one line - model_configs.py: keep only the ModelConfig example comment, collapse extra_kwargs onto a single line - vram_management_module_maps.py: drop explanatory comments - MoE inference examples: remove all comments and section dividers - docs: restore the standard template layout, fold the MoE description into the model overview section - README / README_zh: add the missing MoE row so the examples table matches the docs model overview table --- README.md | 1 + README_zh.md | 1 + diffsynth/configs/model_configs.py | 10 +--- .../configs/vram_management_module_maps.py | 7 --- diffsynth/models/lingbot_video_dit.py | 49 +------------------ docs/en/Model_Details/LingBot-Video.md | 38 ++------------ docs/zh/Model_Details/LingBot-Video.md | 38 ++------------ .../lingbot-video-moe-30b-a3b.py | 6 --- .../lingbot-video-moe-30b-a3b.py | 9 ---- 9 files changed, 11 insertions(+), 148 deletions(-) diff --git a/README.md b/README.md index aa87df426..338d0e77b 100644 --- a/README.md +++ b/README.md @@ -1518,6 +1518,7 @@ Example code for LingBot-Video is available at: [/examples/lingbot_video/](/exam |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| diff --git a/README_zh.md b/README_zh.md index 60766d83d..f0e85a8a9 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1518,6 +1518,7 @@ LingBot-Video 的示例代码位于:[/examples/lingbot_video/](/examples/lingb |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| diff --git a/diffsynth/configs/model_configs.py b/diffsynth/configs/model_configs.py index 0e0944fd8..edeca199a 100644 --- a/diffsynth/configs/model_configs.py +++ b/diffsynth/configs/model_configs.py @@ -1332,19 +1332,11 @@ }, { # Example: ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors") - # MoE 30B-A3B DiT (128 experts, top-8 with group-limited routing, 1 shared - # expert). The released package also ships a `refiner/` DiT with the exact - # same architecture and key set, so it hashes identically and is loaded - # through this entry too; the pipeline separates them by load order. "model_hash": "65b83aa625cd362ff5ff3409fb367a6f", "model_name": "lingbot_video_dit", "model_class": "diffsynth.models.lingbot_video_dit.LingBotVideoDiT", "state_dict_converter": "diffsynth.utils.state_dict_converters.lingbot_video_dit.LingBotVideoDiTStateDictConverter", - "extra_kwargs": { - "depth": 48, "axes_lens": (4096, 512, 512), "num_experts": 128, - "moe_intermediate_size": 768, "n_group": 4, "topk_group": 2, - "n_shared_experts": 1, "routed_scaling_factor": 2.5, - }, + "extra_kwargs": {'depth': 48, 'axes_lens': (4096, 512, 512), 'num_experts': 128, 'moe_intermediate_size': 768, 'n_group': 4, 'topk_group': 2, 'n_shared_experts': 1, 'routed_scaling_factor': 2.5}, }, { # Example: ModelConfig(model_id="Robbyant/lingbot-video-dense-1.3b", origin_file_pattern="text_encoder/*.safetensors") diff --git a/diffsynth/configs/vram_management_module_maps.py b/diffsynth/configs/vram_management_module_maps.py index e3d8a25c1..cc55fb271 100644 --- a/diffsynth/configs/vram_management_module_maps.py +++ b/diffsynth/configs/vram_management_module_maps.py @@ -412,13 +412,6 @@ "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", "torch.nn.LayerNorm": "diffsynth.core.vram.layers.AutoWrappedModule", "diffsynth.models.lingbot_video_dit.LingBotVideoRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", - # The MoE experts keep their weights as bare `nn.Parameter` (w1/w2/w3 of - # shape [E, I, H]) rather than `nn.Linear`, so `AutoWrappedLinear` cannot - # reach them. Wrapping the container itself is what makes the 30B-A3B - # checkpoint offloadable -- without this the experts, which are the bulk - # of the model, would stay resident. Wrapped fine-grained (not the whole - # LingBotVideoBlock) on purpose: AutoWrappedModule stops the walker from - # recursing, so wrapping the block would keep all experts resident together. "diffsynth.models.lingbot_video_dit.LingBotVideoGroupedExperts": "diffsynth.core.vram.layers.AutoWrappedModule", }, "diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder": { diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 69f6e504c..36a32980a 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -10,41 +10,9 @@ from ..core.device.npu_compatible_device import get_device_type -# Modules kept in fp32 regardless of the bulk compute dtype (sensitive AdaLN / norm / -# router paths); the custom `to()` below honours this list. -LINGBOT_VIDEO_FP32_MODULES = ( - "time_embedder", - "time_modulation", - "scale_shift_table", - "norm", - "norm1", - "norm2", - "norm_q", - "norm_k", - "norm_post_attn", - "norm_post_ffn", - "norm_out", - "norm_out_modulation", - "router", -) - - -def should_keep_in_fp32(name: str) -> bool: - return any(module_name in name.split(".") for module_name in LINGBOT_VIDEO_FP32_MODULES) - - def resolve_bulk_dtype(linear: nn.Module) -> torch.dtype: - """Dtype the bulk Linear path will actually compute in. - - Reading `linear.weight.dtype` is wrong under DiffSynth's VRAM management: the - wrapped layer holds its weight in the offload dtype (e.g. float8) between - forwards, and on `meta` when offloaded to disk, casting to `computation_dtype` - only inside its own forward. `computation_dtype` is the value to feed the - activations, so prefer it whenever the layer is wrapped. - """ computation_dtype = getattr(linear, "computation_dtype", None) if isinstance(computation_dtype, torch.dtype): - # fp8 compute still takes bf16 activations; AutoWrappedLinear quantises internally. if computation_dtype in (torch.float8_e4m3fn, torch.float8_e4m3fnuz, torch.float8_e5m2): return torch.bfloat16 return computation_dtype @@ -370,9 +338,6 @@ def _unpad_grouped_tokens(output, input_shape, permuted_indices): return unpermuted[:-1] def _run_grouped_experts(self, tokens, counts): - # `torch._grouped_mm` exists as a symbol on every backend but only has a CUDA - # kernel, so probing with `hasattr` alone would crash on CPU (and on NPU). - # Fall back to the mathematically equivalent per-expert loop off CUDA. if not hasattr(torch, "_grouped_mm") or tokens.device.type != "cuda": return self._run_experts_for_loop(tokens, counts) input_shape, padded_tokens, permuted_indices, aligned_counts = self._pad_grouped_tokens(tokens, counts) @@ -464,11 +429,6 @@ def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=No "LingBotVideoBlock expects token-level temb6 with shape (B*S, 6D); " f"got {tuple(temb6.shape)} for hidden states {tuple(x.shape)}." ) - # AdaLN modulation / norms run in fp32 (sensitive path); cast to the bulk - # compute dtype only at the bf16 Linear boundary. `bulk_dtype` is supplied - # by the parent module: under VRAM management the attention weights are - # held in the offload dtype (or on `meta` for disk offload), so their - # `.dtype` is not the dtype the Linear will actually compute in. if bulk_dtype is None: bulk_dtype = resolve_bulk_dtype(self.attn.to_q) mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.unsqueeze(0) @@ -632,10 +592,7 @@ def forward( attention_mask = key_mask[:, None, None, :] # (B,1,1,S) -> SDPA broadcast moe_padding_mask = key_mask.reshape(-1).float() # (B*S,) - # Timestep -> per-token modulation. The timestep MLP is one of the fp32-pinned - # modules, so its input is fp32 -- but VRAM management wraps every `nn.Linear` - # at `computation_dtype` regardless of that policy, so resolve the dtype from - # the layer itself instead of assuming fp32. + # Timestep -> per-token modulation. timestep_proj = self.time_proj(timestep.float()) t_emb = self.time_embedder(timestep_proj.to(resolve_bulk_dtype(self.time_embedder.linear_1))) # (B, D) if packed_batch: @@ -660,9 +617,7 @@ def forward( ) out_mod_dtype = resolve_bulk_dtype(self.norm_out_modulation[1]) - final_mod = self.norm_out_modulation( - temb_input.reshape(joint.shape[0] * joint.shape[1], -1).to(out_mod_dtype) - ) + final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1).to(out_mod_dtype)) shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) final_hidden = self.norm_out(joint) * (1.0 + scale) + shift projected = self.proj_out(final_hidden.to(resolve_bulk_dtype(self.proj_out))) diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 2c7eea5bf..c6f5c003d 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -1,13 +1,6 @@ # LingBot-Video -LingBot-Video is a flow-matching video generation model developed by the LingBot team. This document covers DiffSynth-Studio's inference support for the **Dense-1.3B** and **MoE-30B-A3B** checkpoints, plus LoRA and full-parameter SFT training for Dense-1.3B. A single Dense-1.3B checkpoint serves text-to-video, image-to-video and text-to-image through the same pipeline. - -The integration is built on the standard DiffSynth pipeline stack: - -- **DiT** — `LingBotVideoDiT` (`diffsynth/models/lingbot_video_dit.py`), the video denoiser. A single class covers both variants: Dense-1.3B uses a plain FFN (`num_experts=0`), MoE-30B-A3B a sparse MoE FFN. -- **Text encoder** — `LingBotVideoTextEncoder` (Qwen3-VL). Prompts are wrapped in a prompt-enhancement chat template, encoded, and the template-prefix tokens are cropped. -- **VAE** — reuses DiffSynth's `QwenImageVAE` (byte-identical to the LingBot-Video VAE), 8× spatial / 4× temporal compression. -- **Scheduler** — DiffSynth's `FlowMatchScheduler` (Wan template): first-order flow-matching Euler for inference; training uses the full-resolution 1000-step flow-matching schedule. +LingBot-Video is a flow-matching video generation model developed by the LingBot team, supporting text-to-video, image-to-video and text-to-image tasks with a single checkpoint. ## Installation @@ -73,37 +66,12 @@ video = pipe( save_video(video, "video.mp4", fps=15, quality=10) ``` -**Low VRAM:** set `offload_dtype` / `offload_device` on each `ModelConfig` to enable layer-by-layer offloading; `vram_limit` alone has no effect (it only caps resident VRAM once offloading is on). See the low-VRAM example in the table below. - -## MoE-30B-A3B - -[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b) is the larger variant: 30B total parameters with ~3B active per token. Each MoE layer holds 128 routed experts plus 1 shared expert, and routes each token to 8 experts using group-limited top-k (4 groups, top-2 groups). - -It loads through the same pipeline; only the model ID and the shard glob change (the checkpoint is split across 13 shards): - -```python -pipe = LingBotVideoPipeline.from_pretrained( - torch_dtype=torch.bfloat16, - device="cuda", - model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), - ], - processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), -) -``` - -Notes specific to the MoE variant: - -- The expert matmuls use `torch._grouped_mm` on CUDA, falling back to an equivalent per-expert loop elsewhere. -- The experts store their weights as grouped `nn.Parameter` tensors rather than `nn.Linear`, so VRAM management wraps the expert container itself. Since the experts are the bulk of the model, the low-VRAM path is what keeps resident VRAM near the ~3B active footprint instead of the full 30B. -- The released package also ships a second-stage `refiner/` DiT (same architecture, used to upscale a base result). It is not wired into the pipeline yet. - ## Model Overview Dense-1.3B is a single checkpoint that serves three tasks — text-to-video, image-to-video, and text-to-image — through the same pipeline. Each task ships its own inference / low-VRAM / training / validation scripts. +MoE-30B-A3B is the larger variant: 30B total parameters with ~3B active per token, where each MoE layer holds 128 routed experts plus 1 shared expert and routes every token to 8 experts with group-limited top-k (4 groups, top-2 groups). It loads through the same pipeline, only the model ID and the shard glob change. + |Model ID|Inference|Low VRAM Inference|Full Training|Full Training Validation|LoRA Training|LoRA Training Validation| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 35c1c575f..67331d123 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -1,13 +1,6 @@ # LingBot-Video -LingBot-Video 是由 LingBot 团队研发的 flow-matching 视频生成模型。本文档介绍 DiffSynth-Studio 对 **Dense-1.3B** 与 **MoE-30B-A3B** 权重的推理支持,以及对 Dense-1.3B 的 LoRA 与全量 SFT 训练支持。同一份 Dense-1.3B checkpoint 通过同一条 Pipeline 支持文生视频、图生视频和文生图三种任务。 - -该接入基于标准的 DiffSynth Pipeline 组件栈构建: - -- **DiT** — `LingBotVideoDiT`(`diffsynth/models/lingbot_video_dit.py`),视频去噪器。同一个类同时覆盖两个版本:Dense-1.3B 使用普通 FFN(`num_experts=0`),MoE-30B-A3B 使用稀疏 MoE FFN。 -- **文本编码器** — `LingBotVideoTextEncoder`(Qwen3-VL)。提示词会被包裹进提示增强的对话模板中编码,随后裁剪掉模板前缀 token。 -- **VAE** — 复用 DiffSynth 的 `QwenImageVAE`(与 LingBot-Video 的 VAE 逐字节一致),空间 8× / 时间 4× 压缩。 -- **调度器** — DiffSynth 的 `FlowMatchScheduler`(Wan 模板):推理时使用一阶 flow-matching Euler;训练时使用完整分辨率的 1000 步 flow-matching 调度。 +LingBot-Video 是由 LingBot 团队研发的 flow-matching 视频生成模型,同一份 checkpoint 支持文生视频、图生视频和文生图三种任务。 ## 安装 @@ -73,37 +66,12 @@ video = pipe( save_video(video, "video.mp4", fps=15, quality=10) ``` -**低显存:** 在每个 `ModelConfig` 上设置 `offload_dtype` / `offload_device` 才能开启逐层 offload;单独传 `vram_limit` 没有效果(它只在 offload 已开启时限制常驻显存上限)。详见下表中的低显存示例。 - -## MoE-30B-A3B - -[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b) 是更大的版本:总参数量 30B,每个 token 激活约 3B。每个 MoE 层包含 128 个路由专家和 1 个共享专家,并使用 group-limited top-k(4 组,取 top-2 组)将每个 token 路由到 8 个专家。 - -它复用同一条 pipeline,只需更换模型 ID 与分片通配符(权重被切分为 13 个 shard): - -```python -pipe = LingBotVideoPipeline.from_pretrained( - torch_dtype=torch.bfloat16, - device="cuda", - model_configs=[ - ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), - ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), - ], - processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), -) -``` - -MoE 版本的注意事项: - -- 专家矩阵乘在 CUDA 上使用 `torch._grouped_mm`,在其他设备上回退到等价的逐专家循环。 -- 专家权重以分组的 `nn.Parameter` 而非 `nn.Linear` 存储,因此显存管理包装的是专家容器本身。由于专家占据了模型的绝大部分参数,低显存路径能让常驻显存接近约 3B 的激活规模,而不是完整的 30B。 -- 官方权重包中还提供了第二阶段的 `refiner/` DiT(架构相同,用于在 base 结果之上做超分精修),目前尚未接入 pipeline。 - ## 模型总览 Dense-1.3B 是一份 checkpoint,通过同一个 Pipeline 支持文生视频、图生视频、文生图三种任务,每种任务都配有推理 / 低显存 / 训练 / 验证脚本。 +MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B,每个 MoE 层包含 128 个路由专家和 1 个共享专家,并使用 group-limited top-k(4 组,取 top-2 组)将每个 token 路由到 8 个专家。它复用同一条 Pipeline,只需更换模型 ID 与分片通配符。 + |模型 ID|推理|低显存推理|全量训练|全量训练后验证|LoRA 训练|LoRA 训练后验证| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py index c006bb53f..4a008e27c 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py @@ -2,9 +2,6 @@ from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig - -# The MoE checkpoint is sharded, so the file pattern has to match all shards. -# 30B total parameters with 3B active per token (128 experts, top-8 routing). pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, device="cuda", @@ -16,7 +13,6 @@ processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), ) -# --- Text-to-video ------------------------------------------------------------------- video = pipe( prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", negative_prompt=pipe.default_negative_prompt, @@ -26,8 +22,6 @@ ) save_video(video, "video_lingbot-video-moe-30b-a3b.mp4", fps=15, quality=10) -# --- Video-to-video ------------------------------------------------------------------ -# denoising_strength < 1 keeps part of the input structure. input_video = VideoData("video_lingbot-video-moe-30b-a3b.mp4", height=480, width=832) video = pipe( prompt="A playful puppy wearing black sunglasses runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py index a92987b40..f6757d7b3 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py @@ -2,14 +2,6 @@ from diffsynth.utils.data import save_video from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig - -# Low-VRAM inference. Setting `offload_dtype` / `offload_device` is what actually turns -# on DiffSynth's VRAM management: weights are kept on CPU in fp8 and streamed to the GPU -# layer-by-layer, then computed in bf16. `vram_limit` on its own has no effect. -# -# This matters most for the MoE variant: the 128 experts hold the bulk of the 30B -# parameters while only 3B are active per token, so offloading them keeps resident VRAM -# far below the full model size. vram_config = { "offload_dtype": torch.float8_e4m3fn, "offload_device": "cpu", @@ -33,7 +25,6 @@ vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, ) -# --- Text-to-video ------------------------------------------------------------------- video = pipe( prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", negative_prompt=pipe.default_negative_prompt, From eed0d72fba3a0f4ff54290fffd9f4d13a01a1bab Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Wed, 29 Jul 2026 11:08:13 +0800 Subject: [PATCH 26/34] style: align MoE examples with the Dense inference examples - use the released structured-JSON caption from prompts/t2v_example_1.json instead of free-form prose, matching the Dense T2V / TI2V / T2I examples - switch the low-VRAM example to the Dense disk-offload profile (disk -> cpu fp8 -> cuda bf16, vram_limit - 0.5) - add the video-to-video block to the low-VRAM example so it covers the same tasks as the Dense low-VRAM T2V example --- .../lingbot-video-moe-30b-a3b.py | 9 +++++-- .../lingbot-video-moe-30b-a3b.py | 27 +++++++++++++++---- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py index 4a008e27c..e5547a299 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py @@ -1,3 +1,5 @@ +import os +import json import torch from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig @@ -13,8 +15,11 @@ processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), ) +with open(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: + caption = json.load(f) + video = pipe( - prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, @@ -24,7 +29,7 @@ input_video = VideoData("video_lingbot-video-moe-30b-a3b.mp4", height=480, width=832) video = pipe( - prompt="A playful puppy wearing black sunglasses runs across a lush green meadow, its golden fur shining in the bright sunlight. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, negative_prompt=pipe.default_negative_prompt, input_video=input_video, denoising_strength=0.7, height=480, width=832, num_frames=81, diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py index f6757d7b3..e79390f72 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py @@ -1,10 +1,12 @@ +import os +import json import torch -from diffsynth.utils.data import save_video +from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig vram_config = { - "offload_dtype": torch.float8_e4m3fn, - "offload_device": "cpu", + "offload_dtype": "disk", + "offload_device": "disk", "onload_dtype": torch.float8_e4m3fn, "onload_device": "cpu", "preparing_dtype": torch.float8_e4m3fn, @@ -22,14 +24,29 @@ ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), ], processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), - vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2, + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, ) +inference_dir = os.path.join(os.path.dirname(__file__), "..", "model_inference") +with open(os.path.join(inference_dir, "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: + caption = json.load(f) + video = pipe( - prompt="A playful puppy runs across a lush green meadow, its golden fur shining in the bright sunlight, ears perked up, chasing after a red ball. Wildflowers dot the grass, and a clear blue sky with a few white clouds stretches out behind it. Dynamic side-tracking camera.", + prompt=caption, negative_prompt=pipe.default_negative_prompt, height=480, width=832, num_frames=81, num_inference_steps=40, cfg_scale=3.0, seed=0, ) save_video(video, "video_lingbot-video-moe-30b-a3b_low_vram.mp4", fps=15, quality=10) + +input_video = VideoData("video_lingbot-video-moe-30b-a3b_low_vram.mp4", height=480, width=832) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_video=input_video, denoising_strength=0.7, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=1, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_v2v_low_vram.mp4", fps=15, quality=10) From b4aec8cb7f66a55c0abd8ef9af89c3702b91ec01 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Wed, 29 Jul 2026 11:13:20 +0800 Subject: [PATCH 27/34] feat: add TI2V / T2I MoE-30B-A3B examples and load captions from the example dataset - T2V examples now download the released structured caption through dataset_snapshot_download, reusing the lingbot-video-dense-1.3b dataset directory, exactly like the Dense T2V examples - add TI2V and T2I MoE examples (inference + low VRAM) mirroring the Dense templates: shared prompts/ captions, assets/ti2v_first_frame.png, default_negative_prompt_image and num_frames=1 for T2I - docs and README: split the MoE row into T2V / TI2V / T2I rows and mention the MoE variant in the release note --- README.md | 6 ++- README_zh.md | 6 ++- docs/en/Model_Details/LingBot-Video.md | 6 ++- docs/zh/Model_Details/LingBot-Video.md | 6 ++- .../lingbot-video-moe-30b-a3b.py | 11 +++-- .../lingbot-video-moe-30b-a3b_t2i.py | 27 ++++++++++++ .../lingbot-video-moe-30b-a3b_ti2v.py | 32 ++++++++++++++ .../lingbot-video-moe-30b-a3b.py | 18 +++++--- .../lingbot-video-moe-30b-a3b_t2i.py | 39 ++++++++++++++++ .../lingbot-video-moe-30b-a3b_ti2v.py | 44 +++++++++++++++++++ 10 files changed, 177 insertions(+), 18 deletions(-) create mode 100644 examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py create mode 100644 examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py diff --git a/README.md b/README.md index 338d0e77b..a7d03e06f 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ We believe that a well-developed open-source code framework can lower the thresh > Currently, the development personnel of this project are limited, with most of the work handled by [Artiprocher](https://github.com/Artiprocher) and [mi804](https://github.com/mi804). Therefore, the progress of new feature development will be relatively slow, and the speed of responding to and resolving issues is limited. We apologize for this and ask developers to understand. -- **July 28, 2026** LingBot-Video open-sourced, welcome a new member to the video model family! Dense-1.3B is a single checkpoint supporting text-to-video, image-to-video and text-to-image tasks, with low VRAM inference and LoRA / full training. For details, please refer to the [documentation](/docs/en/Model_Details/LingBot-Video.md) and [example code](/examples/lingbot_video/). +- **July 28, 2026** LingBot-Video open-sourced, welcome a new member to the video model family! Dense-1.3B is a single checkpoint supporting text-to-video, image-to-video and text-to-image tasks, with low VRAM inference and LoRA / full training. MoE-30B-A3B serves the same three tasks with 30B total parameters and ~3B active per token. For details, please refer to the [documentation](/docs/en/Model_Details/LingBot-Video.md) and [example code](/examples/lingbot_video/). - **July 21, 2026** We have open-sourced [DiffSynth-Studio Model Integration Skills](https://www.modelscope.cn/collections/DiffSynth-Studio/DiffSynth-Studio-Model-Integration-Skills). This is a composable collection of Agent Skills that automates the entire workflow of integrating external diffusion models into DiffSynth-Studio, significantly improving the standardization and efficiency of model integration. Get started with the [example](https://www.modelscope.cn/skills/DiffSynth-Studio/diffsynth-integrator/file/view/master/example.md?status=1)! @@ -1518,7 +1518,9 @@ Example code for LingBot-Video is available at: [/examples/lingbot_video/](/exam |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| diff --git a/README_zh.md b/README_zh.md index f0e85a8a9..9312d971f 100644 --- a/README_zh.md +++ b/README_zh.md @@ -36,7 +36,7 @@ DiffSynth 目前包括两个开源项目: > 目前本项目的开发人员有限,大部分工作由 [Artiprocher](https://github.com/Artiprocher) 和 [mi804](https://github.com/mi804) 负责,因此新功能的开发进展会比较缓慢,issue 的回复和解决速度有限,我们对此感到非常抱歉,请各位开发者理解。 -- **2026年7月28日** LingBot-Video 开源,欢迎加入视频生成模型家族!Dense-1.3B 是一份 checkpoint,同时支持文生视频、图生视频和文生图任务,并配备低显存推理和 LoRA / 全量训练能力。详情请参考[文档](/docs/zh/Model_Details/LingBot-Video.md)和[示例代码](/examples/lingbot_video/)。 +- **2026年7月28日** LingBot-Video 开源,欢迎加入视频生成模型家族!Dense-1.3B 是一份 checkpoint,同时支持文生视频、图生视频和文生图任务,并配备低显存推理和 LoRA / 全量训练能力。MoE-30B-A3B 总参数量 30B、每个 token 激活约 3B,同样支持这三种任务。详情请参考[文档](/docs/zh/Model_Details/LingBot-Video.md)和[示例代码](/examples/lingbot_video/)。 - **2026年7月21日** 我们开源了 [DiffSynth-Studio Model Integration Skills](https://www.modelscope.cn/collections/DiffSynth-Studio/DiffSynth-Studio-Model-Integration-Skills)。这是一套可组合的 Agent Skill 合集,将外部扩散模型接入 DiffSynth-Studio 的全流程自动化,大幅提升模型接入标准化程度与效率。从[使用示例](https://www.modelscope.cn/skills/DiffSynth-Studio/diffsynth-integrator/file/view/master/example.md?status=1)开始体验吧! @@ -1518,7 +1518,9 @@ LingBot-Video 的示例代码位于:[/examples/lingbot_video/](/examples/lingb |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index c6f5c003d..dc4c3873e 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -70,14 +70,16 @@ save_video(video, "video.mp4", fps=15, quality=10) Dense-1.3B is a single checkpoint that serves three tasks — text-to-video, image-to-video, and text-to-image — through the same pipeline. Each task ships its own inference / low-VRAM / training / validation scripts. -MoE-30B-A3B is the larger variant: 30B total parameters with ~3B active per token, where each MoE layer holds 128 routed experts plus 1 shared expert and routes every token to 8 experts with group-limited top-k (4 groups, top-2 groups). It loads through the same pipeline, only the model ID and the shard glob change. +MoE-30B-A3B is the larger variant: 30B total parameters with ~3B active per token, where each MoE layer holds 128 routed experts plus 1 shared expert and routes every token to 8 experts with group-limited top-k (4 groups, top-2 groups). It serves the same three tasks through the same pipeline, only the model ID and the shard glob change. |Model ID|Inference|Low VRAM Inference|Full Training|Full Training Validation|LoRA Training|LoRA Training Validation| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| ## Model Inference diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 67331d123..8317d277f 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -70,14 +70,16 @@ save_video(video, "video.mp4", fps=15, quality=10) Dense-1.3B 是一份 checkpoint,通过同一个 Pipeline 支持文生视频、图生视频、文生图三种任务,每种任务都配有推理 / 低显存 / 训练 / 验证脚本。 -MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B,每个 MoE 层包含 128 个路由专家和 1 个共享专家,并使用 group-limited top-k(4 组,取 top-2 组)将每个 token 路由到 8 个专家。它复用同一条 Pipeline,只需更换模型 ID 与分片通配符。 +MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B,每个 MoE 层包含 128 个路由专家和 1 个共享专家,并使用 group-limited top-k(4 组,取 top-2 组)将每个 token 路由到 8 个专家。它通过同一条 Pipeline 支持同样的三种任务,只需更换模型 ID 与分片通配符。 |模型 ID|推理|低显存推理|全量训练|全量训练后验证|LoRA 训练|LoRA 训练后验证| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| ## 模型推理 diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py index e5547a299..baac6c946 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b.py @@ -1,8 +1,8 @@ -import os -import json import torch +import json from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download pipe = LingBotVideoPipeline.from_pretrained( torch_dtype=torch.bfloat16, @@ -15,7 +15,12 @@ processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), ) -with open(os.path.join(os.path.dirname(__file__), "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: caption = json.load(f) video = pipe( diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py new file mode 100644 index 000000000..0c3de53c6 --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py @@ -0,0 +1,27 @@ +import os +import json +import torch +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), +) + +with open(os.path.join(os.path.dirname(__file__), "prompts", "t2i_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) + +frames = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt_image, + height=480, width=832, num_frames=1, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +frames[0].save("image_lingbot-video-moe-30b-a3b_t2i.png") diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py new file mode 100644 index 000000000..1c5185a0a --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py @@ -0,0 +1,32 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), +) + +here = os.path.dirname(__file__) +with open(os.path.join(here, "prompts", "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(here, "assets", "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py index e79390f72..c7d5feaa4 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b.py @@ -1,8 +1,8 @@ -import os -import json import torch +import json from diffsynth.utils.data import save_video, VideoData from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download vram_config = { "offload_dtype": "disk", @@ -27,8 +27,12 @@ vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, ) -inference_dir = os.path.join(os.path.dirname(__file__), "..", "model_inference") -with open(os.path.join(inference_dir, "prompts", "t2v_example_1.json"), "r", encoding="utf-8") as f: +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b/t2v_example_1.json", "r", encoding="utf-8") as f: caption = json.load(f) video = pipe( @@ -38,9 +42,9 @@ num_inference_steps=40, cfg_scale=3.0, seed=0, ) -save_video(video, "video_lingbot-video-moe-30b-a3b_low_vram.mp4", fps=15, quality=10) +save_video(video, "video_lingbot-video-moe-30b-a3b.mp4", fps=15, quality=10) -input_video = VideoData("video_lingbot-video-moe-30b-a3b_low_vram.mp4", height=480, width=832) +input_video = VideoData("video_lingbot-video-moe-30b-a3b.mp4", height=480, width=832) video = pipe( prompt=caption, negative_prompt=pipe.default_negative_prompt, @@ -49,4 +53,4 @@ num_inference_steps=40, cfg_scale=3.0, seed=1, ) -save_video(video, "video_lingbot-video-moe-30b-a3b_v2v_low_vram.mp4", fps=15, quality=10) +save_video(video, "video_lingbot-video-moe-30b-a3b_v2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py new file mode 100644 index 000000000..1462f51e6 --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py @@ -0,0 +1,39 @@ +import os +import json +import torch +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +with open(os.path.join(os.path.dirname(__file__), "..", "model_inference", "prompts", "t2i_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) + +frames = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt_image, + height=480, width=832, num_frames=1, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +frames[0].save("image_lingbot-video-moe-30b-a3b_t2i_low_vram.png") diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py new file mode 100644 index 000000000..34d8e5845 --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py @@ -0,0 +1,44 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="text_encoder/model*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="processor/"), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +inference_dir = os.path.join(os.path.dirname(__file__), "..", "model_inference") +with open(os.path.join(inference_dir, "prompts", "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(inference_dir, "assets", "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v_low_vram.mp4", fps=15, quality=10) From 947686779b30b0e3c06c6f3a51f3832828168d86 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Wed, 29 Jul 2026 12:59:51 +0800 Subject: [PATCH 28/34] fix: restore every DiT parameter under low-VRAM offload for the MoE map Disk offload only materialises weights for module types listed in the VRAM map, so the per-type MoE map left two owners of raw parameters on `meta`: `LingBotVideoBlock.scale_shift_table` and the router weight / correction bias. Both bf16 and low VRAM Dense and MoE inference crashed with "Tensor on device meta is not on the expected device cuda:0". - map `LingBotVideoBlock` and `LingBotVideoRouter` to `AutoWrappedNonRecurseModule`, which manages a module's own parameters while its children keep their individual wrappers, and drop the dead `torch.nn.LayerNorm` entry (`norm_out` has no affine parameters) - cast `scale_shift_table` to the modulation dtype/device in the block forward, following `wan_video_dit.DiTBlock` - keep `e_score_correction_bias` as a non-trainable parameter so the disk loader restores its checkpoint values instead of leaving CPU zeros, and add it in float32 Verified on Robbyant/lingbot-video-moe-30b-a3b: all six MoE examples and the Dense low VRAM examples run, low VRAM peaks at 29.5 GiB versus 74.5 GiB for bf16, and the low VRAM T2I output matches the bf16 output to 16.9/255. --- diffsynth/configs/vram_management_module_maps.py | 7 ++++--- diffsynth/models/lingbot_video_dit.py | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/diffsynth/configs/vram_management_module_maps.py b/diffsynth/configs/vram_management_module_maps.py index cc55fb271..fb5867b14 100644 --- a/diffsynth/configs/vram_management_module_maps.py +++ b/diffsynth/configs/vram_management_module_maps.py @@ -409,10 +409,11 @@ "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", }, "diffsynth.models.lingbot_video_dit.LingBotVideoDiT": { - "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", - "torch.nn.LayerNorm": "diffsynth.core.vram.layers.AutoWrappedModule", - "diffsynth.models.lingbot_video_dit.LingBotVideoRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + "diffsynth.models.lingbot_video_dit.LingBotVideoBlock": "diffsynth.core.vram.layers.AutoWrappedNonRecurseModule", + "diffsynth.models.lingbot_video_dit.LingBotVideoRouter": "diffsynth.core.vram.layers.AutoWrappedNonRecurseModule", "diffsynth.models.lingbot_video_dit.LingBotVideoGroupedExperts": "diffsynth.core.vram.layers.AutoWrappedModule", + "diffsynth.models.lingbot_video_dit.LingBotVideoRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", + "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", }, "diffsynth.models.lingbot_video_text_encoder.LingBotVideoTextEncoder": { "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 36a32980a..7905903a0 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -221,7 +221,7 @@ def __init__(self, hidden_size, num_experts, top_k, score_func, norm_topk_prob, self.topk_group = topk_group self.route_scale = route_scale self.weight = nn.Parameter(torch.empty(num_experts, hidden_size)) - self.register_buffer("e_score_correction_bias", torch.zeros(num_experts), persistent=True) + self.e_score_correction_bias = nn.Parameter(torch.zeros(num_experts), requires_grad=False) def _group_limited_topk(self, scores_for_choice): seq_len = scores_for_choice.shape[0] @@ -242,7 +242,7 @@ def forward(self, tokens: torch.Tensor): scores = F.softmax(logits, dim=-1) else: scores = logits.sigmoid() - scores_for_choice = scores + self.e_score_correction_bias.unsqueeze(0) + scores_for_choice = scores + self.e_score_correction_bias.float().unsqueeze(0) if self.n_group is not None and self.n_group > 1: top_indices = self._group_limited_topk(scores_for_choice) else: @@ -431,7 +431,7 @@ def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=No ) if bulk_dtype is None: bulk_dtype = resolve_bulk_dtype(self.attn.to_q) - mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.unsqueeze(0) + mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.to(dtype=temb6.dtype, device=temb6.device).unsqueeze(0) shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = mod.chunk(6, dim=-1) gate_msa, gate_mlp = gate_msa.tanh(), gate_mlp.tanh() scale_msa, scale_mlp = 1.0 + scale_msa, 1.0 + scale_mlp From 823fae0666c5bd1b70d8da0892914f9070cd8845 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Thu, 30 Jul 2026 12:26:19 +0800 Subject: [PATCH 29/34] fix: point the MoE examples at the published Dense example-dataset directories Dense and MoE share one example dataset on ModelScope; only lingbot_video/lingbot-video-dense-1.3b_{t2v,ti2v,t2i}/ exists, so the MoE examples read the same captions and condition frame instead of a MoE-specific directory that was never published. --- .../model_inference/lingbot-video-moe-30b-a3b_t2i.py | 4 ++-- .../model_inference/lingbot-video-moe-30b-a3b_t2v.py | 4 ++-- .../model_inference/lingbot-video-moe-30b-a3b_ti2v.py | 4 ++-- .../model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py | 4 ++-- .../model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py | 4 ++-- .../lingbot-video-moe-30b-a3b_ti2v.py | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py index 1264f5215..98c347365 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py @@ -17,9 +17,9 @@ dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", - allow_file_pattern="lingbot_video/lingbot-video-moe-30b-a3b_t2i/*", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2i/*", ) -with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-moe-30b-a3b_t2i/t2i_example.json", "r", encoding="utf-8") as f: +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2i/t2i_example.json", "r", encoding="utf-8") as f: caption = json.load(f) frames = pipe( diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py index c2d20f90b..fcbb28832 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py @@ -19,12 +19,12 @@ dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", - allow_file_pattern="lingbot_video/lingbot-video-moe-30b-a3b_t2v/*", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2v/*", ) # LingBot-Video is trained on structured-JSON captions, not free-form prose. This example # runs on a released in-distribution caption; see the bottom for turning a brief idea into # such a caption with the two-stage prompt rewriter. -with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-moe-30b-a3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: caption = json.load(f) video = pipe( diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py index 931630ad0..3225f9d26 100644 --- a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py @@ -21,9 +21,9 @@ dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", - allow_file_pattern="lingbot_video/lingbot-video-moe-30b-a3b_ti2v/*", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_ti2v/*", ) -base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-moe-30b-a3b_ti2v" +base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v" with open(os.path.join(base, "ti2v_example.json"), "r", encoding="utf-8") as f: caption = json.load(f) input_image = Image.open(os.path.join(base, "ti2v_first_frame.png")).convert("RGB") diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py index 92cec75d5..8d34665ea 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py @@ -29,9 +29,9 @@ dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", - allow_file_pattern="lingbot_video/lingbot-video-moe-30b-a3b_t2i/*", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2i/*", ) -with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-moe-30b-a3b_t2i/t2i_example.json", "r", encoding="utf-8") as f: +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2i/t2i_example.json", "r", encoding="utf-8") as f: caption = json.load(f) frames = pipe( diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py index 652569c16..b1bacb7d9 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py @@ -31,9 +31,9 @@ dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", - allow_file_pattern="lingbot_video/lingbot-video-moe-30b-a3b_t2v/*", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2v/*", ) -with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-moe-30b-a3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: caption = json.load(f) video = pipe( diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py index 7b8de30d4..bb58682cb 100644 --- a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py @@ -33,9 +33,9 @@ dataset_snapshot_download( dataset_id="DiffSynth-Studio/diffsynth_example_dataset", local_dir="data/diffsynth_example_dataset", - allow_file_pattern="lingbot_video/lingbot-video-moe-30b-a3b_ti2v/*", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_ti2v/*", ) -base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-moe-30b-a3b_ti2v" +base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v" with open(os.path.join(base, "ti2v_example.json"), "r", encoding="utf-8") as f: caption = json.load(f) input_image = Image.open(os.path.join(base, "ti2v_first_frame.png")).convert("RGB") From 7bd0ad8e14acd235e4f70545e78775eccb25568e Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Thu, 30 Jul 2026 14:01:21 +0800 Subject: [PATCH 30/34] refactor: drop the resolve_bulk_dtype helper from the MoE DiT The bulk dtype is already the dtype of the incoming hidden states, and the wrapped linears cast their own weights, so the helper only restated what x.dtype / joint.dtype already carry. Removing it makes the file identical to the Dense implementation except for the offload fixes; TI2V output stays bit-identical in bf16 and under low-VRAM offload. --- diffsynth/models/lingbot_video_dit.py | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index 7905903a0..a5d29749f 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -10,15 +10,6 @@ from ..core.device.npu_compatible_device import get_device_type -def resolve_bulk_dtype(linear: nn.Module) -> torch.dtype: - computation_dtype = getattr(linear, "computation_dtype", None) - if isinstance(computation_dtype, torch.dtype): - if computation_dtype in (torch.float8_e4m3fn, torch.float8_e4m3fnuz, torch.float8_e5m2): - return torch.bfloat16 - return computation_dtype - return linear.weight.dtype - - def get_timestep_embedding( timesteps: torch.Tensor, embedding_dim: int, @@ -422,20 +413,19 @@ def __init__(self, hidden_size, num_attention_heads, intermediate_size, norm_eps self.ffn = LingBotVideoMLP(h, intermediate_size) self.norm_post_ffn = LingBotVideoRMSNorm(h, norm_eps) - def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=None, bulk_dtype=None): + def forward(self, x, temb6, rotary_emb, attention_mask=None, moe_padding_mask=None): expected_tokens = x.shape[0] * x.shape[1] if temb6.ndim != 2 or temb6.shape[0] != expected_tokens: raise ValueError( "LingBotVideoBlock expects token-level temb6 with shape (B*S, 6D); " f"got {tuple(temb6.shape)} for hidden states {tuple(x.shape)}." ) - if bulk_dtype is None: - bulk_dtype = resolve_bulk_dtype(self.attn.to_q) mod = temb6.view(x.shape[0], x.shape[1], -1) + self.scale_shift_table.to(dtype=temb6.dtype, device=temb6.device).unsqueeze(0) shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = mod.chunk(6, dim=-1) gate_msa, gate_mlp = gate_msa.tanh(), gate_mlp.tanh() scale_msa, scale_mlp = 1.0 + scale_msa, 1.0 + scale_mlp + bulk_dtype = x.dtype attn_in = (self.norm1(x) * scale_msa + shift_msa).to(bulk_dtype) attn_out = self.attn(attn_in, rotary_emb, attention_mask) x = x + (gate_msa * self.norm_post_attn(attn_out)).to(x.dtype) @@ -594,7 +584,7 @@ def forward( # Timestep -> per-token modulation. timestep_proj = self.time_proj(timestep.float()) - t_emb = self.time_embedder(timestep_proj.to(resolve_bulk_dtype(self.time_embedder.linear_1))) # (B, D) + t_emb = self.time_embedder(timestep_proj.to(joint.dtype)) # (B, D) if packed_batch: temb_input = torch.cat( [t_emb[i:i + 1].unsqueeze(1).expand(1, sample_seq_lens[i], -1) for i in range(B)], dim=1 @@ -602,10 +592,8 @@ def forward( else: temb_input = t_emb.unsqueeze(1).expand(B, joint_seq_len, -1) # (B, S, D) b_eff, s_eff = temb_input.shape[0], temb_input.shape[1] - mod_dtype = resolve_bulk_dtype(self.time_modulation[1]) - temb6 = self.time_modulation(temb_input.reshape(b_eff * s_eff, -1).to(mod_dtype)) # (B*S, 6D) + temb6 = self.time_modulation(temb_input.reshape(b_eff * s_eff, -1)) # (B*S, 6D) - bulk_dtype = resolve_bulk_dtype(self.patch_embedder) for block in self.blocks: joint = gradient_checkpoint_forward( block, @@ -613,14 +601,12 @@ def forward( use_gradient_checkpointing_offload=use_gradient_checkpointing_offload, x=joint, temb6=temb6, rotary_emb=rotary, attention_mask=attention_mask, moe_padding_mask=moe_padding_mask, - bulk_dtype=bulk_dtype, ) - out_mod_dtype = resolve_bulk_dtype(self.norm_out_modulation[1]) - final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1).to(out_mod_dtype)) + final_mod = self.norm_out_modulation(temb_input.reshape(joint.shape[0] * joint.shape[1], -1)) shift, scale = final_mod.reshape(joint.shape[0], joint.shape[1], -1).chunk(2, dim=-1) final_hidden = self.norm_out(joint) * (1.0 + scale) + shift - projected = self.proj_out(final_hidden.to(resolve_bulk_dtype(self.proj_out))) + projected = self.proj_out(final_hidden.to(joint.dtype)) if packed_batch: split_lengths = [] From 44c506bc01b8345f1c4c4449190e0fcb5d4b8152 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Thu, 30 Jul 2026 16:05:23 +0800 Subject: [PATCH 31/34] fix: cast the MoE router and expert weights inside the model under offload AutoWrappedNonRecurseModule leaves parameter casting to the model, and the grouped-expert matmuls read experts.w1/w2/w3 directly instead of going through a forward, so an AutoWrappedModule wrapper never got the chance to cast them. With a vram_limit that actually forces layers to stay on CPU, the router projection and the expert matmuls therefore hit CPU weights: RuntimeError: Expected all tensors to be on the same device, but got mat2 is on cpu Move the experts to AutoWrappedNonRecurseModule as well and cast the router weight, the correction bias and the three expert tensors to the token device and dtype at use, matching how scale_shift_table is already handled. bf16 and default low-VRAM outputs stay bit-identical. --- .../configs/vram_management_module_maps.py | 2 +- diffsynth/models/lingbot_video_dit.py | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/diffsynth/configs/vram_management_module_maps.py b/diffsynth/configs/vram_management_module_maps.py index 555034659..45906df58 100644 --- a/diffsynth/configs/vram_management_module_maps.py +++ b/diffsynth/configs/vram_management_module_maps.py @@ -414,7 +414,7 @@ "diffsynth.models.lingbot_video_dit.LingBotVideoDiT": { "diffsynth.models.lingbot_video_dit.LingBotVideoBlock": "diffsynth.core.vram.layers.AutoWrappedNonRecurseModule", "diffsynth.models.lingbot_video_dit.LingBotVideoRouter": "diffsynth.core.vram.layers.AutoWrappedNonRecurseModule", - "diffsynth.models.lingbot_video_dit.LingBotVideoGroupedExperts": "diffsynth.core.vram.layers.AutoWrappedModule", + "diffsynth.models.lingbot_video_dit.LingBotVideoGroupedExperts": "diffsynth.core.vram.layers.AutoWrappedNonRecurseModule", "diffsynth.models.lingbot_video_dit.LingBotVideoRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule", "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear", }, diff --git a/diffsynth/models/lingbot_video_dit.py b/diffsynth/models/lingbot_video_dit.py index a5d29749f..ed2ca6201 100644 --- a/diffsynth/models/lingbot_video_dit.py +++ b/diffsynth/models/lingbot_video_dit.py @@ -228,12 +228,12 @@ def _group_limited_topk(self, scores_for_choice): def forward(self, tokens: torch.Tensor): with torch.amp.autocast(tokens.device.type, enabled=False): - logits = F.linear(tokens.float(), self.weight.float()) + logits = F.linear(tokens.float(), self.weight.to(device=tokens.device, dtype=torch.float32)) if self.score_func == "softmax": scores = F.softmax(logits, dim=-1) else: scores = logits.sigmoid() - scores_for_choice = scores + self.e_score_correction_bias.float().unsqueeze(0) + scores_for_choice = scores + self.e_score_correction_bias.to(device=scores.device, dtype=scores.dtype).unsqueeze(0) if self.n_group is not None and self.n_group > 1: top_indices = self._group_limited_topk(scores_for_choice) else: @@ -333,9 +333,10 @@ def _run_grouped_experts(self, tokens, counts): return self._run_experts_for_loop(tokens, counts) input_shape, padded_tokens, permuted_indices, aligned_counts = self._pad_grouped_tokens(tokens, counts) offsets = torch.cumsum(aligned_counts, dim=0, dtype=torch.int32) - h = F.silu(torch._grouped_mm(padded_tokens.bfloat16(), self.experts.w1.bfloat16().transpose(-2, -1), offs=offsets)) - h = h * torch._grouped_mm(padded_tokens.bfloat16(), self.experts.w3.bfloat16().transpose(-2, -1), offs=offsets) - out = torch._grouped_mm(h, self.experts.w2.bfloat16().transpose(-2, -1), offs=offsets).type_as(padded_tokens) + w1, w2, w3 = (w.to(device=tokens.device, dtype=torch.bfloat16) for w in (self.experts.w1, self.experts.w2, self.experts.w3)) + h = F.silu(torch._grouped_mm(padded_tokens.bfloat16(), w1.transpose(-2, -1), offs=offsets)) + h = h * torch._grouped_mm(padded_tokens.bfloat16(), w3.transpose(-2, -1), offs=offsets) + out = torch._grouped_mm(h, w2.transpose(-2, -1), offs=offsets).type_as(padded_tokens) return self._unpad_grouped_tokens(out, input_shape, permuted_indices) def _run_experts_for_loop(self, tokens, counts): @@ -345,9 +346,9 @@ def _run_experts_for_loop(self, tokens, counts): for expert_idx, expert_tokens in enumerate(splits): if expert_tokens.numel() == 0: continue - h = F.silu(expert_tokens @ self.experts.w1[expert_idx].transpose(-2, -1)) - h = h * (expert_tokens @ self.experts.w3[expert_idx].transpose(-2, -1)) - h = h @ self.experts.w2[expert_idx].transpose(-2, -1) + h = F.silu(expert_tokens @ self.experts.w1[expert_idx].to(device=expert_tokens.device, dtype=expert_tokens.dtype).transpose(-2, -1)) + h = h * (expert_tokens @ self.experts.w3[expert_idx].to(device=expert_tokens.device, dtype=expert_tokens.dtype).transpose(-2, -1)) + h = h @ self.experts.w2[expert_idx].to(device=expert_tokens.device, dtype=expert_tokens.dtype).transpose(-2, -1) outputs.append(h) if not outputs: return tokens.new_zeros(tokens.shape) From c2e49757e11cf8914d3438ad20e7a84059c2e837 Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Thu, 30 Jul 2026 17:50:54 +0800 Subject: [PATCH 32/34] feat: add LoRA and full-parameter training examples for MoE-30B-A3B --- README.md | 4 +- README_zh.md | 4 +- docs/en/Model_Details/LingBot-Video.md | 6 ++- docs/zh/Model_Details/LingBot-Video.md | 6 ++- .../full/accelerate_config_moe.yaml | 22 ++++++++++ .../full/lingbot-video-moe-30b-a3b_t2v.sh | 19 +++++++++ .../full/lingbot-video-moe-30b-a3b_ti2v.sh | 20 +++++++++ .../lora/lingbot-video-moe-30b-a3b_t2v.sh | 20 +++++++++ .../lora/lingbot-video-moe-30b-a3b_ti2v.sh | 21 ++++++++++ .../lingbot-video-moe-30b-a3b_t2v.py | 36 ++++++++++++++++ .../lingbot-video-moe-30b-a3b_ti2v.py | 42 +++++++++++++++++++ .../lingbot-video-moe-30b-a3b_t2v.py | 34 +++++++++++++++ .../lingbot-video-moe-30b-a3b_ti2v.py | 40 ++++++++++++++++++ 13 files changed, 266 insertions(+), 8 deletions(-) create mode 100644 examples/lingbot_video/model_training/full/accelerate_config_moe.yaml create mode 100644 examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh create mode 100644 examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh create mode 100644 examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh create mode 100644 examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh create mode 100644 examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py create mode 100644 examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py create mode 100644 examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py create mode 100644 examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py diff --git a/README.md b/README.md index 8eff07f74..94ab6697f 100644 --- a/README.md +++ b/README.md @@ -1518,8 +1518,8 @@ Example code for LingBot-Video is available at: [/examples/lingbot_video/](/exam |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_t2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_t2v.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| diff --git a/README_zh.md b/README_zh.md index 04fe2d0ca..6ba51dce7 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1518,8 +1518,8 @@ LingBot-Video 的示例代码位于:[/examples/lingbot_video/](/examples/lingb |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_t2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_t2v.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index 16612d10c..d62aa1855 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -77,8 +77,8 @@ MoE-30B-A3B is the larger variant: 30B total parameters with ~3B active per toke |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_t2v.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| ## Model Inference @@ -188,4 +188,6 @@ modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --inclu Training captions should be **structured-JSON captions** (the same in-distribution format used at inference). If your dataset stores raw prose, rewrite it once offline with [`examples/lingbot_video/model_training/scripts/rewrite_captions.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/scripts/rewrite_captions.py) before training. +The MoE-30B-A3B scripts launch with [`examples/lingbot_video/model_training/full/accelerate_config_moe.yaml`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml) (DeepSpeed ZeRO-2, optimizer CPU offload, bf16), and the full-parameter scripts additionally enable `--use_gradient_checkpointing_offload`. Note that `--lora_target_modules "to_q,to_k,to_v,to_out"` only reaches the attention projections: the routed experts and the router are stored as bare parameter tensors for grouped matmul, so LoRA leaves them frozen. Use full-parameter training to update the expert stack. + We provide recommended training scripts for each task, please refer to the table in "Model Overview" above. For guidance on writing model training scripts, see [Model Training](../Pipeline_Usage/Model_Training.md); for more advanced training algorithms, see [Training Framework Overview](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/en/Training/). diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index 878157a24..df3e9aad4 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -77,8 +77,8 @@ MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B, |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_t2v.py)| |[Robbyant/lingbot-video-dense-1.3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_ti2v.py)| |[Robbyant/lingbot-video-dense-1.3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2i.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|-|-|-|-| -|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| ## 模型推理 @@ -188,4 +188,6 @@ modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --inclu 训练时 `prompt` 字段应存放**结构化 JSON caption**(与推理时使用的分布内格式一致)。如果数据集里存的是原始散文,可先使用 [`examples/lingbot_video/model_training/scripts/rewrite_captions.py`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/scripts/rewrite_captions.py) 离线改写一次。 +MoE-30B-A3B 的训练脚本通过 [`examples/lingbot_video/model_training/full/accelerate_config_moe.yaml`](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml) 启动(DeepSpeed ZeRO-2、优化器状态 CPU offload、bf16),全量训练脚本还额外开启了 `--use_gradient_checkpointing_offload`。需要注意的是,`--lora_target_modules "to_q,to_k,to_v,to_out"` 只覆盖注意力投影层:路由专家与路由器以裸参数张量的形式存放以便做分组矩阵乘法,LoRA 不会训练它们。如需更新专家部分,请使用全量训练。 + 我们为每个任务编写了推荐的训练脚本,请参考前文"模型总览"中的表格。关于如何编写模型训练脚本,请参考[模型训练](../Pipeline_Usage/Model_Training.md);更多高阶训练算法,请参考[训练框架详解](https://github.com/modelscope/DiffSynth-Studio/tree/main/docs/zh/Training/)。 diff --git a/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml b/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml new file mode 100644 index 000000000..197000b43 --- /dev/null +++ b/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml @@ -0,0 +1,22 @@ +compute_environment: LOCAL_MACHINE +debug: false +deepspeed_config: + gradient_accumulation_steps: 1 + offload_optimizer_device: cpu + offload_param_device: none + zero3_init_flag: false + zero_stage: 2 +distributed_type: DEEPSPEED +downcast_bf16: 'no' +enable_cpu_affinity: false +machine_rank: 0 +main_training_function: main +mixed_precision: bf16 +num_machines: 1 +num_processes: 4 +rdzv_backend: static +same_network: true +tpu_env: [] +tpu_use_cluster: false +tpu_use_sudo: false +use_cpu: false diff --git a/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh b/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh new file mode 100644 index 000000000..77935b88e --- /dev/null +++ b/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh @@ -0,0 +1,19 @@ +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b_t2v/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch --config_file examples/lingbot_video/model_training/full/accelerate_config_moe.yaml examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/metadata.json \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --dataset_repeat 50 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-moe-30b-a3b:transformer/diffusion_pytorch_model*.safetensors,Qwen/Qwen3-VL-4B-Instruct:*.safetensors,Robbyant/lingbot-video-moe-30b-a3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Qwen/Qwen3-VL-4B-Instruct:" \ + --learning_rate 1e-5 \ + --num_epochs 2 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-moe-30b-a3b_t2v_full" \ + --trainable_models "dit" \ + --use_gradient_checkpointing \ + --use_gradient_checkpointing_offload diff --git a/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh b/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh new file mode 100644 index 000000000..8dcb0c16f --- /dev/null +++ b/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh @@ -0,0 +1,20 @@ +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b_ti2v/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch --config_file examples/lingbot_video/model_training/full/accelerate_config_moe.yaml examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v/metadata.json \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --first_frame_as_condition \ + --dataset_repeat 50 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-moe-30b-a3b:transformer/diffusion_pytorch_model*.safetensors,Qwen/Qwen3-VL-4B-Instruct:*.safetensors,Robbyant/lingbot-video-moe-30b-a3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Qwen/Qwen3-VL-4B-Instruct:" \ + --learning_rate 1e-5 \ + --num_epochs 2 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-moe-30b-a3b_ti2v_full" \ + --trainable_models "dit" \ + --use_gradient_checkpointing \ + --use_gradient_checkpointing_offload diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh b/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh new file mode 100644 index 000000000..9f9aa4ce3 --- /dev/null +++ b/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh @@ -0,0 +1,20 @@ +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b_t2v/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch --config_file examples/lingbot_video/model_training/full/accelerate_config_moe.yaml examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/metadata.json \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --dataset_repeat 50 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-moe-30b-a3b:transformer/diffusion_pytorch_model*.safetensors,Qwen/Qwen3-VL-4B-Instruct:*.safetensors,Robbyant/lingbot-video-moe-30b-a3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Qwen/Qwen3-VL-4B-Instruct:" \ + --learning_rate 1e-4 \ + --num_epochs 5 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-moe-30b-a3b_t2v_lora" \ + --lora_base_model "dit" \ + --lora_target_modules "to_q,to_k,to_v,to_out" \ + --lora_rank 32 \ + --use_gradient_checkpointing diff --git a/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh b/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh new file mode 100644 index 000000000..6f044218f --- /dev/null +++ b/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh @@ -0,0 +1,21 @@ +modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "lingbot_video/lingbot-video-dense-1.3b_ti2v/*" --local_dir ./data/diffsynth_example_dataset + +accelerate launch --config_file examples/lingbot_video/model_training/full/accelerate_config_moe.yaml examples/lingbot_video/model_training/train.py \ + --dataset_base_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v \ + --dataset_metadata_path data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v/metadata.json \ + --data_file_keys "video" \ + --height 480 \ + --width 832 \ + --num_frames 81 \ + --first_frame_as_condition \ + --dataset_repeat 50 \ + --model_id_with_origin_paths "Robbyant/lingbot-video-moe-30b-a3b:transformer/diffusion_pytorch_model*.safetensors,Qwen/Qwen3-VL-4B-Instruct:*.safetensors,Robbyant/lingbot-video-moe-30b-a3b:vae/diffusion_pytorch_model.safetensors" \ + --processor_path "Qwen/Qwen3-VL-4B-Instruct:" \ + --learning_rate 1e-4 \ + --num_epochs 5 \ + --remove_prefix_in_ckpt "pipe.dit." \ + --output_path "./models/train/lingbot-video-moe-30b-a3b_ti2v_lora" \ + --lora_base_model "dit" \ + --lora_target_modules "to_q,to_k,to_v,to_out" \ + --lora_rank 32 \ + --use_gradient_checkpointing diff --git a/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py b/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py new file mode 100644 index 000000000..4a8222749 --- /dev/null +++ b/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py @@ -0,0 +1,36 @@ +import torch +import json +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth import load_state_dict +from modelscope import dataset_snapshot_download + + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) +state_dict = load_state_dict("models/train/lingbot-video-moe-30b-a3b_t2v_full/epoch-1.safetensors") +pipe.dit.load_state_dict(state_dict) +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2v/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_t2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py b/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py new file mode 100644 index 000000000..a9adcb0dc --- /dev/null +++ b/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py @@ -0,0 +1,42 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from diffsynth import load_state_dict +from modelscope import dataset_snapshot_download + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) +state_dict = load_state_dict("models/train/lingbot-video-moe-30b-a3b_ti2v_full/epoch-1.safetensors") +pipe.dit.load_state_dict(state_dict) + +# The condition first frame and its paired caption ship in the example dataset. +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_ti2v/*", +) +base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v" +with open(os.path.join(base, "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(base, "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py new file mode 100644 index 000000000..0cf7766a3 --- /dev/null +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py @@ -0,0 +1,34 @@ +import torch +import json +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) +pipe.load_lora(pipe.dit, "models/train/lingbot-video-moe-30b-a3b_t2v_lora/epoch-4.safetensors", alpha=1) +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2v/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_t2v.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py b/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py new file mode 100644 index 000000000..33102cd31 --- /dev/null +++ b/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py @@ -0,0 +1,40 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) +pipe.load_lora(pipe.dit, "models/train/lingbot-video-moe-30b-a3b_ti2v_lora/epoch-4.safetensors", alpha=1) + +# The condition first frame and its paired caption ship in the example dataset. +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_ti2v/*", +) +base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v" +with open(os.path.join(base, "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(base, "ti2v_first_frame.png")).convert("RGB") + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v.mp4", fps=15, quality=10) From 3cfbbf1711a78e58612f88a640d960ee4cff2b1a Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Thu, 30 Jul 2026 20:01:46 +0800 Subject: [PATCH 33/34] style: align the MoE accelerate config with the 14B training config --- .../model_training/full/accelerate_config_moe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml b/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml index 197000b43..3875a9da2 100644 --- a/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml +++ b/examples/lingbot_video/model_training/full/accelerate_config_moe.yaml @@ -3,7 +3,7 @@ debug: false deepspeed_config: gradient_accumulation_steps: 1 offload_optimizer_device: cpu - offload_param_device: none + offload_param_device: cpu zero3_init_flag: false zero_stage: 2 distributed_type: DEEPSPEED @@ -13,7 +13,7 @@ machine_rank: 0 main_training_function: main mixed_precision: bf16 num_machines: 1 -num_processes: 4 +num_processes: 8 rdzv_backend: static same_network: true tpu_env: [] From e0ce129be3e48aa460babb222ba7cd1c0f067d9f Mon Sep 17 00:00:00 2001 From: NancyFyong Date: Thu, 30 Jul 2026 21:54:20 +0800 Subject: [PATCH 34/34] feat: support the LingBot-Video MoE refiner for two-stage high-resolution refinement --- README.md | 2 + README_zh.md | 2 + diffsynth/diffusion/flow_match.py | 25 +++++- diffsynth/pipelines/lingbot_video.py | 25 ++++-- docs/en/Model_Details/LingBot-Video.md | 25 ++++++ docs/zh/Model_Details/LingBot-Video.md | 25 ++++++ .../lingbot-video-moe-30b-a3b_t2v_refiner.py | 61 ++++++++++++++ .../lingbot-video-moe-30b-a3b_ti2v_refiner.py | 67 ++++++++++++++++ .../lingbot-video-moe-30b-a3b_t2v_refiner.py | 74 +++++++++++++++++ .../lingbot-video-moe-30b-a3b_ti2v_refiner.py | 80 +++++++++++++++++++ 10 files changed, 379 insertions(+), 7 deletions(-) create mode 100644 examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py create mode 100644 examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py create mode 100644 examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py diff --git a/README.md b/README.md index 94ab6697f..baf794947 100644 --- a/README.md +++ b/README.md @@ -1521,6 +1521,8 @@ Example code for LingBot-Video is available at: [/examples/lingbot_video/](/exam |[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|-|-|-|-| diff --git a/README_zh.md b/README_zh.md index 6ba51dce7..3627986e6 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1521,6 +1521,8 @@ LingBot-Video 的示例代码位于:[/examples/lingbot_video/](/examples/lingb |[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|[code](/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|-|-|-|-| diff --git a/diffsynth/diffusion/flow_match.py b/diffsynth/diffusion/flow_match.py index b9104e869..5097ea43a 100644 --- a/diffsynth/diffusion/flow_match.py +++ b/diffsynth/diffusion/flow_match.py @@ -5,7 +5,7 @@ class FlowMatchScheduler(): - def __init__(self, template: Literal["FLUX.1", "Wan", "Qwen-Image", "FLUX.2", "Z-Image", "LTX-2", "Qwen-Image-Lightning", "ERNIE-Image", "ACE-Step", "Ideogram4", "Krea-2", "Boogu"] = "FLUX.1"): + def __init__(self, template: Literal["FLUX.1", "Wan", "Qwen-Image", "FLUX.2", "Z-Image", "LTX-2", "Qwen-Image-Lightning", "ERNIE-Image", "ACE-Step", "Ideogram4", "Krea-2", "Boogu", "LingBot-Video"] = "FLUX.1"): self.set_timesteps_fn = { "FLUX.1": FlowMatchScheduler.set_timesteps_flux, "Wan": FlowMatchScheduler.set_timesteps_wan, @@ -20,6 +20,7 @@ def __init__(self, template: Literal["FLUX.1", "Wan", "Qwen-Image", "FLUX.2", "Z "Ideogram4": FlowMatchScheduler.set_timesteps_ideogram4, "Krea-2": FlowMatchScheduler.set_timesteps_krea2, "Boogu": FlowMatchScheduler.set_timesteps_boogu, + "LingBot-Video": FlowMatchScheduler.set_timesteps_lingbot_video, }.get(template, FlowMatchScheduler.set_timesteps_flux) self.num_train_timesteps = 1000 @@ -79,6 +80,28 @@ def set_timesteps_qwen_image(num_inference_steps=100, denoising_strength=1.0, ex timesteps = sigmas * num_train_timesteps return sigmas, timesteps + @staticmethod + def set_timesteps_lingbot_video(num_inference_steps=100, denoising_strength=1.0, shift=None, t_thresh=None, sigma_tail_steps=0): + sigma_min = 0.0 + sigma_max = 1.0 + shift = 5 if shift is None else shift + num_train_timesteps = 1000 + sigma_start = sigma_min + (sigma_max - sigma_min) * denoising_strength + sigmas = torch.linspace(sigma_start, sigma_min, num_inference_steps + 1)[:-1] + sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) + if t_thresh is not None: + # Refinement schedule: keep the sub-threshold part of the shifted grid, pin the first + # sigma exactly at t_thresh, then append extra low-noise steps that end at sigma_min. + sigmas = sigmas[sigmas <= t_thresh + 1e-6] + if sigmas.numel() == 0 or abs(float(sigmas[0]) - t_thresh) > 1e-6: + sigmas = torch.cat([torch.tensor([t_thresh], dtype=sigmas.dtype), sigmas]) + if sigma_tail_steps > 0: + tail_start = float(sigmas[-1]) + tail = torch.linspace(tail_start, min(sigma_min, tail_start), sigma_tail_steps + 2)[1:-1] + sigmas = torch.cat([sigmas, tail.to(dtype=sigmas.dtype)]) + timesteps = sigmas * num_train_timesteps + return sigmas, timesteps + @staticmethod def set_timesteps_qwen_image_lightning(num_inference_steps=100, denoising_strength=1.0, exponential_shift_mu=None, dynamic_shift_len=None): sigma_min = 0.0 diff --git a/diffsynth/pipelines/lingbot_video.py b/diffsynth/pipelines/lingbot_video.py index 28973198d..081877c89 100644 --- a/diffsynth/pipelines/lingbot_video.py +++ b/diffsynth/pipelines/lingbot_video.py @@ -25,7 +25,7 @@ def __init__(self, device=get_device_type(), torch_dtype=torch.bfloat16): height_division_factor=16, width_division_factor=16, time_division_factor=4, time_division_remainder=1, ) - self.scheduler = FlowMatchScheduler(template="Wan") + self.scheduler = FlowMatchScheduler(template="LingBot-Video") self.text_encoder: Krea2TextEncoder = None self.dit: LingBotVideoDiT = None self.vae: QwenImageVAE = None @@ -102,11 +102,18 @@ def __call__( # Scheduler num_inference_steps: int = 40, sigma_shift: float = 3.0, + # Refinement pass: start from a partially noised input video at sigma=t_thresh and + # append extra low-noise steps at the tail of the schedule. + t_thresh: float = None, + sigma_tail_steps: int = 2, # progress_bar progress_bar_cmd=tqdm, ): # Scheduler - self.scheduler.set_timesteps(num_inference_steps, denoising_strength=denoising_strength, shift=sigma_shift) + self.scheduler.set_timesteps( + num_inference_steps, denoising_strength=denoising_strength, shift=sigma_shift, + t_thresh=t_thresh, sigma_tail_steps=sigma_tail_steps, + ) # Inputs inputs_posi = {"prompt": prompt} @@ -116,7 +123,7 @@ def __call__( "input_video": input_video, "denoising_strength": denoising_strength, "seed": seed, "rand_device": rand_device, "height": height, "width": width, "num_frames": num_frames, - "cfg_scale": cfg_scale, + "cfg_scale": cfg_scale, "t_thresh": t_thresh, } for unit in self.units: inputs_shared, inputs_posi, inputs_nega = self.unit_runner(unit, self, inputs_shared, inputs_posi, inputs_nega) @@ -132,6 +139,11 @@ def __call__( **models, timestep=timestep, progress_id=progress_id ) inputs_shared["latents"] = self.step(self.scheduler, progress_id=progress_id, noise_pred=noise_pred, **inputs_shared) + if t_thresh is not None and inputs_shared.get("first_frame_latents") is not None: + # The refiner re-pins the clean condition latent after every step, keeping frame 0 + # identical to the input image while the rest of the clip denoises against it. + first_frame_latents = inputs_shared["first_frame_latents"] + inputs_shared["latents"][:, :, :first_frame_latents.shape[2]] = first_frame_latents self.load_models_to_device(['vae']) latents = inputs_shared["latents"].to(dtype=self.torch_dtype, device=self.device) @@ -197,12 +209,12 @@ class LingBotVideoUnit_ImageEmbedder(PipelineUnit): def __init__(self): super().__init__( - input_params=("input_image", "latents", "height", "width"), + input_params=("input_image", "latents", "height", "width", "t_thresh"), output_params=("latents", "first_frame_latents", "vlm_image"), onload_model_names=("vae",), ) - def process(self, pipe: LingBotVideoPipeline, input_image, latents, height, width): + def process(self, pipe: LingBotVideoPipeline, input_image, latents, height, width, t_thresh=None): if input_image is None: return {} pipe.load_models_to_device(self.onload_model_names) @@ -211,7 +223,8 @@ def process(self, pipe: LingBotVideoPipeline, input_image, latents, height, widt pixel = self.preprocess_cond_image(input_image, height, width) pixel = pixel.to(dtype=pipe.torch_dtype, device=pipe.device) first_frame_latents = pipe.vae.encode_video(pixel * 2.0 - 1.0).to(dtype=pipe.torch_dtype, device=pipe.device) - vlm_image = self.vlm_image(pipe, pixel) + # The refiner conditions on text only and re-pins the frame-0 latent every step instead. + vlm_image = None if t_thresh is not None else self.vlm_image(pipe, pixel) # Pin the clean condition latent into the first temporal slot before sampling. cond_t = first_frame_latents.shape[2] latents[:, :, :cond_t] = first_frame_latents diff --git a/docs/en/Model_Details/LingBot-Video.md b/docs/en/Model_Details/LingBot-Video.md index d62aa1855..f0dab55da 100644 --- a/docs/en/Model_Details/LingBot-Video.md +++ b/docs/en/Model_Details/LingBot-Video.md @@ -72,6 +72,8 @@ save_video(video, "video.mp4", fps=15, quality=10) MoE-30B-A3B is the larger variant: 30B total parameters with ~3B active per token, where each MoE layer holds 128 routed experts plus 1 shared expert and routes every token to 8 experts with group-limited top-k (4 groups, top-2 groups). It serves the same three tasks through the same pipeline, only the model ID and the shard glob change. +The MoE release additionally ships a **refiner** under `refiner/`: a second 30B-A3B checkpoint with the same architecture as `transformer/`, fine-tuned for a short high-resolution second pass over an already generated clip. It is not listed in `model_index.json` and is loaded through the same pipeline, only the shard glob changes. See [Two-stage refinement](#two-stage-refinement) below. + |Model ID|Inference|Low VRAM Inference|Full Training|Full Training Validation|LoRA Training|LoRA Training Validation| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_t2v.py)| @@ -80,6 +82,8 @@ MoE-30B-A3B is the larger variant: 30B total parameters with ~3B active per toke |[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|-|-|-|-| ## Model Inference @@ -98,12 +102,33 @@ The input parameters for `LingBotVideoPipeline` inference include: * `cfg_scale`: Classifier-free guidance scale, default `3.0`. * `num_inference_steps`: Number of inference steps, default `40`. * `sigma_shift`: Flow-matching timestep shift, default `3.0`. +* `t_thresh`: Refinement start sigma, default `None` (plain generation). When set, the schedule is truncated so that sampling starts at `sigma=t_thresh` and `input_video` is noised to exactly that level. Only meaningful together with `input_video`; TI2V additionally re-pins the clean first-frame latent after every step. The official refiner setting is `0.85`. +* `sigma_tail_steps`: Number of extra low-noise steps appended to the tail of the refinement schedule, default `2`. Only effective when `t_thresh` is set. * `seed`: Random seed. Default is `None`, meaning completely random. * `rand_device`: Device for generating the initial noise, default `"cpu"`. * `progress_bar_cmd`: Progress bar, default `tqdm`. Can be disabled by setting to `lambda x: x`. If VRAM is insufficient, please enable [VRAM Management](../Pipeline_Usage/VRAM_management.md). We provide recommended low-VRAM configurations for each task in the example code, see the table in the "Model Overview" section above. +### Two-stage refinement + +The MoE refiner performs a short second pass at a higher resolution: the official setup generates at 480×832 with 40 steps, then refines at 1088×1920 with 8 steps. Load the pipeline with the `refiner/` shards instead of `transformer/`, feed the base clip back in through `input_video` at the higher resolution, and set `t_thresh`: + +```python +input_video = VideoData("video_base.mp4", height=1088, width=1920) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_video=input_video, + height=1088, width=1920, num_frames=81, + num_inference_steps=8, cfg_scale=3.0, + t_thresh=0.85, sigma_tail_steps=2, + seed=0, +) +``` + +The upscaled clip is VAE-encoded and noised back to `sigma=t_thresh`, so the pass keeps the structure of the base clip and regenerates detail at the target resolution. Pass the same caption as the base pass and keep the same aspect ratio. The refinement resolution dominates the cost — at 1088×1920 the sequence is ~5× longer than at 480×832 — so run this pass with VRAM management enabled. + ### Prompt rewriting LingBot-Video is trained on **structured-JSON captions**, not free-form prose. Feeding a flat sentence is out-of-distribution and visibly degrades quality. The pipeline accepts a caption as a `dict` (the format used at training time) or a plain string, and normalises the `dict` internally. diff --git a/docs/zh/Model_Details/LingBot-Video.md b/docs/zh/Model_Details/LingBot-Video.md index df3e9aad4..1e21b1246 100644 --- a/docs/zh/Model_Details/LingBot-Video.md +++ b/docs/zh/Model_Details/LingBot-Video.md @@ -72,6 +72,8 @@ save_video(video, "video.mp4", fps=15, quality=10) MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B,每个 MoE 层包含 128 个路由专家和 1 个共享专家,并使用 group-limited top-k(4 组,取 top-2 组)将每个 token 路由到 8 个专家。它通过同一条 Pipeline 支持同样的三种任务,只需更换模型 ID 与分片通配符。 +MoE 版本还额外提供了 `refiner/` 目录下的 **refiner**:一份与 `transformer/` 架构相同的 30B-A3B 权重,专门微调用于对已生成视频做一次高分辨率精修。它没有出现在 `model_index.json` 中,通过同一条 Pipeline 加载,只需更换分片通配符。详见下方[两阶段精修](#两阶段精修)。 + |模型 ID|推理|低显存推理|全量训练|全量训练后验证|LoRA 训练|LoRA 训练后验证| |-|-|-|-|-|-|-| |[Robbyant/lingbot-video-dense-1.3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-dense-1.3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-dense-1.3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-dense-1.3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-dense-1.3b_t2v.py)| @@ -80,6 +82,8 @@ MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B, |[Robbyant/lingbot-video-moe-30b-a3b: T2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_t2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_t2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_t2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: TI2V](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/full/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_full/lingbot-video-moe-30b-a3b_ti2v.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/lora/lingbot-video-moe-30b-a3b_ti2v.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_training/validate_lora/lingbot-video-moe-30b-a3b_ti2v.py)| |[Robbyant/lingbot-video-moe-30b-a3b: T2I](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2i.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2i.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: T2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py)|-|-|-|-| +|[Robbyant/lingbot-video-moe-30b-a3b: TI2V + Refinement](https://modelscope.cn/models/Robbyant/lingbot-video-moe-30b-a3b)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py)|-|-|-|-| ## 模型推理 @@ -98,12 +102,33 @@ MoE-30B-A3B 是更大的版本:总参数量 30B,每个 token 激活约 3B, * `cfg_scale`: 无分类器指导强度,默认 `3.0`。 * `num_inference_steps`: 推理步数,默认 `40`。 * `sigma_shift`: Flow-matching 时间步 shift,默认 `3.0`。 +* `t_thresh`: 精修起始 sigma,默认 `None`(普通生成)。设置后调度会被截断,使采样从 `sigma=t_thresh` 开始,并把 `input_video` 加噪到该噪声水平。仅在提供 `input_video` 时有意义;TI2V 还会在每个采样步之后重新写入干净的首帧 latent。官方精修配置为 `0.85`。 +* `sigma_tail_steps`: 精修调度尾部追加的额外低噪声步数,默认 `2`。仅在设置了 `t_thresh` 时生效。 * `seed`: 随机种子,默认 `None`(完全随机)。 * `rand_device`: 生成初始噪声的设备,默认 `"cpu"`。 * `progress_bar_cmd`: 进度条,默认 `tqdm`,可设为 `lambda x: x` 关闭。 显存不足时请参考[显存管理](../Pipeline_Usage/VRAM_management.md)启用显存管理功能。我们在示例代码中提供了每个任务的推荐低显存配置,见上方"模型总览"中的表格。 +### 两阶段精修 + +MoE 的 refiner 会在更高分辨率上执行一次短程精修:官方配置先以 480×832、40 步生成,再以 1088×1920、8 步精修。加载时把分片通配符从 `transformer/` 换成 `refiner/`,将基础阶段的视频以目标分辨率通过 `input_video` 传回,并设置 `t_thresh`: + +```python +input_video = VideoData("video_base.mp4", height=1088, width=1920) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_video=input_video, + height=1088, width=1920, num_frames=81, + num_inference_steps=8, cfg_scale=3.0, + t_thresh=0.85, sigma_tail_steps=2, + seed=0, +) +``` + +放大后的视频会被 VAE 编码并重新加噪到 `sigma=t_thresh`,因此这一阶段保留基础阶段的结构,并在目标分辨率上重新生成细节。请使用与基础阶段相同的 caption,并保持相同的宽高比。精修分辨率决定了主要开销——1088×1920 的序列长度约为 480×832 的 5 倍——建议开启显存管理运行该阶段。 + ### 提示词改写 LingBot-Video 训练时使用的是**结构化 JSON caption**,直接喂平铺句子属于分布外输入,会明显降低生成质量。Pipeline 接受 `dict` 形式的 caption(与训练一致的格式)或纯字符串,`dict` 会被内部归一化。 diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py new file mode 100644 index 000000000..7c4345cc2 --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_t2v_refiner.py @@ -0,0 +1,61 @@ +import torch +import json +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2v/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +# --- Stage 1: base generation at 480x832 --------------------------------------------- +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_t2v.mp4", fps=15, quality=10) + +del pipe +torch.cuda.empty_cache() + +# --- Stage 2: refinement at 1088x1920 ------------------------------------------------ +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="refiner/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) + +input_video = VideoData("video_lingbot-video-moe-30b-a3b_t2v.mp4", height=1088, width=1920) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_video=input_video, + height=1088, width=1920, num_frames=81, + num_inference_steps=8, cfg_scale=3.0, + t_thresh=0.85, sigma_tail_steps=2, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_t2v_refined.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py new file mode 100644 index 000000000..017f67d03 --- /dev/null +++ b/examples/lingbot_video/model_inference/lingbot-video-moe-30b-a3b_ti2v_refiner.py @@ -0,0 +1,67 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_ti2v/*", +) +base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v" +with open(os.path.join(base, "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(base, "ti2v_first_frame.png")).convert("RGB") + +# --- Stage 1: base generation at 480x832 --------------------------------------------- +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v.mp4", fps=15, quality=10) + +del pipe +torch.cuda.empty_cache() + +# --- Stage 2: refinement at 1088x1920 ------------------------------------------------ +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="refiner/diffusion_pytorch_model*.safetensors"), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors"), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), +) + +input_video = VideoData("video_lingbot-video-moe-30b-a3b_ti2v.mp4", height=1088, width=1920) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + input_video=input_video, + height=1088, width=1920, num_frames=81, + num_inference_steps=8, cfg_scale=3.0, + t_thresh=0.85, sigma_tail_steps=2, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v_refined.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py new file mode 100644 index 000000000..eea37799a --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_t2v_refiner.py @@ -0,0 +1,74 @@ +import torch +import json +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_t2v/*", +) +with open("data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_t2v/t2v_example_1.json", "r", encoding="utf-8") as f: + caption = json.load(f) + +# --- Stage 1: base generation at 480x832 --------------------------------------------- +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_t2v.mp4", fps=15, quality=10) + +del pipe +torch.cuda.empty_cache() + +# --- Stage 2: refinement at 1088x1920 ------------------------------------------------ +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="refiner/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +input_video = VideoData("video_lingbot-video-moe-30b-a3b_t2v.mp4", height=1088, width=1920) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_video=input_video, + height=1088, width=1920, num_frames=81, + num_inference_steps=8, cfg_scale=3.0, + t_thresh=0.85, sigma_tail_steps=2, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_t2v_refined.mp4", fps=15, quality=10) diff --git a/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py new file mode 100644 index 000000000..4795e043a --- /dev/null +++ b/examples/lingbot_video/model_inference_low_vram/lingbot-video-moe-30b-a3b_ti2v_refiner.py @@ -0,0 +1,80 @@ +import os +import json +import torch +from PIL import Image +from diffsynth.utils.data import save_video, VideoData +from diffsynth.pipelines.lingbot_video import LingBotVideoPipeline, ModelConfig +from modelscope import dataset_snapshot_download + +vram_config = { + "offload_dtype": "disk", + "offload_device": "disk", + "onload_dtype": torch.float8_e4m3fn, + "onload_device": "cpu", + "preparing_dtype": torch.float8_e4m3fn, + "preparing_device": "cuda", + "computation_dtype": torch.bfloat16, + "computation_device": "cuda", +} + +dataset_snapshot_download( + dataset_id="DiffSynth-Studio/diffsynth_example_dataset", + local_dir="data/diffsynth_example_dataset", + allow_file_pattern="lingbot_video/lingbot-video-dense-1.3b_ti2v/*", +) +base = "data/diffsynth_example_dataset/lingbot_video/lingbot-video-dense-1.3b_ti2v" +with open(os.path.join(base, "ti2v_example.json"), "r", encoding="utf-8") as f: + caption = json.load(f) +input_image = Image.open(os.path.join(base, "ti2v_first_frame.png")).convert("RGB") + +# --- Stage 1: base generation at 480x832 --------------------------------------------- +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + height=480, width=832, num_frames=81, + num_inference_steps=40, cfg_scale=3.0, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v.mp4", fps=15, quality=10) + +del pipe +torch.cuda.empty_cache() + +# --- Stage 2: refinement at 1088x1920 ------------------------------------------------ +pipe = LingBotVideoPipeline.from_pretrained( + torch_dtype=torch.bfloat16, + device="cuda", + model_configs=[ + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="refiner/diffusion_pytorch_model*.safetensors", **vram_config), + ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern="*.safetensors", **vram_config), + ModelConfig(model_id="Robbyant/lingbot-video-moe-30b-a3b", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config), + ], + processor_config=ModelConfig(model_id="Qwen/Qwen3-VL-4B-Instruct", origin_file_pattern=""), + vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5, +) + +input_video = VideoData("video_lingbot-video-moe-30b-a3b_ti2v.mp4", height=1088, width=1920) +video = pipe( + prompt=caption, + negative_prompt=pipe.default_negative_prompt, + input_image=input_image, + input_video=input_video, + height=1088, width=1920, num_frames=81, + num_inference_steps=8, cfg_scale=3.0, + t_thresh=0.85, sigma_tail_steps=2, + seed=0, +) +save_video(video, "video_lingbot-video-moe-30b-a3b_ti2v_refined.mp4", fps=15, quality=10)

    aRDK`F`f zn#GocU`ELdQ7@94c@}9=p|p06_7#^}@IgVELv@IZ?rJMYC(oUwL7wx|z;vJC?r!bC zq&y2Y7*u-dF=Vg^RTqs#0}UK!&lE|p5bPzN|`1E|txpKv_ z5D4j^L)@Y)Nw@pXNrUJdZJQ24sgt~N%?X+1sqsj6kJ3y^4@^2Z10+0D`)?-rJi=`o zW5`+KB^u`N3~$hOQJ&!$hN|t(@+ya0pv7b*jmkmN1A0#pl8K<;EHab5tBn;HMwq zty5iBi$b~Zm?=}b*XC89f6U%fGuDLz=(w43s`}8HSxUs&Un~pHI!&h3VHfnH z)9w7{itNZ527t&{s0$Vukwxo89aoGKk0PRTb<5JbQAb*%1jY5CyrM^4cuW0PlrSM1 z^*KSvLeQ!n?G>A?AHG+Vw$v9w$frIsn`5DDr$k9wJK>|%*M-V)C8fhv@!6ZV`|bGf z{Bj(}+lT9)|LLFn!*74PEaQ58`0(ikES&t!x8MEifAepD^PAs##&_R+|HH>m*Xt$9 zZJXrjuV1JJRCmAchyU(tR<>hqFUz;zeH-SY9LS;LSHJqz!}WUH_ub;-_aCm0%k%T6 z@4x=;?YqY}Z?0xO?{%j+d9) z-~G+s{SSZfPsgesK7IU$-~1k65t-9LL=GYzL(Gz;s^t3nFAXU%;}14^70&3Po|(s3 z)^#n8xqqABWnG`1o-%Wc@%;R}@5lT1@2C00)6?Ud&pv+h-Ow@JE2tnXi^c#_Sa?~K zl!+GQUBn}{WtiJO%skEgy6D3;UiPuw#(vD(?U?R1E#RVqQ~H^Y$Oz*}ZldC5A|slYmIegHp&=-GQfi2$d<6XTfI1AIv(07F^fW%;(!& zZ~OVbAa6rQ11x>(pQ1V8IulySUeUK`aP~)Q7_!ooaB}Bmiz+oh*Tn=72m({7DA4bF zBp6KydYABlL^2$aZzleXn z#$g}LwlUTPpDo)Jy1KAqOdv=iB}qakBCXa>E-iKdKZeH%_*E-WDRff1VC|`i%yf@{ zQ&41h_u*vaiz9(3#z!hdGQ4TYUc36%Vd~Vd`Xk%fxh%4*mvvpoSVW`_zY+vRLRjhq zX)Q{FA!i5(fN(;Gy_UQUMyE2Q>5i7UCkUmqn)SP7_n>MrtU#bX2^kU@ARz`TEiAyc zT7=u2N7$UlKIil~-F+VW_5uIr{_Y};j7wq?^P2>+e^4l zpOvpxgB;ET8xVB>82UQrni;vX;ielO7 zoQZoT>A$|?a~i`9l-*aj(-!M=&g?|aNa7R-MN*;zcN@kmYA_S8&rVq?`&K{%1FwZp zD6Lw3SZLrF%{FraLSQghh*?D2ywB9EVMXxZECC~yN*bsPlnTwvN-RhRVo&N0tIA<7 z8buJ1=4suzPz4vF;^u)!Kve9o;5>V5y#_NX>Igj&);uW{kGmh9QQ=1Qv-BsK(4L4- z;S4hPsMfUedFc|2euWY}5xIMW2`dT-X^UVG zrH7U4xR^Nkj{~dEQK=*0V?%@#=^3W#ogh#Yzu)`T{)d* zl2!aXnWv{G;^Th*;r5bY3_kWfKRgdnp=qB!UDxIHq2XjBNsi~kcwpI9s2nzzWf2`R zB!dze;bO7qa?|5}7}KsI%d!B;%=>P~w0$0}uP__Liz+}&Y;-0b75Pl$nM#}lb5CMN zz3&OkHj`79X&!)iHCwxix##HsD4#d7J2s1drfLT)DLi>G zE#)|p9}N|BiZwvYh2&>s#0l)SW}@eS(gFYkcn%^K8OvCte5goJpz;tJN}Lv+Y4y%z znw|1skcYPy%F`)X5bn%E!H_C+RzV68(`(aVO~JJqBEruJrEFP6H$e)~_G+JiGE)M? zDuq6astS=14Hgw*%1wodlzUhtq6B-};VLbTMMTcGGZXIVM8`C(;Ljgl3|Pi7?ZnQC zF^lP*ofe8D*3xAsC19Dt1mdvB^z&$m8oBgbh5^j!hgp3(k?Eb(kVz2X)nf{;kwct& z&uVBcJHD-DCE*!Jiz2hq(A;GG!~_;{Vwz@5q#~7tLQLTumx)tL!$izNM-L557%VE_ z1e6makuB7X@QCTu9gjE7Dgi*44S5{9tedFrdmuoJ%H(Z6iYOvgq;^^} z&ra&BM!KrjNme?W!9<0ltsZt+hcZ>1yoU?1r@05CjJibO#Oxkc5^PVYFt_mD_=s2- zS-?7*S&eW^jEs6>n~GE(+B&9n86q6vV~jFAKHv85KRhR~$k>2Px=-ijIxY`^Qwq`t z->LTCu34x-qPtg{DeF0>9=>x*YfWyw#jo`2xgwm4C}##|NB#6^`U+Yh8<)$dQLc$} zCP7v_PeVd^W^zaAlM8VsCX^_?FsTz_>=U%dRb?tu2D7?Hf`cP6(*h?hStD;|6&+;e zk1h=emE3?k8n3E#U$6Jq*%QtBS3-Cx8O|RQ4dT{shE9Y4!bucvg(PNYxNv_uEe=g& zmuA)oP=6vt1XC5aogW1i#2GDd1OP~NG=mB@Y^Ot=?mr@al~IfHs}@Mwt7G)(kj1^9 zl*9R`u;i&8>c64(4U&ksY|H1Le^xuaGX3eV{`jx{(|?)~k55m_ci&ZO5bJV3=HL9? z-xCutfB5+P-^ohwx^;GtW$lcrLx?Bw)7v+f>-ydIKY*Y-{`imo=oi2EDIssqw+Mf@ zZZFTD{_!`zRhGAJ-!Svs4;E&j{l0IP>*LcC1qqAl61J;U0C&fE)RW3W0ScrJC89CL zVe{*6zgaK({^_%?zWt`v>>vi*V!DZNrm9MLjx*x5L!x8`{qX=IlHuixQH?p{a=Biw zSDXA8dZb8WJzyJR6`Y@K|cE4}e?cHbZfAcs0xz5UX4Y4TfIKW)0M_R@b zBC1P99CMoMwuV_8W|!4(_qi>6UB`ad{W6ckZnu5=noE#a+E|8wZk5i-Tabetis9NH`d-qPzTI0(Pm>x-_!l(DV zw^Sk2>Qtnu_ep}VNKi7B!IcFuVdf&tDoO;fF@Y%}ryWErItu#9jA`>Q`|x~wxNhq* zwsl!`k%g6Hhz#X*$WUE}F3T80m!X$sEXz02eaIn9gANObxw zr2v8y0fQ=5SeQAZjzIVL@N)n5)9vdYo`3i4hY!!sk)f<+{_S@kM94FgbEHqc9Wyy;!GnhbT8?-;eFax>Y_c4xB?emH@W1t zn(`$`9XdsWBuJBngFR~MD5#{_2R^C0CQP!+_o6uvKJl{>Gk9$`d0LKoE6oDs;`B)z z;g#V?tq3Y5XdRdZ372Rx1AyunqU*M;%PK?}XJbkoNA-C3AcXS?MCqbRP(Tc%*FArd z=MjElE6A3;XDgmcK_VilDH6m|K?)&U#Vu7XQ3@<~XClDs)*_K17tYIivF;5uKkRUu zHjfz=bEZwV<2YXS{XX~Ge%~W3!_m-T*xbWo9&`Gf$E>D=;-iJjaYN*eMmxj8GwhgU z4((3SlAV?wX)KHAShwY2(YK2}T`nKSr%#=-STa>_06yVn_uFkz`E+}^KCeE;1!q4SD((D|#5ogNY?G2&~Ma-Jl|( ztLhn6j#oY;ky5a0l|1|ygdJI$J7lNE6+eew)z8tYMDp4HQ9p>CyFocH6f)=2>lA&Cp{EUdQWNJQGP^Fe$Q3Gk=iDgUEH2>Kmx*NJI+C zRuu+RxqO;qNJ$xlEBY<<{BBR%b|K5PDfKDCr3yg{XDC1nX5sC+efj>gpa10jyEoTG zhYl7Q(;PM0iHIt|kt_KGQM!TH!>vJM2=lh^7w;Z^_SxHC{p^b`-ab7&Y>$uIvMwNE z%3}|6pSE*X(jpTUu9-^@bFHPRwem*-qM=4A`x*f%@~|yW*UL8ax~(KU=d35&J&0hD zm8V-v9I=!u1&Q$VCi3&JBixs5Fk{Y6tc`*t0zVo)Q2n8>Or}ubQuR1;x_SG3fGi#X z!4)n}#{nU*iXn+vS*R56kx>=P2`|f`nRgl#A}kV-Oi&dnbO!xuS43M7@z7Cun@p5Z zHO7>s3#gaI%lQqG+Nhe}R_39lbffY#mtor@%}kY>!F3Dwi9D*u0mLNhScYni{vNT< z$t3G#HBaRz3mp>=8H-N$pv)?@roa#hkHPvhmg|*~IPM24d-7miw^fy5I+AY7_G#Wf zetI!an;r)cxvV2^`^%i$x{aaX_;3>e9v(J3yxu&slks%2eGBC8aE%xG&y zi&nU$wsjw;Fd;<15Oj>FYK6(vUG&PJNNK~W^s0_$CSplc;##%Ykbn!SNODx<7c(=} zxmK%Iw6m!cmyI5~B~bAg=zw8vV2G2t`~YPIEp2nrC!uH`N1(i`G0pB4HGL4HuA1|V zmRdXOeaG3%RiZd1WCWzDdr#$IDfYk;VJ&WlyV0xNvQ|OQC43B@5!H_~-Lq~TfQ5A| z<)$1Wi}E78sSuG4RuZWm@m?;;qDJcu1E#8dD3B;fh!QzpLlFp(IW5X*YaT?5fQ37( zKAR!p2n!4?5v>6vB+BHVNUp}H!`wdLs~{?37Kzf!AJZ1~vTH^r&Jalkk#aZ!!RuNBL4;+bbTD4~p#bO@ z#p9?dAqkk%UOv4nEEgR+C=-<~Q*Ub#DKlC*YaU7L^|S*PUU@`G$*eUt6Q6Yk**Sm_ zP!SLnYhK@!xnEXY$AHH?;(w)>?((qi}SOoypf>G{= zI`!%s%FKj=1VjWsA;bcp(z>EIGqY=UOZ!-3WHrhXvPJP`P6$Y2SlkIcjYKk^eGrYU zQJw)N*>Mp?p+&h?+k|v#WJ>N+Q$o4)va(;f(<*DRYvV-z2v0D9l#2c2x~sD-8$@t# zeC(7N)pT6oU5SyBv+-yyFs_Owz=`zqqS;UR5mPOn0Hh{TD*I}&(gnX}pDAZ=W#e{H zlWu+OiWjS6jn1_XuYW)Jo2To2KXyCjoL_$a{?GpOSO4ih|LvQn$H(jSyB~g#p_yP+ zRgKI5bP@F6&gWE!1Ph(H3rtiIHh_wL_U^q|e*ODz+~ViI{K;SZlRw|KaoqMwx}QFO z|J&c+o^OBjtDmo{&fPO{d0O}Vust5W*wXyr@j+Gvb7V4$Hyq!gX9OhZcH6)I^g&-u z_se*B`S{&;-+cD|-ElvFU`ipPp{(IIiww!KN+HZkwLPt)Y{N6sD-uM6rzMz0#N0(> zyIi*Il2p~yoP>4V9^bsF5&bax`rB{+>0kVL>3IqC*}KmYqAz$Z*S~WN-#@Vp6Fk$RZ=t!BIy{N(Zbidb$Vi0ba(_+bahDVywdBa#<@glz?R!!t$^#m%-a2$~07l z=yem$P}*gcv99JyL@I+8Jr1i2%gmmi@3-T2+4zgMm;HF_aAaI%ir)mZjj^e(d@v|N zm{mfYIWYq2q{*60PGv@85@Dt|CnwLe0=u&a4<};k>81i|JlxG@dZZ_CW+Fv}5tnX` zm}t&DY@(p3M$ov^QvZPHs7F^tScJ8by@?s_)|1;wjAi(#sBV0fd!$bkC{S)NxB50a zSfLiS;9Hwvkw5#gjGv-vffe&6rM{Z2&3ehc>>zWa^||Lq_D z@ps>Szu))!aa^w#u)1YZ%;^bt^RaF!1)d9Wib_K$t+Q;?P)5JD?+yHN6}rXiZgZH(us06^>J&R3}sCbJYZo=nnB{X;+<= z;O?C~1rt<5NTd^psA^$evvh(J)fPkm0z}Y`VWE1!@Q3=fGr=|@v(g#3WhP z_4Cg@`|0POzj?T<%UGAeETU4tW-?_Gi)Og6T6hvjB;3tC!prabu>!zaT9ahD(9_~#T1!{G#t8-B)YP5gt08tt4l3t&sUKVmNU$^zLjdfI^ zpyUX1KMpIQSxb#Fsa%H${fr^(aKSK($*{gvf&kMb} z)tQKtGlMES!y^QZOVkTh4iEFtY-*uiLSYu+F~+hCVdXz440Zw=(mmV@+Kblj#AQ&& z5~>oD7nDT+XxxWfH;bSM6<$;$)+y!^PQ^g-5Fz9c8A(?ePum*qdBp8*W6^D_X?aYa zcUwe;$Pgi-X%5CX{#DKy=6-~^{fP#`S^lX2m;;R{v z3v%_AUnSBaGply3;Kz!;CrVm|UKU-smXPvuw}hp_*UG@zigX4yDp53I^?y^r1k>Ey zXQoB&7SnCI6WHCY%sWI%tWpg>BohnEGBiLI}A z3TxpZs?1gWA)w# zY3DEMFi*5u5j{o~!dQyrJPo;-8T0ULFcC~V#+Y+b=Av@D%>a~GStt3NlgCgMgGXit zRHPi=BqXY3nw&Nh$qXrbjtEzOnFuBIC!XDydmQ%h)AQIam&>+)+9527j~$6b>3KqpzW_ky6y^RZ9380to#z3(_pC6OCC?#V16?l8+ z{NlsM4<1prjQWifLRsQ0H!C%CLGUF_=+NX!4<-7uKmX%D`}05f&42st#}Cgx|M@Te z$zS}_w@+{8zK5kOBFx|X{+qA9`s)3=x0mgjN#?OE!b!K6{o(Pk=7i6__$(5#jCrrY z4Xxs00-&rf_v8Qg%fI^Y@dF{2F@}hYWghnL|J{FZvzM2T${gC_{eppgQ_~X+P5f|N3pR8FF5M}8^6}yuFDYfu`R~?zdG{VQUX|jl0Oq+g&lc30? zV_rVp=ckwZ%iTWR_Pb9r4|8J9jHqrIx6EJ{L?EhPNZi9=L>f5<3pBFA5+n1p#q)X5 z7x-GL!n&OETsb+jFsp|9&y(Xk52%|+Dmtx>o|X{x>06G2UN`}#Q~Px4g^SVT_M#+# z<@_V%^$kyWiyR8kL+_G(WR{z~pW#w+S29t)=6sx_OR<_Nd{Ppx?@nt6qd37pP-SSA z@&KM0NUk(+x2a=Y7S$PJs0?O+=@#kJBh%eQWD&Vsx2K1P>%(PR#`UtUL)W20bQuiC z4BMx9A_6R;I<|EzQ!ZnuK!hnVm}OZabJcV-v~S&JP~Y1b5XMX-P0a!;^8@mI($mw! z^c*^vMF)p@q=$LU6$`Ucu7i}pj74&jT$s0&$B=asqD55*6f!*WbWe{r8{ZE(_LUJO z?z1pvT176`_2F^5Ubl5!QpAIZ)7%K0;VDDXh%`Z-Y#@+CFhM}fBo0i#t>E2yLV{53 zAgF~n!_A9SjryGV5Ttnfh z%RHYkYPz=mlT*n2qe_Z08R>JD0zg2))!u|`s}1_^L2;a(b5aN~O+O~FvetiH541Wrw+v22?V&HX-@MGJJ%nojE> zO4xEKWXYO{S)|k?UBXo(K;;YRIphIcgQWmjI8+kSkr-6uJs}~ef(S~yO6Wl-fghib zQpHbqIAb64t&qy>j1Fe0(TtI>s8u_?TA~T=758e>=QQg|AF4uCXKJl;;LI2$5Fn*S zE=JsfM(KJfEJ{&RRA)OBvh^`pA{$`_!W=>oAwRml3a2a}8^{4Nj ze)+}cfBdu0zj*uf?&;04u4C1*eg%bBje0%$py))VBDNr+74TQNcw9}uZQUoWgrkaw zZ8HTCxLQrkeBD%t_hSZpS#(Z6j$^t5G=@~CsW4v_6`}idi`ac0yA74gHU#i#6|h(V ze!`RqGh!kknq_a{wqDzbk;U1wdB(y!vJ%{UqH@7PtPZJMmyF0|EZd@)bT_{rh3;BU zJyF7`JRRU@%z`@RuV`~hQfAK#Z|`knCZU5Kh|2EQ%w(3DGMUCnGEyPFixxfB;s7As zT@apr9EaO1q%INrJobI}Wn?BJ%kXAybEZd3aS>G&C061^G$dSNTNh71%rYAaObb=c z8T)?tJR;quU6#k|^|EgI{nsC#Z@Yy(T~?oSMg*m2j#byOM8Ff&+W`X3wsTg0<+NN*)qHUx{p5c{9iw9?SAs$$jpGD(}mTGtW{^Ee;bg zQqGODl0(YkL`3FrVJ{2Oi61a%(T4aLuipIroZSofAdj3`?KLH9NdPrL%DxtPwMrM{ zADLb^vD zcmfU8#66-Lfon#o&s|84^x5+WKr}suYF$OFlG&Vm?NlDlR0)3MPRyLtNLiix~v#;bTJTZn*0H$5xaISS7&HEs=NIF*Gpn`c&BT6U)`oi)&rofinQY0DU2 ze)jHmyFEWYfBF9Xum0$d{`$ZC{b!%O`}~XdzyIA=JT?%8M@jyQvs6)464A@H>d?dd zz8`Mh+Fg*45aGIAZnu}OzyA8|+jsx`U;MMr-+w-j8Fk+afBg9IZ~yjh!;WA5@)rWJ zBY3bbdVAhIQWp9C>u>+;&;H5Vr^n+kN-FO~PrccI(HP6eZ@&4r|L*_Du*bLW)-hCg z8iDB_{_AfUnanC;b1u3di9zeS)dp1b+*p?Hzy9Xm{Of=F)mL8;^B3>m|KI9v_)x&KnVqV{Yrls>gm) zp&B-#du;0Y2}IUN0EQbxSqMx#7KsQ}S$rJFG-nqhq#sU1^Oz=fXAI_5d0TxfLvz{*8Fqb%nw`MSXg> z3zKk*t4VaooYU?{hvpEoid?p35M9@C z88Q}GSjNx_nWaTl)S^EfkC=0sd${0iI4`|dStlduL5Ds()RL(~3q{I^Ot(2-*YzO~ zE{o5iLW}Y?**%@|5}*F zCl8W#%$SzZ`KJw9w6zI@sM};HFY6##?KK9spP-AXy?5#^Psv63j$+Bna>ychY; zJa|YY<_=wWWfm13iw>4dVqtXRlt+Zye(d*s-sgU|{TA~GvuXF2kDreD^783$+Yq*L5u0_3|*rB3jux!c=f5sYu7tS zQ*~9Lpz>OYYF1$u0A}8<)v&UZM@#}d3Wc}BeBTdq&xEi5G(>gi!V8DiVO)1au_J9U zBz9QVqSTKxQK|4E_URsbHAV=N8$hW2z04mL!Ik;g9}hA^Mbbmjp4&uoZYSwPq$17d z6BqMbL+Q4yU%Y?!^Dn;m;@z9;b-P^FWelp6d8_P2IVn%X86hUjC|rWD41NE&eg5|G zmp}c<&%Su~<-51nZC%!}E`vp!Ga}tA5n+=um>}hM5vrqnh={OgcUTi;y{jkleBO3K z=?(FK;3d%j)n1UT;m!S+huic0<(P*mUuki7Viqtlm1cejhjKUx%TQry_K658k{TJD z86qbM6!Cn_40kIB zYuGe;)wPk-(^kPe7EyicBGS+f!`;i+Rg-#2=a>jVAhI%mWs<34>NWGt%6 zuaA;NgdHA7#2Eq@c|Yzix7$@kh1@102-U(B;Vxp!D&s~El~lpN7=d&jr9-Y&lrqOq zMh5cJe)l=A>+=5Xo40S?-JWmvkDr!7DeLn~ec_lHmT3s`bj2(GLnIFm8z1{&$8En4 zksS1VO!AD(`=^hhJjUwgcGzJvGigF+k#KyUlbuUqHr;uaB$nMR6K2&--!cmGibuhH zh9ejUsKDX`mHm^5E0U_-*FY_4RcD<-L}sRmb*)-sAx2a-rEn|Ch!4xiAgOWh)w)VU zRfXO2uz8r7xpl8!8DGzilNKeNDL91i7#PmQu0jV>5<4mnIgwrwAs&avG<&hiq3s8l zQy6aU`(ewN%36Z@GnfedyGoBX=n)fC;SmwC45f*HsmkjJg4be7_v~>L9vLXtxi@%3 z*rzeEXv@Svqyld9dm`d>uJPCO4r-nNfM>+a>KU76%RpjY1XUfXN_|7ebNGKsytGb1{fo!5_Rzl5cU0*364(QKABi6 zHKE+2V2J>s)V{>5%+eW=BveWOvXP%Vr4?)#i!-J@C$fK>zx zbHE7@Au|&eCaLeF7&VdlC@VvUNVu>&VyJLG3+dlKzhF@v49+>-A_yGe$jbAgvq~uY zUY|is9&RZrk^y88Y2vj}gibyfLQ+YE^)ZOlXVR0w;Zup3IU{A{Jban~SQlkskA$u{ zE}!lmzEjKSf=)uS*zH;L-fLm+DP?17;_M73%dNUby5fsMYene|GRA zUy$uw=$pU5zyhT^Y|U#JNd;9c;oX832~bc{RwcoYQw5!3E`H@jrG!^t zp))~(P{@IGcKEStHz+$*gUa zTO7pHRlJq78;GK~DDpJ&zS34Wmqt{%^E~F|vi|go&;RQ`{C4j9|M1WL>9;?8`2M>O zKl$Q|dF=Q5AuPO%LPC)sCKb7E>rlx|b7$0gQ=Dal!!wBRcYpi$Uw?IZ^XBQ#|LmXq z(k}C@4ml3@BiEX_5Zdk zW8aU<0;g=AWKF{n?-Y#WX`C z37OgDy1je<*>C>Kx3X=>st&I>raqN3v-?~?2~tP(PxO4qDikY`I-3YQAQ>LQJdI}f z$Y7&o$d=0lEWyIZZgo+jWUGi&L8N$OnoVO(c9rOSEB6?!xT&G6FEjUaq-Q3bVb~}D zyPl!q)H=ZcKtz;L_Z7kK$E{wNmZH=y+XX3oF%?pc*KM(1N-F33>zA(3^D}+2&a3Pc zlRiL72U7=3Bv{HnQJ6=`@9R4+?L`tAKuiz<1S%#;g{#LW`^;&+1t&4m?;|pip6vrR zkE9?Vk~~b9mE}073=2u^q~ntEtGLCUZZTh8UVa#=GPY$|mW7!!rzdrH7ig#o^YyyE zxokew7P;7PRbW}hkX4pN#u&oN!Zj2f^O)v7t${dX4OKEmc$hLS3nf>cvZ_Rag~Qx! zn$Od#Lll)%g&{)-Dzt98uFGW|4-eO6+t#tLu94}LhiB7jN~2B%b+aHG9+@eObzRmm z#Rgmge48cs_Ch&VF^GXrFpbIuvGM-T$SIw%RzZR+XBHfNt$E$Z}Q z2&&PwQjX2%Iq6f;$n{)iKk>cZ3X`ac4q`%Swdw+B;-{rvK^4eOd0K5s?^E+Cfjx@d zi`D^oSX9qYo=%iF56{Wmt|YGWvsfasbo1zK8S{qf$u`!Q2&fi4+kTZ8oac2 zF_w34-u~jJUw;1f?R8s*>R1L5-)_f!zhy#~g_Ny|Hkb_v|bscVvP-I{~?9+a`-EVGFhz9Yt>b4F$;mmw*PnR-Msjy{u6(lp)z?T(7LKWFb$D&L^_xr&B149Q9VTmK>{eH~j$V?R-;w&txRTx?t*W;K3 zEMu%=i3BStafe`~mw+=ej~UD~J&HgeMv>3ETM(7g6I8k6S>i(g_lRvkm?JzjnL2B% z#2^A>TWqP`iO!WI)C4_*mt|E}$_UC5cM&s1M-XPozpLG+x2+)JQK=I3RYV4el`=6S z1Tj>I%0*Z`BeCyuhF4K!rvTK_SAq@%d`4TPk^#%eghzS{l8_)_wnUf>7AHE=ph?20 z6SxJh*<1ubL~eZ_lwvt+`(pA43m=NGBtW$AGpGo>g;kx8oLLcF!qR1mK-NjhF#`!J zXuB?5W~fnt?qRH*@(E!sK7`6UspkFt9?3a&Ye zqd|eQTPYV|G}VNx=q)-IC93|`W^Fs7@DyWGf|VFF(=%R;`6a>T)<-6U*&_=XkCJp| z#bl{!l<1fuJr)WfEj3xDb)5BoL9Roj&XCx@eyJCL!HT z!K*F|xZ7BV%{V;LQ<+sIQc16_%WXemh8Amh=JSHU#Lex+sXRT!CB&R*1vt^G7Orwe zko`As%PI>wI^WI87prEs-aT4-4ph)-r$IFYN3|PD^Imvm+@o4?3-GQPpVIQg@UoAa zV(mNW36N9UCmq&^a>MljUL)))FqZu;^wQBtcS&a(o}u%^pcdFws&f{2%0zWyaXHQV z;P}xiNBy%CqJCTyvVimZJh$<5&){loXl-3YQmIjDr(}3KLtpKA09CMG%>|rk-l;PU zS0W3ftXSSwcJw3s`aSkQ9#JD*HvMi!R9tvbw58I^Jj*uXO#S*Xy0JdNTIvwoTikr} z^zhR!zWlrY_M3-?^;LfK<*KPJVahzZh!UbU;n4S{_A<% z3(lAxV@PJcJnuThBmVPW|J~!$)3ROWj07$Z4-st{kv@4@h&}Sd$L9ch(#!M9o5zR8 z>w`~MQe8%7DV?QDaodcAr#i3PD#5@&&& z+qOPDJSZ~+Fs$3<>CIDQDbeDGZ-1EkeDm};r`0m&9?QD@;uk;r`(OVR#wY?Gg;^0i zoa$5c1XE=K)#F)?O?$4sw#Z?L!GOf+zx%)dSX&xqj)WX@XMa62KX8K7!!Zo01gv zauP>*lIN#PJM&bMW`}zbGLTZQb0K4#9r+fSa$@my+|}k=I?9TWsoVz6E(ENxojW+S z)6P2&@{}Q?0vb6MBTjt($IU}Yv|Ep50kiz>6YM}{58ZZ<2e!fh54N{Q-q1;J7rI)lh_ELsb% zvWROAt#=N@{(5Lf+1?P{rox#pb9yZ*D#1?1`H7HZ7M7jn5<$f7F@f+116k4@e0W5% z=(1dptb`-tnAuTlWqn441J~yOBF>UM)nEi-Rw5}Tbuw82Dmc= zo=y!7mGm1)$;{#9KBW3)3(SI{?*0gnGJ!0Dl_e#>?q?uRH( zHi6oD1*v`ToC(T*QQ&P`RSWqexc6L^8Pl!vtbxp6kgzIK5K)R`63T<*&8(L+pjzD$ zZKo*+I8Vg6dp63qNk9@vPOV&^--SB&BC2eSh$z#EU#lD=8_+25uRp8$P6^3fj?Lwb zI8$sSi4?pLR(JP|D7KPENz#Tg>5nPd1t|j_4l~td8A}7x;Y1`uYDs2Bgm>0xbeKSf zRnYeN!g49VUbSLWj&&{X7ZLNB+g=AN&Pj_n6I}8rlCg|;pS}Irm!E(6+1tm6Q^6u&3-9>)#{@s`F-aK6|%d*rJVP-m5pf${(?kM*N zV_;Tpw+`JdW7)>K@+)FYtja2~DnG0%F)gbiIf91UWlp-Myx5JLZ zEK9u%x(vChCgW*a!ZQ+|?ziusUm|nSYT_ahWzL}pU=>rQV+tiS6PA}DL&zdUb9y3c zjsX%wq$H68Qt639bW;_U>AugyJf_7MOw4ziV`mzV)|ZL=c;^?c@02# z#Nlmt12Y00agjuTBO}A$W?qV$UWb_)=wXz3+d0CC>QtLn{|JxZ$aJ&g*l!ZHN%-7z z?jvnOI#GJuUY@^q^UGFj0V9=YrVI1Xaaopa3?V4;qU!1Cv8W8=!Q>#Ho|OANShzM3 zLwwk8-+lNfg149J_08vZk8htpef#oh-z|@vZudDIK4StDk_&4sb<^WE=kB)K{^?~B z6DXNjh{ttN<>Q#2UY?(y?;^A!RWeuhXqnC&-Kp zPY96?29aloFbR=o1a_Yk!ChaUnSfW=(Wx*-stVk(=NiIb&qz9h>hqKp*E-oG1~S3` znidR19zGkDZQm*?2mh5U%{(oU6jcBr0?*`#BuFx6C>Ms}sr0%tM+Ue;6$41m;BrfQ zW+XEOlQZ0+Lba`U3x}s8)9aWoj}@U<+&EP$*^C4_xT=FxUc*!R*)Dl@5z}2+#c%_U zUNQ^xsgPImu0kQ;71cnL6S*bOA`G+#Inqm?QVO+6BuX=qQMw~~1rF+^^A?4ao{4^( zoAVT=G!01<$tg)u7G(jYq-QpgS3h}8)~AClBkk31NGQk&NM>18+YlcqT%`n32Dx^h zftbL|_3&iCs?ruY>vvFjmzmLQYFbUi+3QH7BRKOZUpE0X>ECOCurN{oep-w~Eu|+R zsUe|A<}weq{-bXPZm@z#SOV3kL?B2NP*o#1F^IFS<}RH@J^ew!_4&4sxfKRPBti+| z>}#&fN98B=vK@0LaV68Sd##|AOSMn)%B)3Shl|Q#bWGnP#u!!lx~Np{H-Ms}DiIb4 zVHt%mM}Vk)jVxT%0YoH479v4zZf2HB_kHTJ4AqzY?ymqe&J`t#)6+yHc4iA8nIb}& z$0Ev18IfG00SlEsnu$isjt*|C)Z#jr>O(GFS8{R$om!9+B`Tt=9ydb|m?y(qKtSee zs1E)>=#rk*SjWUE^$M2Tpv_$J`W2Y8TbB!YXuoGYoNa3Jq{@rxM_WLMut1``Wv{d{ zT7}m+PUr8aWez3U>Gv_Y=E_s`U!UWvq5-Xs>mjaTxNIi7arXlJDjKd7F8O0250Yvx zvgl*x)xFFOEuzB3q`lQhqH`-FPk>s1)Ld{M0raXB>W8XGn7WSw1%nm>l1b;U9H(1= zKp})mH+=nO&mXZ{Ci7MFb4vP($gGY1^UvR!&%gieZ$E$g_Fw(0|K+d$=5Jqa_n&_G zlMf$09>-zRAFtPk>xD%E*!P(cI(SjNY?sURa=l)bb-Qkt%XM3?>py<=)qncSzy8I~ zfBKW3eDUei^E4-5+4O$f|Knf%`mcWd>-)YJ<3a>cVy5GmERvbO`|a<){r1 zjz_X^pM}bG%^@iRzxc(^KmX$M3>xbwrE#@9yOsPVGZT!VdbwPvn{DLb@sWixV!s`r zyx;E+*N0_{eNO32G$iu<`!7@^0U>m@<(YvP)w@V-L?#OoDt3PL(4rlL(W-$*p%KCW&krh~s zbhijjVmiX$Ep97iXbl|wG9r;w!H9`cV${zWU_OVd76#R8oPAx@zaYX%Ky*A^o}T&Y z>?@{5&NZmCBqvuvMCgpLey*5;NCB4`dcY-F1*oXROtdJzU%xi;SNRZSkb`~<;$#Bx z`Sbn(;8KSi03wd__N6MD=(dTXAIR%_sQwT4Ma_+ct1*ZZa1uaRJB?m+L>3h5?sm-i z;o0uT{!w|`w#yjnGM1ssVMFiRdMqNULd45ZVbY<(EG3+&Bb5+=sxPD3xl}2^QVs?g z3uU+r&8)bny0zTqjOZwz1k!N4*xh+O@^+-^A}Sdvl!b5cSxqJ_{3ki*lk_wyyndMJ>n*XA=0HW4jv__I%#hC?sRTF9taC8EB)JJwxHMO>%&`C+)!j5CVKkKPx zEg>*K%u)@3HIDcbxM->b)rLEnjI4$|}6%(unk#dl+p&5 zx>$+E(5HuopMUxO%lB^|*X8lL2@jusd%3M+i1MNf7hcFA+%>5+Iu@;(kw^^H_wSxG zuV21@^Y-C7m~}`dyy72Ag&0}0BWD&2U%Zs+DmvE7<92;q#!4(qr-_7h=y?11AoL{* zi&7@B4iOoHm3Un=10pcQeNJJ1+4sB8QwGJ0>NE?Faak4}gLPG1SJg2h^TX{rmhs`! z3xYOXhAKcJ3ef#NW9Y+JZ}-E^Da^}HJlHZ`cI;_3$iZHY#x`;%0Ag9!<+?7L2s7QM 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

    x3hJBp7A(Odtbz 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