From a8ad53548c12ed9d8fe9aaffd4546584e09f1d3f Mon Sep 17 00:00:00 2001 From: khemchand-zetta Date: Mon, 1 Dec 2025 14:48:28 +0530 Subject: [PATCH 01/35] Working till 01-12-2025 with around 80% accuracy --- convert_hf_to_gguf.py | 46 +- ggml/src/ggml-cpu/ggml-cpu.c | 78 +- gguf-py/gguf/constants.py | 18 + src/llama-arch.cpp | 1 + src/llama-arch.h | 1 + src/llama-graph.h | 2 +- tools/mtmd/clip-impl.h | 22 + tools/mtmd/clip.cpp | 809 +++++++++++++++++- tools/mtmd/clip.h | 13 + .../convert_image_encoder_to_gguf.py | 295 ++++--- tools/mtmd/mtmd.cpp | 131 ++- tools/phi3v/phi3_vision_defs.h | 29 + tools/phi3v/phi3_vision_preprocess.cpp | 201 +++++ 13 files changed, 1496 insertions(+), 150 deletions(-) create mode 100644 tools/phi3v/phi3_vision_defs.h create mode 100644 tools/phi3v/phi3_vision_preprocess.cpp diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 222f6ed6dc4..6d67c3283f3 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -643,6 +643,7 @@ def print_registered_models(cls): @classmethod def from_model_architecture(cls, arch: str, model_type = ModelType.TEXT) -> type[ModelBase]: try: + print(cls._model_classes) return cls._model_classes[model_type][arch] except KeyError: raise NotImplementedError(f'Architecture {arch!r} not supported!') from None @@ -4457,6 +4458,48 @@ def generate_extra_tensors(self) -> Iterable[tuple[str, Tensor]]: yield (self.format_tensor_name(gguf.MODEL_TENSOR.ROPE_FACTORS_LONG), torch.tensor(long_factors, dtype=torch.float32)) yield (self.format_tensor_name(gguf.MODEL_TENSOR.ROPE_FACTORS_SHORT), torch.tensor(short_factors, dtype=torch.float32)) +@ModelBase.register("Phi3VForCausalLM") +class Phi3VisionModel(Phi3MiniModel): + """ + GGUF converter for Phi-3 Vision (Text Part Only). + + This strips out the vision encoder weights and metadata, creating a + standard Phi-3 GGUF file that can be paired with an external mmproj file. + """ + + # CRITICAL: Use PHI3, not PHI3_VISION. + # This tells llama.cpp to treat this as a standard text model. + model_arch = gguf.MODEL_ARCH.PHI3 + + def set_vocab(self): + return super().set_vocab() + + def set_gguf_parameters(self): + # Only write standard text model parameters (context length, embedding size, etc.) + super().set_gguf_parameters() + + def generate_extra_tensors(self): + # This handles the 'su' RoPE scaling factors (long/short) defined in Phi3MiniModel + yield from super().generate_extra_tensors() + + def modify_tensors( + self, + data_torch: Tensor, + name: str, + bid: int | None, + ) -> Iterable[tuple[str, Tensor]]: + + # The prefix for all vision-related weights in Phi-3-Vision + VISION_PREFIX = "model.vision_embed_tokens." + + # 1. If it is a vision tensor, SKIP IT completely. + # We do not want these weights in the text model file. + if name.startswith(VISION_PREFIX): + return + + # 2. If it is a text tensor, delegate to the standard Phi-3 logic. + # This handles token_embd, layers, output, norms, etc. + yield from super().modify_tensors(data_torch, name, bid) @ModelBase.register("PhiMoEForCausalLM") class PhiMoeModel(Phi3MiniModel): @@ -7936,7 +7979,7 @@ def set_gguf_parameters(self): self.gguf_writer.add_context_length(self.hparams.get("seq_length", n_embed)) self.gguf_writer.add_embedding_length(n_embed) self.gguf_writer.add_feed_forward_length(self.hparams.get("ffn_hidden_size", self.hparams.get("intermediate_size", 4 * n_embed))) - self.gguf_writer.add_block_count(self.hparams.get("num_layers", self.hparams["num_hidden_layers"])) + self.gguf_writer.add_block_count(self.hparams.get("num_layers", self.hparams.get("num_hidden_layers", 0))) self.gguf_writer.add_head_count(n_head) self.gguf_writer.add_head_count_kv(n_head_kv) self.gguf_writer.add_layer_norm_rms_eps(self.hparams.get("layernorm_epsilon",1e-5)) @@ -10143,6 +10186,7 @@ def get_model_architecture(hparams: dict[str, Any], model_type: ModelType) -> st # maybe we should fallback to text model's arch in that case, since not many models have both text_config = hparams.get("text_config", {}) vision_config = hparams.get("vision_config", {}) + print(hparams.get("architectures")) arch = None if (arches := hparams.get("architectures")) is not None and len(arches) > 0: arch = arches[0] diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index b5466dd703d..033ca69ccb3 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -193,6 +193,11 @@ typedef pthread_t ggml_thread_t; #include #endif +#include + +static _Atomic uint64_t ggml_op_us[GGML_OP_COUNT]; +static _Atomic uint64_t ggml_op_calls[GGML_OP_COUNT]; + static const struct ggml_type_traits_cpu type_traits_cpu[GGML_TYPE_COUNT] = { [GGML_TYPE_F32] = { .from_float = (ggml_from_float_t) ggml_cpu_fp32_to_fp32, @@ -2864,6 +2869,44 @@ struct ggml_cplan ggml_graph_plan( return cplan; } +// static thread_ret_t ggml_graph_compute_thread(void * data) { +// struct ggml_compute_state * state = (struct ggml_compute_state *) data; +// struct ggml_threadpool * tp = state->threadpool; +// +// const struct ggml_cgraph * cgraph = tp->cgraph; +// const struct ggml_cplan * cplan = tp->cplan; +// +// set_numa_thread_affinity(state->ith); +// +// struct ggml_compute_params params = { +// /*.ith =*/ state->ith, +// /*.nth =*/ atomic_load_explicit(&tp->n_threads_cur, memory_order_relaxed), +// /*.wsize =*/ cplan->work_size, +// /*.wdata =*/ cplan->work_data, +// /*.threadpool=*/ tp, +// }; +// +// for (int node_n = 0; node_n < cgraph->n_nodes && atomic_load_explicit(&tp->abort, memory_order_relaxed) != node_n; node_n++) { +// struct ggml_tensor * node = cgraph->nodes[node_n]; +// +// ggml_compute_forward(¶ms, node); +// +// if (state->ith == 0 && cplan->abort_callback && +// cplan->abort_callback(cplan->abort_callback_data)) { +// atomic_store_explicit(&tp->abort, node_n + 1, memory_order_relaxed); +// tp->ec = GGML_STATUS_ABORTED; +// } +// +// if (node_n + 1 < cgraph->n_nodes) { +// ggml_barrier(state->threadpool); +// } +// } +// +// ggml_barrier(state->threadpool); +// +// return 0; +// } + static thread_ret_t ggml_graph_compute_thread(void * data) { struct ggml_compute_state * state = (struct ggml_compute_state *) data; struct ggml_threadpool * tp = state->threadpool; @@ -2884,13 +2927,18 @@ static thread_ret_t ggml_graph_compute_thread(void * data) { for (int node_n = 0; node_n < cgraph->n_nodes && atomic_load_explicit(&tp->abort, memory_order_relaxed) != node_n; node_n++) { struct ggml_tensor * node = cgraph->nodes[node_n]; + uint64_t t0 = ggml_time_us(); ggml_compute_forward(¶ms, node); + uint64_t dt = ggml_time_us() - t0; + + atomic_fetch_add_explicit(&ggml_op_us[node->op], dt, memory_order_relaxed); + atomic_fetch_add_explicit(&ggml_op_calls[node->op], 1, memory_order_relaxed); if (state->ith == 0 && cplan->abort_callback && cplan->abort_callback(cplan->abort_callback_data)) { atomic_store_explicit(&tp->abort, node_n + 1, memory_order_relaxed); tp->ec = GGML_STATUS_ABORTED; - } + } if (node_n + 1 < cgraph->n_nodes) { ggml_barrier(state->threadpool); @@ -2898,7 +2946,6 @@ static thread_ret_t ggml_graph_compute_thread(void * data) { } ggml_barrier(state->threadpool); - return 0; } @@ -3201,6 +3248,33 @@ enum ggml_status ggml_graph_compute(struct ggml_cgraph * cgraph, struct ggml_cpl ggml_threadpool_free(threadpool); } + // printf("\n========= GGML OP PERF =========\n"); + // for (int i = 0; i < GGML_OP_COUNT; i++) { + // uint64_t us = atomic_load(&ggml_op_us[i]); + // uint64_t calls = atomic_load(&ggml_op_calls[i]); + // if (calls == 0) continue; + // + // printf("%-16s : %8llu us %6llu calls avg %6llu us\n", + // ggml_op_name(i), + // (unsigned long long)us, + // (unsigned long long)calls, + // (unsigned long long)(us / calls)); + // } + // printf("================================\n\n"); + + // printf("\n"); + // for (int i = 0; i < GGML_OP_COUNT; i++) { + // uint64_t us = atomic_load(&ggml_op_us[i]); + // uint64_t calls = atomic_load(&ggml_op_calls[i]); + // if (calls == 0) continue; + // + // printf("%-16s,%8llu us,%6llu,%6llu us,", + // ggml_op_name(i), + // (unsigned long long)us, + // (unsigned long long)calls, + // (unsigned long long)(us / calls)); + // } + return ret; } diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 6b4b6c5ab07..4460b84f02d 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -356,6 +356,7 @@ class MODEL_ARCH(IntEnum): QWEN3VLMOE = auto() PHI2 = auto() PHI3 = auto() + PHI3_VISION = auto() PHIMOE = auto() PLAMO = auto() PLAMO2 = auto() @@ -723,6 +724,7 @@ class MODEL_TENSOR(IntEnum): MODEL_ARCH.QWEN3VLMOE: "qwen3vlmoe", MODEL_ARCH.PHI2: "phi2", MODEL_ARCH.PHI3: "phi3", + MODEL_ARCH.PHI3_VISION: "phi3_vision", MODEL_ARCH.PHIMOE: "phimoe", MODEL_ARCH.PLAMO: "plamo", MODEL_ARCH.PLAMO2: "plamo2", @@ -1670,6 +1672,22 @@ class MODEL_TENSOR(IntEnum): MODEL_TENSOR.FFN_DOWN, MODEL_TENSOR.FFN_UP, ], + MODEL_ARCH.PHI3_VISION: [ + MODEL_TENSOR.TOKEN_EMBD, + MODEL_TENSOR.OUTPUT_NORM, + MODEL_TENSOR.OUTPUT, + MODEL_TENSOR.ROPE_FACTORS_LONG, + MODEL_TENSOR.ROPE_FACTORS_SHORT, + MODEL_TENSOR.ATTN_NORM, + MODEL_TENSOR.ATTN_QKV, + MODEL_TENSOR.ATTN_Q, + MODEL_TENSOR.ATTN_K, + MODEL_TENSOR.ATTN_V, + MODEL_TENSOR.ATTN_OUT, + MODEL_TENSOR.FFN_NORM, + MODEL_TENSOR.FFN_DOWN, + MODEL_TENSOR.FFN_UP, + ], MODEL_ARCH.PHIMOE: [ MODEL_TENSOR.TOKEN_EMBD, MODEL_TENSOR.OUTPUT_NORM, diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index b7642b568df..9e1eb7182cb 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -36,6 +36,7 @@ static const std::map LLM_ARCH_NAMES = { { LLM_ARCH_QWEN3VLMOE, "qwen3vlmoe" }, { LLM_ARCH_PHI2, "phi2" }, { LLM_ARCH_PHI3, "phi3" }, + { LLM_ARCH_PHI3_VISION, "phi3_vision" }, { LLM_ARCH_PHIMOE, "phimoe" }, { LLM_ARCH_PLAMO, "plamo" }, { LLM_ARCH_PLAMO2, "plamo2" }, diff --git a/src/llama-arch.h b/src/llama-arch.h index a769dd1e857..a0a607747d4 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -40,6 +40,7 @@ enum llm_arch { LLM_ARCH_QWEN3VLMOE, LLM_ARCH_PHI2, LLM_ARCH_PHI3, + LLM_ARCH_PHI3_VISION, LLM_ARCH_PHIMOE, LLM_ARCH_PLAMO, LLM_ARCH_PLAMO2, diff --git a/src/llama-graph.h b/src/llama-graph.h index d0c3934f679..90c54252fff 100644 --- a/src/llama-graph.h +++ b/src/llama-graph.h @@ -473,7 +473,7 @@ class llm_graph_result { virtual ~llm_graph_result() = default; - ggml_tensor * get_tokens() const { return t_tokens; } + auto get_tokens() const -> ggml_tensor * { return t_tokens; } ggml_tensor * get_logits() const { return t_logits; } ggml_tensor * get_embd() const { return t_embd; } ggml_tensor * get_embd_pooled() const { return t_embd_pooled; } diff --git a/tools/mtmd/clip-impl.h b/tools/mtmd/clip-impl.h index 722b1a4948d..013f1d185d2 100644 --- a/tools/mtmd/clip-impl.h +++ b/tools/mtmd/clip-impl.h @@ -39,6 +39,11 @@ #define KEY_FEATURE_LAYER "clip.vision.feature_layer" #define KEY_PROJ_SCALE_FACTOR "clip.vision.projector.scale_factor" #define KEY_SPATIAL_MERGE_SIZE "clip.vision.spatial_merge_size" +// [NEW] Phi-3-Vision Specific Keys +#define KEY_PHI3_HD_ORDER "clip.vision.hd_transform_order" // Stores "sub_glb" +#define KEY_PHI3_NUM_IMG_TOKENS "clip.vision.num_img_tokens" // Stores 144 +#define KEY_PHI3_USE_HD "clip.vision.use_hd_transform" // Stores true +#define KEY_PHI3_WITH_SEP "clip.vision.with_learnable_separator" // Stores true #define KEY_IS_DEEPSTACK_LAYERS "clip.vision.is_deepstack_layers" #define KEY_MM_PATCH_MERGE_TYPE "clip.vision.mm_patch_merge_type" @@ -86,6 +91,21 @@ #define TN_MVLM_PROJ_BLOCK "mm.model.mb_block.%d.block.%d.%s" #define TN_MVLM_PROJ_PEG "mm.model.peg.%d.%s" #define TN_IMAGE_NEWLINE "model.image_newline" + +// [NEW] Phi-3-Vision Specific Tensors +// Mapping for: model.vision_embed_tokens.glb_GN +#define TN_PHI3_GLB_GN "v.glb_GN" +// Mapping for: model.vision_embed_tokens.sub_GN +#define TN_PHI3_SUB_GN "v.sub_GN" + +// [NEW] Projector Mapping +// Your tensor map shows "model.vision_embed_tokens.img_projection.0.weight" +// and "model.vision_embed_tokens.img_projection.2.weight". +// This confirms it is a 2-layer MLP (Layer 0 = Linear, Layer 1 = GELU (implicit), Layer 2 = Linear). +// We can reuse TN_LLAVA_PROJ ("mm.%d.%s") or define a specific one if the conversion script names them uniquely. +// To be safe and specific: +#define TN_PHI3_PROJ_MLP "mm.phi3_mlp.%d.%s" + #define TN_MM_INP_NORM "mm.input_norm.weight" #define TN_MM_INP_NORM_B "mm.input_norm.bias" #define TN_MM_INP_PROJ "mm.input_projection.weight" // gemma3 @@ -156,6 +176,7 @@ enum projector_type { PROJECTOR_TYPE_LIGHTONOCR, PROJECTOR_TYPE_COGVLM, PROJECTOR_TYPE_JANUS_PRO, + PROJECTOR_TYPE_PHI3_V, PROJECTOR_TYPE_UNKNOWN, }; @@ -182,6 +203,7 @@ static std::map PROJECTOR_TYPE_NAMES = { { PROJECTOR_TYPE_LIGHTONOCR,"lightonocr"}, { PROJECTOR_TYPE_COGVLM, "cogvlm"}, { PROJECTOR_TYPE_JANUS_PRO, "janus_pro"}, + { PROJECTOR_TYPE_PHI3_V, "phi3_v"}, }; static projector_type clip_projector_type_from_string(const std::string & str) { diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 16781fb1952..1c15f8b48f2 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -23,8 +23,8 @@ #include #include #include +#include -// TODO: allow to pass callback from user code struct clip_logger_state g_logger_state = {GGML_LOG_LEVEL_CONT, clip_log_callback_default, NULL}; enum ffn_op_type { @@ -400,6 +400,14 @@ struct clip_model { ggml_tensor * mm_boi = nullptr; ggml_tensor * mm_eoi = nullptr; + // phi3v + ggml_tensor * mm_glb_GN = nullptr; // global separator + ggml_tensor * mm_sub_GN = nullptr; // sub-image separator + + // Pre-calculated projected vectors (3072 floats each) + std::vector phi3_proj_glb_GN; + std::vector phi3_proj_sub_GN; + bool audio_has_avgpool() const { return proj_type == PROJECTOR_TYPE_QWEN2A || proj_type == PROJECTOR_TYPE_VOXTRAL; @@ -626,11 +634,9 @@ struct clip_graph { ggml_tensor * pos_h = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_patches); ggml_set_name(pos_h, "pos_h"); ggml_set_input(pos_h); - ggml_tensor * pos_w = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_patches); ggml_set_name(pos_w, "pos_w"); ggml_set_input(pos_w); - auto add_pos = [&](ggml_tensor * cur, const clip_layer &) { return build_rope_2d(ctx0, cur, pos_h, pos_w, hparams.rope_theta, true); }; @@ -707,7 +713,6 @@ struct clip_graph { return gf; } - // Qwen2VL and Qwen2.5VL use M-RoPE ggml_cgraph * build_qwen2vl() { GGML_ASSERT(model.patch_bias == nullptr); @@ -1960,6 +1965,353 @@ struct clip_graph { return gf; } + // ------------------------------------------------------------------------- + // Helper: Space-to-Depth + Grid Stitching (Matches reshape_hd_patches_2x2merge) + // ------------------------------------------------------------------------- + static struct ggml_tensor * ggml_phi3v_hd_merge( + struct ggml_context * ctx, + struct ggml_tensor * image_features, // Input: {1024, 24, 24, N} + int h_crop, + int w_crop + ) { + // N = total patches (num_images * h_crop * w_crop) + // For inference, we typically process 1 image batch at a time, so N = h_crop * w_crop + int N = image_features->ne[3]; + const int C = 1024; + const int H = 24; + const int H2 = 12; + + struct ggml_tensor * t = image_features; + + // --- PHASE 1: Space-to-Depth --- + // Goal: Convert {1024, 24, 24} -> {4096, 12, 12} + + // 1. Split Width (24 -> 2, 12) + // Shape becomes: {1024, 2, 12, N*H} + t = ggml_reshape_4d(ctx, t, C, 2, H2, H * N); + + // 2. [FIX] NO PERMUTE HERE! + // We want {1024, 2} to merge into {2048}. + // Since ne[0]=1024 and ne[1]=2, they are ALREADY contiguous in the format PyTorch expects. + // {W_sub=0, C=0..1023}, {W_sub=1, C=0..1023}... + // Just re-interpret dimensions. + + // 3. Split Height (24 -> 2, 12) + // Current logical shape: {2048, 12, 24, N} + // We split the 24 (Height) into 2 (H_sub) and 12 (H_tile). + // In ggml reshape, inner dims are faster. We want H_sub (2) to be faster than H_tile (12). + // New Shape: {2048, 12, 2, 12 * N} + t = ggml_reshape_4d(ctx, t, C * 2, H2, 2, H2 * N); + + // 4. [FIX] Permute H_sub (Index 2) to join Channels (Index 0) + // We have: {2048, 12, 2, ...} + // We want: {2048, 2, 12, ...} <-- This allows 2048 and 2 to merge into 4096 + // Permute: Keep 0, Swap 1 and 2. + // Order: 0, 2, 1, 3 + t = ggml_permute(ctx, t, 0, 2, 1, 3); + t = ggml_cont(ctx, t); // Merges {2048, 2} -> {4096} + + // Result Phase 1: {4096, 12, 12, N} + + // --- PHASE 2: Grid Stitching --- + + // Optimization for Global Crop (1x1) + if (h_crop == 1 && w_crop == 1) { + return t; + } + + const int C_NEW = C * 4; // 4096 + + // 1. View as Grid: {RowBlock(4096*12), TileHeight(12), GridW, GridH} + t = ggml_reshape_4d(ctx, t, C_NEW * H2, H2, w_crop, h_crop); + + // 2. Swap TileHeight and GridW to stitch rows + t = ggml_permute(ctx, t, 0, 2, 1, 3); + t = ggml_cont(ctx, t); + + // 3. Flatten to 2D Image Plane + t = ggml_reshape_4d(ctx, t, + C_NEW, // 4096 + H2 * w_crop, // Full Width + H2 * h_crop, // Full Height + 1 // Batch (merged) + ); + + return t; + } + + // ggml_cgraph * build_phi3v() { + // + // // 1. Prepare Input & Run ViT + // // --------------------------------------------------------------------- + // ggml_tensor * inp = build_inp(); // [n_embd, Total_Patches] + // + // // Calculate grid from image dimensions (assuming 336px crops) + // // const int patches_per_crop_side = 24; + // // const int patches_per_crop = patches_per_crop_side * patches_per_crop_side; // 576 + // + // // Phi-3 Logic: num_crops = (H/336 * W/336) + 1 (Global) + // // int grid_h = (int)img.ny / 336; + // // int grid_w = (int)img.nx / 336; + // // const int num_crops = (grid_h * grid_w); + // // const int num_crops = inp->ne[2]; + // + // // Reshape and add standard ViT embeddings + // // inp = ggml_reshape_3d(ctx0, inp, n_embd, patches_per_crop, num_crops); + // + // // ggml_tensor * pos_emb = model.position_embeddings; + // // ggml_tensor * cls = model.class_embedding; + // // + // // // Add CLS token + // // cls = ggml_reshape_3d(ctx0, cls, n_embd, 1, 1); + // // cls = ggml_repeat(ctx0, cls, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd, 1, num_crops)); + // // + // // inp = ggml_concat(ctx0, cls, inp, 1); // [n_embd, 577, num_crops] + // // + // // inp = ggml_add(ctx0, inp, pos_emb); + // + // // Flatten for ViT processing + // // inp = ggml_reshape_2d(ctx0, inp, n_embd, (patches_per_crop + 1) * num_crops); + // + // // Handle Position Embedding Slicing (Skip CLS if present) + // ggml_tensor * pos_embd = model.position_embeddings; + // if (pos_embd->ne[1] == n_patches + 1) { + // size_t offset = hparams.n_embd * ggml_element_size(pos_embd); + // pos_embd = ggml_view_2d(ctx0, pos_embd, hparams.n_embd, n_patches, pos_embd->nb[1], offset); + // } + // + // // Run ViT + // // ggml_tensor * cur = build_vit(inp, (patches_per_crop + 1) * num_crops, NORM_TYPE_NORMAL, hparams.ffn_op, nullptr, nullptr); + // + // ggml_tensor * cur = build_vit(inp, n_patches, NORM_TYPE_NORMAL, hparams.ffn_op, pos_embd, nullptr); + // + // // cur = ggml_view_4d(ctx0, cur, n_embd, 24, 24, 1, cur->nb[1], cur->nb[2], cur->nb[3], 0); + // // + // // cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); + // + // // 1. Prepare for HD Merge + // // Reshape flattened ViT output to 2D spatial: {1024, 24, 24, N} + // cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, cur->ne[2]); + // cur = ggml_cont(ctx0, cur); + // + // // 2. Perform HD Merge (Space-to-Depth) + // // We use 1,1 because we process ONE crop at a time in the graph. + // // We handle the grid stitching on the CPU later. + // // Input: {1024, 24, 24} -> Output: {4096, 12, 12} + // cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); + // + // // 3. Flatten for MLP + // // {4096, 12, 12} -> {4096, 144} + // cur = ggml_reshape_2d(ctx0, cur, 4096, 12 * 12 * cur->ne[3]); + // + // // --------------------------------------------------------------------- + // // 2. Post-Processing & Separation + // // --------------------------------------------------------------------- + // + // // // Reshape back to [n_embd, 577, num_crops] + // // cur = ggml_reshape_3d(ctx0, cur, n_embd, patches_per_crop + 1, num_crops); + // // + // // // STRIP CLS TOKEN: Phi-3 uses spatial tokens (Indices 1..577) + // // // Offset by 1 token (nb[1]) to skip CLS + // // cur = ggml_view_3d(ctx0, cur, n_embd, patches_per_crop, num_crops, cur->nb[1], cur->nb[2], cur->nb[1]); + // // + // // // Reshape for HD Merge Helper: [n_embd, 24, 24, num_crops] + // // cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, num_crops); + // // cur = ggml_cont(ctx0, cur); + // + // // SEPARATION: + // // Python: global = img[:, 0], sub = img[:, 1:] + // // NOTE: This differs from LLaVA (where global is last). + // + // // int num_sub_images = num_crops - 1; + // + // // Global is Index 0 + // // ggml_tensor * global_feat = ggml_view_4d(ctx0, cur, n_embd, 24, 24, 1, cur->nb[1], cur->nb[2], cur->nb[3], 0); + // + // // Sub-images are Indices 1..End + // // ggml_tensor * sub_feats = NULL; + // // if (num_sub_images > 0) { + // // sub_feats = ggml_view_4d(ctx0, cur, n_embd, 24, 24, num_sub_images, cur->nb[1], cur->nb[2], cur->nb[3], cur->nb[3]); + // // } + // + // // --------------------------------------------------------------------- + // // 3. Process Sub-Images (High Res Crops) + // // --------------------------------------------------------------------- + // // ggml_tensor * sub_final = NULL; + // + // // if (sub_feats) { + // // // A. HD Merge (Space-to-Depth + Stitch) + // // // ------------------------------------------------- + // // sub_feats = ggml_phi3v_hd_merge(ctx0, sub_feats, grid_h, grid_w); + // // // Result: {4096, 12*grid_w, 12*grid_h, 1} + // // + // // // B. Add Newline (Separator) + // // // ------------------------------------------------- + // // // We essentially append a column of 'sub_gn' to the right of the image + // // int W = 12 * grid_w; + // // int H = 12 * grid_h; + // // + // // // Prepare Sub_GN for broadcasting + // // ggml_tensor * sub_gn = model.mm_sub_GN; // {4096} + // // sub_gn = ggml_reshape_3d(ctx0, sub_gn, n_embd*4, 1, 1); + // // sub_gn = ggml_repeat(ctx0, sub_gn, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd*4, 1, H)); + // // + // // // Flatten sub_feats to expose width: {4096, W, H} + // // sub_feats = ggml_reshape_3d(ctx0, sub_feats, n_embd*4, W, H); + // // + // // // Concatenate Newline along Width + // // sub_final = ggml_concat(ctx0, sub_feats, sub_gn, 1); // {4096, W+1, H} + // // + // // // Flatten to 2D sequence + // // sub_final = ggml_reshape_2d(ctx0, sub_final, n_embd*4, (W + 1) * H); + // // } + // + // // --------------------------------------------------------------------- + // // 4. Process Global Image + // // --------------------------------------------------------------------- + // + // // A. HD Merge (1x1) + // // ------------------------------------------------- + // // global_feat = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); + // // Result: {4096, 12, 12, 1} + // + // // B. Add Newline (Separator) + // // ------------------------------------------------- + // // Note: Python code uses 'sub_GN' for the global newline as well + // // ggml_tensor * global_newline = model.mm_sub_GN; + // // global_newline = ggml_reshape_3d(ctx0, global_newline, n_embd*4, 1, 1); + // // global_newline = ggml_repeat(ctx0, global_newline, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd*4, 1, 12)); + // // + // // global_feat = ggml_reshape_3d(ctx0, global_feat, n_embd*4, 12, 12); + // + // // Concatenate + // // ggml_tensor * global_final = ggml_concat(ctx0, global_feat, global_newline, 1); // {4096, 13, 12} + // + // // Flatten + // // global_final = ggml_reshape_2d(ctx0, global_final, n_embd*4, 13 * 12); + // + // // --------------------------------------------------------------------- + // // 5. Final Concatenation + // // Order: [Sub-Images] + [GLB_GN] + [Global Image] + // // --------------------------------------------------------------------- + // + // // ggml_tensor * final_emb = sub_final; + // + // // Prepare Global Separator (glb_GN) + // // ggml_tensor * glb_gn = model.mm_glb_GN; // {4096} + // // glb_gn = ggml_reshape_2d(ctx0, glb_gn, n_embd*4, 1); + // + // // if (final_emb) { + // // // [Sub] + [Glb_GN] + // // final_emb = ggml_concat(ctx0, final_emb, glb_gn, 1); + // // // + [Global] + // // final_emb = ggml_concat(ctx0, final_emb, global_final, 1); + // // } else { + // // // Only global exists (e.g. 336x336 image) + // // final_emb = global_final; + // // } + // + // // --------------------------------------------------------------------- + // // 6. MLP Projection + // // --------------------------------------------------------------------- + // + // ggml_tensor * final_emb = ggml_mul_mat(ctx0, model.mm_0_w, cur); + // final_emb = ggml_add(ctx0, final_emb, model.mm_0_b); + // final_emb = ggml_gelu(ctx0, final_emb); + // final_emb = ggml_mul_mat(ctx0, model.mm_2_w, final_emb); + // final_emb = ggml_add(ctx0, final_emb, model.mm_2_b); + // + // ggml_build_forward_expand(gf, final_emb); + // return gf; + // } + + ggml_cgraph * build_phi3v() { + // 1. Prepare Input (Patches) + // --------------------------------------------------------------------- + ggml_tensor * inp = build_inp(); // [n_embd, 576, num_crops] + + // Calculate grid (e.g. 2x2 grid -> 4 crops + 1 global = 5 crops) + // Ensure this logic matches your clip_n_output_tokens logic + int n_patches_per_crop = 24 * 24; // 576 + int num_crops = inp->ne[2]; // Passed from the batch encoder + + // Reshape to [n_embd, 576, num_crops] + inp = ggml_reshape_3d(ctx0, inp, n_embd, n_patches_per_crop, num_crops); + + // --------------------------------------------------------------------- + // FIX 3 START: Prepend CLS and Add Full Position Embeddings + // --------------------------------------------------------------------- + + // 1. Prepend CLS Token + // We MUST allow the ViT to process the CLS token for valid attention + ggml_tensor * cls = model.class_embedding; + cls = ggml_reshape_3d(ctx0, cls, n_embd, 1, 1); + cls = ggml_repeat(ctx0, cls, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd, 1, num_crops)); + + // Concat: [CLS, Patch0 ... Patch575] + inp = ggml_concat(ctx0, cls, inp, 1); + + // 2. Add Full Position Embeddings (Do not slice!) + inp = ggml_add(ctx0, inp, model.position_embeddings); + + // --------------------------------------------------------------------- + // 2. Run Vision Transformer (ViT) + // --------------------------------------------------------------------- + + // Flatten for the transformer: [n_embd, 577 * num_crops] + inp = ggml_reshape_2d(ctx0, inp, n_embd, (n_patches_per_crop + 1) * num_crops); + + // Run the layers on the full sequence (577 tokens per crop) + ggml_tensor * cur = build_vit(inp, (n_patches_per_crop + 1) * num_crops, + NORM_TYPE_NORMAL, hparams.ffn_op, nullptr, nullptr); + + // --------------------------------------------------------------------- + // FIX 3 END: Strip the CLS Token + // --------------------------------------------------------------------- + + // Reshape back to separate the crops: [n_embd, 577, num_crops] + + cur = ggml_reshape_3d(ctx0, cur, n_embd, n_patches_per_crop + 1, num_crops); + + // Slice: Keep indices 1..577 (The 576 spatial patches) + // We skip Index 0 (CLS). + // Dimensions: n_embd, 576, num_crops + // Offset: 1 * nb[1] (Skip one column of embeddings) + + cur = ggml_view_3d(ctx0, cur, + n_embd, n_patches_per_crop, num_crops, + cur->nb[1], cur->nb[2], + cur->nb[1]); // <--- Offset starts at token 1 + + // Important: Make it contiguous memory for the HD Merge step + // [n_embd, 24, 24, num_crops] + cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, num_crops); + cur = ggml_cont(ctx0, cur); + + // --------------------------------------------------------------------- + // 3. HD Merge (Space-to-Depth) + // --------------------------------------------------------------------- + // Now 'cur' contains only the 24x24 spatial tokens, perfect for merging. + // We use 1x1 here because we are processing the batch in the graph, + // but we treat crops as independent until the CPU stitching step. + + cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); + + // --------------------------------------------------------------------- + // 4. MLP Projection + // --------------------------------------------------------------------- + // Flatten to [4096, 144 * num_crops] + cur = ggml_reshape_2d(ctx0, cur, 4096, 144 * num_crops); + + ggml_tensor * final_emb = ggml_mul_mat(ctx0, model.mm_0_w, cur); + final_emb = ggml_add(ctx0, final_emb, model.mm_0_b); + final_emb = ggml_gelu(ctx0, final_emb); + final_emb = ggml_mul_mat(ctx0, model.mm_2_w, final_emb); + final_emb = ggml_add(ctx0, final_emb, model.mm_2_b); + + ggml_build_forward_expand(gf, final_emb); + return gf; + } private: // @@ -2494,6 +2846,10 @@ static ggml_cgraph * clip_image_build_graph(clip_ctx * ctx, const clip_image_f32 { res = graph.build_cogvlm(); } break; + case PROJECTOR_TYPE_PHI3_V: + { + res = graph.build_phi3v(); + } break; default: { res = graph.build_llava(); @@ -2819,6 +3175,25 @@ struct clip_model_loader { hparams.ffn_op = FFN_GELU_ERF; log_ffn_op = "gelu_erf"; // temporary solution for logging } break; + case PROJECTOR_TYPE_PHI3_V: + { + // Verify HD transform settings + bool use_hd = false; + get_bool(KEY_PHI3_USE_HD, use_hd, false); + if (!use_hd) { + LOG_WRN("%s: Phi-3-Vision model missing %s=true, assuming HD transform is required\n", __func__, KEY_PHI3_USE_HD); + } + + std::string hd_order; + get_string(KEY_PHI3_HD_ORDER, hd_order, false); + if (!hd_order.empty() && hd_order != "sub_glb") { + throw std::runtime_error(string_format("%s: unsupported HD transform order: %s (only 'sub_glb' supported)\n", __func__, hd_order.c_str())); + } + + // Set defaults for Phi-3.5-vision if keys missing + hparams.image_size = 336; + hparams.patch_size = 14; + } break; default: break; } @@ -3206,6 +3581,20 @@ struct clip_model_loader { model.mm_1_w = get_tensor(string_format(TN_LLAVA_PROJ, 1, "weight")); model.mm_1_b = get_tensor(string_format(TN_LLAVA_PROJ, 1, "bias")); } break; + case PROJECTOR_TYPE_PHI3_V: + { + // Load MLP weights: mm.phi3_mlp.0.weight / bias + model.mm_0_w = get_tensor(string_format(TN_PHI3_PROJ_MLP, 0, "weight")); + model.mm_0_b = get_tensor(string_format(TN_PHI3_PROJ_MLP, 0, "bias")); + + // Load MLP weights: mm.phi3_mlp.2.weight / bias + model.mm_2_w = get_tensor(string_format(TN_PHI3_PROJ_MLP, 2, "weight")); + model.mm_2_b = get_tensor(string_format(TN_PHI3_PROJ_MLP, 2, "bias")); + + // Load Separators + model.mm_glb_GN = get_tensor(TN_PHI3_GLB_GN); + model.mm_sub_GN = get_tensor(TN_PHI3_SUB_GN); + } break; default: GGML_ASSERT(false && "unknown projector type"); } @@ -3474,7 +3863,6 @@ struct clip_model_loader { }; struct clip_init_result clip_init(const char * fname, struct clip_context_params ctx_params) { - g_logger_state.verbosity_thold = ctx_params.verbosity; clip_ctx * ctx_vision = nullptr; clip_ctx * ctx_audio = nullptr; @@ -4162,6 +4550,75 @@ struct llava_uhd { } }; + // ------------------------------------------------------------------------- + // Phi-3-Vision Preprocessing (HD Transform) + // ------------------------------------------------------------------------- + + struct phi3v_hd { + struct slice_instructions { + clip_image_size overview_size; + clip_image_size grid_size; + std::vector crops; // sizes of crops? No, we force 336. + // We just need the grid logic to slice. + }; + + static int padding_336(int x) { + return (int)(std::ceil((float)x / 336.0f) * 336); + } + + static clip_image_size calc_hd_transform_size(int width, int height, int hd_num) { + bool transposed = false; + if (width < height) { + std::swap(width, height); + transposed = true; + } + float ratio = (float)width / (float)height; + int scale = 1; + while (scale * std::ceil(scale / ratio) <= hd_num) { + scale++; + } + scale--; + + int new_w = scale * 336; + int new_h = (int)(new_w / ratio); + + clip_image_size res; + res.width = padding_336(new_w); + res.height = padding_336(new_h); + + if (transposed) std::swap(res.width, res.height); + return res; + } + + static std::vector transform(const clip_image_u8 * img, int num_crops, int & out_grid_x, int & out_grid_y) { + std::vector output; + + // 1. HD Transform (Resize + Pad) + clip_image_size hd_size = calc_hd_transform_size(img->nx, img->ny, num_crops); + clip_image_u8 hd_img; + img_tool::resize(*img, hd_img, hd_size, img_tool::RESIZE_ALGO_BILINEAR, true, {255, 255, 255}); + + out_grid_x = hd_size.width / 336; + out_grid_y = hd_size.height / 336; + + // 2. Slice into 336x336 patches + for (int y = 0; y < hd_size.height; y += 336) { + for (int x = 0; x < hd_size.width; x += 336) { + clip_image_u8_ptr slice(clip_image_u8_init()); + img_tool::crop(hd_img, *slice, x, y, 336, 336); + output.push_back(std::move(slice)); + } + } + + // 3. Global Image (Resize to 336x336) + clip_image_u8_ptr global(clip_image_u8_init()); + img_tool::resize(*img, *global, {336, 336}, img_tool::RESIZE_ALGO_BICUBIC, true, {255, 255, 255}); + output.push_back(std::move(global)); + + return output; + } + }; + // returns the normalized float tensor for llava-1.5, for spatial_unpad with anyres processing for llava-1.6 it returns the normalized image patch tensors as a vector // res_imgs memory is being allocated here, previous allocations will be freed if found bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, struct clip_image_f32_batch * res_imgs) { @@ -4376,7 +4833,27 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, str } } } break; - + case PROJECTOR_TYPE_PHI3_V: + { + int max_crops = 4; // Default for Phi-3.5-vision + // TODO: Load from hparams if possible (num_crops) + int gx, gy; + auto imgs = phi3v_hd::transform(img, max_crops, gx, gy); + // Store grid info in the context/hparams for inference (hacky but needed for static graph) + // We use image_crop_resolution to store packed grid dims: (grid_h << 16) | grid_w + ctx->model.hparams.image_crop_resolution = (gy << 16) | gx; + for (auto & crop : imgs) { + clip_image_f32_ptr res(clip_image_f32_init()); + normalize_image_u8_to_f32(*crop, *res, ctx->model.hparams.image_mean, ctx->model.hparams.image_std); + res_imgs->entries.push_back(std::move(res)); + } + // // Update global dims for batch processing concatenation + // // We simulate a "stitched" image for n_patches calculation + // res_imgs->entries[0]->nx = 336; + // res_imgs->entries[0]->ny = 336 * imgs.size(); + res_imgs->grid_x = gx; + res_imgs->grid_y = gy; + } break; default: LOG_ERR("%s: unsupported projector type %d\n", __func__, ctx->proj_type()); return false; @@ -4557,6 +5034,38 @@ int clip_n_output_tokens(const struct clip_ctx * ctx, struct clip_image_f32 * im { n_patches += 2; // for BOI and EOI token embeddings } break; + case PROJECTOR_TYPE_PHI3_V: + { + // // Phi-3 Standard Crop Resolution is 336 + // const int crop_res = 336; + // + // // Calculate Grid Dimensions (Local Crops) + // int w_crop = img->nx / crop_res; + // int h_crop = img->ny / crop_res; + // + // // 1. Local Tokens (High Res Grid) + // // The grid is stitched into one large plane. + // // Height = 12 * h_crop + // // Width = 12 * w_crop + // // We add 1 Newline token per row of the stitched grid. + // int local_tokens = ((h_crop * w_crop) + 1 ) * 144; + // + // // 2. Global Tokens (Fixed 1x1 crop) + // // 12x12 grid + 1 newline per row = 12 * 13 = 156 + // int global_tokens = 156; + // + // // 3. Global Separator (glb_GN) + // // Inserted between Local and Global + // int separator = 1; + // + // // Total + // n_patches = local_tokens + separator + global_tokens; + // + // // Edge Case: If image < 336px (w_crop=0), we only use Global + Separator + // // The formula (0) + 1 + 156 = 157 handles this correctly. + + n_patches /= 4; + } break; default: GGML_ABORT("unsupported projector type"); } @@ -4988,6 +5497,13 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima } set_input_i32("pos_w", pos_data); } break; + case PROJECTOR_TYPE_PHI3_V: + { + // do nothing + // Phi-3 uses learned position embeddings which are added + // inside the graph (build_phi3v -> build_vit), + // so no external input tensors are needed. + } break; default: GGML_ABORT("Unknown projector type"); } @@ -5078,6 +5594,8 @@ int clip_n_mmproj_embd(const struct clip_ctx * ctx) { return ctx->model.mm_2_w->ne[1]; case PROJECTOR_TYPE_COGVLM: return ctx->model.mm_4h_to_h_w->ne[1]; + case PROJECTOR_TYPE_PHI3_V: + return ctx->model.mm_2_b->ne[0]; // 3072 default: GGML_ABORT("Unknown projector type"); } @@ -5104,6 +5622,10 @@ bool clip_is_llava(const struct clip_ctx * ctx) { return ctx->model.hparams.has_llava_projector; } +// [NEW] Phi-3-Vision Helper Implementation +bool clip_is_phi3v(const struct clip_ctx * ctx) { + return ctx->proj_type() == PROJECTOR_TYPE_PHI3_V; +} bool clip_is_gemma3(const struct clip_ctx * ctx) { return ctx->proj_type() == PROJECTOR_TYPE_GEMMA3; } @@ -5153,3 +5675,278 @@ void clip_image_f32_batch_add_mel(struct clip_image_f32_batch * batch, int n_mel batch->entries.push_back(clip_image_f32_ptr(audio)); batch->is_audio = true; } + +static void clip_phi3_setup(clip_ctx * ctx) { + // if (ctx->model.phi3_setup_done) return; + + LOG_INF("%s: pre-computing Phi-3 special tokens...\n", __func__); + + // Setup tiny graph + struct ggml_init_params params = { 1024*1024*128, NULL, true }; + struct ggml_context * ctx0 = ggml_init(params); + struct ggml_cgraph * gf = ggml_new_graph(ctx0); + + // Helper to build MLP graph for a single vector + auto build_mlp = [&](ggml_tensor* input) { + // Layer 1 (4096 -> 3072) + ggml_tensor* cur = ggml_mul_mat(ctx0, ctx->model.mm_0_w, input); + // Bias 0 + if (ctx->model.mm_0_b) { + ggml_tensor* b = ctx->model.mm_0_b; + cur = ggml_add(ctx0, cur, b); + } + // GELU + cur = ggml_gelu(ctx0, cur); + + // Layer 2 (3072 -> 3072) + cur = ggml_mul_mat(ctx0, ctx->model.mm_1_w, cur); + // Bias 2 + if (ctx->model.mm_1_b) { + ggml_tensor* b = ctx->model.mm_1_b; + cur = ggml_add(ctx0, cur, b); + } + return cur; + }; + + // 1. Project Global Separator (glb_GN) + ggml_tensor* res_glb = nullptr; + if (ctx->model.mm_glb_GN) { + res_glb = build_mlp(ctx->model.mm_glb_GN); + ggml_build_forward_expand(gf, res_glb); + } + + // 2. Project Sub/Newline Separator (sub_GN) + ggml_tensor* res_sub = nullptr; + if (ctx->model.mm_sub_GN) { + res_sub = build_mlp(ctx->model.mm_sub_GN); + ggml_build_forward_expand(gf, res_sub); + } + + // Compute + ggml_backend_sched_reset(ctx->sched.get()); + ggml_backend_sched_alloc_graph(ctx->sched.get(), gf); + ggml_backend_sched_graph_compute(ctx->sched.get(), gf); + + // Save results + int dim = clip_n_mmproj_embd(ctx); // 3072 + + if (res_glb) { + ctx->model.phi3_proj_glb_GN.resize(dim); + ggml_backend_tensor_get(res_glb, ctx->model.phi3_proj_glb_GN.data(), 0, dim * sizeof(float)); + } + + if (res_sub) { + ctx->model.phi3_proj_sub_GN.resize(dim); + ggml_backend_tensor_get(res_sub, ctx->model.phi3_proj_sub_GN.data(), 0, dim * sizeof(float)); + } + + ggml_free(ctx0); + ggml_backend_sched_reset(ctx->sched.get()); +} + + +// [NEW] The implementation of the optimized batch encoder +// bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const struct clip_image_f32_batch * imgs, float * vec) { +// +// const auto & entries = imgs->entries; +// int n_crops = entries.size(); +// if (n_crops < 1) return false; +// +// int dim = clip_n_mmproj_embd(ctx); // 3072 +// +// // Math after 2x2 merge: +// // 336px -> 24 patches -> merged to 12 patches +// // Grid is 12x12 +// int grid_side = 12; +// +// // Temp buffer for one crop (144 tokens) +// std::vector crop_output(grid_side * grid_side * dim); +// float* dest = vec; +// +// // Helper to copy crop + add newlines +// auto copy_crop_with_newlines = [&](float* src) { +// for (int row = 0; row < grid_side; ++row) { +// // Copy row of pixels (12 tokens) +// size_t row_sz = grid_side * dim * sizeof(float); +// memcpy(dest, src + (row * grid_side * dim), row_sz); +// dest += (grid_side * dim); +// +// // Append Newline Token (sub_GN) +// // This corresponds to the Python: `add_image_newline` +// if (!ctx->model.phi3_proj_sub_GN.empty()) { +// memcpy(dest, ctx->model.phi3_proj_sub_GN.data(), dim * sizeof(float)); +// } else { +// memset(dest, 0, dim * sizeof(float)); +// } +// dest += dim; +// } +// }; +// +// // 1. Process Local Crops +// for (int i = 0; i < n_crops - 1; ++i) { +// // Run graph +// bool ok = clip_image_encode(ctx, n_threads, entries[i].get(), crop_output.data()); +// if (!ok) return false; +// +// // Stitch into destination with newlines +// copy_crop_with_newlines(crop_output.data()); +// } +// +// // 2. Inject Global Separator (glb_GN) +// if (!ctx->model.phi3_proj_glb_GN.empty()) { +// memcpy(dest, ctx->model.phi3_proj_glb_GN.data(), dim * sizeof(float)); +// dest += dim; +// } +// +// // 3. Process Global Crop +// bool ok = clip_image_encode(ctx, n_threads, entries.back().get(), crop_output.data()); +// if (!ok) return false; +// copy_crop_with_newlines(crop_output.data()); +// +// return true; +// } + + + +// Function to encode image batches specifically for Phi-3 Vision +// This handles the "Stitching" strategy: +// 1. Encodes all local crops. +// 2. Stitches them into a single 2D spatial grid with newlines at the end of every row. +// 3. Appends a Global Separator (glb_GN). +// 4. Appends the Global Crop (downsampled whole image) with newlines. + +bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const struct clip_image_f32_batch * imgs, float * vec) { + if (!ctx || !imgs || !vec) return false; + + const auto & entries = imgs->entries; + int n_crops = entries.size(); + + // Phi-3 Vision requires at least 1 crop (Global only) or Locals + Global + if (n_crops < 1) return false; + + // Dimension of the embedding (e.g., 3072 for ViT-L/14 CLIP, or 4096 depending on projection) + int dim = clip_n_mmproj_embd(ctx); + + // 1. Identify Grid Dimensions + // ---------------------------------------------------------------- + int w_crop = imgs->grid_x; // Width in crops (e.g., 2) + int h_crop = imgs->grid_y; // Height in crops (e.g., 2) + int n_sub_images = w_crop * h_crop; // Total local crops (e.g., 4) + + // Safety check: ensure the batch actually contains enough images for the defined grid + // The last image in 'entries' is always the Global crop, so we check n_crops - 1 + if (n_sub_images > n_crops - 1) { + // Fallback or error handling if batch size doesn't match grid + return false; + } + + // Constants for Phi-3 / CLIP ViT-L/14@336 logic + const int grid_side = 12; // 12x12 tokens per crop (after 2x2 pooling of 24x24 CLIP output) + const int sub_crop_tokens = grid_side * grid_side; // 144 tokens (raw image embeddings) + + // Temporary buffer to hold the output of a single crop encoding (144 * dim) + std::vector crop_output(sub_crop_tokens * dim); + + // Buffer to store ALL raw local crops before stitching + // We calculate size: Number of crops * 144 tokens * embedding dimension + std::vector all_local_crops; + if (n_sub_images > 0) { + all_local_crops.resize(n_sub_images * sub_crop_tokens * dim); + } + + float* dest = vec; + + // 2. Encode and Store Local Crops + // ---------------------------------------------------------------- + // We process the first 'n_sub_images' entries as the High-Res crops + for (int i = 0; i < n_sub_images; ++i) { + // Encode individual crop (results in 144 vectors of size 'dim') + // Note: clip_image_encode typically handles normalization and the ViT forward pass + bool ok = clip_image_encode(ctx, n_threads, entries[i].get(), crop_output.data()); + if (!ok) return false; + + // Copy into the storage buffer linearly + memcpy(all_local_crops.data() + (i * sub_crop_tokens * dim), + crop_output.data(), + sub_crop_tokens * dim * sizeof(float)); + } + + // 3. Stitch Local Crops into 'vec' with Newlines + // ---------------------------------------------------------------- + if (n_sub_images > 0) { + // We iterate over the logical rows of the *combined* high-res image. + // Total rows = (Number of Vertical Crops) * (12 tokens per crop height) + for (int row_global = 0; row_global < h_crop * grid_side; ++row_global) { + + // Calculate which vertical crop index we are in (e.g., Crop Row 0 or 1) + int crop_y = row_global / grid_side; + // Calculate the internal row index within that specific crop (0 to 11) + int internal_y = row_global % grid_side; + + // Iterate through the crops horizontally for this specific row + for (int crop_x = 0; crop_x < w_crop; ++crop_x) { + // Calculate the linear index of the crop in 'all_local_crops' + int crop_idx = crop_y * w_crop + crop_x; + + // Calculate pointer to the start of the specific row inside that crop + // Offset = [Start of Crop] + [Row offset within Crop] + float* src = all_local_crops.data() + + (crop_idx * sub_crop_tokens * dim) + + (internal_y * grid_side * dim); + + // Copy the row (12 tokens) to the destination + memcpy(dest, src, grid_side * dim * sizeof(float)); + dest += (grid_side * dim); + } + + // ADD NEWLINE (sub_GN) after the full stitched row is complete + // This happens once per Global Row (e.g., 24 times for a 2x2 grid) + if (!ctx->model.phi3_proj_sub_GN.empty()) { + memcpy(dest, ctx->model.phi3_proj_sub_GN.data(), dim * sizeof(float)); + } else { + // Fallback for safety, though phi3_proj_sub_GN should be populated during load + memset(dest, 0, dim * sizeof(float)); + } + dest += dim; + } + } + + // 4. Inject Global Separator (glb_GN) + // ---------------------------------------------------------------- + // This token separates the High-Res stitched canvas from the Global Low-Res view + if (!ctx->model.phi3_proj_glb_GN.empty()) { + memcpy(dest, ctx->model.phi3_proj_glb_GN.data(), dim * sizeof(float)); + } else { + memset(dest, 0, dim * sizeof(float)); + } + dest += dim; + + // 5. Process Global Crop (Last Entry) + // ---------------------------------------------------------------- + // The Global crop is always the last one in the batch. + // It is treated as a single 12x12 grid with newlines after every row. + { + bool ok = clip_image_encode(ctx, n_threads, entries.back().get(), crop_output.data()); + if (!ok) return false; + + float* src = crop_output.data(); + + // Iterate over the 12 rows of the Global crop + for (int r = 0; r < grid_side; ++r) { + // Copy the row of tokens (12 tokens) + memcpy(dest, src, grid_side * dim * sizeof(float)); + dest += (grid_side * dim); + src += (grid_side * dim); + + // Add Newline (sub_GN) after every row + if (!ctx->model.phi3_proj_sub_GN.empty()) { + memcpy(dest, ctx->model.phi3_proj_sub_GN.data(), dim * sizeof(float)); + } else { + memset(dest, 0, dim * sizeof(float)); + } + dest += dim; + } + } + + return true; +} \ No newline at end of file diff --git a/tools/mtmd/clip.h b/tools/mtmd/clip.h index 3e4c985f117..e3e97435d20 100644 --- a/tools/mtmd/clip.h +++ b/tools/mtmd/clip.h @@ -1,6 +1,7 @@ #pragma once #include "ggml.h" +#include #include #include @@ -106,6 +107,18 @@ bool clip_is_qwen2vl(const struct clip_ctx * ctx); bool clip_is_llava(const struct clip_ctx * ctx); bool clip_is_gemma3(const struct clip_ctx * ctx); +// [NEW] Added for Phi-3-Vision +bool clip_is_phi3v(const struct clip_ctx * ctx); + +// [NEW] Optimized batch encoding for Phi-3-Vision +// Handles looping, separator injection, and stitching internally. +MTMD_API bool clip_image_batch_encode_phi3( + struct clip_ctx * ctx, + int n_threads, + const struct clip_image_f32_batch * imgs, + float * vec +); + bool clip_encode_float_image (struct clip_ctx * ctx, int n_threads, float * img, int h, int w, float * vec); // use by audio input diff --git a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py index 2949faec421..c94a0cff3cd 100644 --- a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py +++ b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py @@ -6,7 +6,7 @@ import torch import numpy as np from gguf import * -from transformers import CLIPModel, CLIPProcessor, CLIPVisionModel, SiglipVisionModel +from transformers import CLIPModel, CLIPProcessor, CLIPVisionModel, SiglipVisionModel, AutoModelForCausalLM TEXT = "clip.text" VISION = "clip.vision" @@ -16,14 +16,25 @@ def k(raw_key: str, arch: str) -> str: return raw_key.format(arch=arch) -def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: bool) -> bool: +def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: bool, projector_type: str) -> bool: if name in ( - "logit_scale", - "text_model.embeddings.position_ids", - "vision_model.embeddings.position_ids", + "logit_scale", + "text_model.embeddings.position_ids", + "vision_model.embeddings.position_ids", ): return True + # For Phi-3-Vision, we need to keep specific vision tokens even if they look like special params + if projector_type == "phi3_v": + if "glb_GN" in name or "sub_GN" in name: + return False + if "img_projection" in name: + return False + # Phi-3 uses 'model.vision_embed_tokens' prefix for everything + if not name.startswith("model.vision_embed_tokens"): + return True # Skip text model weights + return False + if has_llava and name in ["visual_projection.weight", "vision_model.post_layernorm.weight", "vision_model.post_layernorm.bias"]: return True @@ -37,8 +48,49 @@ def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: b def get_tensor_name(name: str) -> str: - # Standardize the transformers llava next keys for - # image newline / mm projector with the classes in haotian-liu LLaVA + # --- Phi-3-Vision Specific Mappings --- + if "vision_embed_tokens" in name: + # Strip the prefix + name = name.replace("model.vision_embed_tokens.", "") + + # 1. Separators + if "glb_GN" in name: + return "v.glb_GN" + if "sub_GN" in name: + return "v.sub_GN" + + # 2. Projector (2-Layer MLP) + if "img_projection" in name: + # Map img_projection.0 -> mm.phi3_mlp.0 + name = name.replace("img_projection", "mm.phi3_mlp") + return name + + # 3. Vision Model (SigLIP) + # Remove internal processor prefix + if "img_processor.vision_model." in name: + name = name.replace("img_processor.vision_model.", "v.") + + # Standardize SigLIP/CLIP names + name = name.replace("embeddings.class_embedding", "class_embd") + name = name.replace("embeddings.patch_embedding.weight", "patch_embd.weight") + name = name.replace("embeddings.position_embedding.weight", "position_embd.weight") + name = name.replace("encoder.layers", "blk") + name = name.replace("pre_layrnorm", "pre_ln") + name = name.replace("post_layernorm", "post_ln") + + # Block internal mappings + name = name.replace("layer_norm1", "ln1") + name = name.replace("layer_norm2", "ln2") + name = name.replace("self_attn.q_proj", "attn_q") + name = name.replace("self_attn.k_proj", "attn_k") + name = name.replace("self_attn.v_proj", "attn_v") + name = name.replace("self_attn.out_proj", "attn_out") + name = name.replace("mlp.fc1", "ffn_up") # SigLIP fc1 is usually up/gate + name = name.replace("mlp.fc2", "ffn_down") + + return name + + # --- Standard LLaVA / CLIP Mappings --- if name == "image_newline": return "model.image_newline" if name.startswith("multi_modal_projector"): @@ -71,9 +123,9 @@ def bytes_to_unicode(): And avoids mapping to whitespace/control characters the bpe code barfs on. """ bs = ( - list(range(ord("!"), ord("~") + 1)) - + list(range(ord("¡"), ord("¬") + 1)) - + list(range(ord("®"), ord("ÿ") + 1)) + list(range(ord("!"), ord("~") + 1)) + + list(range(ord("¡"), ord("¬") + 1)) + + list(range(ord("®"), ord("ÿ") + 1)) ) cs = bs[:] n = 0 @@ -100,12 +152,12 @@ def bytes_to_unicode(): # Selectable visual encoders that are compatible with this script encoder_group = ap.add_mutually_exclusive_group() encoder_group.add_argument("--clip-model-is-openclip", action="store_true", required=False, - help="The clip model is from openclip (for ViT-SO400M type))") + help="The clip model is from openclip (for ViT-SO400M type))") encoder_group.add_argument("--clip-model-is-siglip", action="store_true", required=False, - help="the visual encoder is Siglip.") + help="the visual encoder is Siglip.") ap.add_argument("--llava-projector", help="Path to llava.projector file. If specified, save an image encoder for LLaVA models.") -ap.add_argument("--projector-type", help="Type of projector. Possible values: mlp, ldp, ldpv2", choices=["mlp", "ldp", "ldpv2"], default="mlp") +ap.add_argument("--projector-type", help="Type of projector. Possible values: mlp, ldp, ldpv2, phi3_v", choices=["mlp", "ldp", "ldpv2", "phi3_v"], default="mlp") ap.add_argument("-o", "--output-dir", help="Directory to save GGUF files. Default is the original model directory", default=None) # Example --image_mean 0.48145466 0.4578275 0.40821073 --image_std 0.26862954 0.26130258 0.27577711 # Example --image_mean 0.5 0.5 0.5 --image_std 0.5 0.5 0.5 @@ -129,10 +181,10 @@ def bytes_to_unicode(): dir_model = args.model_dir if ( - args.clip_model_is_vision or - not os.path.exists(dir_model + "/vocab.json") or - args.clip_model_is_openclip or - args.clip_model_is_siglip + args.clip_model_is_vision or + not os.path.exists(dir_model + "/vocab.json") or + args.clip_model_is_openclip or + args.clip_model_is_siglip ): vocab = None tokens = None @@ -147,23 +199,42 @@ def bytes_to_unicode(): v_hparams = config t_hparams = None else: - v_hparams = config["vision_config"] - t_hparams = config["text_config"] - -# possible data types -# ftype == 0 -> float32 -# ftype == 1 -> float16 -# -# map from ftype to string -ftype_str = ["f32", "f16"] + # Handle Phi-3-Vision structure where config is flat but contains vision/text parts + if "vision_config" in config: + v_hparams = config["vision_config"] + t_hparams = config["text_config"] + elif "img_processor" in config: # Phi-3-Vision specific + v_hparams = config["img_processor"] + # Augment with embd_layer info + if "embd_layer" in config: + v_hparams.update(config["embd_layer"]) + # Add generic clip params if missing (standard SigLIP 336) + if "image_size" not in v_hparams: v_hparams["image_size"] = 336 + if "patch_size" not in v_hparams: v_hparams["patch_size"] = 14 + if "hidden_size" not in v_hparams: v_hparams["hidden_size"] = 1024 + if "intermediate_size" not in v_hparams: v_hparams["intermediate_size"] = 4096 + if "num_attention_heads" not in v_hparams: v_hparams["num_attention_heads"] = 16 + if "num_hidden_layers" not in v_hparams: v_hparams["num_hidden_layers"] = 24 + if "layer_norm_eps" not in v_hparams: v_hparams["layer_norm_eps"] = 1e-6 + t_hparams = None # We are only converting the encoder here + else: + v_hparams = config # Fallback + t_hparams = config +ftype_str = ["f32", "f16"] ftype = 1 if args.use_f32: ftype = 0 +# Model Loading Logic if args.clip_model_is_siglip: model = SiglipVisionModel.from_pretrained(dir_model) processor = None +elif args.projector_type == "phi3_v": + # Phi-3-Vision cannot be loaded with standard CLIP classes due to architecture mismatch + print("Loading Phi-3-Vision model using AutoModel...") + model = AutoModelForCausalLM.from_pretrained(dir_model, trust_remote_code=True) + processor = None elif args.clip_model_is_vision or args.clip_model_is_openclip: model = CLIPVisionModel.from_pretrained(dir_model) processor = None @@ -175,10 +246,12 @@ def bytes_to_unicode(): has_text_encoder = True has_vision_encoder = True has_llava_projector = False + +# Logic for filename and encoder flags if args.text_only: fname_middle = "text-" has_vision_encoder = False -elif args.llava_projector is not None: +elif args.llava_projector is not None or args.projector_type == "phi3_v": fname_middle = "mmproj-" has_text_encoder = False has_llava_projector = True @@ -200,26 +273,23 @@ def bytes_to_unicode(): fout.add_file_type(ftype) model_name = config["_name_or_path"] if "_name_or_path" in config else os.path.basename(dir_model) fout.add_name(model_name) + if args.text_only: fout.add_description("text-only CLIP model") elif args.vision_only and not has_llava_projector: fout.add_description("vision-only CLIP model") elif has_llava_projector: - fout.add_description("image encoder for LLaVA") - # add projector type + fout.add_description("image encoder for LLaVA / Phi-3") fout.add_string("clip.projector_type", args.projector_type) else: fout.add_description("two-tower CLIP model") if has_text_encoder: + # ... (Text encoder logic remains same) ... assert t_hparams is not None assert tokens is not None - if args.clip_model_is_siglip: - text_projection_dim = 0 - else: - text_projection_dim = t_hparams.get("projection_dim", config["projection_dim"]) - # text_model hparams - fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams["max_position_embeddings"]) + text_projection_dim = t_hparams.get("projection_dim", config.get("projection_dim", 0)) + fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams.get("max_position_embeddings", 2048)) fout.add_uint32(k(KEY_EMBEDDING_LENGTH, TEXT), t_hparams["hidden_size"]) fout.add_uint32(k(KEY_FEED_FORWARD_LENGTH, TEXT), t_hparams["intermediate_size"]) fout.add_uint32("clip.text.projection_dim", text_projection_dim) @@ -265,7 +335,7 @@ def get_non_negative_vision_feature_layers(v_hparams): if args.clip_model_is_siglip: visual_projection_dim = 0 else: - visual_projection_dim = v_hparams.get("projection_dim", config["projection_dim"]) + visual_projection_dim = v_hparams.get("projection_dim", config.get("projection_dim", 0)) # set vision_model hparams fout.add_uint32("clip.vision.image_size", v_hparams["image_size"]) @@ -275,138 +345,91 @@ def get_non_negative_vision_feature_layers(v_hparams): fout.add_uint32("clip.vision.projection_dim", visual_projection_dim) fout.add_uint32(k(KEY_ATTENTION_HEAD_COUNT, VISION), v_hparams["num_attention_heads"]) fout.add_float32(k(KEY_ATTENTION_LAYERNORM_EPS, VISION), v_hparams["layer_norm_eps"]) + if feature_layers: block_count = max(feature_layers) else: block_count = v_hparams["num_hidden_layers"] - 1 if has_llava_projector else v_hparams["num_hidden_layers"] fout.add_uint32(k(KEY_BLOCK_COUNT, VISION), block_count) - # /** - # "image_grid_pinpoints": [ - # [ - # 336, - # 672 - # ], - # [ - # 672, - # 336 - # ], - # [ - # 672, - # 672 - # ], - # [ - # 1008, - # 336 - # ], - # [ - # 336, - # 1008 - # ] - # ], - # Flattened: - # [ - # 336, 672, - # 672, 336, - # 672, 672, - # 1008, 336, - # 336, 1008 - # ] - # * - # */ - if "image_grid_pinpoints" in v_hparams: - # flatten it - image_grid_pinpoints = [] - for pinpoint in v_hparams["image_grid_pinpoints"]: - for p in pinpoint: - image_grid_pinpoints.append(p) - fout.add_array("clip.vision.image_grid_pinpoints", image_grid_pinpoints) - if "image_crop_resolution" in v_hparams: - fout.add_uint32("clip.vision.image_crop_resolution", v_hparams["image_crop_resolution"]) - if "image_aspect_ratio" in v_hparams: - fout.add_string("clip.vision.image_aspect_ratio", v_hparams["image_aspect_ratio"]) - if "image_split_resolution" in v_hparams: - fout.add_uint32("clip.vision.image_split_resolution", v_hparams["image_split_resolution"]) - if "mm_patch_merge_type" in v_hparams: - fout.add_string("clip.vision.mm_patch_merge_type", v_hparams["mm_patch_merge_type"]) - if "mm_projector_type" in v_hparams: - fout.add_string("clip.vision.mm_projector_type", v_hparams["mm_projector_type"]) - if feature_layers: - fout.add_array("clip.vision.feature_layer", feature_layers) + # Phi-3 Specific Keys + if args.projector_type == "phi3_v": + fout.add_uint32("clip.vision.num_img_tokens", int(v_hparams.get("num_img_tokens", 144))) + fout.add_bool("clip.vision.use_hd_transform", bool(v_hparams.get("use_hd_transform", False))) + fout.add_bool("clip.vision.with_learnable_separator", bool(v_hparams.get("with_learnable_separator", False))) + fout.add_string("clip.vision.hd_transform_order", str(v_hparams.get("hd_transform_order", "sub_glb"))) + fout.add_uint32("clip.vision.image_dim_out", int(v_hparams.get("image_dim_out", 1024))) + + # Image mean/std logic if processor is not None: - image_mean = processor.image_processor.image_mean if args.image_mean is None or args.image_mean == default_image_mean else args.image_mean # pyright: ignore[reportAttributeAccessIssue] - image_std = processor.image_processor.image_std if args.image_std is None or args.image_std == default_image_std else args.image_std # pyright: ignore[reportAttributeAccessIssue] + image_mean = processor.image_processor.image_mean if args.image_mean is None or args.image_mean == default_image_mean else args.image_mean + image_std = processor.image_processor.image_std if args.image_std is None or args.image_std == default_image_std else args.image_std else: image_mean = args.image_mean if args.image_mean is not None else default_image_mean image_std = args.image_std if args.image_std is not None else default_image_std fout.add_array("clip.vision.image_mean", image_mean) fout.add_array("clip.vision.image_std", image_std) -use_gelu = v_hparams["hidden_act"] == "gelu" +use_gelu = v_hparams.get("hidden_act", "gelu") == "gelu" fout.add_bool("clip.use_gelu", use_gelu) if has_llava_projector: - # By default, we drop the last layer for llava projector - # models unless we have explicitly set vision feature layers - if feature_layers is None: - model.vision_model.encoder.layers.pop(-1) - else: - model.vision_model.encoder.layers = model.vision_model.encoder.layers[:max(feature_layers)] - - projector = torch.load(args.llava_projector) - for name, data in projector.items(): - name = get_tensor_name(name) - # pw and dw conv ndim==4 - if data.ndim == 2 or data.ndim == 4: - data = data.squeeze().numpy().astype(np.float16) - else: - data = data.squeeze().numpy().astype(np.float32) - - fout.add_tensor(name, data) - - print("Projector tensors added\n") - + # Handle separate projector file if provided (legacy LLaVA) + if args.llava_projector: + projector = torch.load(args.llava_projector) + for name, data in projector.items(): + name = get_tensor_name(name) + if data.ndim == 2 or data.ndim == 4: + data = data.squeeze().numpy().astype(np.float16) + else: + data = data.squeeze().numpy().astype(np.float32) + fout.add_tensor(name, data) + print("Projector tensors added\n") + +print("Processing model tensors...") state_dict = model.state_dict() for name, data in state_dict.items(): - if should_skip_tensor(name, has_text_encoder, has_vision_encoder, has_llava_projector): - # we don't need this - print(f"skipping parameter: {name}") + if should_skip_tensor(name, has_text_encoder, has_vision_encoder, has_llava_projector, args.projector_type): + # print(f"skipping parameter: {name}") continue name = get_tensor_name(name) data = data.squeeze().numpy() - n_dims = len(data.shape) + # --- FORCE F32 LOGIC START --- + # We ignore args.use_f32 or dims checking. We just force everything to F32. + # This ensures maximum compatibility for the 'add' operations in C++. - # ftype == 0 -> float32, ftype == 1 -> float16 + if data.dtype != np.float32: + print(f"Converting {name} to float32...") + data = data.astype(np.float32) + + + n_dims = len(data.shape) ftype_cur = 0 - if n_dims == 4: - print(f"tensor {name} is always saved in f16") - data = data.astype(np.float16) - ftype_cur = 1 - elif ftype == 1: - if name[-7:] == ".weight" and n_dims == 2: - print(" Converting to float16") - data = data.astype(np.float16) - ftype_cur = 1 - else: - print(" Converting to float32") - data = data.astype(np.float32) - ftype_cur = 0 - else: - if data.dtype != np.float32: - print(" Converting to float32") - data = data.astype(np.float32) - ftype_cur = 0 + # if n_dims == 4: + # # print(f"tensor {name} is always saved in f16") + # data = data.astype(np.float16) + # ftype_cur = 1 + # elif ftype == 1: + # if name.endswith(".weight") and n_dims == 2: + # data = data.astype(np.float16) + # ftype_cur = 1 + # else: + # data = data.astype(np.float32) + # ftype_cur = 0 + # else: + # if data.dtype != np.float32: + # data = data.astype(np.float32) + # ftype_cur = 0 print(f"{name} - {ftype_str[ftype_cur]} - shape = {data.shape}") fout.add_tensor(name, data) - fout.write_header_to_file() fout.write_kv_data_to_file() fout.write_tensors_to_file() fout.close() -print("Done. Output file: " + fname_out) +print("Done. Output file: " + fname_out) \ No newline at end of file diff --git a/tools/mtmd/mtmd.cpp b/tools/mtmd/mtmd.cpp index 4343f3b6fc3..2164c2d2525 100644 --- a/tools/mtmd/mtmd.cpp +++ b/tools/mtmd/mtmd.cpp @@ -85,6 +85,7 @@ enum mtmd_slice_tmpl { MTMD_SLICE_TMPL_MINICPMV_2_6, MTMD_SLICE_TMPL_LLAMA4, MTMD_SLICE_TMPL_IDEFICS3, + MTMD_SLICE_TMPL_PHI3_V, }; const char * mtmd_default_marker() { @@ -306,6 +307,25 @@ struct mtmd_context { img_beg = "<|im_start|>"; img_end = "<|im_end|>"; + } else if (proj == PROJECTOR_TYPE_PHI3_V) { + // [NEW] Phi-3-Vision Configuration + // Ref: https://huggingface.co/microsoft/Phi-3-vision-128k-instruct + + // Phi-3 uses numbered image tokens in the text (e.g., <|image_1|>). + // The vision encoder output is inserted *at* that position. + // We set empty start/end strings because the special tokens are usually + // part of the user prompt or handled by the specific tokenizer logic. + + img_beg = ""; + img_end = ""; + + // We flag the slice template just in case we need specific logic later, + // though currently the clip.cpp graph handles the HD transform stitching internally. + slice_tmpl = MTMD_SLICE_TMPL_PHI3_V; + + // Ensure we don't accidentally trigger row-end logic meant for LLaVA-UHD/MiniCPM + tok_row_end_trail = false; + ov_img_first = false; } } @@ -533,9 +553,103 @@ struct mtmd_tokenizer { LOG_ERR("Unable to preprocess image\n"); return 2; } - + // [NEW] Phi-3-Vision Token Calculation Logic + // if (clip_is_phi3v(ctx->ctx_v)) { + // // const int n_col = batch_f32.grid_x; + // // const int n_row = batch_f32.grid_y; + // // auto chunks = split_batch_to_chunk(std::move(batch_f32), bitmap->id); + // // GGML_ASSERT(chunks.size() > 0); + // // // GGML_ASSERT((int)chunks.size() == n_row * n_col); + // // for (int y = 0; y < n_row; y++) { + // // for (int x = 0; x < n_col; x++) { + // // cur.entries.emplace_back(std::move(chunks[y * n_col + x])); + // // } + // // } + // + // size_t n_tokens = 0; + // // int n_crops = batch_f32.entries.size(); + // const int n_col = batch_f32.grid_x; + // const int n_row = batch_f32.grid_y; + // + // // 1. Sum tokens for all crops (Locals + Global) + // int tokens_per_crop = 0; + // // if (n_crops > 0) { + // tokens_per_crop = clip_n_output_tokens(ctx->ctx_v, batch_f32.entries[0].get()); + // n_tokens = (n_col * n_row + 1) * tokens_per_crop; + // // } + // + // // 2. Add space for the Separator (1 vector) + // // We insert 1 separator vector between local crops and the global crop. + // // This increases the sequence length by 1 position. + // // if (n_crops > 1) { + // n_tokens += 1; + // // } + // + // //global_tokens + // n_tokens = n_tokens + (n_row + 1) * 12; + // + // mtmd_image_tokens_ptr image_tokens(new mtmd_image_tokens); + // + // image_tokens->nx = n_tokens; + // image_tokens->ny = 1; + // image_tokens->batch_f32 = std::move(batch_f32); + // image_tokens->id = bitmap->id; // optional + // + // mtmd_input_chunk chunk{ + // MTMD_INPUT_CHUNK_TYPE_IMAGE, + // {}, // text tokens + // std::move(image_tokens), + // nullptr, // audio tokens + // }; + // cur.entries.emplace_back(std::move(chunk)); + // } // handle llava-uhd style preprocessing - if ( + // [NEW] Phi-3-Vision Token Calculation Logic + if (clip_is_phi3v(ctx->ctx_v)) { + + const int n_col = batch_f32.grid_x; // e.g., 2 + const int n_row = batch_f32.grid_y; // e.g., 2 + int n_sub_images = n_col * n_row; // e.g., 4 + + // 1. Calculate Local Token Count + // ------------------------------------------------ + // Height in tokens = n_row * 12 + // Width in tokens = (n_col * 12) + 1 (Newline) + // size_t local_tokens = (n_row * 12) * ((n_col * 12) + 1); + size_t local_tokens = ((n_row * n_col )+ 1) *144; + + // If there are no local crops (image too small), handle gracefully + if (n_sub_images == 0) local_tokens = 0; + + // 2. Calculate Global Token Count + // ------------------------------------------------ + // Global is always 12x12 with newlines: 12 * (12 + 1) = 156 + size_t global_tokens = (n_row + 1) * 12; + + // 3. Separator Token + // ------------------------------------------------ + size_t separator_tokens = 1; + + // Total + size_t n_tokens = local_tokens + separator_tokens + global_tokens; + + // Create the token container + mtmd_image_tokens_ptr image_tokens(new mtmd_image_tokens); + + image_tokens->nx = n_tokens; + image_tokens->ny = 1; + image_tokens->batch_f32 = std::move(batch_f32); + image_tokens->id = bitmap->id; // optional + + mtmd_input_chunk chunk{ + MTMD_INPUT_CHUNK_TYPE_IMAGE, + {}, // text tokens + std::move(image_tokens), + nullptr, // audio tokens + }; + cur.entries.emplace_back(std::move(chunk)); + } + else if ( ctx->slice_tmpl == MTMD_SLICE_TMPL_MINICPMV_2_5 || ctx->slice_tmpl == MTMD_SLICE_TMPL_MINICPMV_2_6 || ctx->slice_tmpl == MTMD_SLICE_TMPL_LLAMA4 @@ -808,7 +922,16 @@ int32_t mtmd_encode(mtmd_context * ctx, const mtmd_image_tokens * image_tokens) ctx->image_embd_v.resize(image_tokens->n_tokens() * n_mmproj_embd); bool ok = false; - if (clip_is_llava(ctx_clip) + if (clip_is_phi3v(ctx_clip)) { + // Delegate the entire stitching logic to the optimized C++ function in clip.cpp + ok = clip_image_batch_encode_phi3( + ctx_clip, + ctx->n_threads, + &image_tokens->batch_f32, + ctx->image_embd_v.data() + ); + } + else if (clip_is_llava(ctx_clip) || clip_is_minicpmv(ctx_clip) || clip_is_glm(ctx_clip)) { // TODO @ngxson : llava does not support batched encoding ; this should be fixed inside clip_image_batch_encode() @@ -1095,4 +1218,4 @@ mtmd_input_chunks * mtmd_test_create_input_chunks() { chunks->entries.emplace_back(std::move(chunk_image)); return chunks; -} +} \ No newline at end of file diff --git a/tools/phi3v/phi3_vision_defs.h b/tools/phi3v/phi3_vision_defs.h new file mode 100644 index 00000000000..553f1c075d5 --- /dev/null +++ b/tools/phi3v/phi3_vision_defs.h @@ -0,0 +1,29 @@ +#include +#include +#include +#include + +// Patch size is fixed for Phi-3-Vision's CLIP +const int PHI3V_PATCH_SIZE = 336; +const uint8_t WHITE_PADDING = 255; // Padding color must be white (255) + +// Represents an 8-bit RGB image. +struct image_u8 { + int w = 0; // width + int h = 0; // height + int n_comp = 3; // number of components (RGB) + std::vector data; +}; + +// Represents the calculated grid size (in 336x336 patches). +struct Phi3Grid { + int w = 1; // number of patches wide + int h = 1; // number of patches high +}; + +// Represents the output batch of images ready for the CLIP encoder. +struct Phi3ImageBatch { + // Note: The global image is always batch[0]. + std::vector batch; + Phi3Grid grid; +}; \ No newline at end of file diff --git a/tools/phi3v/phi3_vision_preprocess.cpp b/tools/phi3v/phi3_vision_preprocess.cpp new file mode 100644 index 00000000000..8fe349bc068 --- /dev/null +++ b/tools/phi3v/phi3_vision_preprocess.cpp @@ -0,0 +1,201 @@ +#include "phi3_vision_defs.h" + +Phi3Grid get_phi3_grid(int img_w, int img_h, int max_crops) { + + float ratio = (float)img_w / (float)img_h; + + // Normalize ratio to be >= 1 for easier math (handle tall images by transposing) + bool transposed = false; + if (ratio < 1.0) { + ratio = 1.0f / ratio; + transposed = true; + } + + int scale = 1; + + // Iterate to find the largest 'scale' (width units) that fits the budget + while (true) { + int next_scale = scale + 1; + + // Calculate required height units (must be an integer) + int h_units = (int)std::ceil(next_scale / ratio); + + // Check if the next grid size exceeds the max_crops budget + if (next_scale * h_units > max_crops) { + break; + } + scale = next_scale; + } + + // Final grid units (based on the largest scale that fit) + int grid_w_units = scale; + int grid_h_units = (int)std::ceil(scale / ratio); + + // Swap back if the image was originally tall + if (transposed) { + std::swap(grid_w_units, grid_h_units); + } + + return {grid_w_units, grid_h_units}; +} + +image_u8 resize_image(const image_u8& src, int w, int h) { + if (src.w == w && src.h == h) return src; // No change + + image_u8 dst = {w, h, src.n_comp, std::vector(w * h * src.n_comp)}; + + float scale_x = (float)src.w / w; + float scale_y = (float)src.h / h; + + for (int y = 0; y < h; ++y) { + for (int x = 0; x < w; ++x) { + + // Calculate coordinates in the source image + float src_x = (x + 0.5f) * scale_x - 0.5f; + float src_y = (y + 0.5f) * scale_y - 0.5f; + + // Get integer and fractional parts + int x_int = static_cast(std::floor(src_x)); + int y_int = static_cast(std::floor(src_y)); + float x_frac = src_x - x_int; + float y_frac = src_y - y_int; + + // Apply clamping + x_int = std::max(0, std::min(x_int, src.w - 2)); + y_int = std::max(0, std::min(y_int, src.h - 2)); + + for (int c = 0; c < src.n_comp; ++c) { + // Get the 4 neighboring pixel values (P11, P12, P21, P22) + int p11 = src.data[(y_int * src.w + x_int) * src.n_comp + c]; + int p12 = src.data[(y_int * src.w + (x_int + 1)) * src.n_comp + c]; + int p21 = src.data[((y_int + 1) * src.w + x_int) * src.n_comp + c]; + int p22 = src.data[((y_int + 1) * src.w + (x_int + 1)) * src.n_comp + c]; + + // Bilinear interpolation formula: + float val = (p11 * (1 - x_frac) + p12 * x_frac) * (1 - y_frac) + + (p21 * (1 - x_frac) + p22 * x_frac) * y_frac; + + dst.data[(y * w + x) * src.n_comp + c] = static_cast(std::round(val)); + } + } + } + return dst; +} + +// 2. Pads source image onto a larger canvas (w x h) using WHITE_PADDING. +image_u8 pad_image(const image_u8& src, int w, int h) { + + // Allocate the w*h canvas and fill it with WHITE_PADDING (255) + image_u8 canvas = {w, h, src.n_comp, std::vector(w * h * src.n_comp, WHITE_PADDING)}; + + // --- Determine aspect-ratio-preserving resize --- + // The original image must be resized to fit the canvas while preserving aspect ratio. + float src_ratio = (float)src.w / src.h; + float canvas_ratio = (float)w / h; + + int resized_w, resized_h; + + if (src_ratio > canvas_ratio) { + // Image is wider than canvas ratio, constrained by width (w) + resized_w = w; + resized_h = static_cast(w / src_ratio); + } else { + // Image is taller than canvas ratio, constrained by height (h) + resized_h = h; + resized_w = static_cast(h * src_ratio); + } + + // 1. Resize the source image + image_u8 resized_src = resize_image(src, resized_w, resized_h); + + // 2. Calculate top-left pasting coordinates (centered or top-left) + // Phi-3 typically pastes top-left for simplicity in HDTransform. + int start_x = 0; + int start_y = 0; + + // 3. Copy the resized pixels onto the white canvas + for (int y = 0; y < resized_h; ++y) { + for (int x = 0; x < resized_w; ++x) { + for (int c = 0; c < src.n_comp; ++c) { + // Pixel index in source + size_t src_idx = (y * resized_w + x) * src.n_comp + c; + // Pixel index in canvas + size_t dst_idx = ((start_y + y) * w + (start_x + x)) * src.n_comp + c; + + if (src_idx < resized_src.data.size() && dst_idx < canvas.data.size()) { + canvas.data[dst_idx] = resized_src.data[src_idx]; + } + } + } + } + + return canvas; +} + +// 3. Crops a 336x336 region from the source image. +image_u8 crop_image(const image_u8& src, int x_start, int y_start) { + + image_u8 tile = {PHI3V_PATCH_SIZE, PHI3V_PATCH_SIZE, src.n_comp, + std::vector(PHI3V_PATCH_SIZE * PHI3V_PATCH_SIZE * src.n_comp)}; + + int tile_w = PHI3V_PATCH_SIZE; + int tile_h = PHI3V_PATCH_SIZE; + int tile_c = src.n_comp; + + for (int y = 0; y < tile_h; ++y) { + for (int x = 0; x < tile_w; ++x) { + + // Calculate coordinates in the source (canvas) image + int src_x = x_start + x; + int src_y = y_start + y; + + // Calculate linear index in the source (canvas) and destination (tile) + size_t src_idx_base = (src_y * src.w + src_x) * tile_c; + size_t dst_idx_base = (y * tile_w + x) * tile_c; + + // Copy all color channels (RGB) + for (int c = 0; c < tile_c; ++c) { + tile.data[dst_idx_base + c] = src.data[src_idx_base + c]; + } + } + } + + return tile; +} + +Phi3ImageBatch hd_transform_preprocess(const image_u8& raw_image, int max_crops) { + + // 1. Calculate the Best Grid + Phi3Grid grid = get_phi3_grid(raw_image.w, raw_image.h, max_crops); + + // 2. Define the Canvas Size + int canvas_w = grid.w * PHI3V_PATCH_SIZE; + int canvas_h = grid.h * PHI3V_PATCH_SIZE; + + // 3. Initialize the Output Batch + Phi3ImageBatch output; + output.grid = grid; + + // --- 3a. Global View (Batch[0]) --- + // Standard low-res view of the entire image, always 336x336. + output.batch.push_back(resize_image(raw_image, PHI3V_PATCH_SIZE, PHI3V_PATCH_SIZE)); + + // --- 3b. Local Crops --- + + // Prepare the Canvas (Resize and Pad with white) + // The canvas is a perfect multiple of 336x336 patches. + image_u8 canvas = pad_image(raw_image, canvas_w, canvas_h); + + // Slice the Canvas into Local Crops (Row-Major Order) + for (int y = 0; y < grid.h; ++y) { + for (int x = 0; x < grid.w; ++x) { + output.batch.push_back( + crop_image(canvas, + x * PHI3V_PATCH_SIZE, + y * PHI3V_PATCH_SIZE) + ); + } + } + + return output; +} \ No newline at end of file From 51eff66ff8135a5d76746d929f9ef6ba20dcd82e Mon Sep 17 00:00:00 2001 From: khemchand-zetta Date: Tue, 2 Dec 2025 00:49:14 +0530 Subject: [PATCH 02/35] Final cleaned code to test --- convert_hf_to_gguf.py | 4 +- ggml/src/ggml-cpu/ggml-cpu.c | 78 +--- gguf-py/gguf/constants.py | 18 - src/llama-arch.cpp | 1 - src/llama-arch.h | 1 - src/llama-graph.h | 2 +- tools/mtmd/clip-impl.h | 27 +- tools/mtmd/clip.cpp | 401 ++---------------- .../convert_image_encoder_to_gguf.py | 179 +++++--- tools/mtmd/mtmd.cpp | 66 --- tools/phi3v/phi3_vision_defs.h | 29 -- tools/phi3v/phi3_vision_preprocess.cpp | 201 --------- 12 files changed, 181 insertions(+), 826 deletions(-) delete mode 100644 tools/phi3v/phi3_vision_defs.h delete mode 100644 tools/phi3v/phi3_vision_preprocess.cpp diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 6d67c3283f3..4a8084989e6 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -643,7 +643,6 @@ def print_registered_models(cls): @classmethod def from_model_architecture(cls, arch: str, model_type = ModelType.TEXT) -> type[ModelBase]: try: - print(cls._model_classes) return cls._model_classes[model_type][arch] except KeyError: raise NotImplementedError(f'Architecture {arch!r} not supported!') from None @@ -7979,7 +7978,7 @@ def set_gguf_parameters(self): self.gguf_writer.add_context_length(self.hparams.get("seq_length", n_embed)) self.gguf_writer.add_embedding_length(n_embed) self.gguf_writer.add_feed_forward_length(self.hparams.get("ffn_hidden_size", self.hparams.get("intermediate_size", 4 * n_embed))) - self.gguf_writer.add_block_count(self.hparams.get("num_layers", self.hparams.get("num_hidden_layers", 0))) + self.gguf_writer.add_block_count(self.hparams.get("num_layers", self.hparams["num_hidden_layers"])) self.gguf_writer.add_head_count(n_head) self.gguf_writer.add_head_count_kv(n_head_kv) self.gguf_writer.add_layer_norm_rms_eps(self.hparams.get("layernorm_epsilon",1e-5)) @@ -10186,7 +10185,6 @@ def get_model_architecture(hparams: dict[str, Any], model_type: ModelType) -> st # maybe we should fallback to text model's arch in that case, since not many models have both text_config = hparams.get("text_config", {}) vision_config = hparams.get("vision_config", {}) - print(hparams.get("architectures")) arch = None if (arches := hparams.get("architectures")) is not None and len(arches) > 0: arch = arches[0] diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index 033ca69ccb3..b5466dd703d 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -193,11 +193,6 @@ typedef pthread_t ggml_thread_t; #include #endif -#include - -static _Atomic uint64_t ggml_op_us[GGML_OP_COUNT]; -static _Atomic uint64_t ggml_op_calls[GGML_OP_COUNT]; - static const struct ggml_type_traits_cpu type_traits_cpu[GGML_TYPE_COUNT] = { [GGML_TYPE_F32] = { .from_float = (ggml_from_float_t) ggml_cpu_fp32_to_fp32, @@ -2869,44 +2864,6 @@ struct ggml_cplan ggml_graph_plan( return cplan; } -// static thread_ret_t ggml_graph_compute_thread(void * data) { -// struct ggml_compute_state * state = (struct ggml_compute_state *) data; -// struct ggml_threadpool * tp = state->threadpool; -// -// const struct ggml_cgraph * cgraph = tp->cgraph; -// const struct ggml_cplan * cplan = tp->cplan; -// -// set_numa_thread_affinity(state->ith); -// -// struct ggml_compute_params params = { -// /*.ith =*/ state->ith, -// /*.nth =*/ atomic_load_explicit(&tp->n_threads_cur, memory_order_relaxed), -// /*.wsize =*/ cplan->work_size, -// /*.wdata =*/ cplan->work_data, -// /*.threadpool=*/ tp, -// }; -// -// for (int node_n = 0; node_n < cgraph->n_nodes && atomic_load_explicit(&tp->abort, memory_order_relaxed) != node_n; node_n++) { -// struct ggml_tensor * node = cgraph->nodes[node_n]; -// -// ggml_compute_forward(¶ms, node); -// -// if (state->ith == 0 && cplan->abort_callback && -// cplan->abort_callback(cplan->abort_callback_data)) { -// atomic_store_explicit(&tp->abort, node_n + 1, memory_order_relaxed); -// tp->ec = GGML_STATUS_ABORTED; -// } -// -// if (node_n + 1 < cgraph->n_nodes) { -// ggml_barrier(state->threadpool); -// } -// } -// -// ggml_barrier(state->threadpool); -// -// return 0; -// } - static thread_ret_t ggml_graph_compute_thread(void * data) { struct ggml_compute_state * state = (struct ggml_compute_state *) data; struct ggml_threadpool * tp = state->threadpool; @@ -2927,18 +2884,13 @@ static thread_ret_t ggml_graph_compute_thread(void * data) { for (int node_n = 0; node_n < cgraph->n_nodes && atomic_load_explicit(&tp->abort, memory_order_relaxed) != node_n; node_n++) { struct ggml_tensor * node = cgraph->nodes[node_n]; - uint64_t t0 = ggml_time_us(); ggml_compute_forward(¶ms, node); - uint64_t dt = ggml_time_us() - t0; - - atomic_fetch_add_explicit(&ggml_op_us[node->op], dt, memory_order_relaxed); - atomic_fetch_add_explicit(&ggml_op_calls[node->op], 1, memory_order_relaxed); if (state->ith == 0 && cplan->abort_callback && cplan->abort_callback(cplan->abort_callback_data)) { atomic_store_explicit(&tp->abort, node_n + 1, memory_order_relaxed); tp->ec = GGML_STATUS_ABORTED; - } + } if (node_n + 1 < cgraph->n_nodes) { ggml_barrier(state->threadpool); @@ -2946,6 +2898,7 @@ static thread_ret_t ggml_graph_compute_thread(void * data) { } ggml_barrier(state->threadpool); + return 0; } @@ -3248,33 +3201,6 @@ enum ggml_status ggml_graph_compute(struct ggml_cgraph * cgraph, struct ggml_cpl ggml_threadpool_free(threadpool); } - // printf("\n========= GGML OP PERF =========\n"); - // for (int i = 0; i < GGML_OP_COUNT; i++) { - // uint64_t us = atomic_load(&ggml_op_us[i]); - // uint64_t calls = atomic_load(&ggml_op_calls[i]); - // if (calls == 0) continue; - // - // printf("%-16s : %8llu us %6llu calls avg %6llu us\n", - // ggml_op_name(i), - // (unsigned long long)us, - // (unsigned long long)calls, - // (unsigned long long)(us / calls)); - // } - // printf("================================\n\n"); - - // printf("\n"); - // for (int i = 0; i < GGML_OP_COUNT; i++) { - // uint64_t us = atomic_load(&ggml_op_us[i]); - // uint64_t calls = atomic_load(&ggml_op_calls[i]); - // if (calls == 0) continue; - // - // printf("%-16s,%8llu us,%6llu,%6llu us,", - // ggml_op_name(i), - // (unsigned long long)us, - // (unsigned long long)calls, - // (unsigned long long)(us / calls)); - // } - return ret; } diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 4460b84f02d..6b4b6c5ab07 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -356,7 +356,6 @@ class MODEL_ARCH(IntEnum): QWEN3VLMOE = auto() PHI2 = auto() PHI3 = auto() - PHI3_VISION = auto() PHIMOE = auto() PLAMO = auto() PLAMO2 = auto() @@ -724,7 +723,6 @@ class MODEL_TENSOR(IntEnum): MODEL_ARCH.QWEN3VLMOE: "qwen3vlmoe", MODEL_ARCH.PHI2: "phi2", MODEL_ARCH.PHI3: "phi3", - MODEL_ARCH.PHI3_VISION: "phi3_vision", MODEL_ARCH.PHIMOE: "phimoe", MODEL_ARCH.PLAMO: "plamo", MODEL_ARCH.PLAMO2: "plamo2", @@ -1672,22 +1670,6 @@ class MODEL_TENSOR(IntEnum): MODEL_TENSOR.FFN_DOWN, MODEL_TENSOR.FFN_UP, ], - MODEL_ARCH.PHI3_VISION: [ - MODEL_TENSOR.TOKEN_EMBD, - MODEL_TENSOR.OUTPUT_NORM, - MODEL_TENSOR.OUTPUT, - MODEL_TENSOR.ROPE_FACTORS_LONG, - MODEL_TENSOR.ROPE_FACTORS_SHORT, - MODEL_TENSOR.ATTN_NORM, - MODEL_TENSOR.ATTN_QKV, - MODEL_TENSOR.ATTN_Q, - MODEL_TENSOR.ATTN_K, - MODEL_TENSOR.ATTN_V, - MODEL_TENSOR.ATTN_OUT, - MODEL_TENSOR.FFN_NORM, - MODEL_TENSOR.FFN_DOWN, - MODEL_TENSOR.FFN_UP, - ], MODEL_ARCH.PHIMOE: [ MODEL_TENSOR.TOKEN_EMBD, MODEL_TENSOR.OUTPUT_NORM, diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index 9e1eb7182cb..b7642b568df 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -36,7 +36,6 @@ static const std::map LLM_ARCH_NAMES = { { LLM_ARCH_QWEN3VLMOE, "qwen3vlmoe" }, { LLM_ARCH_PHI2, "phi2" }, { LLM_ARCH_PHI3, "phi3" }, - { LLM_ARCH_PHI3_VISION, "phi3_vision" }, { LLM_ARCH_PHIMOE, "phimoe" }, { LLM_ARCH_PLAMO, "plamo" }, { LLM_ARCH_PLAMO2, "plamo2" }, diff --git a/src/llama-arch.h b/src/llama-arch.h index a0a607747d4..a769dd1e857 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -40,7 +40,6 @@ enum llm_arch { LLM_ARCH_QWEN3VLMOE, LLM_ARCH_PHI2, LLM_ARCH_PHI3, - LLM_ARCH_PHI3_VISION, LLM_ARCH_PHIMOE, LLM_ARCH_PLAMO, LLM_ARCH_PLAMO2, diff --git a/src/llama-graph.h b/src/llama-graph.h index 90c54252fff..d0c3934f679 100644 --- a/src/llama-graph.h +++ b/src/llama-graph.h @@ -473,7 +473,7 @@ class llm_graph_result { virtual ~llm_graph_result() = default; - auto get_tokens() const -> ggml_tensor * { return t_tokens; } + ggml_tensor * get_tokens() const { return t_tokens; } ggml_tensor * get_logits() const { return t_logits; } ggml_tensor * get_embd() const { return t_embd; } ggml_tensor * get_embd_pooled() const { return t_embd_pooled; } diff --git a/tools/mtmd/clip-impl.h b/tools/mtmd/clip-impl.h index 013f1d185d2..f13e5524ea3 100644 --- a/tools/mtmd/clip-impl.h +++ b/tools/mtmd/clip-impl.h @@ -39,11 +39,10 @@ #define KEY_FEATURE_LAYER "clip.vision.feature_layer" #define KEY_PROJ_SCALE_FACTOR "clip.vision.projector.scale_factor" #define KEY_SPATIAL_MERGE_SIZE "clip.vision.spatial_merge_size" -// [NEW] Phi-3-Vision Specific Keys -#define KEY_PHI3_HD_ORDER "clip.vision.hd_transform_order" // Stores "sub_glb" -#define KEY_PHI3_NUM_IMG_TOKENS "clip.vision.num_img_tokens" // Stores 144 -#define KEY_PHI3_USE_HD "clip.vision.use_hd_transform" // Stores true -#define KEY_PHI3_WITH_SEP "clip.vision.with_learnable_separator" // Stores true +#define KEY_PHI3_HD_ORDER "clip.vision.hd_transform_order" +#define KEY_PHI3_NUM_IMG_TOKENS "clip.vision.num_img_tokens" +#define KEY_PHI3_USE_HD "clip.vision.use_hd_transform" +#define KEY_PHI3_WITH_SEP "clip.vision.with_learnable_separator" #define KEY_IS_DEEPSTACK_LAYERS "clip.vision.is_deepstack_layers" #define KEY_MM_PATCH_MERGE_TYPE "clip.vision.mm_patch_merge_type" @@ -91,21 +90,9 @@ #define TN_MVLM_PROJ_BLOCK "mm.model.mb_block.%d.block.%d.%s" #define TN_MVLM_PROJ_PEG "mm.model.peg.%d.%s" #define TN_IMAGE_NEWLINE "model.image_newline" - -// [NEW] Phi-3-Vision Specific Tensors -// Mapping for: model.vision_embed_tokens.glb_GN -#define TN_PHI3_GLB_GN "v.glb_GN" -// Mapping for: model.vision_embed_tokens.sub_GN -#define TN_PHI3_SUB_GN "v.sub_GN" - -// [NEW] Projector Mapping -// Your tensor map shows "model.vision_embed_tokens.img_projection.0.weight" -// and "model.vision_embed_tokens.img_projection.2.weight". -// This confirms it is a 2-layer MLP (Layer 0 = Linear, Layer 1 = GELU (implicit), Layer 2 = Linear). -// We can reuse TN_LLAVA_PROJ ("mm.%d.%s") or define a specific one if the conversion script names them uniquely. -// To be safe and specific: -#define TN_PHI3_PROJ_MLP "mm.phi3_mlp.%d.%s" - +#define TN_PHI3_GLB_GN "v.glb_GN" // phi3v +#define TN_PHI3_SUB_GN "v.sub_GN" // phi3v +#define TN_PHI3_PROJ_MLP "mm.phi3_mlp.%d.%s" // phi3v #define TN_MM_INP_NORM "mm.input_norm.weight" #define TN_MM_INP_NORM_B "mm.input_norm.bias" #define TN_MM_INP_PROJ "mm.input_projection.weight" // gemma3 diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 1c15f8b48f2..719f7257cb2 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -23,8 +23,9 @@ #include #include #include -#include +#include +// TODO: allow to pass callback from user code struct clip_logger_state g_logger_state = {GGML_LOG_LEVEL_CONT, clip_log_callback_default, NULL}; enum ffn_op_type { @@ -403,6 +404,7 @@ struct clip_model { // phi3v ggml_tensor * mm_glb_GN = nullptr; // global separator ggml_tensor * mm_sub_GN = nullptr; // sub-image separator + bool phi3_setup_done = false; // Pre-calculated projected vectors (3072 floats each) std::vector phi3_proj_glb_GN; @@ -634,9 +636,11 @@ struct clip_graph { ggml_tensor * pos_h = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_patches); ggml_set_name(pos_h, "pos_h"); ggml_set_input(pos_h); + ggml_tensor * pos_w = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_patches); ggml_set_name(pos_w, "pos_w"); ggml_set_input(pos_w); + auto add_pos = [&](ggml_tensor * cur, const clip_layer &) { return build_rope_2d(ctx0, cur, pos_h, pos_w, hparams.rope_theta, true); }; @@ -713,6 +717,7 @@ struct clip_graph { return gf; } + // Qwen2VL and Qwen2.5VL use M-RoPE ggml_cgraph * build_qwen2vl() { GGML_ASSERT(model.patch_bias == nullptr); @@ -1983,267 +1988,47 @@ struct clip_graph { struct ggml_tensor * t = image_features; - // --- PHASE 1: Space-to-Depth --- - // Goal: Convert {1024, 24, 24} -> {4096, 12, 12} - - // 1. Split Width (24 -> 2, 12) - // Shape becomes: {1024, 2, 12, N*H} t = ggml_reshape_4d(ctx, t, C, 2, H2, H * N); - // 2. [FIX] NO PERMUTE HERE! - // We want {1024, 2} to merge into {2048}. - // Since ne[0]=1024 and ne[1]=2, they are ALREADY contiguous in the format PyTorch expects. - // {W_sub=0, C=0..1023}, {W_sub=1, C=0..1023}... - // Just re-interpret dimensions. - - // 3. Split Height (24 -> 2, 12) - // Current logical shape: {2048, 12, 24, N} - // We split the 24 (Height) into 2 (H_sub) and 12 (H_tile). - // In ggml reshape, inner dims are faster. We want H_sub (2) to be faster than H_tile (12). - // New Shape: {2048, 12, 2, 12 * N} t = ggml_reshape_4d(ctx, t, C * 2, H2, 2, H2 * N); - // 4. [FIX] Permute H_sub (Index 2) to join Channels (Index 0) - // We have: {2048, 12, 2, ...} - // We want: {2048, 2, 12, ...} <-- This allows 2048 and 2 to merge into 4096 - // Permute: Keep 0, Swap 1 and 2. - // Order: 0, 2, 1, 3 t = ggml_permute(ctx, t, 0, 2, 1, 3); - t = ggml_cont(ctx, t); // Merges {2048, 2} -> {4096} - - // Result Phase 1: {4096, 12, 12, N} - - // --- PHASE 2: Grid Stitching --- + t = ggml_cont(ctx, t); - // Optimization for Global Crop (1x1) if (h_crop == 1 && w_crop == 1) { return t; } - const int C_NEW = C * 4; // 4096 + const int C_NEW = C * 4; - // 1. View as Grid: {RowBlock(4096*12), TileHeight(12), GridW, GridH} t = ggml_reshape_4d(ctx, t, C_NEW * H2, H2, w_crop, h_crop); - // 2. Swap TileHeight and GridW to stitch rows t = ggml_permute(ctx, t, 0, 2, 1, 3); t = ggml_cont(ctx, t); - // 3. Flatten to 2D Image Plane t = ggml_reshape_4d(ctx, t, - C_NEW, // 4096 - H2 * w_crop, // Full Width - H2 * h_crop, // Full Height - 1 // Batch (merged) + C_NEW, + H2 * w_crop, + H2 * h_crop, + 1 ); return t; } - // ggml_cgraph * build_phi3v() { - // - // // 1. Prepare Input & Run ViT - // // --------------------------------------------------------------------- - // ggml_tensor * inp = build_inp(); // [n_embd, Total_Patches] - // - // // Calculate grid from image dimensions (assuming 336px crops) - // // const int patches_per_crop_side = 24; - // // const int patches_per_crop = patches_per_crop_side * patches_per_crop_side; // 576 - // - // // Phi-3 Logic: num_crops = (H/336 * W/336) + 1 (Global) - // // int grid_h = (int)img.ny / 336; - // // int grid_w = (int)img.nx / 336; - // // const int num_crops = (grid_h * grid_w); - // // const int num_crops = inp->ne[2]; - // - // // Reshape and add standard ViT embeddings - // // inp = ggml_reshape_3d(ctx0, inp, n_embd, patches_per_crop, num_crops); - // - // // ggml_tensor * pos_emb = model.position_embeddings; - // // ggml_tensor * cls = model.class_embedding; - // // - // // // Add CLS token - // // cls = ggml_reshape_3d(ctx0, cls, n_embd, 1, 1); - // // cls = ggml_repeat(ctx0, cls, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd, 1, num_crops)); - // // - // // inp = ggml_concat(ctx0, cls, inp, 1); // [n_embd, 577, num_crops] - // // - // // inp = ggml_add(ctx0, inp, pos_emb); - // - // // Flatten for ViT processing - // // inp = ggml_reshape_2d(ctx0, inp, n_embd, (patches_per_crop + 1) * num_crops); - // - // // Handle Position Embedding Slicing (Skip CLS if present) - // ggml_tensor * pos_embd = model.position_embeddings; - // if (pos_embd->ne[1] == n_patches + 1) { - // size_t offset = hparams.n_embd * ggml_element_size(pos_embd); - // pos_embd = ggml_view_2d(ctx0, pos_embd, hparams.n_embd, n_patches, pos_embd->nb[1], offset); - // } - // - // // Run ViT - // // ggml_tensor * cur = build_vit(inp, (patches_per_crop + 1) * num_crops, NORM_TYPE_NORMAL, hparams.ffn_op, nullptr, nullptr); - // - // ggml_tensor * cur = build_vit(inp, n_patches, NORM_TYPE_NORMAL, hparams.ffn_op, pos_embd, nullptr); - // - // // cur = ggml_view_4d(ctx0, cur, n_embd, 24, 24, 1, cur->nb[1], cur->nb[2], cur->nb[3], 0); - // // - // // cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); - // - // // 1. Prepare for HD Merge - // // Reshape flattened ViT output to 2D spatial: {1024, 24, 24, N} - // cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, cur->ne[2]); - // cur = ggml_cont(ctx0, cur); - // - // // 2. Perform HD Merge (Space-to-Depth) - // // We use 1,1 because we process ONE crop at a time in the graph. - // // We handle the grid stitching on the CPU later. - // // Input: {1024, 24, 24} -> Output: {4096, 12, 12} - // cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); - // - // // 3. Flatten for MLP - // // {4096, 12, 12} -> {4096, 144} - // cur = ggml_reshape_2d(ctx0, cur, 4096, 12 * 12 * cur->ne[3]); - // - // // --------------------------------------------------------------------- - // // 2. Post-Processing & Separation - // // --------------------------------------------------------------------- - // - // // // Reshape back to [n_embd, 577, num_crops] - // // cur = ggml_reshape_3d(ctx0, cur, n_embd, patches_per_crop + 1, num_crops); - // // - // // // STRIP CLS TOKEN: Phi-3 uses spatial tokens (Indices 1..577) - // // // Offset by 1 token (nb[1]) to skip CLS - // // cur = ggml_view_3d(ctx0, cur, n_embd, patches_per_crop, num_crops, cur->nb[1], cur->nb[2], cur->nb[1]); - // // - // // // Reshape for HD Merge Helper: [n_embd, 24, 24, num_crops] - // // cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, num_crops); - // // cur = ggml_cont(ctx0, cur); - // - // // SEPARATION: - // // Python: global = img[:, 0], sub = img[:, 1:] - // // NOTE: This differs from LLaVA (where global is last). - // - // // int num_sub_images = num_crops - 1; - // - // // Global is Index 0 - // // ggml_tensor * global_feat = ggml_view_4d(ctx0, cur, n_embd, 24, 24, 1, cur->nb[1], cur->nb[2], cur->nb[3], 0); - // - // // Sub-images are Indices 1..End - // // ggml_tensor * sub_feats = NULL; - // // if (num_sub_images > 0) { - // // sub_feats = ggml_view_4d(ctx0, cur, n_embd, 24, 24, num_sub_images, cur->nb[1], cur->nb[2], cur->nb[3], cur->nb[3]); - // // } - // - // // --------------------------------------------------------------------- - // // 3. Process Sub-Images (High Res Crops) - // // --------------------------------------------------------------------- - // // ggml_tensor * sub_final = NULL; - // - // // if (sub_feats) { - // // // A. HD Merge (Space-to-Depth + Stitch) - // // // ------------------------------------------------- - // // sub_feats = ggml_phi3v_hd_merge(ctx0, sub_feats, grid_h, grid_w); - // // // Result: {4096, 12*grid_w, 12*grid_h, 1} - // // - // // // B. Add Newline (Separator) - // // // ------------------------------------------------- - // // // We essentially append a column of 'sub_gn' to the right of the image - // // int W = 12 * grid_w; - // // int H = 12 * grid_h; - // // - // // // Prepare Sub_GN for broadcasting - // // ggml_tensor * sub_gn = model.mm_sub_GN; // {4096} - // // sub_gn = ggml_reshape_3d(ctx0, sub_gn, n_embd*4, 1, 1); - // // sub_gn = ggml_repeat(ctx0, sub_gn, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd*4, 1, H)); - // // - // // // Flatten sub_feats to expose width: {4096, W, H} - // // sub_feats = ggml_reshape_3d(ctx0, sub_feats, n_embd*4, W, H); - // // - // // // Concatenate Newline along Width - // // sub_final = ggml_concat(ctx0, sub_feats, sub_gn, 1); // {4096, W+1, H} - // // - // // // Flatten to 2D sequence - // // sub_final = ggml_reshape_2d(ctx0, sub_final, n_embd*4, (W + 1) * H); - // // } - // - // // --------------------------------------------------------------------- - // // 4. Process Global Image - // // --------------------------------------------------------------------- - // - // // A. HD Merge (1x1) - // // ------------------------------------------------- - // // global_feat = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); - // // Result: {4096, 12, 12, 1} - // - // // B. Add Newline (Separator) - // // ------------------------------------------------- - // // Note: Python code uses 'sub_GN' for the global newline as well - // // ggml_tensor * global_newline = model.mm_sub_GN; - // // global_newline = ggml_reshape_3d(ctx0, global_newline, n_embd*4, 1, 1); - // // global_newline = ggml_repeat(ctx0, global_newline, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd*4, 1, 12)); - // // - // // global_feat = ggml_reshape_3d(ctx0, global_feat, n_embd*4, 12, 12); - // - // // Concatenate - // // ggml_tensor * global_final = ggml_concat(ctx0, global_feat, global_newline, 1); // {4096, 13, 12} - // - // // Flatten - // // global_final = ggml_reshape_2d(ctx0, global_final, n_embd*4, 13 * 12); - // - // // --------------------------------------------------------------------- - // // 5. Final Concatenation - // // Order: [Sub-Images] + [GLB_GN] + [Global Image] - // // --------------------------------------------------------------------- - // - // // ggml_tensor * final_emb = sub_final; - // - // // Prepare Global Separator (glb_GN) - // // ggml_tensor * glb_gn = model.mm_glb_GN; // {4096} - // // glb_gn = ggml_reshape_2d(ctx0, glb_gn, n_embd*4, 1); - // - // // if (final_emb) { - // // // [Sub] + [Glb_GN] - // // final_emb = ggml_concat(ctx0, final_emb, glb_gn, 1); - // // // + [Global] - // // final_emb = ggml_concat(ctx0, final_emb, global_final, 1); - // // } else { - // // // Only global exists (e.g. 336x336 image) - // // final_emb = global_final; - // // } - // - // // --------------------------------------------------------------------- - // // 6. MLP Projection - // // --------------------------------------------------------------------- - // - // ggml_tensor * final_emb = ggml_mul_mat(ctx0, model.mm_0_w, cur); - // final_emb = ggml_add(ctx0, final_emb, model.mm_0_b); - // final_emb = ggml_gelu(ctx0, final_emb); - // final_emb = ggml_mul_mat(ctx0, model.mm_2_w, final_emb); - // final_emb = ggml_add(ctx0, final_emb, model.mm_2_b); - // - // ggml_build_forward_expand(gf, final_emb); - // return gf; - // } - ggml_cgraph * build_phi3v() { // 1. Prepare Input (Patches) // --------------------------------------------------------------------- ggml_tensor * inp = build_inp(); // [n_embd, 576, num_crops] // Calculate grid (e.g. 2x2 grid -> 4 crops + 1 global = 5 crops) - // Ensure this logic matches your clip_n_output_tokens logic int n_patches_per_crop = 24 * 24; // 576 int num_crops = inp->ne[2]; // Passed from the batch encoder // Reshape to [n_embd, 576, num_crops] inp = ggml_reshape_3d(ctx0, inp, n_embd, n_patches_per_crop, num_crops); - // --------------------------------------------------------------------- - // FIX 3 START: Prepend CLS and Add Full Position Embeddings - // --------------------------------------------------------------------- - // 1. Prepend CLS Token - // We MUST allow the ViT to process the CLS token for valid attention ggml_tensor * cls = model.class_embedding; cls = ggml_reshape_3d(ctx0, cls, n_embd, 1, 1); cls = ggml_repeat(ctx0, cls, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd, 1, num_crops)); @@ -2265,10 +2050,6 @@ struct clip_graph { ggml_tensor * cur = build_vit(inp, (n_patches_per_crop + 1) * num_crops, NORM_TYPE_NORMAL, hparams.ffn_op, nullptr, nullptr); - // --------------------------------------------------------------------- - // FIX 3 END: Strip the CLS Token - // --------------------------------------------------------------------- - // Reshape back to separate the crops: [n_embd, 577, num_crops] cur = ggml_reshape_3d(ctx0, cur, n_embd, n_patches_per_crop + 1, num_crops); @@ -2283,7 +2064,7 @@ struct clip_graph { cur->nb[1], cur->nb[2], cur->nb[1]); // <--- Offset starts at token 1 - // Important: Make it contiguous memory for the HD Merge step + // Make it contiguous memory for the HD Merge step // [n_embd, 24, 24, num_crops] cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, num_crops); cur = ggml_cont(ctx0, cur); @@ -3863,6 +3644,7 @@ struct clip_model_loader { }; struct clip_init_result clip_init(const char * fname, struct clip_context_params ctx_params) { + g_logger_state.verbosity_thold = ctx_params.verbosity; clip_ctx * ctx_vision = nullptr; clip_ctx * ctx_audio = nullptr; @@ -4558,11 +4340,11 @@ struct llava_uhd { struct slice_instructions { clip_image_size overview_size; clip_image_size grid_size; - std::vector crops; // sizes of crops? No, we force 336. - // We just need the grid logic to slice. + std::vector crops; }; static int padding_336(int x) { + // Round up to nearest multiple of 336 return (int)(std::ceil((float)x / 336.0f) * 336); } @@ -4573,14 +4355,18 @@ struct llava_uhd { transposed = true; } float ratio = (float)width / (float)height; + + // 1. Find the best scale (number of 336-width blocks) int scale = 1; while (scale * std::ceil(scale / ratio) <= hd_num) { scale++; } scale--; + if (scale < 1) scale = 1; // Safety + // 2. Calculate dimensions int new_w = scale * 336; - int new_h = (int)(new_w / ratio); + int new_h = (int)((float)new_w / ratio); clip_image_size res; res.width = padding_336(new_w); @@ -4596,15 +4382,18 @@ struct llava_uhd { // 1. HD Transform (Resize + Pad) clip_image_size hd_size = calc_hd_transform_size(img->nx, img->ny, num_crops); clip_image_u8 hd_img; - img_tool::resize(*img, hd_img, hd_size, img_tool::RESIZE_ALGO_BILINEAR, true, {255, 255, 255}); + img_tool::resize(*img, hd_img, hd_size, img_tool::RESIZE_ALGO_BICUBIC, true, {255, 255, 255}); out_grid_x = hd_size.width / 336; out_grid_y = hd_size.height / 336; // 2. Slice into 336x336 patches + // Iterate Y then X (Row-Major) for (int y = 0; y < hd_size.height; y += 336) { for (int x = 0; x < hd_size.width; x += 336) { clip_image_u8_ptr slice(clip_image_u8_init()); + + // Logic: Copy 336x336 area at (x,y) img_tool::crop(hd_img, *slice, x, y, 336, 336); output.push_back(std::move(slice)); } @@ -4612,6 +4401,7 @@ struct llava_uhd { // 3. Global Image (Resize to 336x336) clip_image_u8_ptr global(clip_image_u8_init()); + // Global uses Bicubic (You already had this correct) img_tool::resize(*img, *global, {336, 336}, img_tool::RESIZE_ALGO_BICUBIC, true, {255, 255, 255}); output.push_back(std::move(global)); @@ -4835,22 +4625,17 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, str } break; case PROJECTOR_TYPE_PHI3_V: { - int max_crops = 4; // Default for Phi-3.5-vision + int max_crops = 16; // Default for Phi-3.5-vision // TODO: Load from hparams if possible (num_crops) int gx, gy; auto imgs = phi3v_hd::transform(img, max_crops, gx, gy); - // Store grid info in the context/hparams for inference (hacky but needed for static graph) - // We use image_crop_resolution to store packed grid dims: (grid_h << 16) | grid_w ctx->model.hparams.image_crop_resolution = (gy << 16) | gx; for (auto & crop : imgs) { clip_image_f32_ptr res(clip_image_f32_init()); normalize_image_u8_to_f32(*crop, *res, ctx->model.hparams.image_mean, ctx->model.hparams.image_std); res_imgs->entries.push_back(std::move(res)); } - // // Update global dims for batch processing concatenation - // // We simulate a "stitched" image for n_patches calculation - // res_imgs->entries[0]->nx = 336; - // res_imgs->entries[0]->ny = 336 * imgs.size(); + res_imgs->grid_x = gx; res_imgs->grid_y = gy; } break; @@ -5036,34 +4821,6 @@ int clip_n_output_tokens(const struct clip_ctx * ctx, struct clip_image_f32 * im } break; case PROJECTOR_TYPE_PHI3_V: { - // // Phi-3 Standard Crop Resolution is 336 - // const int crop_res = 336; - // - // // Calculate Grid Dimensions (Local Crops) - // int w_crop = img->nx / crop_res; - // int h_crop = img->ny / crop_res; - // - // // 1. Local Tokens (High Res Grid) - // // The grid is stitched into one large plane. - // // Height = 12 * h_crop - // // Width = 12 * w_crop - // // We add 1 Newline token per row of the stitched grid. - // int local_tokens = ((h_crop * w_crop) + 1 ) * 144; - // - // // 2. Global Tokens (Fixed 1x1 crop) - // // 12x12 grid + 1 newline per row = 12 * 13 = 156 - // int global_tokens = 156; - // - // // 3. Global Separator (glb_GN) - // // Inserted between Local and Global - // int separator = 1; - // - // // Total - // n_patches = local_tokens + separator + global_tokens; - // - // // Edge Case: If image < 336px (w_crop=0), we only use Global + Separator - // // The formula (0) + 1 + 156 = 157 handles this correctly. - n_patches /= 4; } break; default: @@ -5677,12 +5434,12 @@ void clip_image_f32_batch_add_mel(struct clip_image_f32_batch * batch, int n_mel } static void clip_phi3_setup(clip_ctx * ctx) { - // if (ctx->model.phi3_setup_done) return; + if (ctx->model.phi3_setup_done) return; LOG_INF("%s: pre-computing Phi-3 special tokens...\n", __func__); // Setup tiny graph - struct ggml_init_params params = { 1024*1024*128, NULL, true }; + struct ggml_init_params params = { 1024*1024, NULL, true }; struct ggml_context * ctx0 = ggml_init(params); struct ggml_cgraph * gf = ggml_new_graph(ctx0); @@ -5699,10 +5456,10 @@ static void clip_phi3_setup(clip_ctx * ctx) { cur = ggml_gelu(ctx0, cur); // Layer 2 (3072 -> 3072) - cur = ggml_mul_mat(ctx0, ctx->model.mm_1_w, cur); + cur = ggml_mul_mat(ctx0, ctx->model.mm_2_w, cur); // Bias 2 - if (ctx->model.mm_1_b) { - ggml_tensor* b = ctx->model.mm_1_b; + if (ctx->model.mm_2_b) { + ggml_tensor* b = ctx->model.mm_2_b; cur = ggml_add(ctx0, cur, b); } return cur; @@ -5744,80 +5501,20 @@ static void clip_phi3_setup(clip_ctx * ctx) { ggml_backend_sched_reset(ctx->sched.get()); } - -// [NEW] The implementation of the optimized batch encoder -// bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const struct clip_image_f32_batch * imgs, float * vec) { -// -// const auto & entries = imgs->entries; -// int n_crops = entries.size(); -// if (n_crops < 1) return false; -// -// int dim = clip_n_mmproj_embd(ctx); // 3072 -// -// // Math after 2x2 merge: -// // 336px -> 24 patches -> merged to 12 patches -// // Grid is 12x12 -// int grid_side = 12; -// -// // Temp buffer for one crop (144 tokens) -// std::vector crop_output(grid_side * grid_side * dim); -// float* dest = vec; -// -// // Helper to copy crop + add newlines -// auto copy_crop_with_newlines = [&](float* src) { -// for (int row = 0; row < grid_side; ++row) { -// // Copy row of pixels (12 tokens) -// size_t row_sz = grid_side * dim * sizeof(float); -// memcpy(dest, src + (row * grid_side * dim), row_sz); -// dest += (grid_side * dim); -// -// // Append Newline Token (sub_GN) -// // This corresponds to the Python: `add_image_newline` -// if (!ctx->model.phi3_proj_sub_GN.empty()) { -// memcpy(dest, ctx->model.phi3_proj_sub_GN.data(), dim * sizeof(float)); -// } else { -// memset(dest, 0, dim * sizeof(float)); -// } -// dest += dim; -// } -// }; -// -// // 1. Process Local Crops -// for (int i = 0; i < n_crops - 1; ++i) { -// // Run graph -// bool ok = clip_image_encode(ctx, n_threads, entries[i].get(), crop_output.data()); -// if (!ok) return false; -// -// // Stitch into destination with newlines -// copy_crop_with_newlines(crop_output.data()); -// } -// -// // 2. Inject Global Separator (glb_GN) -// if (!ctx->model.phi3_proj_glb_GN.empty()) { -// memcpy(dest, ctx->model.phi3_proj_glb_GN.data(), dim * sizeof(float)); -// dest += dim; -// } -// -// // 3. Process Global Crop -// bool ok = clip_image_encode(ctx, n_threads, entries.back().get(), crop_output.data()); -// if (!ok) return false; -// copy_crop_with_newlines(crop_output.data()); -// -// return true; -// } - - - -// Function to encode image batches specifically for Phi-3 Vision -// This handles the "Stitching" strategy: -// 1. Encodes all local crops. -// 2. Stitches them into a single 2D spatial grid with newlines at the end of every row. -// 3. Appends a Global Separator (glb_GN). -// 4. Appends the Global Crop (downsampled whole image) with newlines. - bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const struct clip_image_f32_batch * imgs, float * vec) { if (!ctx || !imgs || !vec) return false; + // 1. SETUP: Project Separators (4096 -> 3072) + // ---------------------------------------------------------------- + // This runs the MLP on the special tokens ONCE. + clip_phi3_setup(ctx); + + // Sanity Check: If setup failed, we cannot proceed because + if (ctx->model.phi3_proj_sub_GN.empty() || ctx->model.phi3_proj_glb_GN.empty()) { + fprintf(stderr, "%s: Error - Phi-3 separators not initialized.\n", __func__); + return false; + } + const auto & entries = imgs->entries; int n_crops = entries.size(); @@ -5829,14 +5526,11 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st // 1. Identify Grid Dimensions // ---------------------------------------------------------------- - int w_crop = imgs->grid_x; // Width in crops (e.g., 2) - int h_crop = imgs->grid_y; // Height in crops (e.g., 2) - int n_sub_images = w_crop * h_crop; // Total local crops (e.g., 4) + int w_crop = imgs->grid_x; + int h_crop = imgs->grid_y; + int n_sub_images = w_crop * h_crop; - // Safety check: ensure the batch actually contains enough images for the defined grid - // The last image in 'entries' is always the Global crop, so we check n_crops - 1 if (n_sub_images > n_crops - 1) { - // Fallback or error handling if batch size doesn't match grid return false; } @@ -5947,6 +5641,5 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st dest += dim; } } - return true; } \ No newline at end of file diff --git a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py index c94a0cff3cd..2c04f66cdbb 100644 --- a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py +++ b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py @@ -18,19 +18,17 @@ def k(raw_key: str, arch: str) -> str: def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: bool, projector_type: str) -> bool: if name in ( - "logit_scale", - "text_model.embeddings.position_ids", - "vision_model.embeddings.position_ids", + "logit_scale", + "text_model.embeddings.position_ids", + "vision_model.embeddings.position_ids", ): return True - # For Phi-3-Vision, we need to keep specific vision tokens even if they look like special params if projector_type == "phi3_v": if "glb_GN" in name or "sub_GN" in name: return False if "img_projection" in name: return False - # Phi-3 uses 'model.vision_embed_tokens' prefix for everything if not name.startswith("model.vision_embed_tokens"): return True # Skip text model weights return False @@ -123,9 +121,9 @@ def bytes_to_unicode(): And avoids mapping to whitespace/control characters the bpe code barfs on. """ bs = ( - list(range(ord("!"), ord("~") + 1)) - + list(range(ord("¡"), ord("¬") + 1)) - + list(range(ord("®"), ord("ÿ") + 1)) + list(range(ord("!"), ord("~") + 1)) + + list(range(ord("¡"), ord("¬") + 1)) + + list(range(ord("®"), ord("ÿ") + 1)) ) cs = bs[:] n = 0 @@ -152,9 +150,9 @@ def bytes_to_unicode(): # Selectable visual encoders that are compatible with this script encoder_group = ap.add_mutually_exclusive_group() encoder_group.add_argument("--clip-model-is-openclip", action="store_true", required=False, - help="The clip model is from openclip (for ViT-SO400M type))") + help="The clip model is from openclip (for ViT-SO400M type))") encoder_group.add_argument("--clip-model-is-siglip", action="store_true", required=False, - help="the visual encoder is Siglip.") + help="the visual encoder is Siglip.") ap.add_argument("--llava-projector", help="Path to llava.projector file. If specified, save an image encoder for LLaVA models.") ap.add_argument("--projector-type", help="Type of projector. Possible values: mlp, ldp, ldpv2, phi3_v", choices=["mlp", "ldp", "ldpv2", "phi3_v"], default="mlp") @@ -181,10 +179,10 @@ def bytes_to_unicode(): dir_model = args.model_dir if ( - args.clip_model_is_vision or - not os.path.exists(dir_model + "/vocab.json") or - args.clip_model_is_openclip or - args.clip_model_is_siglip + args.clip_model_is_vision or + not os.path.exists(dir_model + "/vocab.json") or + args.clip_model_is_openclip or + args.clip_model_is_siglip ): vocab = None tokens = None @@ -221,7 +219,13 @@ def bytes_to_unicode(): v_hparams = config # Fallback t_hparams = config +# possible data types +# ftype == 0 -> float32 +# ftype == 1 -> float16 +# +# map from ftype to string ftype_str = ["f32", "f16"] + ftype = 1 if args.use_f32: ftype = 0 @@ -279,15 +283,21 @@ def bytes_to_unicode(): elif args.vision_only and not has_llava_projector: fout.add_description("vision-only CLIP model") elif has_llava_projector: + # add projector type fout.add_description("image encoder for LLaVA / Phi-3") fout.add_string("clip.projector_type", args.projector_type) else: fout.add_description("two-tower CLIP model") if has_text_encoder: - # ... (Text encoder logic remains same) ... assert t_hparams is not None assert tokens is not None + if args.clip_model_is_siglip: + text_projection_dim = 0 + else: + text_projection_dim = t_hparams.get("projection_dim", config["projection_dim"]) + # text_model hparams + fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams["max_position_embeddings"]) text_projection_dim = t_hparams.get("projection_dim", config.get("projection_dim", 0)) fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams.get("max_position_embeddings", 2048)) fout.add_uint32(k(KEY_EMBEDDING_LENGTH, TEXT), t_hparams["hidden_size"]) @@ -335,7 +345,7 @@ def get_non_negative_vision_feature_layers(v_hparams): if args.clip_model_is_siglip: visual_projection_dim = 0 else: - visual_projection_dim = v_hparams.get("projection_dim", config.get("projection_dim", 0)) + visual_projection_dim = v_hparams.get("projection_dim", config["projection_dim"]) # set vision_model hparams fout.add_uint32("clip.vision.image_size", v_hparams["image_size"]) @@ -345,12 +355,63 @@ def get_non_negative_vision_feature_layers(v_hparams): fout.add_uint32("clip.vision.projection_dim", visual_projection_dim) fout.add_uint32(k(KEY_ATTENTION_HEAD_COUNT, VISION), v_hparams["num_attention_heads"]) fout.add_float32(k(KEY_ATTENTION_LAYERNORM_EPS, VISION), v_hparams["layer_norm_eps"]) - if feature_layers: block_count = max(feature_layers) else: block_count = v_hparams["num_hidden_layers"] - 1 if has_llava_projector else v_hparams["num_hidden_layers"] fout.add_uint32(k(KEY_BLOCK_COUNT, VISION), block_count) + # /** + # "image_grid_pinpoints": [ + # [ + # 336, + # 672 + # ], + # [ + # 672, + # 336 + # ], + # [ + # 672, + # 672 + # ], + # [ + # 1008, + # 336 + # ], + # [ + # 336, + # 1008 + # ] + # ], + # Flattened: + # [ + # 336, 672, + # 672, 336, + # 672, 672, + # 1008, 336, + # 336, 1008 + # ] + # * + # */ + if "image_grid_pinpoints" in v_hparams: + # flatten it + image_grid_pinpoints = [] + for pinpoint in v_hparams["image_grid_pinpoints"]: + for p in pinpoint: + image_grid_pinpoints.append(p) + fout.add_array("clip.vision.image_grid_pinpoints", image_grid_pinpoints) + if "image_crop_resolution" in v_hparams: + fout.add_uint32("clip.vision.image_crop_resolution", v_hparams["image_crop_resolution"]) + if "image_aspect_ratio" in v_hparams: + fout.add_string("clip.vision.image_aspect_ratio", v_hparams["image_aspect_ratio"]) + if "image_split_resolution" in v_hparams: + fout.add_uint32("clip.vision.image_split_resolution", v_hparams["image_split_resolution"]) + if "mm_patch_merge_type" in v_hparams: + fout.add_string("clip.vision.mm_patch_merge_type", v_hparams["mm_patch_merge_type"]) + if "mm_projector_type" in v_hparams: + fout.add_string("clip.vision.mm_projector_type", v_hparams["mm_projector_type"]) + if feature_layers: + fout.add_array("clip.vision.feature_layer", feature_layers) # Phi-3 Specific Keys if args.projector_type == "phi3_v": @@ -362,71 +423,77 @@ def get_non_negative_vision_feature_layers(v_hparams): # Image mean/std logic if processor is not None: - image_mean = processor.image_processor.image_mean if args.image_mean is None or args.image_mean == default_image_mean else args.image_mean - image_std = processor.image_processor.image_std if args.image_std is None or args.image_std == default_image_std else args.image_std + image_mean = processor.image_processor.image_mean if args.image_mean is None or args.image_mean == default_image_mean else args.image_mean # pyright: ignore[reportAttributeAccessIssue] + image_std = processor.image_processor.image_std if args.image_std is None or args.image_std == default_image_std else args.image_std # pyright: ignore[reportAttributeAccessIssue] else: image_mean = args.image_mean if args.image_mean is not None else default_image_mean image_std = args.image_std if args.image_std is not None else default_image_std fout.add_array("clip.vision.image_mean", image_mean) fout.add_array("clip.vision.image_std", image_std) -use_gelu = v_hparams.get("hidden_act", "gelu") == "gelu" +use_gelu = v_hparams["hidden_act"] == "gelu" fout.add_bool("clip.use_gelu", use_gelu) if has_llava_projector: - # Handle separate projector file if provided (legacy LLaVA) - if args.llava_projector: - projector = torch.load(args.llava_projector) - for name, data in projector.items(): - name = get_tensor_name(name) - if data.ndim == 2 or data.ndim == 4: - data = data.squeeze().numpy().astype(np.float16) - else: - data = data.squeeze().numpy().astype(np.float32) - fout.add_tensor(name, data) - print("Projector tensors added\n") + # By default, we drop the last layer for llava projector + # models unless we have explicitly set vision feature layers + if feature_layers is None: + model.vision_model.encoder.layers.pop(-1) + else: + model.vision_model.encoder.layers = model.vision_model.encoder.layers[:max(feature_layers)] + + projector = torch.load(args.llava_projector) + for name, data in projector.items(): + name = get_tensor_name(name) + # pw and dw conv ndim==4 + if data.ndim == 2 or data.ndim == 4: + data = data.squeeze().numpy().astype(np.float16) + else: + data = data.squeeze().numpy().astype(np.float32) + + fout.add_tensor(name, data) + + print("Projector tensors added\n") print("Processing model tensors...") state_dict = model.state_dict() for name, data in state_dict.items(): if should_skip_tensor(name, has_text_encoder, has_vision_encoder, has_llava_projector, args.projector_type): - # print(f"skipping parameter: {name}") + # we don't need this + print(f"skipping parameter: {name}") continue name = get_tensor_name(name) data = data.squeeze().numpy() - # --- FORCE F32 LOGIC START --- - # We ignore args.use_f32 or dims checking. We just force everything to F32. - # This ensures maximum compatibility for the 'add' operations in C++. - - if data.dtype != np.float32: - print(f"Converting {name} to float32...") - data = data.astype(np.float32) - - n_dims = len(data.shape) + + # ftype == 0 -> float32, ftype == 1 -> float16 ftype_cur = 0 - # if n_dims == 4: - # # print(f"tensor {name} is always saved in f16") - # data = data.astype(np.float16) - # ftype_cur = 1 - # elif ftype == 1: - # if name.endswith(".weight") and n_dims == 2: - # data = data.astype(np.float16) - # ftype_cur = 1 - # else: - # data = data.astype(np.float32) - # ftype_cur = 0 - # else: - # if data.dtype != np.float32: - # data = data.astype(np.float32) - # ftype_cur = 0 + if n_dims == 4: + print(f"tensor {name} is always saved in f16") + data = data.astype(np.float16) + ftype_cur = 1 + elif ftype == 1: + if name[-7:] == ".weight" and n_dims == 2: + print(" Converting to float16") + data = data.astype(np.float16) + ftype_cur = 1 + else: + print(" Converting to float32") + data = data.astype(np.float32) + ftype_cur = 0 + else: + if data.dtype != np.float32: + print(" Converting to float32") + data = data.astype(np.float32) + ftype_cur = 0 print(f"{name} - {ftype_str[ftype_cur]} - shape = {data.shape}") fout.add_tensor(name, data) + fout.write_header_to_file() fout.write_kv_data_to_file() fout.write_tensors_to_file() diff --git a/tools/mtmd/mtmd.cpp b/tools/mtmd/mtmd.cpp index 2164c2d2525..1a8f73a176d 100644 --- a/tools/mtmd/mtmd.cpp +++ b/tools/mtmd/mtmd.cpp @@ -85,7 +85,6 @@ enum mtmd_slice_tmpl { MTMD_SLICE_TMPL_MINICPMV_2_6, MTMD_SLICE_TMPL_LLAMA4, MTMD_SLICE_TMPL_IDEFICS3, - MTMD_SLICE_TMPL_PHI3_V, }; const char * mtmd_default_marker() { @@ -308,22 +307,8 @@ struct mtmd_context { img_end = "<|im_end|>"; } else if (proj == PROJECTOR_TYPE_PHI3_V) { - // [NEW] Phi-3-Vision Configuration - // Ref: https://huggingface.co/microsoft/Phi-3-vision-128k-instruct - - // Phi-3 uses numbered image tokens in the text (e.g., <|image_1|>). - // The vision encoder output is inserted *at* that position. - // We set empty start/end strings because the special tokens are usually - // part of the user prompt or handled by the specific tokenizer logic. - img_beg = ""; img_end = ""; - - // We flag the slice template just in case we need specific logic later, - // though currently the clip.cpp graph handles the HD transform stitching internally. - slice_tmpl = MTMD_SLICE_TMPL_PHI3_V; - - // Ensure we don't accidentally trigger row-end logic meant for LLaVA-UHD/MiniCPM tok_row_end_trail = false; ov_img_first = false; } @@ -554,57 +539,6 @@ struct mtmd_tokenizer { return 2; } // [NEW] Phi-3-Vision Token Calculation Logic - // if (clip_is_phi3v(ctx->ctx_v)) { - // // const int n_col = batch_f32.grid_x; - // // const int n_row = batch_f32.grid_y; - // // auto chunks = split_batch_to_chunk(std::move(batch_f32), bitmap->id); - // // GGML_ASSERT(chunks.size() > 0); - // // // GGML_ASSERT((int)chunks.size() == n_row * n_col); - // // for (int y = 0; y < n_row; y++) { - // // for (int x = 0; x < n_col; x++) { - // // cur.entries.emplace_back(std::move(chunks[y * n_col + x])); - // // } - // // } - // - // size_t n_tokens = 0; - // // int n_crops = batch_f32.entries.size(); - // const int n_col = batch_f32.grid_x; - // const int n_row = batch_f32.grid_y; - // - // // 1. Sum tokens for all crops (Locals + Global) - // int tokens_per_crop = 0; - // // if (n_crops > 0) { - // tokens_per_crop = clip_n_output_tokens(ctx->ctx_v, batch_f32.entries[0].get()); - // n_tokens = (n_col * n_row + 1) * tokens_per_crop; - // // } - // - // // 2. Add space for the Separator (1 vector) - // // We insert 1 separator vector between local crops and the global crop. - // // This increases the sequence length by 1 position. - // // if (n_crops > 1) { - // n_tokens += 1; - // // } - // - // //global_tokens - // n_tokens = n_tokens + (n_row + 1) * 12; - // - // mtmd_image_tokens_ptr image_tokens(new mtmd_image_tokens); - // - // image_tokens->nx = n_tokens; - // image_tokens->ny = 1; - // image_tokens->batch_f32 = std::move(batch_f32); - // image_tokens->id = bitmap->id; // optional - // - // mtmd_input_chunk chunk{ - // MTMD_INPUT_CHUNK_TYPE_IMAGE, - // {}, // text tokens - // std::move(image_tokens), - // nullptr, // audio tokens - // }; - // cur.entries.emplace_back(std::move(chunk)); - // } - // handle llava-uhd style preprocessing - // [NEW] Phi-3-Vision Token Calculation Logic if (clip_is_phi3v(ctx->ctx_v)) { const int n_col = batch_f32.grid_x; // e.g., 2 diff --git a/tools/phi3v/phi3_vision_defs.h b/tools/phi3v/phi3_vision_defs.h deleted file mode 100644 index 553f1c075d5..00000000000 --- a/tools/phi3v/phi3_vision_defs.h +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -// Patch size is fixed for Phi-3-Vision's CLIP -const int PHI3V_PATCH_SIZE = 336; -const uint8_t WHITE_PADDING = 255; // Padding color must be white (255) - -// Represents an 8-bit RGB image. -struct image_u8 { - int w = 0; // width - int h = 0; // height - int n_comp = 3; // number of components (RGB) - std::vector data; -}; - -// Represents the calculated grid size (in 336x336 patches). -struct Phi3Grid { - int w = 1; // number of patches wide - int h = 1; // number of patches high -}; - -// Represents the output batch of images ready for the CLIP encoder. -struct Phi3ImageBatch { - // Note: The global image is always batch[0]. - std::vector batch; - Phi3Grid grid; -}; \ No newline at end of file diff --git a/tools/phi3v/phi3_vision_preprocess.cpp b/tools/phi3v/phi3_vision_preprocess.cpp deleted file mode 100644 index 8fe349bc068..00000000000 --- a/tools/phi3v/phi3_vision_preprocess.cpp +++ /dev/null @@ -1,201 +0,0 @@ -#include "phi3_vision_defs.h" - -Phi3Grid get_phi3_grid(int img_w, int img_h, int max_crops) { - - float ratio = (float)img_w / (float)img_h; - - // Normalize ratio to be >= 1 for easier math (handle tall images by transposing) - bool transposed = false; - if (ratio < 1.0) { - ratio = 1.0f / ratio; - transposed = true; - } - - int scale = 1; - - // Iterate to find the largest 'scale' (width units) that fits the budget - while (true) { - int next_scale = scale + 1; - - // Calculate required height units (must be an integer) - int h_units = (int)std::ceil(next_scale / ratio); - - // Check if the next grid size exceeds the max_crops budget - if (next_scale * h_units > max_crops) { - break; - } - scale = next_scale; - } - - // Final grid units (based on the largest scale that fit) - int grid_w_units = scale; - int grid_h_units = (int)std::ceil(scale / ratio); - - // Swap back if the image was originally tall - if (transposed) { - std::swap(grid_w_units, grid_h_units); - } - - return {grid_w_units, grid_h_units}; -} - -image_u8 resize_image(const image_u8& src, int w, int h) { - if (src.w == w && src.h == h) return src; // No change - - image_u8 dst = {w, h, src.n_comp, std::vector(w * h * src.n_comp)}; - - float scale_x = (float)src.w / w; - float scale_y = (float)src.h / h; - - for (int y = 0; y < h; ++y) { - for (int x = 0; x < w; ++x) { - - // Calculate coordinates in the source image - float src_x = (x + 0.5f) * scale_x - 0.5f; - float src_y = (y + 0.5f) * scale_y - 0.5f; - - // Get integer and fractional parts - int x_int = static_cast(std::floor(src_x)); - int y_int = static_cast(std::floor(src_y)); - float x_frac = src_x - x_int; - float y_frac = src_y - y_int; - - // Apply clamping - x_int = std::max(0, std::min(x_int, src.w - 2)); - y_int = std::max(0, std::min(y_int, src.h - 2)); - - for (int c = 0; c < src.n_comp; ++c) { - // Get the 4 neighboring pixel values (P11, P12, P21, P22) - int p11 = src.data[(y_int * src.w + x_int) * src.n_comp + c]; - int p12 = src.data[(y_int * src.w + (x_int + 1)) * src.n_comp + c]; - int p21 = src.data[((y_int + 1) * src.w + x_int) * src.n_comp + c]; - int p22 = src.data[((y_int + 1) * src.w + (x_int + 1)) * src.n_comp + c]; - - // Bilinear interpolation formula: - float val = (p11 * (1 - x_frac) + p12 * x_frac) * (1 - y_frac) + - (p21 * (1 - x_frac) + p22 * x_frac) * y_frac; - - dst.data[(y * w + x) * src.n_comp + c] = static_cast(std::round(val)); - } - } - } - return dst; -} - -// 2. Pads source image onto a larger canvas (w x h) using WHITE_PADDING. -image_u8 pad_image(const image_u8& src, int w, int h) { - - // Allocate the w*h canvas and fill it with WHITE_PADDING (255) - image_u8 canvas = {w, h, src.n_comp, std::vector(w * h * src.n_comp, WHITE_PADDING)}; - - // --- Determine aspect-ratio-preserving resize --- - // The original image must be resized to fit the canvas while preserving aspect ratio. - float src_ratio = (float)src.w / src.h; - float canvas_ratio = (float)w / h; - - int resized_w, resized_h; - - if (src_ratio > canvas_ratio) { - // Image is wider than canvas ratio, constrained by width (w) - resized_w = w; - resized_h = static_cast(w / src_ratio); - } else { - // Image is taller than canvas ratio, constrained by height (h) - resized_h = h; - resized_w = static_cast(h * src_ratio); - } - - // 1. Resize the source image - image_u8 resized_src = resize_image(src, resized_w, resized_h); - - // 2. Calculate top-left pasting coordinates (centered or top-left) - // Phi-3 typically pastes top-left for simplicity in HDTransform. - int start_x = 0; - int start_y = 0; - - // 3. Copy the resized pixels onto the white canvas - for (int y = 0; y < resized_h; ++y) { - for (int x = 0; x < resized_w; ++x) { - for (int c = 0; c < src.n_comp; ++c) { - // Pixel index in source - size_t src_idx = (y * resized_w + x) * src.n_comp + c; - // Pixel index in canvas - size_t dst_idx = ((start_y + y) * w + (start_x + x)) * src.n_comp + c; - - if (src_idx < resized_src.data.size() && dst_idx < canvas.data.size()) { - canvas.data[dst_idx] = resized_src.data[src_idx]; - } - } - } - } - - return canvas; -} - -// 3. Crops a 336x336 region from the source image. -image_u8 crop_image(const image_u8& src, int x_start, int y_start) { - - image_u8 tile = {PHI3V_PATCH_SIZE, PHI3V_PATCH_SIZE, src.n_comp, - std::vector(PHI3V_PATCH_SIZE * PHI3V_PATCH_SIZE * src.n_comp)}; - - int tile_w = PHI3V_PATCH_SIZE; - int tile_h = PHI3V_PATCH_SIZE; - int tile_c = src.n_comp; - - for (int y = 0; y < tile_h; ++y) { - for (int x = 0; x < tile_w; ++x) { - - // Calculate coordinates in the source (canvas) image - int src_x = x_start + x; - int src_y = y_start + y; - - // Calculate linear index in the source (canvas) and destination (tile) - size_t src_idx_base = (src_y * src.w + src_x) * tile_c; - size_t dst_idx_base = (y * tile_w + x) * tile_c; - - // Copy all color channels (RGB) - for (int c = 0; c < tile_c; ++c) { - tile.data[dst_idx_base + c] = src.data[src_idx_base + c]; - } - } - } - - return tile; -} - -Phi3ImageBatch hd_transform_preprocess(const image_u8& raw_image, int max_crops) { - - // 1. Calculate the Best Grid - Phi3Grid grid = get_phi3_grid(raw_image.w, raw_image.h, max_crops); - - // 2. Define the Canvas Size - int canvas_w = grid.w * PHI3V_PATCH_SIZE; - int canvas_h = grid.h * PHI3V_PATCH_SIZE; - - // 3. Initialize the Output Batch - Phi3ImageBatch output; - output.grid = grid; - - // --- 3a. Global View (Batch[0]) --- - // Standard low-res view of the entire image, always 336x336. - output.batch.push_back(resize_image(raw_image, PHI3V_PATCH_SIZE, PHI3V_PATCH_SIZE)); - - // --- 3b. Local Crops --- - - // Prepare the Canvas (Resize and Pad with white) - // The canvas is a perfect multiple of 336x336 patches. - image_u8 canvas = pad_image(raw_image, canvas_w, canvas_h); - - // Slice the Canvas into Local Crops (Row-Major Order) - for (int y = 0; y < grid.h; ++y) { - for (int x = 0; x < grid.w; ++x) { - output.batch.push_back( - crop_image(canvas, - x * PHI3V_PATCH_SIZE, - y * PHI3V_PATCH_SIZE) - ); - } - } - - return output; -} \ No newline at end of file From be9f100dfb057ff19a05ff79d27b34ff1bd93a35 Mon Sep 17 00:00:00 2001 From: khemchand-zetta Date: Tue, 2 Dec 2025 13:51:07 +0530 Subject: [PATCH 03/35] Fixing some parsing issues --- .../convert_image_encoder_to_gguf.py | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py index 2c04f66cdbb..08b2d1a9dd2 100644 --- a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py +++ b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py @@ -345,7 +345,7 @@ def get_non_negative_vision_feature_layers(v_hparams): if args.clip_model_is_siglip: visual_projection_dim = 0 else: - visual_projection_dim = v_hparams.get("projection_dim", config["projection_dim"]) + visual_projection_dim = v_hparams.get("projection_dim", config.get("projection_dim", 0)) # set vision_model hparams fout.add_uint32("clip.vision.image_size", v_hparams["image_size"]) @@ -431,7 +431,7 @@ def get_non_negative_vision_feature_layers(v_hparams): fout.add_array("clip.vision.image_mean", image_mean) fout.add_array("clip.vision.image_std", image_std) -use_gelu = v_hparams["hidden_act"] == "gelu" +use_gelu = v_hparams.get("hidden_act","") == "gelu" fout.add_bool("clip.use_gelu", use_gelu) @@ -439,22 +439,27 @@ def get_non_negative_vision_feature_layers(v_hparams): # By default, we drop the last layer for llava projector # models unless we have explicitly set vision feature layers if feature_layers is None: - model.vision_model.encoder.layers.pop(-1) + # Phi-3 Specific Keys + if args.projector_type == "phi3_v": + model.model.vision_embed_tokens.img_processor.vision_model.encoder.layers.pop(-1) + else: + model.vision_model.encoder.layers.pop(-1) else: model.vision_model.encoder.layers = model.vision_model.encoder.layers[:max(feature_layers)] - projector = torch.load(args.llava_projector) - for name, data in projector.items(): - name = get_tensor_name(name) - # pw and dw conv ndim==4 - if data.ndim == 2 or data.ndim == 4: - data = data.squeeze().numpy().astype(np.float16) - else: - data = data.squeeze().numpy().astype(np.float32) + if args.llava_projector: + projector = torch.load(args.llava_projector) + for name, data in projector.items(): + name = get_tensor_name(name) + # pw and dw conv ndim==4 + if data.ndim == 2 or data.ndim == 4: + data = data.squeeze().numpy().astype(np.float16) + else: + data = data.squeeze().numpy().astype(np.float32) - fout.add_tensor(name, data) + fout.add_tensor(name, data) - print("Projector tensors added\n") + print("Projector tensors added\n") print("Processing model tensors...") state_dict = model.state_dict() From a49cb072862e819558fa61b15dc7a357958677d6 Mon Sep 17 00:00:00 2001 From: khemchand-zetta Date: Tue, 2 Dec 2025 16:26:11 +0530 Subject: [PATCH 04/35] Fixing naming convention and removed un-necessary comments --- tools/mtmd/clip.cpp | 132 +++--------------- tools/mtmd/clip.h | 2 +- .../convert_image_encoder_to_gguf.py | 2 +- tools/mtmd/mtmd.cpp | 34 ++--- 4 files changed, 29 insertions(+), 141 deletions(-) diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 2b296b6567a..24e7b6c1e6b 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -2007,28 +2007,21 @@ struct clip_graph { return gf; } - // ------------------------------------------------------------------------- - // Helper: Space-to-Depth + Grid Stitching (Matches reshape_hd_patches_2x2merge) - // ------------------------------------------------------------------------- + static struct ggml_tensor * ggml_phi3v_hd_merge( struct ggml_context * ctx, - struct ggml_tensor * image_features, // Input: {1024, 24, 24, N} + struct ggml_tensor * image_features, int h_crop, int w_crop ) { - // N = total patches (num_images * h_crop * w_crop) - // For inference, we typically process 1 image batch at a time, so N = h_crop * w_crop - int N = image_features->ne[3]; - const int C = 1024; - const int H = 24; - const int H2 = 12; + int n_images = image_features->ne[3]; + const int n_channels = 1024; + const int size = 24; + const int size_half = 12; struct ggml_tensor * t = image_features; - - t = ggml_reshape_4d(ctx, t, C, 2, H2, H * N); - - t = ggml_reshape_4d(ctx, t, C * 2, H2, 2, H2 * N); - + t = ggml_reshape_4d(ctx, t, n_channels, 2, size_half, size * n_images); + t = ggml_reshape_4d(ctx, t, n_channels * 2, size_half, 2, size_half * n_images); t = ggml_permute(ctx, t, 0, 2, 1, 3); t = ggml_cont(ctx, t); @@ -2036,17 +2029,15 @@ struct clip_graph { return t; } - const int C_NEW = C * 4; - - t = ggml_reshape_4d(ctx, t, C_NEW * H2, H2, w_crop, h_crop); - + const int n_channels_new = n_channels * 4; + t = ggml_reshape_4d(ctx, t, n_channels_new * size_half, size_half, w_crop, h_crop); t = ggml_permute(ctx, t, 0, 2, 1, 3); t = ggml_cont(ctx, t); t = ggml_reshape_4d(ctx, t, - C_NEW, - H2 * w_crop, - H2 * h_crop, + n_channels_new, + size_half * w_crop, + size_half * h_crop, 1 ); @@ -2054,71 +2045,35 @@ struct clip_graph { } ggml_cgraph * build_phi3v() { - // 1. Prepare Input (Patches) - // --------------------------------------------------------------------- - ggml_tensor * inp = build_inp(); // [n_embd, 576, num_crops] - - // Calculate grid (e.g. 2x2 grid -> 4 crops + 1 global = 5 crops) - int n_patches_per_crop = 24 * 24; // 576 - int num_crops = inp->ne[2]; // Passed from the batch encoder - - // Reshape to [n_embd, 576, num_crops] + ggml_tensor * inp = build_inp(); + int n_patches_per_crop = 24 * 24; + int num_crops = inp->ne[2]; inp = ggml_reshape_3d(ctx0, inp, n_embd, n_patches_per_crop, num_crops); - // 1. Prepend CLS Token ggml_tensor * cls = model.class_embedding; cls = ggml_reshape_3d(ctx0, cls, n_embd, 1, 1); cls = ggml_repeat(ctx0, cls, ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_embd, 1, num_crops)); - // Concat: [CLS, Patch0 ... Patch575] inp = ggml_concat(ctx0, cls, inp, 1); - - // 2. Add Full Position Embeddings (Do not slice!) inp = ggml_add(ctx0, inp, model.position_embeddings); - // --------------------------------------------------------------------- - // 2. Run Vision Transformer (ViT) - // --------------------------------------------------------------------- - - // Flatten for the transformer: [n_embd, 577 * num_crops] inp = ggml_reshape_2d(ctx0, inp, n_embd, (n_patches_per_crop + 1) * num_crops); - // Run the layers on the full sequence (577 tokens per crop) ggml_tensor * cur = build_vit(inp, (n_patches_per_crop + 1) * num_crops, NORM_TYPE_NORMAL, hparams.ffn_op, nullptr, nullptr); - // Reshape back to separate the crops: [n_embd, 577, num_crops] cur = ggml_reshape_3d(ctx0, cur, n_embd, n_patches_per_crop + 1, num_crops); - // Slice: Keep indices 1..577 (The 576 spatial patches) - // We skip Index 0 (CLS). - // Dimensions: n_embd, 576, num_crops - // Offset: 1 * nb[1] (Skip one column of embeddings) - cur = ggml_view_3d(ctx0, cur, n_embd, n_patches_per_crop, num_crops, cur->nb[1], cur->nb[2], - cur->nb[1]); // <--- Offset starts at token 1 + cur->nb[1]); - // Make it contiguous memory for the HD Merge step - // [n_embd, 24, 24, num_crops] cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, num_crops); cur = ggml_cont(ctx0, cur); - // --------------------------------------------------------------------- - // 3. HD Merge (Space-to-Depth) - // --------------------------------------------------------------------- - // Now 'cur' contains only the 24x24 spatial tokens, perfect for merging. - // We use 1x1 here because we are processing the batch in the graph, - // but we treat crops as independent until the CPU stitching step. - cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); - - // --------------------------------------------------------------------- - // 4. MLP Projection - // --------------------------------------------------------------------- - // Flatten to [4096, 144 * num_crops] cur = ggml_reshape_2d(ctx0, cur, 4096, 144 * num_crops); ggml_tensor * final_emb = ggml_mul_mat(ctx0, model.mm_0_w, cur); @@ -5407,19 +5362,13 @@ static void clip_phi3_setup(clip_ctx * ctx) { // Helper to build MLP graph for a single vector auto build_mlp = [&](ggml_tensor* input) { - // Layer 1 (4096 -> 3072) ggml_tensor* cur = ggml_mul_mat(ctx0, ctx->model.mm_0_w, input); - // Bias 0 if (ctx->model.mm_0_b) { ggml_tensor* b = ctx->model.mm_0_b; cur = ggml_add(ctx0, cur, b); } - // GELU cur = ggml_gelu(ctx0, cur); - - // Layer 2 (3072 -> 3072) cur = ggml_mul_mat(ctx0, ctx->model.mm_2_w, cur); - // Bias 2 if (ctx->model.mm_2_b) { ggml_tensor* b = ctx->model.mm_2_b; cur = ggml_add(ctx0, cur, b); @@ -5441,13 +5390,11 @@ static void clip_phi3_setup(clip_ctx * ctx) { ggml_build_forward_expand(gf, res_sub); } - // Compute ggml_backend_sched_reset(ctx->sched.get()); ggml_backend_sched_alloc_graph(ctx->sched.get(), gf); ggml_backend_sched_graph_compute(ctx->sched.get(), gf); - // Save results - int dim = clip_n_mmproj_embd(ctx); // 3072 + int dim = clip_n_mmproj_embd(ctx); if (res_glb) { ctx->model.phi3_proj_glb_GN.resize(dim); @@ -5466,12 +5413,8 @@ static void clip_phi3_setup(clip_ctx * ctx) { bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const struct clip_image_f32_batch * imgs, float * vec) { if (!ctx || !imgs || !vec) return false; - // 1. SETUP: Project Separators (4096 -> 3072) - // ---------------------------------------------------------------- - // This runs the MLP on the special tokens ONCE. clip_phi3_setup(ctx); - // Sanity Check: If setup failed, we cannot proceed because if (ctx->model.phi3_proj_sub_GN.empty() || ctx->model.phi3_proj_glb_GN.empty()) { fprintf(stderr, "%s: Error - Phi-3 separators not initialized.\n", __func__); return false; @@ -5480,14 +5423,10 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st const auto & entries = imgs->entries; int n_crops = entries.size(); - // Phi-3 Vision requires at least 1 crop (Global only) or Locals + Global if (n_crops < 1) return false; - // Dimension of the embedding (e.g., 3072 for ViT-L/14 CLIP, or 4096 depending on projection) int dim = clip_n_mmproj_embd(ctx); - // 1. Identify Grid Dimensions - // ---------------------------------------------------------------- int w_crop = imgs->grid_x; int h_crop = imgs->grid_y; int n_sub_images = w_crop * h_crop; @@ -5500,11 +5439,8 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st const int grid_side = 12; // 12x12 tokens per crop (after 2x2 pooling of 24x24 CLIP output) const int sub_crop_tokens = grid_side * grid_side; // 144 tokens (raw image embeddings) - // Temporary buffer to hold the output of a single crop encoding (144 * dim) std::vector crop_output(sub_crop_tokens * dim); - // Buffer to store ALL raw local crops before stitching - // We calculate size: Number of crops * 144 tokens * embedding dimension std::vector all_local_crops; if (n_sub_images > 0) { all_local_crops.resize(n_sub_images * sub_crop_tokens * dim); @@ -5512,12 +5448,8 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st float* dest = vec; - // 2. Encode and Store Local Crops - // ---------------------------------------------------------------- - // We process the first 'n_sub_images' entries as the High-Res crops for (int i = 0; i < n_sub_images; ++i) { - // Encode individual crop (results in 144 vectors of size 'dim') - // Note: clip_image_encode typically handles normalization and the ViT forward pass + bool ok = clip_image_encode(ctx, n_threads, entries[i].get(), crop_output.data()); if (!ok) return false; @@ -5527,49 +5459,30 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st sub_crop_tokens * dim * sizeof(float)); } - // 3. Stitch Local Crops into 'vec' with Newlines - // ---------------------------------------------------------------- if (n_sub_images > 0) { - // We iterate over the logical rows of the *combined* high-res image. - // Total rows = (Number of Vertical Crops) * (12 tokens per crop height) for (int row_global = 0; row_global < h_crop * grid_side; ++row_global) { - - // Calculate which vertical crop index we are in (e.g., Crop Row 0 or 1) int crop_y = row_global / grid_side; - // Calculate the internal row index within that specific crop (0 to 11) int internal_y = row_global % grid_side; - - // Iterate through the crops horizontally for this specific row for (int crop_x = 0; crop_x < w_crop; ++crop_x) { - // Calculate the linear index of the crop in 'all_local_crops' int crop_idx = crop_y * w_crop + crop_x; - // Calculate pointer to the start of the specific row inside that crop - // Offset = [Start of Crop] + [Row offset within Crop] float* src = all_local_crops.data() + (crop_idx * sub_crop_tokens * dim) + (internal_y * grid_side * dim); - // Copy the row (12 tokens) to the destination memcpy(dest, src, grid_side * dim * sizeof(float)); dest += (grid_side * dim); } - // ADD NEWLINE (sub_GN) after the full stitched row is complete - // This happens once per Global Row (e.g., 24 times for a 2x2 grid) if (!ctx->model.phi3_proj_sub_GN.empty()) { memcpy(dest, ctx->model.phi3_proj_sub_GN.data(), dim * sizeof(float)); } else { - // Fallback for safety, though phi3_proj_sub_GN should be populated during load memset(dest, 0, dim * sizeof(float)); } dest += dim; } } - // 4. Inject Global Separator (glb_GN) - // ---------------------------------------------------------------- - // This token separates the High-Res stitched canvas from the Global Low-Res view if (!ctx->model.phi3_proj_glb_GN.empty()) { memcpy(dest, ctx->model.phi3_proj_glb_GN.data(), dim * sizeof(float)); } else { @@ -5577,24 +5490,17 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st } dest += dim; - // 5. Process Global Crop (Last Entry) - // ---------------------------------------------------------------- - // The Global crop is always the last one in the batch. - // It is treated as a single 12x12 grid with newlines after every row. { bool ok = clip_image_encode(ctx, n_threads, entries.back().get(), crop_output.data()); if (!ok) return false; float* src = crop_output.data(); - // Iterate over the 12 rows of the Global crop for (int r = 0; r < grid_side; ++r) { - // Copy the row of tokens (12 tokens) memcpy(dest, src, grid_side * dim * sizeof(float)); dest += (grid_side * dim); src += (grid_side * dim); - // Add Newline (sub_GN) after every row if (!ctx->model.phi3_proj_sub_GN.empty()) { memcpy(dest, ctx->model.phi3_proj_sub_GN.data(), dim * sizeof(float)); } else { diff --git a/tools/mtmd/clip.h b/tools/mtmd/clip.h index 126aeed7cde..6c8c11a876a 100644 --- a/tools/mtmd/clip.h +++ b/tools/mtmd/clip.h @@ -1,7 +1,7 @@ #pragma once #include "ggml.h" -#include +#include "mtmd.h" #include #include diff --git a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py index 08b2d1a9dd2..002d8e5c45b 100644 --- a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py +++ b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py @@ -489,7 +489,7 @@ def get_non_negative_vision_feature_layers(v_hparams): print(" Converting to float32") data = data.astype(np.float32) ftype_cur = 0 - else: + if args.projector_type == "phi3_v": if data.dtype != np.float32: print(" Converting to float32") data = data.astype(np.float32) diff --git a/tools/mtmd/mtmd.cpp b/tools/mtmd/mtmd.cpp index 944c6a6fa30..df8b55cb41f 100644 --- a/tools/mtmd/mtmd.cpp +++ b/tools/mtmd/mtmd.cpp @@ -540,48 +540,30 @@ struct mtmd_tokenizer { LOG_ERR("Unable to preprocess image\n"); return 2; } - // [NEW] Phi-3-Vision Token Calculation Logic + // Phi-3-Vision Token Calculation Logic if (clip_is_phi3v(ctx->ctx_v)) { + const int n_col = batch_f32.grid_x; + const int n_row = batch_f32.grid_y; + int n_sub_images = n_col * n_row; + size_t local_tokens = ((n_row * n_col) + 1) * 144; - const int n_col = batch_f32.grid_x; // e.g., 2 - const int n_row = batch_f32.grid_y; // e.g., 2 - int n_sub_images = n_col * n_row; // e.g., 4 - - // 1. Calculate Local Token Count - // ------------------------------------------------ - // Height in tokens = n_row * 12 - // Width in tokens = (n_col * 12) + 1 (Newline) - // size_t local_tokens = (n_row * 12) * ((n_col * 12) + 1); - size_t local_tokens = ((n_row * n_col )+ 1) *144; - - // If there are no local crops (image too small), handle gracefully if (n_sub_images == 0) local_tokens = 0; - // 2. Calculate Global Token Count - // ------------------------------------------------ - // Global is always 12x12 with newlines: 12 * (12 + 1) = 156 size_t global_tokens = (n_row + 1) * 12; - - // 3. Separator Token - // ------------------------------------------------ size_t separator_tokens = 1; - - // Total size_t n_tokens = local_tokens + separator_tokens + global_tokens; - // Create the token container mtmd_image_tokens_ptr image_tokens(new mtmd_image_tokens); - image_tokens->nx = n_tokens; image_tokens->ny = 1; image_tokens->batch_f32 = std::move(batch_f32); - image_tokens->id = bitmap->id; // optional + image_tokens->id = bitmap->id; mtmd_input_chunk chunk{ MTMD_INPUT_CHUNK_TYPE_IMAGE, - {}, // text tokens + {}, std::move(image_tokens), - nullptr, // audio tokens + nullptr, }; cur.entries.emplace_back(std::move(chunk)); } From 8ae6f88d625ee2ec4f3741a318b153db853b76c4 Mon Sep 17 00:00:00 2001 From: khemchand-zetta Date: Thu, 4 Dec 2025 13:28:26 +0530 Subject: [PATCH 05/35] Fix hardcoded constants with config parameters (hparams) and also migarating the vision encoder gguf conversionchanges to new script --- common/arg.cpp | 12 ++ common/common.h | 2 +- convert_hf_to_gguf.py | 109 +++++++----- gguf-py/gguf/constants.py | 15 ++ gguf-py/gguf/gguf_writer.py | 3 + gguf-py/gguf/tensor_mapping.py | 22 +++ tools/mtmd/clip-impl.h | 10 +- tools/mtmd/clip.cpp | 161 ++++++++---------- tools/mtmd/clip.h | 4 +- .../convert_image_encoder_to_gguf.py | 145 +++------------- tools/mtmd/mtmd-cli.cpp | 3 + tools/mtmd/mtmd.cpp | 12 +- tools/mtmd/mtmd.h | 1 + 13 files changed, 237 insertions(+), 262 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 52094e3f10a..1304707e538 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -3208,5 +3208,17 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } ).set_examples({LLAMA_EXAMPLE_SERVER})); + // Phi3-5 Vision num_crops + add_opt(common_arg( + {"--num-crops"}, "N", + string_format("number of crops for Phi-3-Vision image processing (default: loaded from model"), + [](common_params & params, int value) { + if (value < 0) { + throw std::runtime_error("num_crops must be positive"); + } + params.num_crops = value; + } + )); + return ctx_arg; } diff --git a/common/common.h b/common/common.h index cdca5e26a23..eb2b1d75ceb 100644 --- a/common/common.h +++ b/common/common.h @@ -432,7 +432,7 @@ struct common_params { std::vector image; // path to image file(s) int image_min_tokens = -1; int image_max_tokens = -1; - + int32_t num_crops = -1; // For Phi3-5 Vision, number of max local crops // finetune struct lr_opt lr; enum ggml_opt_optimizer_type optimizer = GGML_OPT_OPTIMIZER_TYPE_ADAMW; diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 77aa9aa0439..454d1f9badd 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -1603,7 +1603,10 @@ def __init__(self, *args, **kwargs): self.preprocessor_config = {**self.preprocessor_config, **cfg} def get_vision_config(self) -> dict[str, Any] | None: + config_name = "vision_config" if not self.is_mistral_format else "vision_encoder" + if self.hparams.get("architectures")[0] == "Phi3VForCausalLM": + config_name = "img_processor" return self.global_config.get(config_name) def get_audio_config(self) -> dict[str, Any] | None: @@ -4509,7 +4512,7 @@ def set_gguf_parameters(self): self.gguf_writer.add_add_bos_token(False) -@ModelBase.register("Phi3ForCausalLM") +@ModelBase.register("Phi3ForCausalLM", "Phi3VForCausalLM") class Phi3MiniModel(TextModel): model_arch = gguf.MODEL_ARCH.PHI3 @@ -4644,6 +4647,20 @@ def set_gguf_parameters(self): sliding_window = 0 self.gguf_writer.add_sliding_window(sliding_window) + def modify_tensors( + self, + data_torch: Tensor, + name: str, + bid: int | None, + ) -> Iterable[tuple[str, Tensor]]: + + VISION_PREFIX = "model.vision_embed_tokens." + + if name.startswith(VISION_PREFIX): + return + + yield from super().modify_tensors(data_torch, name, bid) + def generate_extra_tensors(self) -> Iterable[tuple[str, Tensor]]: n_embd = self.find_hparam(["hidden_size", "n_embd"]) n_head = self.find_hparam(["num_attention_heads", "n_head"]) @@ -4684,49 +4701,6 @@ def generate_extra_tensors(self) -> Iterable[tuple[str, Tensor]]: yield (self.format_tensor_name(gguf.MODEL_TENSOR.ROPE_FACTORS_LONG), torch.tensor(long_factors, dtype=torch.float32)) yield (self.format_tensor_name(gguf.MODEL_TENSOR.ROPE_FACTORS_SHORT), torch.tensor(short_factors, dtype=torch.float32)) -@ModelBase.register("Phi3VForCausalLM") -class Phi3VisionModel(Phi3MiniModel): - """ - GGUF converter for Phi-3 Vision (Text Part Only). - - This strips out the vision encoder weights and metadata, creating a - standard Phi-3 GGUF file that can be paired with an external mmproj file. - """ - - # CRITICAL: Use PHI3, not PHI3_VISION. - # This tells llama.cpp to treat this as a standard text model. - model_arch = gguf.MODEL_ARCH.PHI3 - - def set_vocab(self): - return super().set_vocab() - - def set_gguf_parameters(self): - # Only write standard text model parameters (context length, embedding size, etc.) - super().set_gguf_parameters() - - def generate_extra_tensors(self): - # This handles the 'su' RoPE scaling factors (long/short) defined in Phi3MiniModel - yield from super().generate_extra_tensors() - - def modify_tensors( - self, - data_torch: Tensor, - name: str, - bid: int | None, - ) -> Iterable[tuple[str, Tensor]]: - - # The prefix for all vision-related weights in Phi-3-Vision - VISION_PREFIX = "model.vision_embed_tokens." - - # 1. If it is a vision tensor, SKIP IT completely. - # We do not want these weights in the text model file. - if name.startswith(VISION_PREFIX): - return - - # 2. If it is a text tensor, delegate to the standard Phi-3 logic. - # This handles token_embd, layers, output, norms, etc. - yield from super().modify_tensors(data_torch, name, bid) - @ModelBase.register("PhiMoEForCausalLM") class PhiMoeModel(Phi3MiniModel): model_arch = gguf.MODEL_ARCH.PHIMOE @@ -10048,6 +10022,53 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter return [] # skip other tensors +@ModelBase.register("Phi3VForCausalLM") +class Phi3VisionModel(MmprojModel): + def set_gguf_parameters(self): + super().set_gguf_parameters() + self.gguf_writer.add_vision_attention_layernorm_eps(self.hparams.get("layer_norm_eps", 1e-6)) + self.gguf_writer.add_clip_projector_type(gguf.VisionProjectorType.PHI3V) + self.gguf_writer.add_clip_has_llava_projector(True) + + num_img_tokens = self.find_vparam(["num_img_tokens"], optional=True) or 144 + self.gguf_writer.add_uint32("clip.vision.num_img_tokens", num_img_tokens) + + use_hd_tf = self.find_vparam(["use_hd_transform"], optional=True) + self.gguf_writer.add_bool("clip.vision.use_hd_transform", use_hd_tf if use_hd_tf is not None else True) + + with_sep = self.find_vparam(["with_learnable_separator"], optional=True) + self.gguf_writer.add_bool("clip.vision.with_learnable_separator", with_sep if with_sep is not None else True) + + hd_order = self.find_vparam(["hd_transform_order"], optional=True) + self.gguf_writer.add_string("clip.vision.hd_transform_order", hd_order or "sub_glb") + + img_dim_out = self.find_vparam(["image_dim_out", "dim_out"], optional=True) or self.find_vparam(["hidden_size"]) + self.gguf_writer.add_uint32("clip.vision.image_dim_out", img_dim_out) + + num_crops = self.find_vparam(["num_crops"], optional=True) or self.find_vparam(["num_crops"]) + self.gguf_writer.add_uint32("clip.vision.num_crops", num_crops) + + num_layers = self.find_vparam(["num_hidden_layers"], optional=True) or self.find_vparam(["num_hidden_layers"]) + self.gguf_writer.add_uint32("clip.vision.block_count", num_layers - 1) # Dropping the last (24th) layer + + def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: + del bid # unused + + if not name.startswith("model.vision_embed_tokens."): + return [] + + # Phi-3 Vision uses a 24-layer SigLIP but usually drops the 24th layer (index 23). + if "img_processor.vision_model.encoder.layers" in name: + try: + parts = name.split('.') + layer_idx = int(parts[parts.index("layers") + 1]) + if layer_idx == self.block_count - 1: + return [] + except (ValueError, IndexError): + pass + + return [(self.map_tensor_name(name), data_torch)] + @ModelBase.register("CogVLMForCausalLM") class CogVLMVisionModel(MmprojModel): diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 2b8489c591b..31ff726b075 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -294,6 +294,12 @@ class ClipVision: USE_SILU = "clip.use_silu" N_WA_PATTERN = "clip.vision.n_wa_pattern" # used by qwen2.5vl IS_DEEPSTACK_LAYERS = "clip.vision.is_deepstack_layers" + NUM_IMAGE_TOKENS = "clip.vision.num_img_tokens" # phi3v + USE_HD_TRANSFORM = "clip.vision.use_hd_transform" # phi3v + WITH_LEARNABLE_SEPERATOR = "clip.vision.with_learnable_separator" # phi3v + HD_TRANSFORM_ORDER = "clip.vision.hd_transform_order" # phi3v + NUM_CROPS = "clip.vision.num_crops" # phi3v + IMAGE_DIM_OUT = "clip.vision.image_dim_out" # phi3v class Attention: HEAD_COUNT = "clip.vision.attention.head_count" @@ -458,6 +464,7 @@ class VISION_PROJECTOR_TYPE(IntEnum): GEMMA3 = auto() QWEN3VL = auto() COGVLM = auto() + PHI3V = auto() class MODEL_TENSOR(IntEnum): @@ -685,6 +692,8 @@ class MODEL_TENSOR(IntEnum): V_MM_GATE = auto() # cogvlm V_TOK_BOI = auto() # cogvlm V_TOK_EOI = auto() # cogvlm + V_ENC_GLB_GN = auto() # phi3v + V_ENC_SUB_GN = auto() # phi3v # audio (mtmd) A_ENC_EMBD_POS = auto() A_ENC_CONV1D = auto() @@ -830,6 +839,7 @@ class MODEL_TENSOR(IntEnum): VISION_PROJECTOR_TYPE.GLM_EDGE: "adapter", VISION_PROJECTOR_TYPE.MERGER: "qwen2vl_merger", VISION_PROJECTOR_TYPE.GEMMA3: "gemma3", + VISION_PROJECTOR_TYPE.PHI3V: "phi3_v" } TENSOR_NAMES: dict[MODEL_TENSOR, str] = { @@ -1057,6 +1067,8 @@ class MODEL_TENSOR(IntEnum): MODEL_TENSOR.V_MM_GATE: "mm.gate", MODEL_TENSOR.V_TOK_BOI: "v.boi", MODEL_TENSOR.V_TOK_EOI: "v.eoi", + MODEL_TENSOR.V_ENC_GLB_GN: "v.glb_GN", # phi3v + MODEL_TENSOR.V_ENC_SUB_GN: "v.sub_GN", # phi3v # audio (mtmd) MODEL_TENSOR.A_ENC_EMBD_POS: "a.position_embd", MODEL_TENSOR.A_ENC_CONV1D: "a.conv1d.{bid}", @@ -1135,6 +1147,8 @@ class MODEL_TENSOR(IntEnum): MODEL_TENSOR.V_MM_GATE, MODEL_TENSOR.V_TOK_BOI, MODEL_TENSOR.V_TOK_EOI, + MODEL_TENSOR.V_ENC_GLB_GN, # Specific to Phi3V + MODEL_TENSOR.V_ENC_SUB_GN, # Specific to Phi3V # audio MODEL_TENSOR.A_ENC_EMBD_POS, MODEL_TENSOR.A_ENC_CONV1D, @@ -3327,6 +3341,7 @@ class VisionProjectorType: LIGHTONOCR = "lightonocr" COGVLM = "cogvlm" JANUS_PRO = "janus_pro" + PHI3V = "phi3_v" # Items here are (block size, type size) diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index 9e6ff3ac777..451f5a59332 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -1070,6 +1070,9 @@ def add_classifier_output_labels(self, labels: Sequence[str]) -> None: def add_clip_has_vision_encoder(self, value: bool) -> None: self.add_bool(Keys.Clip.HAS_VISION_ENCODER, value) + def add_clip_has_llava_projector(self, value: bool) -> None: + self.add_bool(Keys.Clip.HAS_LLAVA_PROJECTOR, value) + def add_clip_has_audio_encoder(self, value: bool) -> None: self.add_bool(Keys.Clip.HAS_AUDIO_ENCODER, value) diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py index a7b09739791..26acd9f65fe 100644 --- a/gguf-py/gguf/tensor_mapping.py +++ b/gguf-py/gguf/tensor_mapping.py @@ -1201,6 +1201,7 @@ class TensorNameMap: "vision_model.vision_adapter.mlp.fc{bid}", # llama 4 "mlp1.{bid}", # InternVL "model.aligner.fc1.hidden_layers.{bid}", # Janus Pro + "model.vision_embed_tokens.img_projection.{bid}", # phi3v ), MODEL_TENSOR.V_MMPROJ_PEG: ( @@ -1212,6 +1213,7 @@ class TensorNameMap: "model.vision_tower.embeddings.cls_token", # Intern-S1 "vision_model.class_embedding", # llama 4 "model.vision.patch_embedding.cls_embedding", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.embeddings.class_embedding", # phi3v ), MODEL_TENSOR.V_ENC_EMBD_PATCH: ( @@ -1225,6 +1227,7 @@ class TensorNameMap: "visual.patch_embed.proj", # qwen2vl "vision_tower.patch_embed.proj", # kimi-vl "model.vision.patch_embedding.proj", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.embeddings.patch_embedding", # phi3v ), MODEL_TENSOR.V_ENC_EMBD_POS: ( @@ -1236,6 +1239,7 @@ class TensorNameMap: "vision_tower.patch_embed.pos_emb", # kimi-vl "visual.pos_embed", # qwen3vl "model.vision.patch_embedding.position_embedding", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.embeddings.position_embedding", # phi3v ), MODEL_TENSOR.V_ENC_ATTN_QKV: ( @@ -1253,6 +1257,7 @@ class TensorNameMap: "vision_encoder.transformer.layers.{bid}.attention.wq", # pixtral "visual.blocks.{bid}.attn.q", # qwen2vl, generated "vision_tower.encoder.blocks.{bid}.wq", # kimi-vl, generated + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.self_attn.q_proj", # phi3v ), MODEL_TENSOR.V_ENC_ATTN_Q_NORM: ( @@ -1270,6 +1275,7 @@ class TensorNameMap: "vision_encoder.transformer.layers.{bid}.attention.wk", # pixtral "visual.blocks.{bid}.attn.k", # qwen2vl, generated "vision_tower.encoder.blocks.{bid}.wk", # kimi-vl, generated + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.self_attn.k_proj", # phi3v ), MODEL_TENSOR.V_ENC_ATTN_K_NORM: ( @@ -1287,6 +1293,7 @@ class TensorNameMap: "vision_encoder.transformer.layers.{bid}.attention.wv", # pixtral "visual.blocks.{bid}.attn.v", # qwen2vl, generated "vision_tower.encoder.blocks.{bid}.wv", # kimi-vl, generated + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.self_attn.v_proj", # phi3v ), MODEL_TENSOR.V_ENC_INPUT_NORM: ( @@ -1301,6 +1308,7 @@ class TensorNameMap: "visual.blocks.{bid}.norm1", # qwen2vl "vision_tower.encoder.blocks.{bid}.norm0", # kimi-vl (norm0/norm1) "model.vision.transformer.layers.{bid}.input_layernorm", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.layer_norm1", # phi3v ), MODEL_TENSOR.V_ENC_ATTN_O: ( @@ -1316,6 +1324,7 @@ class TensorNameMap: "visual.blocks.{bid}.attn.proj", # qwen2vl "vision_tower.encoder.blocks.{bid}.wo", # kimi-vl "model.vision.transformer.layers.{bid}.attention.dense", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.self_attn.out_proj", # phi3v ), MODEL_TENSOR.V_ENC_POST_ATTN_NORM: ( @@ -1330,6 +1339,7 @@ class TensorNameMap: "visual.blocks.{bid}.norm2", # qwen2vl "vision_tower.encoder.blocks.{bid}.norm1", # kimi-vl (norm0/norm1) "model.vision.transformer.layers.{bid}.post_attention_layernorm", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.layer_norm2", # phi3v ), MODEL_TENSOR.V_ENC_FFN_UP: ( @@ -1345,6 +1355,7 @@ class TensorNameMap: "visual.blocks.{bid}.mlp.linear_fc1", # qwen3vl "vision_tower.encoder.blocks.{bid}.mlp.fc0", # kimi-vl (fc0/fc1) "model.vision.transformer.layers.{bid}.mlp.fc1", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.mlp.fc1", # phi3v ), MODEL_TENSOR.V_ENC_FFN_GATE: ( @@ -1366,6 +1377,7 @@ class TensorNameMap: "visual.blocks.{bid}.mlp.linear_fc2", # qwen3vl "vision_tower.encoder.blocks.{bid}.mlp.fc1", # kimi-vl (fc0/fc1) "model.vision.transformer.layers.{bid}.mlp.fc2", # cogvlm + "model.vision_embed_tokens.img_processor.vision_model.encoder.layers.{bid}.mlp.fc2", # phi3v ), MODEL_TENSOR.V_LAYER_SCALE_1: ( @@ -1383,6 +1395,7 @@ class TensorNameMap: "vision_tower.ln_pre", # pixtral-hf "vision_encoder.ln_pre", # pixtral "vision_model.layernorm_pre", # llama4 + "model.vision_embed_tokens.img_processor.vision_model.pre_layrnorm", # phi3v ), MODEL_TENSOR.V_POST_NORM: ( @@ -1391,6 +1404,7 @@ class TensorNameMap: "vision_model.layernorm_post", # llama4 "visual.merger.ln_q", # qwen2vl "vision_tower.encoder.final_layernorm", # kimi-vl + "model.vision_embed_tokens.img_processor.vision_model.post_layernorm", # phi3v ), MODEL_TENSOR.V_MM_INP_PROJ: ( @@ -1593,6 +1607,14 @@ class TensorNameMap: MODEL_TENSOR.NEXTN_SHARED_HEAD_NORM: ( "model.layers.{bid}.shared_head.norm", ), + + MODEL_TENSOR.V_ENC_GLB_GN: ( + "model.vision_embed_tokens.glb_GN", + ), + + MODEL_TENSOR.V_ENC_SUB_GN: ( + "model.vision_embed_tokens.sub_GN", + ), } # architecture-specific block mappings diff --git a/tools/mtmd/clip-impl.h b/tools/mtmd/clip-impl.h index f5571efab47..4c3fc2df268 100644 --- a/tools/mtmd/clip-impl.h +++ b/tools/mtmd/clip-impl.h @@ -39,10 +39,11 @@ #define KEY_FEATURE_LAYER "clip.vision.feature_layer" #define KEY_PROJ_SCALE_FACTOR "clip.vision.projector.scale_factor" #define KEY_SPATIAL_MERGE_SIZE "clip.vision.spatial_merge_size" -#define KEY_PHI3_HD_ORDER "clip.vision.hd_transform_order" -#define KEY_PHI3_NUM_IMG_TOKENS "clip.vision.num_img_tokens" -#define KEY_PHI3_USE_HD "clip.vision.use_hd_transform" -#define KEY_PHI3_WITH_SEP "clip.vision.with_learnable_separator" +#define KEY_PHI3_HD_ORDER "clip.vision.hd_transform_order" +#define KEY_PHI3_NUM_IMG_TOKENS "clip.vision.num_img_tokens" +#define KEY_PHI3_NUM_CROPS "clip.vision.num_crops" +#define KEY_PHI3_USE_HD "clip.vision.use_hd_transform" +#define KEY_PHI3_WITH_SEP "clip.vision.with_learnable_separator" #define KEY_IS_DEEPSTACK_LAYERS "clip.vision.is_deepstack_layers" #define KEY_MM_PATCH_MERGE_TYPE "clip.vision.mm_patch_merge_type" @@ -92,7 +93,6 @@ #define TN_IMAGE_NEWLINE "model.image_newline" #define TN_PHI3_GLB_GN "v.glb_GN" // phi3v #define TN_PHI3_SUB_GN "v.sub_GN" // phi3v -#define TN_PHI3_PROJ_MLP "mm.phi3_mlp.%d.%s" // phi3v #define TN_MM_INP_NORM "mm.input_norm.weight" #define TN_MM_INP_NORM_B "mm.input_norm.bias" #define TN_MM_INP_PROJ "mm.input_projection.weight" // gemma3 diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 8fcae9f1941..c7563de76d0 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -206,6 +206,13 @@ struct clip_hparams { int32_t custom_image_min_tokens = -1; int32_t custom_image_max_tokens = -1; + // phi3v + bool use_hd = false; + bool with_learnable_separator = false; + std::string hd_order = "sub_glb"; + int32_t num_img_tokens = 144; + int32_t num_crops = -1; + void set_limit_image_tokens(int n_tokens_min, int n_tokens_max) { const int cur_merge = n_merge == 0 ? 1 : n_merge; const int patch_area = patch_size * patch_size * cur_merge * cur_merge; @@ -404,7 +411,7 @@ struct clip_model { ggml_tensor * mm_sub_GN = nullptr; // sub-image separator bool phi3_setup_done = false; - // Pre-calculated projected vectors (3072 floats each) + // Pre-calculated projected vectors std::vector phi3_proj_glb_GN; std::vector phi3_proj_sub_GN; @@ -478,6 +485,9 @@ struct clip_ctx { if (ctx_params.image_max_tokens > 0) { model.hparams.custom_image_max_tokens = ctx_params.image_max_tokens; } + if (ctx_params.num_crops > 0) { + model.hparams.num_crops = ctx_params.num_crops; + } backend_ptrs.push_back(backend_cpu); backend_buft.push_back(ggml_backend_get_default_buffer_type(backend_cpu)); @@ -2012,41 +2022,27 @@ struct clip_graph { struct ggml_context * ctx, struct ggml_tensor * image_features, int h_crop, - int w_crop + int w_crop, + int patch_size ) { int n_images = image_features->ne[3]; - const int n_channels = 1024; - const int size = 24; - const int size_half = 12; + const int n_channels = image_features->ne[0];; + const int patch_size_half = patch_size/2; struct ggml_tensor * t = image_features; - t = ggml_reshape_4d(ctx, t, n_channels, 2, size_half, size * n_images); - t = ggml_reshape_4d(ctx, t, n_channels * 2, size_half, 2, size_half * n_images); - t = ggml_permute(ctx, t, 0, 2, 1, 3); - t = ggml_cont(ctx, t); - - if (h_crop == 1 && w_crop == 1) { - return t; - } - - const int n_channels_new = n_channels * 4; - t = ggml_reshape_4d(ctx, t, n_channels_new * size_half, size_half, w_crop, h_crop); + t = ggml_reshape_4d(ctx, t, n_channels, 2, patch_size_half, patch_size * n_images); + t = ggml_reshape_4d(ctx, t, n_channels * 2, patch_size_half, 2, patch_size_half * n_images); t = ggml_permute(ctx, t, 0, 2, 1, 3); t = ggml_cont(ctx, t); - t = ggml_reshape_4d(ctx, t, - n_channels_new, - size_half * w_crop, - size_half * h_crop, - 1 - ); - return t; } ggml_cgraph * build_phi3v() { ggml_tensor * inp = build_inp(); - int n_patches_per_crop = 24 * 24; + int n_patches_per_crop = inp->ne[1]; + int patch_size_transformed = sqrt(n_patches_per_crop); + int num_crops = inp->ne[2]; inp = ggml_reshape_3d(ctx0, inp, n_embd, n_patches_per_crop, num_crops); @@ -2070,11 +2066,11 @@ struct clip_graph { cur->nb[1], cur->nb[2], cur->nb[1]); - cur = ggml_reshape_4d(ctx0, cur, n_embd, 24, 24, num_crops); + cur = ggml_reshape_4d(ctx0, cur, n_embd, patch_size_transformed, patch_size_transformed, num_crops); cur = ggml_cont(ctx0, cur); - cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1); - cur = ggml_reshape_2d(ctx0, cur, 4096, 144 * num_crops); + cur = ggml_phi3v_hd_merge(ctx0, cur, 1, 1, patch_size_transformed); + cur = ggml_reshape_2d(ctx0, cur, hparams.n_ff, hparams.num_img_tokens * num_crops); ggml_tensor * final_emb = ggml_mul_mat(ctx0, model.mm_0_w, cur); final_emb = ggml_add(ctx0, final_emb, model.mm_0_b); @@ -2954,22 +2950,21 @@ struct clip_model_loader { } break; case PROJECTOR_TYPE_PHI3_V: { - // Verify HD transform settings - bool use_hd = false; - get_bool(KEY_PHI3_USE_HD, use_hd, false); - if (!use_hd) { + get_bool(KEY_PHI3_USE_HD, hparams.use_hd, false); + if (!hparams.use_hd) { LOG_WRN("%s: Phi-3-Vision model missing %s=true, assuming HD transform is required\n", __func__, KEY_PHI3_USE_HD); } - std::string hd_order; - get_string(KEY_PHI3_HD_ORDER, hd_order, false); - if (!hd_order.empty() && hd_order != "sub_glb") { - throw std::runtime_error(string_format("%s: unsupported HD transform order: %s (only 'sub_glb' supported)\n", __func__, hd_order.c_str())); + get_string(KEY_PHI3_HD_ORDER, hparams.hd_order, false); + if (hparams.hd_order != "sub_glb") { + throw std::runtime_error(string_format("%s: unsupported HD transform order: %s (only 'sub_glb' supported)\n", __func__, hparams.hd_order.c_str())); } - // Set defaults for Phi-3.5-vision if keys missing - hparams.image_size = 336; - hparams.patch_size = 14; + get_u32(KEY_PHI3_NUM_IMG_TOKENS, hparams.num_img_tokens, false); + if (hparams.num_crops == -1) { + get_u32(KEY_PHI3_NUM_CROPS, hparams.num_crops, false); + } + get_bool(KEY_PHI3_WITH_SEP, hparams.with_learnable_separator, false); } break; default: break; @@ -3360,13 +3355,13 @@ struct clip_model_loader { } break; case PROJECTOR_TYPE_PHI3_V: { - // Load MLP weights: mm.phi3_mlp.0.weight / bias - model.mm_0_w = get_tensor(string_format(TN_PHI3_PROJ_MLP, 0, "weight")); - model.mm_0_b = get_tensor(string_format(TN_PHI3_PROJ_MLP, 0, "bias")); + // Load MLP weights: mm.model.mlp.0.weight / bias + model.mm_0_w = get_tensor(string_format(TN_MVLM_PROJ_MLP, 0, "weight")); + model.mm_0_b = get_tensor(string_format(TN_MVLM_PROJ_MLP, 0, "bias")); - // Load MLP weights: mm.phi3_mlp.2.weight / bias - model.mm_2_w = get_tensor(string_format(TN_PHI3_PROJ_MLP, 2, "weight")); - model.mm_2_b = get_tensor(string_format(TN_PHI3_PROJ_MLP, 2, "bias")); + // Load MLP weights: mm.model.mlp.2.weight / bias + model.mm_2_w = get_tensor(string_format(TN_MVLM_PROJ_MLP, 2, "weight")); + model.mm_2_b = get_tensor(string_format(TN_MVLM_PROJ_MLP, 2, "bias")); // Load Separators model.mm_glb_GN = get_tensor(TN_PHI3_GLB_GN); @@ -4332,49 +4327,43 @@ struct llava_uhd { } }; - // ------------------------------------------------------------------------- - // Phi-3-Vision Preprocessing (HD Transform) - // ------------------------------------------------------------------------- +struct phi3v_hd { + struct slice_instructions { + clip_image_size overview_size; + clip_image_size grid_size; + std::vector crops; + }; - struct phi3v_hd { - struct slice_instructions { - clip_image_size overview_size; - clip_image_size grid_size; - std::vector crops; - }; + static int padding_336(int x) { + return (int)(std::ceil((float)x / 336.0f) * 336); + } - static int padding_336(int x) { - // Round up to nearest multiple of 336 - return (int)(std::ceil((float)x / 336.0f) * 336); + static clip_image_size calc_hd_transform_size(int width, int height, int hd_num) { + bool transposed = false; + if (width < height) { + std::swap(width, height); + transposed = true; } + float ratio = (float)width / (float)height; - static clip_image_size calc_hd_transform_size(int width, int height, int hd_num) { - bool transposed = false; - if (width < height) { - std::swap(width, height); - transposed = true; - } - float ratio = (float)width / (float)height; + int scale = 1; + while (scale * std::ceil(scale / ratio) <= hd_num) { + scale++; + } + scale--; + if (scale < 1) scale = 1; - // 1. Find the best scale (number of 336-width blocks) - int scale = 1; - while (scale * std::ceil(scale / ratio) <= hd_num) { - scale++; - } - scale--; - if (scale < 1) scale = 1; // Safety - // 2. Calculate dimensions - int new_w = scale * 336; - int new_h = (int)((float)new_w / ratio); + int new_w = scale * 336; + int new_h = (int)((float)new_w / ratio); - clip_image_size res; - res.width = padding_336(new_w); - res.height = padding_336(new_h); + clip_image_size res; + res.width = padding_336(new_w); + res.height = padding_336(new_h); - if (transposed) std::swap(res.width, res.height); - return res; - } + if (transposed) std::swap(res.width, res.height); + return res; + } static std::vector transform(const clip_image_u8 * img, int num_crops, int & out_grid_x, int & out_grid_y) { std::vector output; @@ -4401,7 +4390,7 @@ struct llava_uhd { // 3. Global Image (Resize to 336x336) clip_image_u8_ptr global(clip_image_u8_init()); - // Global uses Bicubic (You already had this correct) + // Global uses Bicubic img_tool::resize(*img, *global, {336, 336}, img_tool::RESIZE_ALGO_BICUBIC, true, {255, 255, 255}); output.push_back(std::move(global)); @@ -4626,8 +4615,7 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, str } break; case PROJECTOR_TYPE_PHI3_V: { - int max_crops = 16; // Default for Phi-3.5-vision - // TODO: Load from hparams if possible (num_crops) + int max_crops = ctx->model.hparams.num_crops; int gx, gy; auto imgs = phi3v_hd::transform(img, max_crops, gx, gy); ctx->model.hparams.image_crop_resolution = (gy << 16) | gx; @@ -4822,7 +4810,7 @@ int clip_n_output_tokens(const struct clip_ctx * ctx, struct clip_image_f32 * im } break; case PROJECTOR_TYPE_PHI3_V: { - n_patches /= 4; + n_patches = ctx->model.hparams.num_img_tokens; } break; default: GGML_ABORT("unsupported projector type"); @@ -5412,6 +5400,8 @@ static void clip_phi3_setup(clip_ctx * ctx) { ggml_free(ctx0); ggml_backend_sched_reset(ctx->sched.get()); + + ctx->model.phi3_setup_done = true; } bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const struct clip_image_f32_batch * imgs, float * vec) { @@ -5439,9 +5429,8 @@ bool clip_image_batch_encode_phi3(struct clip_ctx * ctx, int n_threads, const st return false; } - // Constants for Phi-3 / CLIP ViT-L/14@336 logic - const int grid_side = 12; // 12x12 tokens per crop (after 2x2 pooling of 24x24 CLIP output) - const int sub_crop_tokens = grid_side * grid_side; // 144 tokens (raw image embeddings) + const int sub_crop_tokens = ctx->model.hparams.num_img_tokens; + const int grid_side = (int)sqrt(sub_crop_tokens); // Due to the 2 x 2 hd_transform std::vector crop_output(sub_crop_tokens * dim); diff --git a/tools/mtmd/clip.h b/tools/mtmd/clip.h index ddec2c1a54b..d7469f8d532 100644 --- a/tools/mtmd/clip.h +++ b/tools/mtmd/clip.h @@ -35,6 +35,7 @@ struct clip_context_params { enum clip_flash_attn_type flash_attn_type; int image_min_tokens; int image_max_tokens; + int num_crops; bool warmup; }; @@ -106,11 +107,8 @@ bool clip_is_glm(const struct clip_ctx * ctx); bool clip_is_qwen2vl(const struct clip_ctx * ctx); bool clip_is_llava(const struct clip_ctx * ctx); bool clip_is_gemma3(const struct clip_ctx * ctx); - -// [NEW] Added for Phi-3-Vision bool clip_is_phi3v(const struct clip_ctx * ctx); -// [NEW] Optimized batch encoding for Phi-3-Vision // Handles looping, separator injection, and stitching internally. MTMD_API bool clip_image_batch_encode_phi3( struct clip_ctx * ctx, diff --git a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py index 002d8e5c45b..2949faec421 100644 --- a/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py +++ b/tools/mtmd/legacy-models/convert_image_encoder_to_gguf.py @@ -6,7 +6,7 @@ import torch import numpy as np from gguf import * -from transformers import CLIPModel, CLIPProcessor, CLIPVisionModel, SiglipVisionModel, AutoModelForCausalLM +from transformers import CLIPModel, CLIPProcessor, CLIPVisionModel, SiglipVisionModel TEXT = "clip.text" VISION = "clip.vision" @@ -16,7 +16,7 @@ def k(raw_key: str, arch: str) -> str: return raw_key.format(arch=arch) -def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: bool, projector_type: str) -> bool: +def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: bool) -> bool: if name in ( "logit_scale", "text_model.embeddings.position_ids", @@ -24,15 +24,6 @@ def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: b ): return True - if projector_type == "phi3_v": - if "glb_GN" in name or "sub_GN" in name: - return False - if "img_projection" in name: - return False - if not name.startswith("model.vision_embed_tokens"): - return True # Skip text model weights - return False - if has_llava and name in ["visual_projection.weight", "vision_model.post_layernorm.weight", "vision_model.post_layernorm.bias"]: return True @@ -46,49 +37,8 @@ def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: b def get_tensor_name(name: str) -> str: - # --- Phi-3-Vision Specific Mappings --- - if "vision_embed_tokens" in name: - # Strip the prefix - name = name.replace("model.vision_embed_tokens.", "") - - # 1. Separators - if "glb_GN" in name: - return "v.glb_GN" - if "sub_GN" in name: - return "v.sub_GN" - - # 2. Projector (2-Layer MLP) - if "img_projection" in name: - # Map img_projection.0 -> mm.phi3_mlp.0 - name = name.replace("img_projection", "mm.phi3_mlp") - return name - - # 3. Vision Model (SigLIP) - # Remove internal processor prefix - if "img_processor.vision_model." in name: - name = name.replace("img_processor.vision_model.", "v.") - - # Standardize SigLIP/CLIP names - name = name.replace("embeddings.class_embedding", "class_embd") - name = name.replace("embeddings.patch_embedding.weight", "patch_embd.weight") - name = name.replace("embeddings.position_embedding.weight", "position_embd.weight") - name = name.replace("encoder.layers", "blk") - name = name.replace("pre_layrnorm", "pre_ln") - name = name.replace("post_layernorm", "post_ln") - - # Block internal mappings - name = name.replace("layer_norm1", "ln1") - name = name.replace("layer_norm2", "ln2") - name = name.replace("self_attn.q_proj", "attn_q") - name = name.replace("self_attn.k_proj", "attn_k") - name = name.replace("self_attn.v_proj", "attn_v") - name = name.replace("self_attn.out_proj", "attn_out") - name = name.replace("mlp.fc1", "ffn_up") # SigLIP fc1 is usually up/gate - name = name.replace("mlp.fc2", "ffn_down") - - return name - - # --- Standard LLaVA / CLIP Mappings --- + # Standardize the transformers llava next keys for + # image newline / mm projector with the classes in haotian-liu LLaVA if name == "image_newline": return "model.image_newline" if name.startswith("multi_modal_projector"): @@ -155,7 +105,7 @@ def bytes_to_unicode(): help="the visual encoder is Siglip.") ap.add_argument("--llava-projector", help="Path to llava.projector file. If specified, save an image encoder for LLaVA models.") -ap.add_argument("--projector-type", help="Type of projector. Possible values: mlp, ldp, ldpv2, phi3_v", choices=["mlp", "ldp", "ldpv2", "phi3_v"], default="mlp") +ap.add_argument("--projector-type", help="Type of projector. Possible values: mlp, ldp, ldpv2", choices=["mlp", "ldp", "ldpv2"], default="mlp") ap.add_argument("-o", "--output-dir", help="Directory to save GGUF files. Default is the original model directory", default=None) # Example --image_mean 0.48145466 0.4578275 0.40821073 --image_std 0.26862954 0.26130258 0.27577711 # Example --image_mean 0.5 0.5 0.5 --image_std 0.5 0.5 0.5 @@ -197,27 +147,8 @@ def bytes_to_unicode(): v_hparams = config t_hparams = None else: - # Handle Phi-3-Vision structure where config is flat but contains vision/text parts - if "vision_config" in config: - v_hparams = config["vision_config"] - t_hparams = config["text_config"] - elif "img_processor" in config: # Phi-3-Vision specific - v_hparams = config["img_processor"] - # Augment with embd_layer info - if "embd_layer" in config: - v_hparams.update(config["embd_layer"]) - # Add generic clip params if missing (standard SigLIP 336) - if "image_size" not in v_hparams: v_hparams["image_size"] = 336 - if "patch_size" not in v_hparams: v_hparams["patch_size"] = 14 - if "hidden_size" not in v_hparams: v_hparams["hidden_size"] = 1024 - if "intermediate_size" not in v_hparams: v_hparams["intermediate_size"] = 4096 - if "num_attention_heads" not in v_hparams: v_hparams["num_attention_heads"] = 16 - if "num_hidden_layers" not in v_hparams: v_hparams["num_hidden_layers"] = 24 - if "layer_norm_eps" not in v_hparams: v_hparams["layer_norm_eps"] = 1e-6 - t_hparams = None # We are only converting the encoder here - else: - v_hparams = config # Fallback - t_hparams = config + v_hparams = config["vision_config"] + t_hparams = config["text_config"] # possible data types # ftype == 0 -> float32 @@ -230,15 +161,9 @@ def bytes_to_unicode(): if args.use_f32: ftype = 0 -# Model Loading Logic if args.clip_model_is_siglip: model = SiglipVisionModel.from_pretrained(dir_model) processor = None -elif args.projector_type == "phi3_v": - # Phi-3-Vision cannot be loaded with standard CLIP classes due to architecture mismatch - print("Loading Phi-3-Vision model using AutoModel...") - model = AutoModelForCausalLM.from_pretrained(dir_model, trust_remote_code=True) - processor = None elif args.clip_model_is_vision or args.clip_model_is_openclip: model = CLIPVisionModel.from_pretrained(dir_model) processor = None @@ -250,12 +175,10 @@ def bytes_to_unicode(): has_text_encoder = True has_vision_encoder = True has_llava_projector = False - -# Logic for filename and encoder flags if args.text_only: fname_middle = "text-" has_vision_encoder = False -elif args.llava_projector is not None or args.projector_type == "phi3_v": +elif args.llava_projector is not None: fname_middle = "mmproj-" has_text_encoder = False has_llava_projector = True @@ -277,14 +200,13 @@ def bytes_to_unicode(): fout.add_file_type(ftype) model_name = config["_name_or_path"] if "_name_or_path" in config else os.path.basename(dir_model) fout.add_name(model_name) - if args.text_only: fout.add_description("text-only CLIP model") elif args.vision_only and not has_llava_projector: fout.add_description("vision-only CLIP model") elif has_llava_projector: + fout.add_description("image encoder for LLaVA") # add projector type - fout.add_description("image encoder for LLaVA / Phi-3") fout.add_string("clip.projector_type", args.projector_type) else: fout.add_description("two-tower CLIP model") @@ -298,8 +220,6 @@ def bytes_to_unicode(): text_projection_dim = t_hparams.get("projection_dim", config["projection_dim"]) # text_model hparams fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams["max_position_embeddings"]) - text_projection_dim = t_hparams.get("projection_dim", config.get("projection_dim", 0)) - fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams.get("max_position_embeddings", 2048)) fout.add_uint32(k(KEY_EMBEDDING_LENGTH, TEXT), t_hparams["hidden_size"]) fout.add_uint32(k(KEY_FEED_FORWARD_LENGTH, TEXT), t_hparams["intermediate_size"]) fout.add_uint32("clip.text.projection_dim", text_projection_dim) @@ -345,7 +265,7 @@ def get_non_negative_vision_feature_layers(v_hparams): if args.clip_model_is_siglip: visual_projection_dim = 0 else: - visual_projection_dim = v_hparams.get("projection_dim", config.get("projection_dim", 0)) + visual_projection_dim = v_hparams.get("projection_dim", config["projection_dim"]) # set vision_model hparams fout.add_uint32("clip.vision.image_size", v_hparams["image_size"]) @@ -413,15 +333,6 @@ def get_non_negative_vision_feature_layers(v_hparams): if feature_layers: fout.add_array("clip.vision.feature_layer", feature_layers) - # Phi-3 Specific Keys - if args.projector_type == "phi3_v": - fout.add_uint32("clip.vision.num_img_tokens", int(v_hparams.get("num_img_tokens", 144))) - fout.add_bool("clip.vision.use_hd_transform", bool(v_hparams.get("use_hd_transform", False))) - fout.add_bool("clip.vision.with_learnable_separator", bool(v_hparams.get("with_learnable_separator", False))) - fout.add_string("clip.vision.hd_transform_order", str(v_hparams.get("hd_transform_order", "sub_glb"))) - fout.add_uint32("clip.vision.image_dim_out", int(v_hparams.get("image_dim_out", 1024))) - - # Image mean/std logic if processor is not None: image_mean = processor.image_processor.image_mean if args.image_mean is None or args.image_mean == default_image_mean else args.image_mean # pyright: ignore[reportAttributeAccessIssue] image_std = processor.image_processor.image_std if args.image_std is None or args.image_std == default_image_std else args.image_std # pyright: ignore[reportAttributeAccessIssue] @@ -431,7 +342,7 @@ def get_non_negative_vision_feature_layers(v_hparams): fout.add_array("clip.vision.image_mean", image_mean) fout.add_array("clip.vision.image_std", image_std) -use_gelu = v_hparams.get("hidden_act","") == "gelu" +use_gelu = v_hparams["hidden_act"] == "gelu" fout.add_bool("clip.use_gelu", use_gelu) @@ -439,32 +350,26 @@ def get_non_negative_vision_feature_layers(v_hparams): # By default, we drop the last layer for llava projector # models unless we have explicitly set vision feature layers if feature_layers is None: - # Phi-3 Specific Keys - if args.projector_type == "phi3_v": - model.model.vision_embed_tokens.img_processor.vision_model.encoder.layers.pop(-1) - else: - model.vision_model.encoder.layers.pop(-1) + model.vision_model.encoder.layers.pop(-1) else: model.vision_model.encoder.layers = model.vision_model.encoder.layers[:max(feature_layers)] - if args.llava_projector: - projector = torch.load(args.llava_projector) - for name, data in projector.items(): - name = get_tensor_name(name) - # pw and dw conv ndim==4 - if data.ndim == 2 or data.ndim == 4: - data = data.squeeze().numpy().astype(np.float16) - else: - data = data.squeeze().numpy().astype(np.float32) + projector = torch.load(args.llava_projector) + for name, data in projector.items(): + name = get_tensor_name(name) + # pw and dw conv ndim==4 + if data.ndim == 2 or data.ndim == 4: + data = data.squeeze().numpy().astype(np.float16) + else: + data = data.squeeze().numpy().astype(np.float32) - fout.add_tensor(name, data) + fout.add_tensor(name, data) - print("Projector tensors added\n") + print("Projector tensors added\n") -print("Processing model tensors...") state_dict = model.state_dict() for name, data in state_dict.items(): - if should_skip_tensor(name, has_text_encoder, has_vision_encoder, has_llava_projector, args.projector_type): + if should_skip_tensor(name, has_text_encoder, has_vision_encoder, has_llava_projector): # we don't need this print(f"skipping parameter: {name}") continue @@ -489,7 +394,7 @@ def get_non_negative_vision_feature_layers(v_hparams): print(" Converting to float32") data = data.astype(np.float32) ftype_cur = 0 - if args.projector_type == "phi3_v": + else: if data.dtype != np.float32: print(" Converting to float32") data = data.astype(np.float32) @@ -504,4 +409,4 @@ def get_non_negative_vision_feature_layers(v_hparams): fout.write_tensors_to_file() fout.close() -print("Done. Output file: " + fname_out) \ No newline at end of file +print("Done. Output file: " + fname_out) diff --git a/tools/mtmd/mtmd-cli.cpp b/tools/mtmd/mtmd-cli.cpp index b5bbc6536b5..485d664f2f8 100644 --- a/tools/mtmd/mtmd-cli.cpp +++ b/tools/mtmd/mtmd-cli.cpp @@ -73,6 +73,7 @@ struct mtmd_cli_context { common_sampler * smpl; llama_batch batch; int n_batch; + int n_crops; mtmd::bitmaps bitmaps; @@ -96,6 +97,7 @@ struct mtmd_cli_context { n_threads = params.cpuparams.n_threads; batch = llama_batch_init(1, 0, 1); // batch for next token generation n_batch = params.n_batch; + n_crops = params.num_crops; if (!model || !lctx) { exit(1); @@ -139,6 +141,7 @@ struct mtmd_cli_context { mparams.warmup = params.warmup; mparams.image_min_tokens = params.image_min_tokens; mparams.image_max_tokens = params.image_max_tokens; + mparams.num_crops = params.num_crops; ctx_vision.reset(mtmd_init_from_file(clip_path, model, mparams)); if (!ctx_vision.get()) { LOG_ERR("Failed to load vision model from %s\n", clip_path); diff --git a/tools/mtmd/mtmd.cpp b/tools/mtmd/mtmd.cpp index 0e16e81c945..b4312e78b56 100644 --- a/tools/mtmd/mtmd.cpp +++ b/tools/mtmd/mtmd.cpp @@ -4,6 +4,7 @@ #include "mtmd-audio.h" #include "llama.h" +#include // fix problem with std::min and std::max #if defined(_WIN32) @@ -111,6 +112,7 @@ mtmd_context_params mtmd_context_params_default() { /* warmup */ true, /* image_min_tokens */ -1, /* image_max_tokens */ -1, + /* num_crops */ -1, }; return params; } @@ -178,6 +180,7 @@ struct mtmd_context { /* flash_attn_type */ CLIP_FLASH_ATTN_TYPE_AUTO, /* image_min_tokens */ ctx_params.image_min_tokens, /* image_max_tokens */ ctx_params.image_max_tokens, + /* num_crops */ ctx_params.num_crops, /* warmup */ ctx_params.warmup, }; @@ -546,12 +549,15 @@ struct mtmd_tokenizer { if (clip_is_phi3v(ctx->ctx_v)) { const int n_col = batch_f32.grid_x; const int n_row = batch_f32.grid_y; + const int n_tokens_per_crop = clip_n_output_tokens_x(ctx->ctx_v, batch_f32.entries[0].get()); + const int n_token_for_global_crop = (int)std::sqrt((n_tokens_per_crop)); + int n_sub_images = n_col * n_row; - size_t local_tokens = ((n_row * n_col) + 1) * 144; + size_t local_tokens = (n_sub_images + 1) * n_tokens_per_crop; if (n_sub_images == 0) local_tokens = 0; - size_t global_tokens = (n_row + 1) * 12; + size_t global_tokens = (n_row + 1) * n_token_for_global_crop; size_t separator_tokens = 1; size_t n_tokens = local_tokens + separator_tokens + global_tokens; @@ -843,7 +849,7 @@ int32_t mtmd_encode(mtmd_context * ctx, const mtmd_image_tokens * image_tokens) bool ok = false; if (clip_is_phi3v(ctx_clip)) { - // Delegate the entire stitching logic to the optimized C++ function in clip.cpp + // Delegate the entire stitching logic to clip.cpp ok = clip_image_batch_encode_phi3( ctx_clip, ctx->n_threads, diff --git a/tools/mtmd/mtmd.h b/tools/mtmd/mtmd.h index b3df24c299d..46f033eb37a 100644 --- a/tools/mtmd/mtmd.h +++ b/tools/mtmd/mtmd.h @@ -87,6 +87,7 @@ struct mtmd_context_params { // limit number of image tokens, only for vision models with dynamic resolution int image_min_tokens; // minimum number of tokens for image input (default: read from metadata) int image_max_tokens; // maximum number of tokens for image input (default: read from metadata) + int num_crops; // Phi-3.5 Vison max number of crops }; MTMD_API const char * mtmd_default_marker(void); From b4fe0f078f31ebba6d02bb2e794c2b0b70116e44 Mon Sep 17 00:00:00 2001 From: Eric Curtin Date: Tue, 2 Dec 2025 11:18:15 +0000 Subject: [PATCH 06/35] codeowners : remove ericcurtin (#17658) Taking a break from llama.cpp . I wasn't around at the start of llama.cpp but I want to thank @ggerganov and @slaren for creating a neat community here. Signed-off-by: Eric Curtin --- CODEOWNERS | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 6ef6c0489f1..27c8a61a1a8 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,7 +7,7 @@ /ci/ @ggerganov /cmake/ @ggerganov /common/CMakeLists.txt @ggerganov -/common/arg.* @ggerganov @ericcurtin +/common/arg.* @ggerganov /common/base64.hpp.* @ggerganov /common/build-info.* @ggerganov /common/common.* @ggerganov @@ -87,8 +87,7 @@ /tools/perplexity/ @ggerganov /tools/quantize/ @ggerganov /tools/rpc/ @rgerganov -/tools/run/ @ericcurtin -/tools/server/* @ngxson @ggerganov @ericcurtin # no subdir +/tools/server/* @ngxson @ggerganov # no subdir /tools/server/webui/ @allozaur /tools/tokenize/ @ggerganov /tools/tts/ @ggerganov From 2cd62b4c8d3738d6b587d481fa192347c83f2ebe Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 2 Dec 2025 12:52:45 +0100 Subject: [PATCH 07/35] ggml : remove redundant n_copies check when setting input/output (#17612) This commit removes a redundant check for sched->n_copies > 1 when setting input and output flags on tensor copies in ggml_backend_sched_split_graph. The motivation for this change is to clarify the code as the outer if statement already performs this check. --- ggml/src/ggml-backend.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ggml/src/ggml-backend.cpp b/ggml/src/ggml-backend.cpp index 1d88c826bb1..08681f35e3f 100644 --- a/ggml/src/ggml-backend.cpp +++ b/ggml/src/ggml-backend.cpp @@ -1240,10 +1240,8 @@ void ggml_backend_sched_split_graph(ggml_backend_sched_t sched, struct ggml_cgra tensor_copy = ggml_dup_tensor_layout(sched->ctx, src); ggml_format_name(tensor_copy, "%s#%s#%d", ggml_backend_name(backend), src->name, c); } - if (sched->n_copies > 1) { - ggml_set_input(tensor_copy); - ggml_set_output(tensor_copy); // prevent ggml-alloc from overwriting the tensor - } + ggml_set_input(tensor_copy); + ggml_set_output(tensor_copy); // prevent ggml-alloc from overwriting the tensor tensor_id_copy(src_id, src_backend_id, c) = tensor_copy; SET_CAUSE(tensor_copy, "4.cpy"); } From b8b69cb251ee2e6337a549a47291b0b0ec9730b3 Mon Sep 17 00:00:00 2001 From: TianHao324 Date: Tue, 2 Dec 2025 20:35:23 +0800 Subject: [PATCH 08/35] CANN: Disable Ger operator of OUT_PROD on 310p device (#17563) --- ggml/src/ggml-cann/ggml-cann.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index cd1b5e5b944..544c1e2a501 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -2564,6 +2564,10 @@ static bool ggml_backend_cann_supports_op(ggml_backend_dev_t dev, const ggml_ten return true; case GGML_OP_OUT_PROD: { +#ifdef ASCEND_310P + // Ger is not supported on 310p device + return false; +#endif switch (op->src[0]->type) { case GGML_TYPE_F16: case GGML_TYPE_F32: From e0f63630c3423f0b41f5484048c70d0956146726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Tue, 2 Dec 2025 17:21:11 +0100 Subject: [PATCH 09/35] ggml : use svcntb() for SVE vector length detection (#17474) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- ggml/src/ggml-cpu/ggml-cpu.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index 3247af8bb03..e19e82ac9ce 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -683,22 +683,14 @@ bool ggml_is_numa(void) { } #if defined(__ARM_ARCH) - -#if defined(__linux__) && defined(__aarch64__) -#include -#endif - -static void ggml_init_arm_arch_features(void) { #if defined(__aarch64__) && defined(__ARM_FEATURE_SVE) -#if defined(__linux__) - ggml_arm_arch_features.sve_cnt = PR_SVE_VL_LEN_MASK & prctl(PR_SVE_GET_VL); +#include +static void ggml_init_arm_arch_features(void) { + ggml_arm_arch_features.sve_cnt = svcntb(); +} #else - // TODO: add support of SVE for non-linux systems -#error "TODO: SVE is not supported on this platform. To use SVE, sve_cnt needs to be initialized here." -#endif +static void ggml_init_arm_arch_features(void) {} #endif -} - #endif // __ARM_ARCH struct ggml_tensor * ggml_new_i32(struct ggml_context * ctx, int32_t value) { From e1b7b3289d10d98e22cc9b464c206a89c3e7a6b9 Mon Sep 17 00:00:00 2001 From: Chad Voegele Date: Tue, 2 Dec 2025 10:33:50 -0600 Subject: [PATCH 10/35] Server: Change Invalid Schema from Server Error (500) to User Error (400) (#17572) * Make invalid schema a user error (400) * Move invalid_argument exception handler to ex_wrapper * Fix test * Simplify test back to original pattern --- common/chat.cpp | 32 ++++++++--------- common/json-schema-to-grammar.cpp | 2 +- tests/test-json-schema-to-grammar.cpp | 2 +- tools/server/server-common.cpp | 36 +++++++++---------- tools/server/server.cpp | 8 ++++- .../server/tests/unit/test_chat_completion.py | 2 +- 6 files changed, 44 insertions(+), 38 deletions(-) diff --git a/common/chat.cpp b/common/chat.cpp index b4a0f985e2e..5baafd6ea3b 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -163,7 +163,7 @@ common_chat_tool_choice common_chat_tool_choice_parse_oaicompat(const std::strin if (tool_choice == "required") { return COMMON_CHAT_TOOL_CHOICE_REQUIRED; } - throw std::runtime_error("Invalid tool_choice: " + tool_choice); + throw std::invalid_argument("Invalid tool_choice: " + tool_choice); } bool common_chat_templates_support_enable_thinking(const common_chat_templates * chat_templates) { @@ -186,17 +186,17 @@ std::vector common_chat_msgs_parse_oaicompat(const json & messa try { if (!messages.is_array()) { - throw std::runtime_error("Expected 'messages' to be an array, got " + messages.dump()); + throw std::invalid_argument("Expected 'messages' to be an array, got " + messages.dump()); } for (const auto & message : messages) { if (!message.is_object()) { - throw std::runtime_error("Expected 'message' to be an object, got " + message.dump()); + throw std::invalid_argument("Expected 'message' to be an object, got " + message.dump()); } common_chat_msg msg; if (!message.contains("role")) { - throw std::runtime_error("Missing 'role' in message: " + message.dump()); + throw std::invalid_argument("Missing 'role' in message: " + message.dump()); } msg.role = message.at("role"); @@ -209,11 +209,11 @@ std::vector common_chat_msgs_parse_oaicompat(const json & messa } else if (content.is_array()) { for (const auto & part : content) { if (!part.contains("type")) { - throw std::runtime_error("Missing content part type: " + part.dump()); + throw std::invalid_argument("Missing content part type: " + part.dump()); } const auto & type = part.at("type"); if (type != "text") { - throw std::runtime_error("Unsupported content part type: " + type.dump()); + throw std::invalid_argument("Unsupported content part type: " + type.dump()); } common_chat_msg_content_part msg_part; msg_part.type = type; @@ -221,25 +221,25 @@ std::vector common_chat_msgs_parse_oaicompat(const json & messa msg.content_parts.push_back(msg_part); } } else if (!content.is_null()) { - throw std::runtime_error("Invalid 'content' type: expected string or array, got " + content.dump() + " (ref: https://github.com/ggml-org/llama.cpp/issues/8367)"); + throw std::invalid_argument("Invalid 'content' type: expected string or array, got " + content.dump() + " (ref: https://github.com/ggml-org/llama.cpp/issues/8367)"); } } if (has_tool_calls) { for (const auto & tool_call : message.at("tool_calls")) { common_chat_tool_call tc; if (!tool_call.contains("type")) { - throw std::runtime_error("Missing tool call type: " + tool_call.dump()); + throw std::invalid_argument("Missing tool call type: " + tool_call.dump()); } const auto & type = tool_call.at("type"); if (type != "function") { - throw std::runtime_error("Unsupported tool call type: " + tool_call.dump()); + throw std::invalid_argument("Unsupported tool call type: " + tool_call.dump()); } if (!tool_call.contains("function")) { - throw std::runtime_error("Missing tool call function: " + tool_call.dump()); + throw std::invalid_argument("Missing tool call function: " + tool_call.dump()); } const auto & fc = tool_call.at("function"); if (!fc.contains("name")) { - throw std::runtime_error("Missing tool call name: " + tool_call.dump()); + throw std::invalid_argument("Missing tool call name: " + tool_call.dump()); } tc.name = fc.at("name"); tc.arguments = fc.at("arguments"); @@ -250,7 +250,7 @@ std::vector common_chat_msgs_parse_oaicompat(const json & messa } } if (!has_content && !has_tool_calls) { - throw std::runtime_error("Expected 'content' or 'tool_calls' (ref: https://github.com/ggml-org/llama.cpp/issues/8367 & https://github.com/ggml-org/llama.cpp/issues/12279)"); + throw std::invalid_argument("Expected 'content' or 'tool_calls' (ref: https://github.com/ggml-org/llama.cpp/issues/8367 & https://github.com/ggml-org/llama.cpp/issues/12279)"); } if (message.contains("reasoning_content")) { msg.reasoning_content = message.at("reasoning_content"); @@ -353,18 +353,18 @@ std::vector common_chat_tools_parse_oaicompat(const json & too try { if (!tools.is_null()) { if (!tools.is_array()) { - throw std::runtime_error("Expected 'tools' to be an array, got " + tools.dump()); + throw std::invalid_argument("Expected 'tools' to be an array, got " + tools.dump()); } for (const auto & tool : tools) { if (!tool.contains("type")) { - throw std::runtime_error("Missing tool type: " + tool.dump()); + throw std::invalid_argument("Missing tool type: " + tool.dump()); } const auto & type = tool.at("type"); if (!type.is_string() || type != "function") { - throw std::runtime_error("Unsupported tool type: " + tool.dump()); + throw std::invalid_argument("Unsupported tool type: " + tool.dump()); } if (!tool.contains("function")) { - throw std::runtime_error("Missing tool function: " + tool.dump()); + throw std::invalid_argument("Missing tool function: " + tool.dump()); } const auto & function = tool.at("function"); diff --git a/common/json-schema-to-grammar.cpp b/common/json-schema-to-grammar.cpp index c8421e1e826..c3b4e5d9dc7 100644 --- a/common/json-schema-to-grammar.cpp +++ b/common/json-schema-to-grammar.cpp @@ -974,7 +974,7 @@ class SchemaConverter { void check_errors() { if (!_errors.empty()) { - throw std::runtime_error("JSON schema conversion failed:\n" + string_join(_errors, "\n")); + throw std::invalid_argument("JSON schema conversion failed:\n" + string_join(_errors, "\n")); } if (!_warnings.empty()) { fprintf(stderr, "WARNING: JSON schema conversion was incomplete: %s\n", string_join(_warnings, "; ").c_str()); diff --git a/tests/test-json-schema-to-grammar.cpp b/tests/test-json-schema-to-grammar.cpp index 1e568219d21..6a4bd8fb4dc 100755 --- a/tests/test-json-schema-to-grammar.cpp +++ b/tests/test-json-schema-to-grammar.cpp @@ -1375,7 +1375,7 @@ int main() { try { tc.verify(json_schema_to_grammar(nlohmann::ordered_json::parse(tc.schema), true)); tc.verify_status(SUCCESS); - } catch (const std::runtime_error & ex) { + } catch (const std::invalid_argument & ex) { fprintf(stderr, "Error: %s\n", ex.what()); tc.verify_status(FAILURE); } diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index f48ea5b62a5..6a42c3926ae 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -819,26 +819,26 @@ json oaicompat_chat_params_parse( auto schema_wrapper = json_value(response_format, "json_schema", json::object()); json_schema = json_value(schema_wrapper, "schema", json::object()); } else if (!response_type.empty() && response_type != "text") { - throw std::runtime_error("response_format type must be one of \"text\" or \"json_object\", but got: " + response_type); + throw std::invalid_argument("response_format type must be one of \"text\" or \"json_object\", but got: " + response_type); } } // get input files if (!body.contains("messages")) { - throw std::runtime_error("'messages' is required"); + throw std::invalid_argument("'messages' is required"); } json & messages = body.at("messages"); if (!messages.is_array()) { - throw std::runtime_error("Expected 'messages' to be an array"); + throw std::invalid_argument("Expected 'messages' to be an array"); } for (auto & msg : messages) { std::string role = json_value(msg, "role", std::string()); if (role != "assistant" && !msg.contains("content")) { - throw std::runtime_error("All non-assistant messages must contain 'content'"); + throw std::invalid_argument("All non-assistant messages must contain 'content'"); } if (role == "assistant") { if (!msg.contains("content") && !msg.contains("tool_calls")) { - throw std::runtime_error("Assistant message must contain either 'content' or 'tool_calls'!"); + throw std::invalid_argument("Assistant message must contain either 'content' or 'tool_calls'!"); } if (!msg.contains("content")) { continue; // avoid errors with no content @@ -850,7 +850,7 @@ json oaicompat_chat_params_parse( } if (!content.is_array()) { - throw std::runtime_error("Expected 'content' to be a string or an array"); + throw std::invalid_argument("Expected 'content' to be a string or an array"); } for (auto & p : content) { @@ -884,11 +884,11 @@ json oaicompat_chat_params_parse( // try to decode base64 image std::vector parts = string_split(url, /*separator*/ ','); if (parts.size() != 2) { - throw std::runtime_error("Invalid image_url.url value"); + throw std::invalid_argument("Invalid image_url.url value"); } else if (!string_starts_with(parts[0], "data:image/")) { - throw std::runtime_error("Invalid image_url.url format: " + parts[0]); + throw std::invalid_argument("Invalid image_url.url format: " + parts[0]); } else if (!string_ends_with(parts[0], "base64")) { - throw std::runtime_error("image_url.url must be base64 encoded"); + throw std::invalid_argument("image_url.url must be base64 encoded"); } else { auto base64_data = parts[1]; auto decoded_data = base64_decode(base64_data); @@ -911,7 +911,7 @@ json oaicompat_chat_params_parse( std::string format = json_value(input_audio, "format", std::string()); // while we also support flac, we don't allow it here so we matches the OAI spec if (format != "wav" && format != "mp3") { - throw std::runtime_error("input_audio.format must be either 'wav' or 'mp3'"); + throw std::invalid_argument("input_audio.format must be either 'wav' or 'mp3'"); } auto decoded_data = base64_decode(data); // expected to be base64 encoded out_files.push_back(decoded_data); @@ -922,7 +922,7 @@ json oaicompat_chat_params_parse( p.erase("input_audio"); } else if (type != "text") { - throw std::runtime_error("unsupported content[].type"); + throw std::invalid_argument("unsupported content[].type"); } } } @@ -940,7 +940,7 @@ json oaicompat_chat_params_parse( inputs.enable_thinking = opt.enable_thinking; if (!inputs.tools.empty() && inputs.tool_choice != COMMON_CHAT_TOOL_CHOICE_NONE) { if (body.contains("grammar")) { - throw std::runtime_error("Cannot use custom grammar constraints with tools."); + throw std::invalid_argument("Cannot use custom grammar constraints with tools."); } llama_params["parse_tool_calls"] = true; } @@ -959,7 +959,7 @@ json oaicompat_chat_params_parse( } else if (enable_thinking_kwarg == "false") { inputs.enable_thinking = false; } else if (!enable_thinking_kwarg.empty() && enable_thinking_kwarg[0] == '"') { - throw std::runtime_error("invalid type for \"enable_thinking\" (expected boolean, got string)"); + throw std::invalid_argument("invalid type for \"enable_thinking\" (expected boolean, got string)"); } // if the assistant message appears at the end of list, we do not add end-of-turn token @@ -972,14 +972,14 @@ json oaicompat_chat_params_parse( /* sanity check, max one assistant message at the end of the list */ if (!inputs.messages.empty() && inputs.messages.back().role == "assistant"){ - throw std::runtime_error("Cannot have 2 or more assistant messages at the end of the list."); + throw std::invalid_argument("Cannot have 2 or more assistant messages at the end of the list."); } /* TODO: test this properly */ inputs.reasoning_format = COMMON_REASONING_FORMAT_NONE; if ( inputs.enable_thinking ) { - throw std::runtime_error("Assistant response prefill is incompatible with enable_thinking."); + throw std::invalid_argument("Assistant response prefill is incompatible with enable_thinking."); } inputs.add_generation_prompt = true; @@ -1020,18 +1020,18 @@ json oaicompat_chat_params_parse( // Handle "n" field int n_choices = json_value(body, "n", 1); if (n_choices != 1) { - throw std::runtime_error("Only one completion choice is allowed"); + throw std::invalid_argument("Only one completion choice is allowed"); } // Handle "logprobs" field // TODO: The response format of this option is not yet OAI-compatible, but seems like no one really using it; We may need to fix it in the future if (json_value(body, "logprobs", false)) { if (has_tools && stream) { - throw std::runtime_error("logprobs is not supported with tools + stream"); + throw std::invalid_argument("logprobs is not supported with tools + stream"); } llama_params["n_probs"] = json_value(body, "top_logprobs", 20); } else if (body.contains("top_logprobs") && !body.at("top_logprobs").is_null()) { - throw std::runtime_error("top_logprobs requires logprobs to be set to true"); + throw std::invalid_argument("top_logprobs requires logprobs to be set to true"); } // Copy remaining properties to llama_params diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 950537d82d0..16e52a1a0cd 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -34,18 +34,24 @@ static inline void signal_handler(int signal) { static server_http_context::handler_t ex_wrapper(server_http_context::handler_t func) { return [func = std::move(func)](const server_http_req & req) -> server_http_res_ptr { std::string message; + error_type error; try { return func(req); + } catch (const std::invalid_argument & e) { + error = ERROR_TYPE_INVALID_REQUEST; + message = e.what(); } catch (const std::exception & e) { + error = ERROR_TYPE_SERVER; message = e.what(); } catch (...) { + error = ERROR_TYPE_SERVER; message = "unknown error"; } auto res = std::make_unique(); res->status = 500; try { - json error_data = format_error_response(message, ERROR_TYPE_SERVER); + json error_data = format_error_response(message, error); res->status = json_value(error_data, "code", 500); res->data = safe_json_to_str({{ "error", error_data }}); SRV_WRN("got exception: %s\n", res->data.c_str()); diff --git a/tools/server/tests/unit/test_chat_completion.py b/tools/server/tests/unit/test_chat_completion.py index 093cec91555..aa6229c93a5 100644 --- a/tools/server/tests/unit/test_chat_completion.py +++ b/tools/server/tests/unit/test_chat_completion.py @@ -199,7 +199,7 @@ def test_completion_with_response_format(response_format: dict, n_predicted: int choice = res.body["choices"][0] assert match_regex(re_content, choice["message"]["content"]) else: - assert res.status_code != 200 + assert res.status_code == 400 assert "error" in res.body From 689a6f41529e620653228e14a14ab7d88569b593 Mon Sep 17 00:00:00 2001 From: xiaobing318 <71554036+xiaobing318@users.noreply.github.com> Date: Wed, 3 Dec 2025 01:50:57 +0800 Subject: [PATCH 11/35] cmake : add utf8 compilation options for msvc (#17682) --- ggml/CMakeLists.txt | 89 ++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 42 deletions(-) diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index 9b10df00dae..689f0327c49 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -408,62 +408,67 @@ if (MSVC) /wd4996 # Disable POSIX deprecation warnings /wd4702 # Unreachable code warnings ) - function(disable_msvc_warnings target_name) + set(MSVC_COMPILE_OPTIONS + "$<$:/utf-8>" + "$<$:/utf-8>" + ) + function(configure_msvc_target target_name) if(TARGET ${target_name}) target_compile_options(${target_name} PRIVATE ${MSVC_WARNING_FLAGS}) + target_compile_options(${target_name} PRIVATE ${MSVC_COMPILE_OPTIONS}) endif() endfunction() - disable_msvc_warnings(ggml-base) - disable_msvc_warnings(ggml) - disable_msvc_warnings(ggml-cpu) - disable_msvc_warnings(ggml-cpu-x64) - disable_msvc_warnings(ggml-cpu-sse42) - disable_msvc_warnings(ggml-cpu-sandybridge) - disable_msvc_warnings(ggml-cpu-haswell) - disable_msvc_warnings(ggml-cpu-skylakex) - disable_msvc_warnings(ggml-cpu-icelake) - disable_msvc_warnings(ggml-cpu-alderlake) + configure_msvc_target(ggml-base) + configure_msvc_target(ggml) + configure_msvc_target(ggml-cpu) + configure_msvc_target(ggml-cpu-x64) + configure_msvc_target(ggml-cpu-sse42) + configure_msvc_target(ggml-cpu-sandybridge) + configure_msvc_target(ggml-cpu-haswell) + configure_msvc_target(ggml-cpu-skylakex) + configure_msvc_target(ggml-cpu-icelake) + configure_msvc_target(ggml-cpu-alderlake) if (GGML_BUILD_EXAMPLES) - disable_msvc_warnings(common-ggml) - disable_msvc_warnings(common) + configure_msvc_target(common-ggml) + configure_msvc_target(common) - disable_msvc_warnings(mnist-common) - disable_msvc_warnings(mnist-eval) - disable_msvc_warnings(mnist-train) + configure_msvc_target(mnist-common) + configure_msvc_target(mnist-eval) + configure_msvc_target(mnist-train) - disable_msvc_warnings(gpt-2-ctx) - disable_msvc_warnings(gpt-2-alloc) - disable_msvc_warnings(gpt-2-backend) - disable_msvc_warnings(gpt-2-sched) - disable_msvc_warnings(gpt-2-quantize) - disable_msvc_warnings(gpt-2-batched) + configure_msvc_target(gpt-2-ctx) + configure_msvc_target(gpt-2-alloc) + configure_msvc_target(gpt-2-backend) + configure_msvc_target(gpt-2-sched) + configure_msvc_target(gpt-2-quantize) + configure_msvc_target(gpt-2-batched) - disable_msvc_warnings(gpt-j) - disable_msvc_warnings(gpt-j-quantize) + configure_msvc_target(gpt-j) + configure_msvc_target(gpt-j-quantize) - disable_msvc_warnings(magika) - disable_msvc_warnings(yolov3-tiny) - disable_msvc_warnings(sam) + configure_msvc_target(magika) + configure_msvc_target(yolov3-tiny) + configure_msvc_target(sam) - disable_msvc_warnings(simple-ctx) - disable_msvc_warnings(simple-backend) + configure_msvc_target(simple-ctx) + configure_msvc_target(simple-backend) endif() if (GGML_BUILD_TESTS) - disable_msvc_warnings(test-mul-mat) - disable_msvc_warnings(test-arange) - disable_msvc_warnings(test-backend-ops) - disable_msvc_warnings(test-cont) - disable_msvc_warnings(test-conv-transpose) - disable_msvc_warnings(test-conv-transpose-1d) - disable_msvc_warnings(test-conv1d) - disable_msvc_warnings(test-conv2d) - disable_msvc_warnings(test-conv2d-dw) - disable_msvc_warnings(test-customop) - disable_msvc_warnings(test-dup) - disable_msvc_warnings(test-opt) - disable_msvc_warnings(test-pool) + configure_msvc_target(test-mul-mat) + configure_msvc_target(test-arange) + configure_msvc_target(test-backend-ops) + configure_msvc_target(test-cont) + configure_msvc_target(test-conv-transpose) + configure_msvc_target(test-conv-transpose-1d) + configure_msvc_target(test-conv1d) + configure_msvc_target(test-conv2d) + configure_msvc_target(test-conv2d-dw) + configure_msvc_target(test-customop) + configure_msvc_target(test-dup) + configure_msvc_target(test-opt) + configure_msvc_target(test-pool) endif () endif() From 6c3fb8401f66526a96c424befcbb88bfb8a87258 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Tue, 2 Dec 2025 12:22:04 -0600 Subject: [PATCH 12/35] vulkan: Reduce temporary memory usage for TOP_K (#17623) - Compute row size for the temp buffer based on the output of the first pass. - Update shader addressing math to use the output row size - Pass the output row size as "ncols_output", what used to be "ncols_output" is now "k" For the common case of K=40 and src0=(200000,1,1,1), this reduces the temporary buffer from about 3.2MB to 500KB. --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 39 +++++++++++++------ .../vulkan-shaders/topk_argsort.comp | 19 +++++---- .../vulkan-shaders/topk_nary_search.comp | 23 ++++++----- 3 files changed, 54 insertions(+), 27 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 95966ce1d8e..f917a745d5a 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -1227,6 +1227,7 @@ struct vk_op_topk_push_constants { uint32_t orig_ncols; uint32_t ncols_input; uint32_t ncols_output; + uint32_t k; uint32_t nrows; uint32_t first_pass; uint32_t last_pass; @@ -1673,6 +1674,14 @@ class vk_perf_logger { timings[name.str()].push_back(time); return; } + if (node->op == GGML_OP_TOP_K) { + std::stringstream name; + name << ggml_op_name(node->op) << + " K=" << node->ne[0] << + " (" << node->src[0]->ne[0] << "," << node->src[0]->ne[1] << "," << node->src[0]->ne[2] << "," << node->src[0]->ne[3] << ")"; + timings[name.str()].push_back(time); + return; + } timings[ggml_op_name(node->op)].push_back(time); } private: @@ -10345,17 +10354,8 @@ static void ggml_vk_topk(ggml_backend_vk_context * ctx, vk_context& subctx, cons uint32_t nrows = ggml_nrows(src0); uint32_t k = dst->ne[0]; - vk_op_topk_push_constants pc { ncols, ncols, k, nrows, 0, 0 }; + vk_op_topk_push_constants pc { ncols, ncols, ncols, k, nrows, 0, 0 }; - // Reserve space for ivec2 per element, double buffered - const size_t dbl_buf_size = size_t{ncols} * nrows * 2 * sizeof(int); - const size_t x_sz = dbl_buf_size * 2; - uint32_t dbl_buf_index = 0; - - if (ctx->prealloc_size_x < x_sz) { - ctx->prealloc_size_x = x_sz; - ggml_vk_preallocate_buffers(ctx, subctx); - } if (ctx->prealloc_x_need_sync) { ggml_vk_sync_buffers(ctx, subctx); } @@ -10370,8 +10370,9 @@ static void ggml_vk_topk(ggml_backend_vk_context * ctx, vk_context& subctx, cons // largest elements. Repeat until we have the top K elements. // Need to do at least one iteration to write out the results. bool done_one_iter = false; + uint32_t dbl_buf_index = 0; + size_t dbl_buf_size; while (num_elements > k || !done_one_iter) { - done_one_iter = true; // Prefer going as small as num_topk_pipelines - 3 for perf reasons. // But if K is larger, then we need a larger workgroup @@ -10411,6 +10412,21 @@ static void ggml_vk_topk(ggml_backend_vk_context * ctx, vk_context& subctx, cons // Number of elements remaining after this pass uint32_t num_dst_elements = (num_elements / pipeline->wg_denoms[0]) * k + std::min(k, num_elements % pipeline->wg_denoms[0]); + pc2.ncols_output = num_dst_elements; + + if (!done_one_iter) { + // Reserve space for ivec2 per element, double buffered + // K per workgroup per row + dbl_buf_size = num_dst_elements * nrows * 2 * sizeof(int); + dbl_buf_size = ROUNDUP_POW2(dbl_buf_size, ctx->device->properties.limits.minStorageBufferOffsetAlignment); + const size_t x_sz = dbl_buf_size * 2; + + if (ctx->prealloc_size_x < x_sz) { + ctx->prealloc_size_x = x_sz; + ggml_vk_preallocate_buffers(ctx, subctx); + } + } + vk_subbuffer src_buf; vk_subbuffer dst_buf; @@ -10436,6 +10452,7 @@ static void ggml_vk_topk(ggml_backend_vk_context * ctx, vk_context& subctx, cons if (num_elements > k) { ggml_vk_sync_buffers(ctx, subctx); } + done_one_iter = true; } ctx->prealloc_x_need_sync = true; } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/topk_argsort.comp b/ggml/src/ggml-vulkan/vulkan-shaders/topk_argsort.comp index cd858b7d326..49d4ab8e7c0 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/topk_argsort.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/topk_argsort.comp @@ -19,6 +19,7 @@ layout (push_constant) uniform parameter { uint orig_ncols; uint ncols_input; uint ncols_output; + uint k; uint nrows; uint first_pass; uint last_pass; @@ -36,7 +37,7 @@ void topk(bool needs_bounds_check, const uint row) { const uint row_offset = row * p.ncols_input; dst_row[col] = ivec2(gl_GlobalInvocationID.x, floatBitsToInt(data_a[row_offset + gl_GlobalInvocationID.x])); } else { - const uint row_offset = row * p.orig_ncols; + const uint row_offset = row * p.ncols_input; dst_row[col] = data_s[row_offset + gl_GlobalInvocationID.x]; } } else { @@ -44,7 +45,7 @@ void topk(bool needs_bounds_check, const uint row) { } barrier(); - if (p.ncols_output == 1) { + if (p.k == 1) { // Fast path for single output - just do a max reduction [[unroll]] for (int s = BLOCK_SIZE / 2; s >= 1; s /= 2) { if (col < s) { @@ -84,13 +85,17 @@ void topk(bool needs_bounds_check, const uint row) { } } - if (col < p.ncols_output && gl_GlobalInvocationID.x < p.orig_ncols) { + if (col < p.k) { if (p.last_pass != 0) { - const uint row_offset = row * p.ncols_output; - data_d[row_offset + col] = dst_row[col].x; + if (gl_GlobalInvocationID.x < p.ncols_input) { + const uint row_offset = row * p.k; + data_d[row_offset + col] = dst_row[col].x; + } } else { - const uint row_offset = row * p.orig_ncols + gl_WorkGroupID.x * p.ncols_output; - data_t[row_offset + col] = dst_row[col]; + if (gl_WorkGroupID.x * p.k + col < p.ncols_output) { + const uint row_offset = row * p.ncols_output + gl_WorkGroupID.x * p.k; + data_t[row_offset + col] = dst_row[col]; + } } } } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/topk_nary_search.comp b/ggml/src/ggml-vulkan/vulkan-shaders/topk_nary_search.comp index c902e60237a..f794285ee15 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/topk_nary_search.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/topk_nary_search.comp @@ -25,6 +25,7 @@ layout (push_constant) uniform parameter { uint orig_ncols; uint ncols_input; uint ncols_output; + uint k; uint nrows; uint first_pass; uint last_pass; @@ -60,7 +61,7 @@ void topk(const uint row) { const uint row_offset = row * p.ncols_input; dst_row[tid] = ivec2(gl_GlobalInvocationID.x, floatBitsToInt(data_a[row_offset + gl_GlobalInvocationID.x])); } else { - const uint row_offset = row * p.orig_ncols; + const uint row_offset = row * p.ncols_input; dst_row[tid] = data_s[row_offset + gl_GlobalInvocationID.x]; } } else { @@ -68,7 +69,7 @@ void topk(const uint row) { } barrier(); - if (p.ncols_output == 1) { + if (p.k == 1) { // Fast path for single output - just do a max reduction [[unroll]] for (int s = BLOCK_SIZE / 2; s >= 1; s /= 2) { if (tid < s) { @@ -98,7 +99,7 @@ void topk(const uint row) { uint range_max = 0xFF800000; // How many are above the current range, and how many we need to find. uint total = 0; - uint limit = min(p.ncols_output, p.ncols_input - gl_WorkGroupID.x * BLOCK_SIZE); + uint limit = min(p.k, p.ncols_input - gl_WorkGroupID.x * BLOCK_SIZE); while (mask != 0) { barrier(); @@ -139,7 +140,7 @@ void topk(const uint row) { range_max = range_min + ((min_idx + 1) << shift); range_min = range_min + (min_idx << shift); - if (total == p.ncols_output) { + if (total == p.k) { break; } total -= counts[min_idx]; @@ -179,13 +180,17 @@ void topk(const uint row) { barrier(); } - if (tid < p.ncols_output && gl_GlobalInvocationID.x < p.orig_ncols) { + if (tid < p.k) { if (p.last_pass != 0) { - const uint row_offset = row * p.ncols_output; - data_d[row_offset + tid] = dst_row[tid].x; + if (gl_GlobalInvocationID.x < p.ncols_input) { + const uint row_offset = row * p.k; + data_d[row_offset + tid] = dst_row[tid].x; + } } else { - const uint row_offset = row * p.orig_ncols + gl_WorkGroupID.x * p.ncols_output; - data_t[row_offset + tid] = dst_row[tid]; + if (gl_WorkGroupID.x * p.k + tid < p.ncols_output) { + const uint row_offset = row * p.ncols_output + gl_WorkGroupID.x * p.k; + data_t[row_offset + tid] = dst_row[tid]; + } } } } From 01208d589f905060a88b2e5181b5d31976c27bb3 Mon Sep 17 00:00:00 2001 From: Ali Tariq Date: Wed, 3 Dec 2025 01:46:10 +0500 Subject: [PATCH 13/35] ci : RVV1.0 builds with tests (#16682) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added RISC-V supported tests * Added default value for LLAMA_FATAL_WARNINGS and option to specify by user * Added RISC-V supported tests * Added default value for LLAMA_FATAL_WARNINGS and option to specify by user * Removed apt prompt * Added RISC-V specific tests with corrections Corrections included: 1. Changed the test names from debian to ubuntu as it is more stable than Debian Trixie 2. Added explicit compiler in cmake command as GCC compiler below version 14 have been recorded to throw errors with rvv1.0 and some other extensions 3. Added dependencies which are not installed by default in the RISC-V Ubuntu 24.04 4. Separate ccache directory for all jobs as all the ccache results are not the same and may cause ccache to not work * Resolved the merge conflict and cleaned up run.sh * Update ci/run.sh Co-authored-by: Sigbjørn Skjæret * Removed previously added build ci for RISC-V * Removed trailing whitespaces * corrected build name Co-authored-by: Sigbjørn Skjæret * cleanup * Enabled build tests (1) Co-authored-by: Sigbjørn Skjæret * Enabled build tests (2) Co-authored-by: Sigbjørn Skjæret * enable openssl --------- Co-authored-by: Sigbjørn Skjæret --- .github/workflows/build-riscv-native.yml | 120 -------- .github/workflows/build.yml | 331 +++++++++++++++++++++++ ci/run.sh | 2 +- 3 files changed, 332 insertions(+), 121 deletions(-) delete mode 100644 .github/workflows/build-riscv-native.yml diff --git a/.github/workflows/build-riscv-native.yml b/.github/workflows/build-riscv-native.yml deleted file mode 100644 index a3a0b0d6638..00000000000 --- a/.github/workflows/build-riscv-native.yml +++ /dev/null @@ -1,120 +0,0 @@ -name: Build on RISCV Linux Machine by Cloud-V -on: - pull_request: - workflow_dispatch: - workflow_call: - -jobs: - debian-13-riscv64-native: # Bianbu 2.2 - runs-on: [self-hosted, RISCV64] - - steps: - - name: Install prerequisites - run: | - sudo apt-get update || true - sudo apt-get install -y libatomic1 - - uses: actions/checkout@v4 - - name: Setup Riscv - run: | - sudo apt-get update || true - sudo apt-get install -y --no-install-recommends \ - build-essential \ - gcc-14-riscv64-linux-gnu \ - g++-14-riscv64-linux-gnu \ - ccache \ - cmake - - - name: Setup ccache - run: | - mkdir -p $HOME/.ccache - ccache -M 5G -d $HOME/.ccache - export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log - export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug" - echo "$GITHUB_WORKSPACE" - echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV - echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV - echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV - echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV - - - name: Build - run: | - cmake -B build \ - -DLLAMA_CURL=OFF \ - -DCMAKE_BUILD_TYPE=Release \ - -DGGML_OPENMP=OFF \ - -DLLAMA_BUILD_EXAMPLES=ON \ - -DLLAMA_BUILD_TOOLS=ON \ - -DLLAMA_BUILD_TESTS=OFF \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_SYSTEM_PROCESSOR=riscv64 \ - -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ - -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \ - -DCMAKE_C_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \ - -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH - - cmake --build build --config Release -j $(nproc) - - # debian-13-riscv64-spacemit-ime-native: # Bianbu 2.2 - # runs-on: [self-hosted, RISCV64] - - # steps: - # - name: Install prerequisites - # run: | - # sudo apt-get update || true - # sudo apt-get install -y libatomic1 - # - uses: actions/checkout@v4 - # - name: Setup Riscv - # run: | - # sudo apt-get update || true - # sudo apt-get install -y --no-install-recommends \ - # build-essential \ - # gcc-14-riscv64-linux-gnu \ - # g++-14-riscv64-linux-gnu \ - # ccache \ - # cmake - # sudo apt-get upgrade binutils -y - - # - name: Setup ccache - # run: | - # mkdir -p $HOME/.ccache - # ccache -M 5G -d $HOME/.ccache - # export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log - # export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug" - # echo "$GITHUB_WORKSPACE" - # echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV - # echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV - # echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV - # echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV - - # - name: Build - # run: | - # cmake -B build \ - # -DLLAMA_CURL=OFF \ - # -DCMAKE_BUILD_TYPE=Release \ - # -DGGML_OPENMP=OFF \ - # -DLLAMA_BUILD_EXAMPLES=ON \ - # -DLLAMA_BUILD_TOOLS=ON \ - # -DLLAMA_BUILD_TESTS=OFF \ - # -DCMAKE_SYSTEM_NAME=Linux \ - # -DCMAKE_SYSTEM_PROCESSOR=riscv64 \ - # -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ - # -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \ - # -DCMAKE_C_COMPILER_LAUNCHER=ccache \ - # -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - # -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - # -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \ - # -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ - # -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - # -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \ - # -DGGML_RVV=ON \ - # -DGGML_RV_ZFH=ON \ - # -DGGML_RV_ZICBOP=ON \ - # -DGGML_CPU_RISCV64_SPACEMIT=ON \ - # -DRISCV64_SPACEMIT_IME_SPEC=RISCV64_SPACEMIT_IME1 - - # cmake --build build --config Release -j $(nproc) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eee42759fc9..f0d295dfd4a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1642,6 +1642,337 @@ jobs: run: | GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt + ubuntu-cpu-cmake-riscv64-native: + runs-on: RISCV64 + + steps: + - name: Install dependencies + run: | + sudo apt-get update + + # Install necessary packages + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential libssl-dev wget ccache + + # Set gcc-14 and g++-14 as the default compilers + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 + sudo ln -sf /usr/bin/gcc-14 /usr/bin/gcc + sudo ln -sf /usr/bin/g++-14 /usr/bin/g++ + + # Install Rust stable version + rustup install stable + rustup default stable + + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Check environment + run: | + uname -a + gcc --version + g++ --version + ldd --version + cmake --version + rustc --version + + - name: Setup ccache + run: | + # Set unique cache directory for this job + export CCACHE_DIR="$HOME/.ccache/cpu-cmake-rv64-native" + mkdir -p "$CCACHE_DIR" + + # Configure ccache for optimal performance + ccache --set-config=max_size=5G + ccache --set-config=compression=true + ccache --set-config=compression_level=6 + ccache --set-config=cache_dir="$CCACHE_DIR" + + # Enable more aggressive caching + ccache --set-config=sloppiness=file_macro,time_macros,include_file_mtime,include_file_ctime + ccache --set-config=hash_dir=false + + # Export for subsequent steps + echo "CCACHE_DIR=$CCACHE_DIR" >> $GITHUB_ENV + echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV + + - name: Build + id: cmake_build + run: | + cmake -B build \ + -DLLAMA_CURL=OFF \ + -DLLAMA_OPENSSL=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DGGML_OPENMP=OFF \ + -DLLAMA_BUILD_EXAMPLES=ON \ + -DLLAMA_BUILD_TOOLS=ON \ + -DLLAMA_BUILD_TESTS=ON \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DGGML_RPC=ON \ + -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ + -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 + + cmake --build build --config Release -j $(nproc) + + - name: Test + id: cmake_test + run: | + cd build + ctest -L 'main|curl' --verbose --timeout 900 + + - name: Test llama2c conversion + id: llama2c_test + run: | + cd build + echo "Fetch tokenizer" + wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/tok512.bin + echo "Fetch llama2c model" + wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/stories260K.bin + ./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf + ./bin/llama-cli -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256 + + ubuntu-cmake-sanitizer-riscv64-native: + runs-on: RISCV64 + + continue-on-error: true + + strategy: + matrix: + sanitizer: [ADDRESS, THREAD, UNDEFINED] + build_type: [Debug] + + steps: + - name: Install dependencies + run: | + sudo apt-get update + + # Install necessary packages + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache + + # Set gcc-14 and g++-14 as the default compilers + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 + sudo ln -sf /usr/bin/gcc-14 /usr/bin/gcc + sudo ln -sf /usr/bin/g++-14 /usr/bin/g++ + + # Install Rust stable version + rustup install stable + rustup default stable + + - name: GCC version check + run: | + gcc --version + g++ --version + + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Setup ccache + run: | + # Unique cache directory per matrix combination + export CCACHE_DIR="$HOME/.ccache/sanitizer-${{ matrix.sanitizer }}-${{ matrix.build_type }}" + mkdir -p "$CCACHE_DIR" + + # Configure ccache + ccache --set-config=max_size=5G + ccache --set-config=compression=true + ccache --set-config=compression_level=6 + ccache --set-config=cache_dir="$CCACHE_DIR" + ccache --set-config=sloppiness=file_macro,time_macros,include_file_mtime,include_file_ctime + ccache --set-config=hash_dir=false + + # Export for subsequent steps + echo "CCACHE_DIR=$CCACHE_DIR" >> $GITHUB_ENV + echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV + + - name: Build + id: cmake_build + if: ${{ matrix.sanitizer != 'THREAD' }} + run: | + cmake -B build \ + -DLLAMA_CURL=OFF \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DGGML_OPENMP=ON \ + -DLLAMA_BUILD_EXAMPLES=ON \ + -DLLAMA_BUILD_TOOLS=ON \ + -DLLAMA_BUILD_TESTS=OFF \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ + -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ + -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 + + cmake --build build --config ${{ matrix.build_type }} -j $(nproc) + + - name: Build (no OpenMP) + id: cmake_build_no_openmp + if: ${{ matrix.sanitizer == 'THREAD' }} + run: | + cmake -B build \ + -DLLAMA_CURL=OFF \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DGGML_OPENMP=OFF \ + -DLLAMA_BUILD_EXAMPLES=ON \ + -DLLAMA_BUILD_TOOLS=ON \ + -DLLAMA_BUILD_TESTS=OFF \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ + -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ + -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 + + cmake --build build --config ${{ matrix.build_type }} -j $(nproc) + + - name: Test + id: cmake_test + run: | + cd build + ctest -L main --verbose --timeout 900 + + + ubuntu-llguidance-riscv64-native: + runs-on: RISCV64 + steps: + - name: Install dependencies + run: | + sudo apt-get update + + # Install necessary packages + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache + + # Set gcc-14 and g++-14 as the default compilers + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 + sudo ln -sf /usr/bin/gcc-14 /usr/bin/gcc + sudo ln -sf /usr/bin/g++-14 /usr/bin/g++ + + # Install Rust stable version + rustup install stable + rustup default stable + + - name: GCC version check + run: | + gcc --version + g++ --version + + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Setup ccache + run: | + export CCACHE_DIR="$HOME/.ccache/llguidance-riscv64" + mkdir -p "$CCACHE_DIR" + + ccache --set-config=max_size=5G + ccache --set-config=compression=true + ccache --set-config=compression_level=6 + ccache --set-config=cache_dir="$CCACHE_DIR" + ccache --set-config=sloppiness=file_macro,time_macros,include_file_mtime,include_file_ctime + ccache --set-config=hash_dir=false + + echo "CCACHE_DIR=$CCACHE_DIR" >> $GITHUB_ENV + echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV + + - name: Build + id: cmake_build + run: | + cmake -B build \ + -DLLAMA_CURL=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DGGML_OPENMP=OFF \ + -DLLAMA_BUILD_EXAMPLES=ON \ + -DLLAMA_BUILD_TOOLS=ON \ + -DLLAMA_BUILD_TESTS=OFF \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DLLAMA_LLGUIDANCE=ON \ + -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ + -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 + + cmake --build build --config Release -j $(nproc) + + - name: Test + id: cmake_test + run: | + cd build + ctest -L main --verbose --timeout 900 + + + ubuntu-cmake-rpc-riscv64-native: + runs-on: RISCV64 + + continue-on-error: true + + steps: + - name: Install dependencies + run: | + sudo apt-get update + + # Install necessary packages + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential libssl-dev wget ccache + + # Set gcc-14 and g++-14 as the default compilers + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 + sudo ln -sf /usr/bin/gcc-14 /usr/bin/gcc + sudo ln -sf /usr/bin/g++-14 /usr/bin/g++ + + # Install Rust stable version + rustup install stable + rustup default stable + + - name: GCC version check + run: | + gcc --version + g++ --version + + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Setup ccache + run: | + export CCACHE_DIR="$HOME/.ccache/rpc-riscv64" + mkdir -p "$CCACHE_DIR" + + ccache --set-config=max_size=5G + ccache --set-config=compression=true + ccache --set-config=compression_level=6 + ccache --set-config=cache_dir="$CCACHE_DIR" + ccache --set-config=sloppiness=file_macro,time_macros,include_file_mtime,include_file_ctime + ccache --set-config=hash_dir=false + + echo "CCACHE_DIR=$CCACHE_DIR" >> $GITHUB_ENV + echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV + + - name: Build + id: cmake_build + run: | + cmake -B build \ + -DLLAMA_CURL=OFF \ + -DLLAMA_OPENSSL=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DGGML_OPENMP=OFF \ + -DLLAMA_BUILD_EXAMPLES=ON \ + -DLLAMA_BUILD_TOOLS=ON \ + -DLLAMA_BUILD_TESTS=ON \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ + -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \ + -DGGML_RPC=ON + + cmake --build build --config Release -j $(nproc) + + - name: Test + id: cmake_test + run: | + cd build + ctest -L main --verbose + ggml-ci-arm64-graviton4-kleidiai: runs-on: ah-ubuntu_22_04-c8g_8x diff --git a/ci/run.sh b/ci/run.sh index 1dd65adeaac..83b2603e821 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -45,7 +45,7 @@ sd=`dirname $0` cd $sd/../ SRC=`pwd` -CMAKE_EXTRA="-DLLAMA_FATAL_WARNINGS=ON -DLLAMA_CURL=ON -DGGML_SCHED_NO_REALLOC=ON" +CMAKE_EXTRA="-DLLAMA_FATAL_WARNINGS=${LLAMA_FATAL_WARNINGS:-ON} -DLLAMA_CURL=ON -DGGML_SCHED_NO_REALLOC=ON" if [ ! -z ${GG_BUILD_METAL} ]; then CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_METAL=ON" From 88c32d254d7ea36e9af85e2bbc96be9cac2e557f Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Tue, 2 Dec 2025 22:48:08 +0100 Subject: [PATCH 14/35] mtmd: fix --no-warmup (#17695) --- common/arg.cpp | 2 +- tools/mtmd/clip.cpp | 49 +++++++++++++++++++++++++++------------------ 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 1304707e538..ee0d868e1c4 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1226,7 +1226,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params) { params.warmup = false; } - ).set_examples({LLAMA_EXAMPLE_MAIN, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_RETRIEVAL, LLAMA_EXAMPLE_PERPLEXITY})); + ).set_examples({LLAMA_EXAMPLE_MAIN, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_MTMD, LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_RETRIEVAL, LLAMA_EXAMPLE_PERPLEXITY})); add_opt(common_arg( {"--spm-infill"}, string_format( diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index c7563de76d0..5deb191db29 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -444,6 +444,7 @@ struct clip_ctx { int max_nodes = 8192; ggml_backend_sched_ptr sched; clip_flash_attn_type flash_attn_type = CLIP_FLASH_ATTN_TYPE_AUTO; + bool is_allocated = false; // for debugging bool debug_graph = false; @@ -3424,12 +3425,30 @@ struct clip_model_loader { }; static void warmup(clip_ctx & ctx_clip) { + // create a fake batch + const auto & hparams = ctx_clip.model.hparams; + clip_image_f32_batch batch; + clip_image_f32_ptr img(clip_image_f32_init()); + if (ctx_clip.model.modality == CLIP_MODALITY_VISION) { + img->nx = hparams.warmup_image_size; + img->ny = hparams.warmup_image_size; + LOG_INF("%s: warmup with image size = %d x %d\n", __func__, img->nx, img->ny); + } else { + img->nx = hparams.warmup_audio_size; + img->ny = hparams.n_mel_bins; + LOG_INF("%s: warmup with audio size = %d\n", __func__, img->nx); + } + batch.entries.push_back(std::move(img)); + warmup(ctx_clip, batch); + } + + static void warmup(clip_ctx & ctx_clip, const clip_image_f32_batch & batch) { support_info_graph info; if (ctx_clip.flash_attn_type == CLIP_FLASH_ATTN_TYPE_AUTO) { // try to enable flash attention to see if it's supported ctx_clip.flash_attn_type = CLIP_FLASH_ATTN_TYPE_ENABLED; - info = alloc_compute_meta(ctx_clip); + info = alloc_compute_meta(ctx_clip, batch); if (!info.fattn && info.fattn_op) { auto op = info.fattn_op; LOG_WRN("%s: *****************************************************************\n", __func__); @@ -3448,15 +3467,17 @@ struct clip_model_loader { LOG_WRN("%s: please report this on github as an issue\n", __func__); LOG_WRN("%s: *****************************************************************\n", __func__); ctx_clip.flash_attn_type = CLIP_FLASH_ATTN_TYPE_DISABLED; - alloc_compute_meta(ctx_clip); + alloc_compute_meta(ctx_clip, batch); } } else { - info = alloc_compute_meta(ctx_clip); + info = alloc_compute_meta(ctx_clip, batch); if (!info.fattn && ctx_clip.flash_attn_type == CLIP_FLASH_ATTN_TYPE_ENABLED) { LOG_WRN("%s: flash attention is not supported by the current backend; falling back to CPU (performance will be degraded)\n", __func__); } } + ctx_clip.is_allocated = true; // mark buffers as allocated + LOG_INF("%s: flash attention is %s\n", __func__, (ctx_clip.flash_attn_type == CLIP_FLASH_ATTN_TYPE_ENABLED) ? "enabled" : "disabled"); @@ -3488,24 +3509,9 @@ struct clip_model_loader { } } - static support_info_graph alloc_compute_meta(clip_ctx & ctx_clip) { - const auto & hparams = ctx_clip.model.hparams; + static support_info_graph alloc_compute_meta(clip_ctx & ctx_clip, const clip_image_f32_batch & batch) { ctx_clip.buf_compute_meta.resize(ctx_clip.max_nodes * ggml_tensor_overhead() + ggml_graph_overhead()); - // create a fake batch - clip_image_f32_batch batch; - clip_image_f32_ptr img(clip_image_f32_init()); - if (ctx_clip.model.modality == CLIP_MODALITY_VISION) { - img->nx = hparams.warmup_image_size; - img->ny = hparams.warmup_image_size; - LOG_INF("%s: warmup with image size = %d x %d\n", __func__, img->nx, img->ny); - } else { - img->nx = hparams.warmup_audio_size; - img->ny = hparams.n_mel_bins; - LOG_INF("%s: warmup with audio size = %d\n", __func__, img->nx); - } - batch.entries.push_back(std::move(img)); - ggml_cgraph * gf = clip_image_build_graph(&ctx_clip, batch); ggml_backend_sched_reserve(ctx_clip.sched.get(), gf); @@ -4838,6 +4844,11 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima return false; // only support batch size of 1 } + // if buffers are not allocated, we need to do a warmup run to allocate them + if (!ctx->is_allocated) { + clip_model_loader::warmup(*ctx, *imgs_c_ptr); + } + // build the inference graph ctx->debug_print_tensors.clear(); ggml_backend_sched_reset(ctx->sched.get()); From 80beacfa9aa09dfeb447deab82203ef684e8d6f1 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Tue, 2 Dec 2025 22:49:20 +0100 Subject: [PATCH 15/35] server: add --media-path for local media files (#17697) * server: add --media-path for local media files * remove unused fn --- common/arg.cpp | 17 ++++ common/common.cpp | 13 +++- common/common.h | 4 +- tools/server/server-common.cpp | 99 +++++++++++++++--------- tools/server/server-common.h | 1 + tools/server/server-context.cpp | 1 + tools/server/server.cpp | 2 + tools/server/tests/unit/test_security.py | 31 ++++++++ tools/server/tests/utils.py | 3 + 9 files changed, 133 insertions(+), 38 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index ee0d868e1c4..c7c1584c85c 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2488,12 +2488,29 @@ common_params_context common_params_parser_init(common_params & params, llama_ex "path to save slot kv cache (default: disabled)", [](common_params & params, const std::string & value) { params.slot_save_path = value; + if (!fs_is_directory(params.slot_save_path)) { + throw std::invalid_argument("not a directory: " + value); + } // if doesn't end with DIRECTORY_SEPARATOR, add it if (!params.slot_save_path.empty() && params.slot_save_path[params.slot_save_path.size() - 1] != DIRECTORY_SEPARATOR) { params.slot_save_path += DIRECTORY_SEPARATOR; } } ).set_examples({LLAMA_EXAMPLE_SERVER})); + add_opt(common_arg( + {"--media-path"}, "PATH", + "directory for loading local media files; files can be accessed via file:// URLs using relative paths (default: disabled)", + [](common_params & params, const std::string & value) { + params.media_path = value; + if (!fs_is_directory(params.media_path)) { + throw std::invalid_argument("not a directory: " + value); + } + // if doesn't end with DIRECTORY_SEPARATOR, add it + if (!params.media_path.empty() && params.media_path[params.media_path.size() - 1] != DIRECTORY_SEPARATOR) { + params.media_path += DIRECTORY_SEPARATOR; + } + } + ).set_examples({LLAMA_EXAMPLE_SERVER})); add_opt(common_arg( {"--models-dir"}, "PATH", "directory containing models for the router server (default: disabled)", diff --git a/common/common.cpp b/common/common.cpp index 10001f54697..93e1dcfb9cb 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -694,7 +694,7 @@ bool string_parse_kv_override(const char * data, std::vector= 0xD800 && c <= 0xDFFF) // UTF-16 surrogate pairs || c == 0xFFFD // Replacement Character (UTF-8) || c == 0xFEFF // Byte Order Mark (BOM) - || c == '/' || c == '\\' || c == ':' || c == '*' // Illegal characters + || c == ':' || c == '*' // Illegal characters || c == '?' || c == '"' || c == '<' || c == '>' || c == '|') { return false; } + if (!allow_subdirs && (c == '/' || c == '\\')) { + // Subdirectories not allowed, reject path separators + return false; + } } // Reject any leading or trailing ' ', or any trailing '.', these are stripped on Windows and will cause a different filename @@ -859,6 +863,11 @@ bool fs_create_directory_with_parents(const std::string & path) { #endif // _WIN32 } +bool fs_is_directory(const std::string & path) { + std::filesystem::path dir(path); + return std::filesystem::exists(dir) && std::filesystem::is_directory(dir); +} + std::string fs_get_cache_directory() { std::string cache_directory = ""; auto ensure_trailing_slash = [](std::string p) { diff --git a/common/common.h b/common/common.h index eb2b1d75ceb..6a7791862f2 100644 --- a/common/common.h +++ b/common/common.h @@ -485,6 +485,7 @@ struct common_params { bool log_json = false; std::string slot_save_path; + std::string media_path; // path to directory for loading media files float slot_prompt_similarity = 0.1f; @@ -635,8 +636,9 @@ std::string string_from(const struct llama_context * ctx, const struct llama_bat // Filesystem utils // -bool fs_validate_filename(const std::string & filename); +bool fs_validate_filename(const std::string & filename, bool allow_subdirs = false); bool fs_create_directory_with_parents(const std::string & path); +bool fs_is_directory(const std::string & path); std::string fs_get_cache_directory(); std::string fs_get_cache_file(const std::string & filename); diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index 6a42c3926ae..e2e41a0d51b 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -11,6 +11,7 @@ #include #include +#include json format_error_response(const std::string & message, const enum error_type type) { std::string type_str; @@ -774,6 +775,65 @@ json oaicompat_completion_params_parse(const json & body) { return llama_params; } +// media_path always end with '/', see arg.cpp +static void handle_media( + std::vector & out_files, + json & media_obj, + const std::string & media_path) { + std::string url = json_value(media_obj, "url", std::string()); + if (string_starts_with(url, "http")) { + // download remote image + // TODO @ngxson : maybe make these params configurable + common_remote_params params; + params.headers.push_back("User-Agent: llama.cpp/" + build_info); + params.max_size = 1024 * 1024 * 10; // 10MB + params.timeout = 10; // seconds + SRV_INF("downloading image from '%s'\n", url.c_str()); + auto res = common_remote_get_content(url, params); + if (200 <= res.first && res.first < 300) { + SRV_INF("downloaded %ld bytes\n", res.second.size()); + raw_buffer data; + data.insert(data.end(), res.second.begin(), res.second.end()); + out_files.push_back(data); + } else { + throw std::runtime_error("Failed to download image"); + } + + } else if (string_starts_with(url, "file://")) { + if (media_path.empty()) { + throw std::invalid_argument("file:// URLs are not allowed unless --media-path is specified"); + } + // load local image file + std::string file_path = url.substr(7); // remove "file://" + raw_buffer data; + if (!fs_validate_filename(file_path, true)) { + throw std::invalid_argument("file path is not allowed: " + file_path); + } + SRV_INF("loading image from local file '%s'\n", (media_path + file_path).c_str()); + std::ifstream file(media_path + file_path, std::ios::binary); + if (!file) { + throw std::invalid_argument("file does not exist or cannot be opened: " + file_path); + } + data.assign((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + out_files.push_back(data); + + } else { + // try to decode base64 image + std::vector parts = string_split(url, /*separator*/ ','); + if (parts.size() != 2) { + throw std::runtime_error("Invalid url value"); + } else if (!string_starts_with(parts[0], "data:image/")) { + throw std::runtime_error("Invalid url format: " + parts[0]); + } else if (!string_ends_with(parts[0], "base64")) { + throw std::runtime_error("url must be base64 encoded"); + } else { + auto base64_data = parts[1]; + auto decoded_data = base64_decode(base64_data); + out_files.push_back(decoded_data); + } + } +} + // used by /chat/completions endpoint json oaicompat_chat_params_parse( json & body, /* openai api json semantics */ @@ -860,41 +920,8 @@ json oaicompat_chat_params_parse( throw std::runtime_error("image input is not supported - hint: if this is unexpected, you may need to provide the mmproj"); } - json image_url = json_value(p, "image_url", json::object()); - std::string url = json_value(image_url, "url", std::string()); - if (string_starts_with(url, "http")) { - // download remote image - // TODO @ngxson : maybe make these params configurable - common_remote_params params; - params.headers.push_back("User-Agent: llama.cpp/" + build_info); - params.max_size = 1024 * 1024 * 10; // 10MB - params.timeout = 10; // seconds - SRV_INF("downloading image from '%s'\n", url.c_str()); - auto res = common_remote_get_content(url, params); - if (200 <= res.first && res.first < 300) { - SRV_INF("downloaded %ld bytes\n", res.second.size()); - raw_buffer data; - data.insert(data.end(), res.second.begin(), res.second.end()); - out_files.push_back(data); - } else { - throw std::runtime_error("Failed to download image"); - } - - } else { - // try to decode base64 image - std::vector parts = string_split(url, /*separator*/ ','); - if (parts.size() != 2) { - throw std::invalid_argument("Invalid image_url.url value"); - } else if (!string_starts_with(parts[0], "data:image/")) { - throw std::invalid_argument("Invalid image_url.url format: " + parts[0]); - } else if (!string_ends_with(parts[0], "base64")) { - throw std::invalid_argument("image_url.url must be base64 encoded"); - } else { - auto base64_data = parts[1]; - auto decoded_data = base64_decode(base64_data); - out_files.push_back(decoded_data); - } - } + json image_url = json_value(p, "image_url", json::object()); + handle_media(out_files, image_url, opt.media_path); // replace this chunk with a marker p["type"] = "text"; @@ -916,6 +943,8 @@ json oaicompat_chat_params_parse( auto decoded_data = base64_decode(data); // expected to be base64 encoded out_files.push_back(decoded_data); + // TODO: add audio_url support by reusing handle_media() + // replace this chunk with a marker p["type"] = "text"; p["text"] = mtmd_default_marker(); diff --git a/tools/server/server-common.h b/tools/server/server-common.h index 51ae9ea8a96..bb04e82b4f5 100644 --- a/tools/server/server-common.h +++ b/tools/server/server-common.h @@ -284,6 +284,7 @@ struct oaicompat_parser_options { bool allow_image; bool allow_audio; bool enable_thinking = true; + std::string media_path; }; // used by /chat/completions endpoint diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index aac1a70bb2b..c9245745756 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -788,6 +788,7 @@ struct server_context_impl { /* allow_image */ mctx ? mtmd_support_vision(mctx) : false, /* allow_audio */ mctx ? mtmd_support_audio (mctx) : false, /* enable_thinking */ enable_thinking, + /* media_path */ params_base.media_path, }; // print sample chat example to make it clear which template is used diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 16e52a1a0cd..d5bef3df445 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -38,9 +38,11 @@ static server_http_context::handler_t ex_wrapper(server_http_context::handler_t try { return func(req); } catch (const std::invalid_argument & e) { + // treat invalid_argument as invalid request (400) error = ERROR_TYPE_INVALID_REQUEST; message = e.what(); } catch (const std::exception & e) { + // treat other exceptions as server error (500) error = ERROR_TYPE_SERVER; message = e.what(); } catch (...) { diff --git a/tools/server/tests/unit/test_security.py b/tools/server/tests/unit/test_security.py index e160a8e6d30..8c38b89d535 100644 --- a/tools/server/tests/unit/test_security.py +++ b/tools/server/tests/unit/test_security.py @@ -94,3 +94,34 @@ def test_cors_options(origin: str, cors_header: str, cors_header_value: str): assert res.status_code == 200 assert cors_header in res.headers assert res.headers[cors_header] == cors_header_value + + +@pytest.mark.parametrize( + "media_path, image_url, success", + [ + (None, "file://mtmd/test-1.jpeg", False), # disabled media path, should fail + ("../../../tools", "file://mtmd/test-1.jpeg", True), + ("../../../tools", "file:////mtmd//test-1.jpeg", True), # should be the same file as above + ("../../../tools", "file://mtmd/notfound.jpeg", False), # non-existent file + ("../../../tools", "file://../mtmd/test-1.jpeg", False), # no directory traversal + ] +) +def test_local_media_file(media_path, image_url, success,): + server = ServerPreset.tinygemma3() + server.media_path = media_path + server.start() + res = server.make_request("POST", "/chat/completions", data={ + "max_tokens": 1, + "messages": [ + {"role": "user", "content": [ + {"type": "text", "text": "test"}, + {"type": "image_url", "image_url": { + "url": image_url, + }}, + ]}, + ], + }) + if success: + assert res.status_code == 200 + else: + assert res.status_code == 400 diff --git a/tools/server/tests/utils.py b/tools/server/tests/utils.py index afe4f77d978..dfd2c8a260a 100644 --- a/tools/server/tests/utils.py +++ b/tools/server/tests/utils.py @@ -95,6 +95,7 @@ class ServerProcess: chat_template_file: str | None = None server_path: str | None = None mmproj_url: str | None = None + media_path: str | None = None # session variables process: subprocess.Popen | None = None @@ -217,6 +218,8 @@ def start(self, timeout_seconds: int | None = DEFAULT_HTTP_TIMEOUT) -> None: server_args.extend(["--chat-template-file", self.chat_template_file]) if self.mmproj_url: server_args.extend(["--mmproj-url", self.mmproj_url]) + if self.media_path: + server_args.extend(["--media-path", self.media_path]) args = [str(arg) for arg in [server_path, *server_args]] print(f"tests: starting server with: {' '.join(args)}") From 7a0b19413c723774baf6eac81e5c7fa5d4120aaf Mon Sep 17 00:00:00 2001 From: Marcos Del Sol Vives Date: Wed, 3 Dec 2025 01:25:11 +0100 Subject: [PATCH 16/35] build: document how to compile with Vulkan using Debian/Ubuntu packages (#17688) --- docs/build.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/build.md b/docs/build.md index 7d244ff013b..316269288df 100644 --- a/docs/build.md +++ b/docs/build.md @@ -431,11 +431,22 @@ docker run -it --rm -v "$(pwd):/app:Z" --device /dev/dri/renderD128:/dev/dri/ren ### For Linux users: +#### Using the LunarG Vulkan SDK + First, follow the official LunarG instructions for the installation and setup of the Vulkan SDK in the [Getting Started with the Linux Tarball Vulkan SDK](https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html) guide. > [!IMPORTANT] > After completing the first step, ensure that you have used the `source` command on the `setup_env.sh` file inside of the Vulkan SDK in your current terminal session. Otherwise, the build won't work. Additionally, if you close out of your terminal, you must perform this step again if you intend to perform a build. However, there are ways to make this persistent. Refer to the Vulkan SDK guide linked in the first step for more information about any of this. +#### Using system packages + +On Debian / Ubuntu, you can install the required dependencies using: +```sh +sudo apt-get install libvulkan-dev glslc +``` + +#### Common steps + Second, after verifying that you have followed all of the SDK installation/setup steps, use this command to make sure before proceeding: ```bash vulkaninfo From 83f435dd2ea8ca9d0ff71871a4e1bd89721b670e Mon Sep 17 00:00:00 2001 From: Herman Semenoff Date: Wed, 3 Dec 2025 09:12:18 +0300 Subject: [PATCH 17/35] ggml, llama : use defaulted constructors/destructors (#17649) --- ggml/src/gguf.cpp | 2 +- src/llama-impl.h | 2 +- src/llama-model.cpp | 6 +++--- src/llama-vocab.cpp | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/ggml/src/gguf.cpp b/ggml/src/gguf.cpp index 8cc4ef1cf44..b165d8bdc62 100644 --- a/ggml/src/gguf.cpp +++ b/ggml/src/gguf.cpp @@ -1169,7 +1169,7 @@ void gguf_set_tensor_data(struct gguf_context * ctx, const char * name, const vo struct gguf_writer_base { size_t written_bytes {0u}; - ~gguf_writer_base(void) {} + ~gguf_writer_base(void) = default; // we bet on devirtualization virtual void write(int8_t val) = 0; diff --git a/src/llama-impl.h b/src/llama-impl.h index c5163e9225a..c3391e79f51 100644 --- a/src/llama-impl.h +++ b/src/llama-impl.h @@ -37,7 +37,7 @@ void llama_log_callback_default(ggml_log_level level, const char * text, void * template struct no_init { T value; - no_init() { /* do nothing */ } + no_init() = default; }; struct time_meas { diff --git a/src/llama-model.cpp b/src/llama-model.cpp index e281dc760bd..c3675dbdc41 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -423,8 +423,8 @@ static buft_list_t make_gpu_buft_list(ggml_backend_dev_t dev, llama_split_mode s } struct llama_model::impl { - impl() {} - ~impl() {} + impl() = default; + ~impl() = default; uint64_t n_elements = 0; @@ -461,7 +461,7 @@ llama_model::llama_model(const llama_model_params & params) : params(params), pi pimpl->has_tensor_overrides = params.tensor_buft_overrides && params.tensor_buft_overrides[0].pattern; } -llama_model::~llama_model() {} +llama_model::~llama_model() = default; void llama_model::load_stats(llama_model_loader & ml) { pimpl->n_elements = ml.n_elements; diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index a73c4c448ba..e2cca66e48f 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -3253,8 +3253,7 @@ void llama_vocab::impl::print_info() const { llama_vocab::llama_vocab() : pimpl(new impl(*this)) { } -llama_vocab::~llama_vocab() { -} +llama_vocab::~llama_vocab() = default; void llama_vocab::load(llama_model_loader & ml, const LLM_KV & kv) { pimpl->load(ml, kv); From 36a3f7a76537f45892b0f932a38e0d9862faa54d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 3 Dec 2025 09:22:46 +0100 Subject: [PATCH 18/35] ci : move release details to the top visible by default (#17719) --- .github/workflows/release.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a0a13f38400..03cd41c5702 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -869,6 +869,12 @@ jobs: > [!WARNING] > **Release Format Update**: Linux releases will soon use .tar.gz archives instead of .zip. Please make the necessary changes to your deployment scripts. +
+ + ${{ github.event.head_commit.message }} + +
+ **macOS/iOS:** - [macOS Apple Silicon (arm64)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.tar.gz) - [macOS Intel (x64)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz) @@ -893,12 +899,6 @@ jobs: - [openEuler aarch64 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-aarch64.tar.gz) - [openEuler aarch64 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-aarch64.tar.gz) -
- - ${{ github.event.head_commit.message }} - -
- - name: Upload release id: upload_release uses: actions/github-script@v3 From bf33a901a25c0b22d46489cb0fc8eb18c7740e35 Mon Sep 17 00:00:00 2001 From: Reese Levine Date: Wed, 3 Dec 2025 01:25:34 -0800 Subject: [PATCH 19/35] ggml webgpu: add support for emscripten builds (#17184) * Faster tensors (#8) Add fast matrix and matrix/vector multiplication. * Use map for shader replacements instead of pair of strings * Wasm (#9) * webgpu : fix build on emscripten * more debugging stuff * test-backend-ops: force single thread on wasm * fix single-thread case for init_tensor_uniform * use jspi * add pthread * test: remember to set n_thread for cpu backend * Add buffer label and enable dawn-specific toggles to turn off some checks * Intermediate state * Fast working f16/f32 vec4 * Working float fast mul mat * Clean up naming of mul_mat to match logical model, start work on q mul_mat * Setup for subgroup matrix mat mul * Basic working subgroup matrix * Working subgroup matrix tiling * Handle weirder sg matrix sizes (but still % sg matrix size) * Working start to gemv * working f16 accumulation with shared memory staging * Print out available subgroup matrix configurations * Vectorize dst stores for sg matrix shader * Gemv working scalar * Minor set_rows optimization (#4) * updated optimization, fixed errors * non vectorized version now dispatches one thread per element * Simplify * Change logic for set_rows pipelines --------- Co-authored-by: Neha Abbas Co-authored-by: Neha Abbas Co-authored-by: Reese Levine * Comment on dawn toggles * Working subgroup matrix code for (semi)generic sizes * Remove some comments * Cleanup code * Update dawn version and move to portable subgroup size * Try to fix new dawn release * Update subgroup size comment * Only check for subgroup matrix configs if they are supported * Add toggles for subgroup matrix/f16 support on nvidia+vulkan * Make row/col naming consistent * Refactor shared memory loading * Move sg matrix stores to correct file * Working q4_0 * Formatting * Work with emscripten builds * Fix test-backend-ops emscripten for f16/quantized types * Use emscripten memory64 to support get_memory * Add build flags and try ci --------- Co-authored-by: Xuan Son Nguyen * Remove extra whitespace * Move wasm single-thread logic out of test-backend-ops for cpu backend * Disable multiple threads for emscripten single-thread builds in ggml_graph_plan * Fix .gitignore * Add memory64 option and remove unneeded macros for setting threads to 1 --------- Co-authored-by: Xuan Son Nguyen --- .github/workflows/build.yml | 40 +++++ .gitignore | 2 + CMakeLists.txt | 16 +- common/arg.cpp | 3 + common/common.cpp | 2 + common/download.cpp | 3 + ggml/CMakeLists.txt | 2 +- ggml/src/ggml-cpu/ggml-cpu.c | 5 + ggml/src/ggml-webgpu/CMakeLists.txt | 22 ++- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 229 ++++++++++++++------------- scripts/serve-static.js | 110 +++++++++++++ tests/test-backend-ops.cpp | 60 ++++--- 12 files changed, 355 insertions(+), 139 deletions(-) create mode 100644 scripts/serve-static.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f0d295dfd4a..49e836d9b20 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -547,6 +547,46 @@ jobs: # This is using llvmpipe and runs slower than other backends ctest -L main --verbose --timeout 3600 + ubuntu-24-wasm-webgpu: + runs-on: ubuntu-24.04 + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: ccache + uses: ggml-org/ccache-action@v1.2.16 + with: + key: ubuntu-latest-wasm-webgpu + evict-old-files: 1d + + - name: Install Emscripten + run: | + git clone https://github.com/emscripten-core/emsdk.git + cd emsdk + ./emsdk install latest + ./emsdk activate latest + + - name: Fetch emdawnwebgpu + run: | + DAWN_TAG="v20251027.212519" + EMDAWN_PKG="emdawnwebgpu_pkg-${DAWN_TAG}.zip" + echo "Downloading ${EMDAWN_PKG}" + curl -L -o emdawn.zip \ + "https://github.com/google/dawn/releases/download/${DAWN_TAG}/${EMDAWN_PKG}" + unzip emdawn.zip + + - name: Build WASM WebGPU + run: | + source emsdk/emsdk_env.sh + emcmake cmake -B build-wasm \ + -DGGML_WEBGPU=ON \ + -DLLAMA_CURL=OFF \ + -DEMDAWNWEBGPU_DIR=emdawnwebgpu_pkg + + cmake --build build-wasm --target test-backend-ops -j $(nproc) + ubuntu-22-cmake-hip: runs-on: ubuntu-22.04 container: rocm/dev-ubuntu-22.04:6.1.2 diff --git a/.gitignore b/.gitignore index 8575a141c40..428f0841100 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,5 @@ poetry.toml # IDE /*.code-workspace /.windsurf/ +# emscripten +a.out.* diff --git a/CMakeLists.txt b/CMakeLists.txt index 3278c4a72c1..1085b545a96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,10 +33,24 @@ endif() option(LLAMA_USE_SYSTEM_GGML "Use system libggml" OFF) +option(LLAMA_WASM_MEM64 "llama: use 64-bit memory in WASM builds" ON) + if (EMSCRIPTEN) set(BUILD_SHARED_LIBS_DEFAULT OFF) - option(LLAMA_WASM_SINGLE_FILE "llama: embed WASM inside the generated llama.js" ON) + # Use 64-bit memory to support backend_get_memory queries + # TODO: analyze performance impact, see https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-using + if (LLAMA_WASM_MEM64) + add_compile_options("-sMEMORY64=1") + add_link_options("-sMEMORY64=1") + endif() + add_link_options("-sALLOW_MEMORY_GROWTH=1") + + option(LLAMA_WASM_SINGLE_FILE "llama: embed WASM inside the generated llama.js" OFF) + option(LLAMA_BUILD_HTML "llama: build HTML file" ON) + if (LLAMA_BUILD_HTML) + set(CMAKE_EXECUTABLE_SUFFIX ".html") + endif() else() if (MINGW) set(BUILD_SHARED_LIBS_DEFAULT OFF) diff --git a/common/arg.cpp b/common/arg.cpp index c7c1584c85c..cb2b4c603bc 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -30,6 +30,7 @@ #include // for hardware_concurrency #include +#ifndef __EMSCRIPTEN__ #ifdef __linux__ #include #elif defined(_WIN32) @@ -41,6 +42,8 @@ #else #include #endif +#endif + #define LLAMA_MAX_URL_LENGTH 2084 // Maximum URL Length in Chrome: 2083 using json = nlohmann::ordered_json; diff --git a/common/common.cpp b/common/common.cpp index 93e1dcfb9cb..f07af1d8625 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -902,6 +902,8 @@ std::string fs_get_cache_directory() { cache_directory = std::getenv("HOME") + std::string("/Library/Caches/"); #elif defined(_WIN32) cache_directory = std::getenv("LOCALAPPDATA"); +#elif defined(__EMSCRIPTEN__) + GGML_ABORT("not implemented on this platform"); #else # error Unknown architecture #endif diff --git a/common/download.cpp b/common/download.cpp index e6ce7f11f54..ab68c53b43d 100644 --- a/common/download.cpp +++ b/common/download.cpp @@ -24,6 +24,7 @@ #include "http.h" #endif +#ifndef __EMSCRIPTEN__ #ifdef __linux__ #include #elif defined(_WIN32) @@ -35,6 +36,8 @@ #else #include #endif +#endif + #define LLAMA_MAX_URL_LENGTH 2084 // Maximum URL Length in Chrome: 2083 // isatty diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index 689f0327c49..db47ae8dff2 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -226,7 +226,7 @@ option(GGML_WEBGPU "ggml: use WebGPU" option(GGML_WEBGPU_DEBUG "ggml: enable WebGPU debug output" OFF) option(GGML_WEBGPU_CPU_PROFILE "ggml: enable WebGPU profiling (CPU)" OFF) option(GGML_WEBGPU_GPU_PROFILE "ggml: enable WebGPU profiling (GPU)" OFF) - +option(GGML_WEBGPU_JSPI "ggml: use JSPI for WebGPU" ON) option(GGML_ZDNN "ggml: use zDNN" OFF) option(GGML_METAL "ggml: use Metal" ${GGML_METAL_DEFAULT}) option(GGML_METAL_NDEBUG "ggml: disable Metal debugging" OFF) diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index e19e82ac9ce..8507557267a 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -2698,6 +2698,11 @@ struct ggml_cplan ggml_graph_plan( n_threads = threadpool ? threadpool->n_threads_max : GGML_DEFAULT_N_THREADS; } +#if defined(__EMSCRIPTEN__) && !defined(__EMSCRIPTEN_PTHREADS__) + // Emscripten without pthreads support can only use a single thread + n_threads = 1; +#endif + size_t work_size = 0; struct ggml_cplan cplan; diff --git a/ggml/src/ggml-webgpu/CMakeLists.txt b/ggml/src/ggml-webgpu/CMakeLists.txt index c6a95d51512..3ccce58aa39 100644 --- a/ggml/src/ggml-webgpu/CMakeLists.txt +++ b/ggml/src/ggml-webgpu/CMakeLists.txt @@ -39,8 +39,23 @@ add_dependencies(ggml-webgpu generate_shaders) if(EMSCRIPTEN) set(EMDAWNWEBGPU_DIR "" CACHE PATH "Path to emdawnwebgpu_pkg") - target_compile_options(ggml-webgpu PRIVATE "--use-port=${EMDAWNWEBGPU_DIR}/emdawnwebgpu.port.py") - target_link_options(ggml-webgpu PRIVATE "--use-port=${EMDAWNWEBGPU_DIR}/emdawnwebgpu.port.py") + if(NOT EMDAWNWEBGPU_DIR) + # default built-in port + target_compile_options(ggml-webgpu PRIVATE "--use-port=emdawnwebgpu") + target_link_options(ggml-webgpu INTERFACE "--use-port=emdawnwebgpu") + else() + # custom port + target_compile_options(ggml-webgpu PRIVATE "--use-port=${EMDAWNWEBGPU_DIR}/emdawnwebgpu.port.py") + target_link_options(ggml-webgpu INTERFACE "--use-port=${EMDAWNWEBGPU_DIR}/emdawnwebgpu.port.py") + endif() + + if (GGML_WEBGPU_JSPI) + target_compile_options(ggml-webgpu PRIVATE "-fwasm-exceptions") + target_link_options(ggml-webgpu INTERFACE "-sJSPI" "-fwasm-exceptions") + else() + target_compile_options(ggml-webgpu PRIVATE "-fexceptions") + target_link_options(ggml-webgpu INTERFACE "-sASYNCIFY" "-exceptions") + endif() else() find_package(Dawn REQUIRED) set(DawnWebGPU_TARGET dawn::webgpu_dawn) @@ -48,6 +63,9 @@ endif() if (GGML_WEBGPU_DEBUG) target_compile_definitions(ggml-webgpu PRIVATE GGML_WEBGPU_DEBUG=1) + if(EMSCRIPTEN) + target_link_options(ggml-webgpu INTERFACE "-sASSERTIONS=2") + endif() endif() if (GGML_WEBGPU_CPU_PROFILE) diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index 9e8cbc477ed..a7476b109df 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -9,6 +9,10 @@ #include "ggml-impl.h" #include "ggml-wgsl-shaders.hpp" +#ifdef __EMSCRIPTEN__ +# include +#endif + #include #include @@ -261,9 +265,12 @@ struct webgpu_context_struct { wgpu::Queue queue; wgpu::Limits limits; + uint32_t subgroup_size; + +#ifndef __EMSCRIPTEN__ bool supports_subgroup_matrix = false; - uint32_t subgroup_size; wgpu::SubgroupMatrixConfig subgroup_matrix_config; +#endif // Separate this out from limits since on some Metal systems, the limit returned by // querying the limits is higher than the actual allowed maximum. @@ -449,8 +456,8 @@ static void ggml_backend_webgpu_wait(webgpu_context & ct // If we have too many in-flight submissions, wait on the oldest one first. If there are many threads, // inflight_max may be 0, meaning that we must wait on all futures. uint64_t timeout_ms = block ? UINT64_MAX : 0; - uint inflight_threads = ctx->inflight_threads; - uint inflight_max = WEBGPU_MAX_INFLIGHT_SUBS_PER_THREAD / std::max(inflight_threads, 1u); + uint32_t inflight_threads = ctx->inflight_threads; + uint32_t inflight_max = WEBGPU_MAX_INFLIGHT_SUBS_PER_THREAD / std::max(inflight_threads, 1u); while (futures.size() >= inflight_max && futures.size() > 0) { ctx->instance.WaitAny(futures[0].futures.size(), futures[0].futures.data(), UINT64_MAX); futures.erase(futures.begin()); @@ -986,6 +993,7 @@ static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, pipeline = ctx->mul_mat_pipelines[src0->type][src1->type][vectorized]; uint32_t wg_m; uint32_t wg_n; +#ifndef __EMSCRIPTEN__ if (ctx->supports_subgroup_matrix) { // The total number of subgroups/workgroups needed per matrix. uint32_t wg_m_sg_tile = @@ -995,11 +1003,15 @@ static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, WEBGPU_MUL_MAT_SUBGROUP_N * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N * ctx->subgroup_matrix_config.N; wg_n = (dst->ne[1] + wg_n_sg_tile - 1) / wg_n_sg_tile; } else { +#endif uint32_t tile_m_s = WEBGPU_MUL_MAT_TILE_M * WEBGPU_MUL_MAT_WG_SIZE_M; uint32_t tile_n_s = WEBGPU_MUL_MAT_TILE_N * WEBGPU_MUL_MAT_WG_SIZE_N; wg_m = (dst->ne[0] + tile_m_s - 1) / tile_m_s; wg_n = (dst->ne[1] + tile_n_s - 1) / tile_n_s; +#ifndef __EMSCRIPTEN__ } +#endif + wg_x = wg_m * wg_n * dst->ne[2] * dst->ne[3]; } } @@ -1419,9 +1431,9 @@ static ggml_status ggml_backend_webgpu_graph_compute(ggml_backend_t backend, str commands.push_back(*cmd); } // compute the batch size based on the number of inflight threads - uint inflight_threads = ctx->inflight_threads; - uint batch_size = std::min(std::max(1u, WEBGPU_NUM_PARAM_BUFS / std::max(inflight_threads, 1u)), - WEBGPU_COMMAND_SUBMIT_BATCH_SIZE); + uint32_t inflight_threads = ctx->inflight_threads; + uint32_t batch_size = std::min(std::max(1u, WEBGPU_NUM_PARAM_BUFS / std::max(inflight_threads, 1u)), + WEBGPU_COMMAND_SUBMIT_BATCH_SIZE); if (commands.size() >= batch_size) { futures.push_back(ggml_backend_webgpu_submit(ctx, commands)); // Process events and check for completed submissions @@ -1758,6 +1770,17 @@ static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ4_XS][GGML_TYPE_F32], wgsl_mul_mat_iq4_xs_f32, "mul_mat_iq4_xs_f32"); + std::string proc_mul_mat_f32_f32; + std::string proc_mul_mat_f32_f32_vec; + std::string proc_mul_mat_f16_f32; + std::string proc_mul_mat_f16_f32_vec; + std::string proc_mul_mat_f16_f16; + std::string proc_mul_mat_f16_f16_vec; + std::string proc_mul_mat_q4_0_f32; + std::string proc_mul_mat_q4_0_f32_vec; + + std::vector mul_mat_constants; +#ifndef __EMSCRIPTEN__ if (webgpu_ctx->supports_subgroup_matrix) { std::map sg_matrix_repls; sg_matrix_repls["WEBGPU_MAX_SUBGROUP_SIZE"] = std::to_string(webgpu_ctx->subgroup_size); @@ -1770,100 +1793,57 @@ static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { sg_matrix_repls["WEBGPU_SG_MAT_N_SIZE"] = std::to_string(webgpu_ctx->subgroup_matrix_config.N); sg_matrix_repls["WEBGPU_SG_MAT_K_SIZE"] = std::to_string(webgpu_ctx->subgroup_matrix_config.K); - std::string proc_mul_mat_subgroup_matrix_f32_f32 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f32_f32, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_f32_f32_vec = + proc_mul_mat_f32_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f32_f32, sg_matrix_repls); + proc_mul_mat_f32_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f32_f32_vec, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_f16_f32 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f16_f32, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_f16_f32_vec = + proc_mul_mat_f16_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f16_f32, sg_matrix_repls); + proc_mul_mat_f16_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f16_f32_vec, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_f16_f16 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f16_f16, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_f16_f16_vec = + proc_mul_mat_f16_f16 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f16_f16, sg_matrix_repls); + proc_mul_mat_f16_f16_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f16_f16_vec, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_q4_0_f32 = + proc_mul_mat_q4_0_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_q4_0_f32, sg_matrix_repls); - std::string proc_mul_mat_subgroup_matrix_q4_0_f32_vec = + proc_mul_mat_q4_0_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_q4_0_f32_vec, sg_matrix_repls); - - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline2( - webgpu_ctx->device, proc_mul_mat_subgroup_matrix_f32_f32.c_str(), "mul_mat_subgroup_matrix_f32_f32"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_subgroup_matrix_f32_f32_vec.c_str(), - "mul_mat_subgroup_matrix_f32_f32_vec"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline2( - webgpu_ctx->device, proc_mul_mat_subgroup_matrix_f16_f32.c_str(), "mul_mat_subgroup_matrix_f16_f32"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_subgroup_matrix_f16_f32_vec.c_str(), - "mul_mat_subgroup_matrix_f16_f32_vec"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][0] = ggml_webgpu_create_pipeline2( - webgpu_ctx->device, proc_mul_mat_subgroup_matrix_f16_f16.c_str(), "mul_mat_subgroup_matrix_f16_f16"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_subgroup_matrix_f16_f16_vec.c_str(), - "mul_mat_subgroup_matrix_f16_f16_vec"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline2( - webgpu_ctx->device, proc_mul_mat_subgroup_matrix_q4_0_f32.c_str(), "mul_mat_subgroup_matrix_q4_0_f32"); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_subgroup_matrix_q4_0_f32_vec.c_str(), - "mul_mat_subgroup_matrix_q4_0_f32_vec"); } else { - std::vector mul_mat_reg_tile_constants(3); - mul_mat_reg_tile_constants[0].key = "TILE_K"; - mul_mat_reg_tile_constants[0].value = WEBGPU_MUL_MAT_TILE_K; - mul_mat_reg_tile_constants[1].key = "WORKGROUP_SIZE_M"; - mul_mat_reg_tile_constants[1].value = WEBGPU_MUL_MAT_WG_SIZE_M; - mul_mat_reg_tile_constants[2].key = "WORKGROUP_SIZE_N"; - mul_mat_reg_tile_constants[2].value = WEBGPU_MUL_MAT_WG_SIZE_N; +#endif + mul_mat_constants.push_back({ .key = "TILE_K", .value = WEBGPU_MUL_MAT_TILE_K }); + mul_mat_constants.push_back({ .key = "WORKGROUP_SIZE_M", .value = WEBGPU_MUL_MAT_WG_SIZE_M }); + mul_mat_constants.push_back({ .key = "WORKGROUP_SIZE_N", .value = WEBGPU_MUL_MAT_WG_SIZE_N }); std::map reg_repls; reg_repls["WEBGPU_TILE_M"] = std::to_string(WEBGPU_MUL_MAT_TILE_M); reg_repls["WEBGPU_TILE_N"] = std::to_string(WEBGPU_MUL_MAT_TILE_N); - // Process each reg-tile shader with tile replacements. - // Keep the processed strings in-scope so .c_str() remains valid. - std::string proc_mul_mat_reg_tile_f32_f32 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f32_f32, reg_repls); - std::string proc_mul_mat_reg_tile_f32_f32_vec = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f32_f32_vec, reg_repls); - std::string proc_mul_mat_reg_tile_f16_f32 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f32, reg_repls); - std::string proc_mul_mat_reg_tile_f16_f32_vec = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f32_vec, reg_repls); - std::string proc_mul_mat_reg_tile_f16_f16 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f16, reg_repls); - std::string proc_mul_mat_reg_tile_f16_f16_vec = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f16_vec, reg_repls); - std::string proc_mul_mat_reg_tile_q4_0_f32 = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_q4_0_f32, reg_repls); - std::string proc_mul_mat_reg_tile_q4_0_f32_vec = - ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_q4_0_f32_vec, reg_repls); - - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_f32_f32.c_str(), - "mul_mat_reg_tile_f32_f32", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_f32_f32_vec.c_str(), - "mul_mat_reg_tile_f32_f32_vec", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_f16_f32.c_str(), - "mul_mat_reg_tile_f16_f32", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_f16_f32_vec.c_str(), - "mul_mat_reg_tile_f16_f32_vec", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_f16_f16.c_str(), - "mul_mat_reg_tile_f16_f16", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_f16_f16_vec.c_str(), - "mul_mat_reg_tile_f16_f16_vec", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_q4_0_f32.c_str(), - "mul_mat_reg_tile_q4_0_f32", mul_mat_reg_tile_constants); - webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline2(webgpu_ctx->device, proc_mul_mat_reg_tile_q4_0_f32_vec.c_str(), - "mul_mat_reg_tile_q4_0_f32_vec", mul_mat_reg_tile_constants); + proc_mul_mat_f32_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f32_f32, reg_repls); + proc_mul_mat_f32_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f32_f32_vec, reg_repls); + proc_mul_mat_f16_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f32, reg_repls); + proc_mul_mat_f16_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f32_vec, reg_repls); + proc_mul_mat_f16_f16 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f16, reg_repls); + proc_mul_mat_f16_f16_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_f16_f16_vec, reg_repls); + proc_mul_mat_q4_0_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_q4_0_f32, reg_repls); + proc_mul_mat_q4_0_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_reg_tile_q4_0_f32_vec, reg_repls); +#ifndef __EMSCRIPTEN__ } +#endif + + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_f32_f32.c_str(), "mul_mat_f32_f32", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_f32_f32_vec.c_str(), "mul_mat_f32_f32_vec", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_f16_f32.c_str(), "mul_mat_f16_f32", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_f16_f32_vec.c_str(), "mul_mat_f16_f32_vec", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][0] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_f16_f16.c_str(), "mul_mat_f16_f16", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_f16_f16_vec.c_str(), "mul_mat_f16_f16_vec", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_q4_0_f32.c_str(), "mul_mat_q4_0_f32", mul_mat_constants); + webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline2( + webgpu_ctx->device, proc_mul_mat_q4_0_f32_vec.c_str(), "mul_mat_q4_0_f32_vec", mul_mat_constants); std::vector mul_mat_vec_constants(3); mul_mat_vec_constants[0].key = "WORKGROUP_SIZE"; @@ -2384,13 +2364,17 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t webgpu_context ctx = reg_ctx->webgpu_ctx; + wgpu::RequestAdapterOptions options = {}; + +#ifndef __EMSCRIPTEN__ // TODO: track need for these toggles: https://issues.chromium.org/issues/42251215 const char * const adapterEnabledToggles[] = { "vulkan_enable_f16_on_nvidia", "use_vulkan_memory_model" }; wgpu::DawnTogglesDescriptor adapterTogglesDesc; adapterTogglesDesc.enabledToggles = adapterEnabledToggles; adapterTogglesDesc.enabledToggleCount = 2; - wgpu::RequestAdapterOptions options = {}; options.nextInChain = &adapterTogglesDesc; +#endif + ctx->instance.WaitAny(ctx->instance.RequestAdapter( &options, wgpu::CallbackMode::AllowSpontaneous, [&ctx](wgpu::RequestAdapterStatus status, wgpu::Adapter adapter, const char * message) { @@ -2406,11 +2390,13 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t ctx->adapter.GetLimits(&ctx->limits); ctx->max_wg_size_x = 288; // default value - wgpu::AdapterInfo info{}; + wgpu::AdapterInfo info{}; +#ifndef __EMSCRIPTEN__ wgpu::AdapterPropertiesSubgroupMatrixConfigs subgroup_matrix_configs{}; if (ctx->adapter.HasFeature(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix)) { info.nextInChain = &subgroup_matrix_configs; } +#endif ctx->adapter.GetInfo(&info); wgpu::SupportedFeatures features; @@ -2418,6 +2404,7 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t // we require f16 support GGML_ASSERT(ctx->adapter.HasFeature(wgpu::FeatureName::ShaderF16)); +#ifndef __EMSCRIPTEN__ // Only support square f16 matrices of size 8 or 16 for now bool valid_subgroup_matrix_config = false; if (ctx->adapter.HasFeature(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix)) { @@ -2433,36 +2420,27 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t } } + ctx->supports_subgroup_matrix = valid_subgroup_matrix_config; +#endif // For subgroup matrix code to be the most efficient, we would like the subgroup size to be consistent and accurate. // Unfortunately, that is not possible, so we use the maximum subgroup size reported by the adapter. - ctx->subgroup_size = info.subgroupMaxSize; - ctx->supports_subgroup_matrix = valid_subgroup_matrix_config; + ctx->subgroup_size = info.subgroupMaxSize; // Initialize device - std::vector required_features = { wgpu::FeatureName::ShaderF16, - wgpu::FeatureName::ImplicitDeviceSynchronization }; + std::vector required_features = { wgpu::FeatureName::ShaderF16 }; + +#ifndef __EMSCRIPTEN__ + required_features.push_back(wgpu::FeatureName::ImplicitDeviceSynchronization); if (ctx->supports_subgroup_matrix) { required_features.push_back(wgpu::FeatureName::Subgroups); required_features.push_back(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix); } +#endif #ifdef GGML_WEBGPU_GPU_PROFILE required_features.push_back(wgpu::FeatureName::TimestampQuery); #endif - // Enable Dawn-specific toggles to increase native performance - // TODO: Don't enable for WASM builds, they won't have an effect anyways - // TODO: Maybe WebGPU needs a "fast" mode where you can request compilers skip adding checks like these, - // only for native performance? - const char * const deviceEnabledToggles[] = { "skip_validation", "disable_robustness", "disable_workgroup_init", - "disable_polyfills_on_integer_div_and_mod" }; - const char * const deviceDisabledToggles[] = { "timestamp_quantization" }; - wgpu::DawnTogglesDescriptor deviceTogglesDesc; - deviceTogglesDesc.enabledToggles = deviceEnabledToggles; - deviceTogglesDesc.enabledToggleCount = 4; - deviceTogglesDesc.disabledToggles = deviceDisabledToggles; - deviceTogglesDesc.disabledToggleCount = 1; - wgpu::DeviceDescriptor dev_desc; dev_desc.requiredLimits = &ctx->limits; dev_desc.requiredFeatures = required_features.data(); @@ -2480,7 +2458,23 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t GGML_ABORT("ggml_webgpu: Device error! Reason: %d, Message: %s\n", static_cast(reason), std::string(message).c_str()); }); + +#ifndef __EMSCRIPTEN__ + // Enable Dawn-specific toggles to increase native performance + // TODO: Maybe WebGPU needs a "fast" mode where you can request compilers skip adding checks like these, + // only for native performance? + const char * const deviceEnabledToggles[] = { "skip_validation", "disable_robustness", "disable_workgroup_init", + "disable_polyfills_on_integer_div_and_mod" }; + const char * const deviceDisabledToggles[] = { "timestamp_quantization" }; + wgpu::DawnTogglesDescriptor deviceTogglesDesc; + deviceTogglesDesc.enabledToggles = deviceEnabledToggles; + deviceTogglesDesc.enabledToggleCount = 4; + deviceTogglesDesc.disabledToggles = deviceDisabledToggles; + deviceTogglesDesc.disabledToggleCount = 1; + dev_desc.nextInChain = &deviceTogglesDesc; +#endif + ctx->instance.WaitAny(ctx->adapter.RequestDevice( &dev_desc, wgpu::CallbackMode::AllowSpontaneous, [ctx](wgpu::RequestDeviceStatus status, wgpu::Device device, wgpu::StringView message) { @@ -2578,18 +2572,27 @@ ggml_backend_reg_t ggml_backend_webgpu_reg() { ctx.name = GGML_WEBGPU_NAME; ctx.device_count = 1; - const char * const instanceEnabledToggles[] = { "allow_unsafe_apis" }; - - wgpu::DawnTogglesDescriptor instanceTogglesDesc; - instanceTogglesDesc.enabledToggles = instanceEnabledToggles; - instanceTogglesDesc.enabledToggleCount = 1; wgpu::InstanceDescriptor instance_descriptor{}; std::vector instance_features = { wgpu::InstanceFeatureName::TimedWaitAny }; instance_descriptor.requiredFeatures = instance_features.data(); instance_descriptor.requiredFeatureCount = instance_features.size(); - instance_descriptor.nextInChain = &instanceTogglesDesc; + +#ifndef __EMSCRIPTEN__ + const char * const instanceEnabledToggles[] = { "allow_unsafe_apis" }; + wgpu::DawnTogglesDescriptor instanceTogglesDesc; + instanceTogglesDesc.enabledToggles = instanceEnabledToggles; + instanceTogglesDesc.enabledToggleCount = 1; + instance_descriptor.nextInChain = &instanceTogglesDesc; +#endif webgpu_ctx->instance = wgpu::CreateInstance(&instance_descriptor); + +#ifdef __EMSCRIPTEN__ + if (webgpu_ctx->instance == nullptr) { + GGML_LOG_ERROR("ggml_webgpu: Failed to create WebGPU instance. Make sure either -sASYNCIFY or -sJSPI is set\n"); + return nullptr; + } +#endif GGML_ASSERT(webgpu_ctx->instance != nullptr); static ggml_backend_reg reg = { diff --git a/scripts/serve-static.js b/scripts/serve-static.js new file mode 100644 index 00000000000..8ddc04aad98 --- /dev/null +++ b/scripts/serve-static.js @@ -0,0 +1,110 @@ +const http = require('http'); +const fs = require('fs').promises; +const path = require('path'); + +// This file is used for testing wasm build from emscripten +// Example build command: +// emcmake cmake -B build-wasm -DGGML_WEBGPU=ON -DLLAMA_CURL=OFF +// cmake --build build-wasm --target test-backend-ops -j + +const PORT = 8080; +const STATIC_DIR = path.join(__dirname, '../build-wasm/bin'); +console.log(`Serving static files from: ${STATIC_DIR}`); + +const mimeTypes = { + '.html': 'text/html', + '.js': 'text/javascript', + '.css': 'text/css', + '.png': 'image/png', + '.jpg': 'image/jpeg', + '.gif': 'image/gif', + '.svg': 'image/svg+xml', + '.json': 'application/json', + '.woff': 'font/woff', + '.woff2': 'font/woff2', +}; + +async function generateDirListing(dirPath, reqUrl) { + const files = await fs.readdir(dirPath); + let html = ` + + + + Directory Listing + + + +

Directory: ${reqUrl}

+
    + `; + + if (reqUrl !== '/') { + html += `
  • ../ (Parent Directory)
  • `; + } + + for (const file of files) { + const filePath = path.join(dirPath, file); + const stats = await fs.stat(filePath); + const link = encodeURIComponent(file) + (stats.isDirectory() ? '/' : ''); + html += `
  • ${file}${stats.isDirectory() ? '/' : ''}
  • `; + } + + html += ` +
+ + + `; + return html; +} + +const server = http.createServer(async (req, res) => { + try { + // Set COOP and COEP headers + res.setHeader('Cross-Origin-Opener-Policy', 'same-origin'); + res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp'); + res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate'); + res.setHeader('Pragma', 'no-cache'); + res.setHeader('Expires', '0'); + + const filePath = path.join(STATIC_DIR, decodeURIComponent(req.url)); + const stats = await fs.stat(filePath); + + if (stats.isDirectory()) { + const indexPath = path.join(filePath, 'index.html'); + try { + const indexData = await fs.readFile(indexPath); + res.writeHeader(200, { 'Content-Type': 'text/html' }); + res.end(indexData); + } catch { + // No index.html, generate directory listing + const dirListing = await generateDirListing(filePath, req.url); + res.writeHeader(200, { 'Content-Type': 'text/html' }); + res.end(dirListing); + } + } else { + const ext = path.extname(filePath).toLowerCase(); + const contentType = mimeTypes[ext] || 'application/octet-stream'; + const data = await fs.readFile(filePath); + res.writeHeader(200, { 'Content-Type': contentType }); + res.end(data); + } + } catch (err) { + if (err.code === 'ENOENT') { + res.writeHeader(404, { 'Content-Type': 'text/plain' }); + res.end('404 Not Found'); + } else { + res.writeHeader(500, { 'Content-Type': 'text/plain' }); + res.end('500 Internal Server Error'); + } + } +}); + +server.listen(PORT, () => { + console.log(`Server running at http://localhost:${PORT}/`); +}); diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 9645d0b3909..7ef7f2ad81e 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -41,12 +41,18 @@ #include #include +#ifdef __EMSCRIPTEN__ +# define N_THREADS 1 +#else +# define N_THREADS std::thread::hardware_concurrency() +#endif + static void init_tensor_uniform(ggml_tensor * tensor, float min = -1.0f, float max = 1.0f) { size_t nels = ggml_nelements(tensor); std::vector data(nels); { // parallel initialization - static const size_t n_threads = std::thread::hardware_concurrency(); + static const size_t n_threads = N_THREADS; // static RNG initialization (revisit if n_threads stops being constant) static std::vector generators = []() { std::random_device rd; @@ -65,15 +71,19 @@ static void init_tensor_uniform(ggml_tensor * tensor, float min = -1.0f, float m } }; - std::vector> tasks; - tasks.reserve(n_threads); - for (size_t i = 0; i < n_threads; i++) { - size_t start = i*nels/n_threads; - size_t end = (i+1)*nels/n_threads; - tasks.push_back(std::async(std::launch::async, init_thread, i, start, end)); - } - for (auto & t : tasks) { - t.get(); + if (n_threads == 1) { + init_thread(0, 0, nels); + } else { + std::vector> tasks; + tasks.reserve(n_threads); + for (size_t i = 0; i < n_threads; i++) { + size_t start = i*nels/n_threads; + size_t end = (i+1)*nels/n_threads; + tasks.push_back(std::async(std::launch::async, init_thread, i, start, end)); + } + for (auto & t : tasks) { + t.get(); + } } } @@ -105,17 +115,23 @@ static void init_tensor_uniform(ggml_tensor * tensor, float min = -1.0f, float m }; const size_t min_blocks_per_thread = 1; - const size_t n_threads = std::min(std::thread::hardware_concurrency()/2, - std::max(1, n_blocks / min_blocks_per_thread)); - std::vector> tasks; - tasks.reserve(n_threads); - for (size_t i = 0; i < n_threads; i++) { - size_t start = i*n_blocks/n_threads; - size_t end = (i+1)*n_blocks/n_threads; - tasks.push_back(std::async(std::launch::async, quantize_thread, start, end)); - } - for (auto & t : tasks) { - t.get(); + const size_t n_quant_threads = std::min(std::max(N_THREADS/2, 1), + std::max(1, n_blocks / min_blocks_per_thread)); + + if (n_quant_threads == 1) { + // single-threaded quantization: do all blocks in the current thread + quantize_thread(0, n_blocks); + } else { + std::vector> tasks; + tasks.reserve(n_quant_threads); + for (size_t i = 0; i < n_quant_threads; i++) { + size_t start = i*n_blocks/n_quant_threads; + size_t end = (i+1)*n_blocks/n_quant_threads; + tasks.push_back(std::async(std::launch::async, quantize_thread, start, end)); + } + for (auto & t : tasks) { + t.get(); + } } } ggml_backend_tensor_set(tensor, dataq.data(), 0, dataq.size()); @@ -8363,7 +8379,7 @@ int main(int argc, char ** argv) { auto ggml_backend_set_n_threads_fn = (ggml_backend_set_n_threads_t) ggml_backend_reg_get_proc_address(reg, "ggml_backend_set_n_threads"); if (ggml_backend_set_n_threads_fn) { // TODO: better value for n_threads - ggml_backend_set_n_threads_fn(backend, std::thread::hardware_concurrency()); + ggml_backend_set_n_threads_fn(backend, N_THREADS); } size_t free, total; // NOLINT From 1b035e6968a9cfaa9cb917243244f44ce9d07c26 Mon Sep 17 00:00:00 2001 From: Pascal Date: Wed, 3 Dec 2025 10:28:43 +0100 Subject: [PATCH 20/35] server: fix duplicate HTTP headers in multiple models mode (#17698) * llama-server: fix duplicate HTTP headers in multiple models mode (#17693) * llama-server: address review feedback from ngxson - restrict scope of header after std::move - simplify header check (remove unordered_set) --- tools/server/server-models.cpp | 56 ++++++++++++++++++++++++++++------ tools/server/server-models.h | 1 + 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/tools/server/server-models.cpp b/tools/server/server-models.cpp index ac7f6b86bf8..c1fbaf4ec91 100644 --- a/tools/server/server-models.cpp +++ b/tools/server/server-models.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -889,6 +890,28 @@ struct pipe_t { } }; +static std::string to_lower_copy(const std::string & value) { + std::string lowered(value.size(), '\0'); + std::transform(value.begin(), value.end(), lowered.begin(), [](unsigned char c) { return std::tolower(c); }); + return lowered; +} + +static bool should_strip_proxy_header(const std::string & header_name) { + // Headers that get duplicated when router forwards child responses + if (header_name == "server" || + header_name == "transfer-encoding" || + header_name == "keep-alive") { + return true; + } + + // Router injects CORS, child also sends them: duplicate + if (header_name.rfind("access-control-", 0) == 0) { + return true; + } + + return false; +} + server_http_proxy::server_http_proxy( const std::string & method, const std::string & host, @@ -925,6 +948,14 @@ server_http_proxy::server_http_proxy( msg_t msg; msg.status = response.status; for (const auto & [key, value] : response.headers) { + const auto lowered = to_lower_copy(key); + if (should_strip_proxy_header(lowered)) { + continue; + } + if (lowered == "content-type") { + msg.content_type = value; + continue; + } msg.headers[key] = value; } return pipe->write(std::move(msg)); // send headers first @@ -932,7 +963,7 @@ server_http_proxy::server_http_proxy( httplib::ContentReceiverWithProgress content_receiver = [pipe](const char * data, size_t data_length, size_t, size_t) { // send data chunks // returns false if pipe is closed / broken (signal to stop receiving) - return pipe->write({{}, 0, std::string(data, data_length)}); + return pipe->write({{}, 0, std::string(data, data_length), ""}); }; // prepare the request to destination server @@ -955,8 +986,8 @@ server_http_proxy::server_http_proxy( if (result.error() != httplib::Error::Success) { auto err_str = httplib::to_string(result.error()); SRV_ERR("http client error: %s\n", err_str.c_str()); - pipe->write({{}, 500, ""}); // header - pipe->write({{}, 0, "proxy error: " + err_str}); // body + pipe->write({{}, 500, "", ""}); // header + pipe->write({{}, 0, "proxy error: " + err_str, ""}); // body } pipe->close_write(); // signal EOF to reader SRV_DBG("%s", "client request thread ended\n"); @@ -964,12 +995,17 @@ server_http_proxy::server_http_proxy( this->thread.detach(); // wait for the first chunk (headers) - msg_t header; - if (pipe->read(header, should_stop)) { - SRV_DBG("%s", "received response headers\n"); - this->status = header.status; - this->headers = header.headers; - } else { - SRV_DBG("%s", "no response headers received (request cancelled?)\n"); + { + msg_t header; + if (pipe->read(header, should_stop)) { + SRV_DBG("%s", "received response headers\n"); + this->status = header.status; + this->headers = std::move(header.headers); + if (!header.content_type.empty()) { + this->content_type = std::move(header.content_type); + } + } else { + SRV_DBG("%s", "no response headers received (request cancelled?)\n"); + } } } diff --git a/tools/server/server-models.h b/tools/server/server-models.h index b9bec983ef6..526e7488dc9 100644 --- a/tools/server/server-models.h +++ b/tools/server/server-models.h @@ -170,5 +170,6 @@ struct server_http_proxy : server_http_res { std::map headers; int status = 0; std::string data; + std::string content_type; }; }; From adf26f5b8492f7ea3c6ccebe365177b2feb0e61c Mon Sep 17 00:00:00 2001 From: Aldehir Rojas Date: Wed, 3 Dec 2025 04:45:32 -0600 Subject: [PATCH 21/35] common : introduce composable PEG parser combinators for chat parsing (#17136) * common : implement parser combinators to simplify chat parsing * add virtual destructor to parser_base * fix memory leak from circular references of rules * implement gbnf grammar building * remove unused private variable * create a base visitor and implement id assignment as a visitor * fix const ref for grammar builder * clean up types, friend classes, and class declarations * remove builder usage from until_parser * Use a counter class to help assign rule ids * cache everything * add short description for each parser * create a type for the root parser * implement repetition parser * Make optional, one_or_more, and zero_or_more subclasses of repetition * improve context constructor * improve until parsing and add benchmarks * remove cached() pattern, cache in parser_base with specialized parsing functions for each parser * improve json parsing performance to better match legacy parsing * fix const auto * it for windows * move id assignment to classes instead of using a visitor * create named rules in the command r7b example * use '.' for any in GBNF * fix parens around choices in gbnf grammar * add convenience operators to turn strings to literals * add free-form operators for const char * to simplify defining literals * simplify test case parser * implement semantic actions * remove groups in favor of actions and a scratchpad * add built in actions for common operations * add actions to command r7b example * use std::default_searcher for platforms that don't have bm * improve parser_type handling and add cast helper * add partial result type to better control when to run actions * fix bug in until() * run actions on partial results by default * use common_chat_msg for result * add qwen3 example wip * trash partial idea and simplify * move action arguments to a struct * implement aho-corasick matcher for until_parser and to build exclusion grammars * use std::string for input, since std::string_view is incompatible with std::regex * Refactor tests * improve qwen3 example * implement sax-style parsing and refactor * fix json string in test * rename classes to use common_chat_ prefix * remove is_ suffix from functions * rename from id_counter to just counter * Final refactored tests * Fix executable name and editorconfig-checker * Third time's the charm... * add trigger parser to begin lazy grammar rule generation * working lazy grammar * refactor json rules now that we check for reachability * reduce pointer usage * print out grammars in example * rename to chat-peg-parser* and common_chat_peg_parser* * Revert unrelated changes * New macros for CMakeLists to enable multi-file compilations * starting unicode support * add unicode support to char_parser * use unparsed args as additional sources * Refactor tests to new harness * Fix CMakeLists * fix rate calculation * add unicode tests * fix trailing whitespace and line endings skip-checks: true * Helpers + rewrite qwen3 with helpers * Fix whitespace * extract unicode functions to separate file * refactor parse unicode function * fix compiler error * improve construction of sequence/choice parsers * be less clever * add make_parser helper function * expand usage of make_parser, alias common_chat_msg_peg_parser_builder to builder in source * lower bench iterations * add unicode support to until_parser * add unicode support to json_string_parser * clean up unicode tests * reduce unicode details to match src/unicode.cpp * simplify even further * remove unused functions * fix type * reformat char class parsing * clean up json string parser * clean up + fix diagnostics * reorder includes * compact builder functions * replace action_parser with capture_parser, rename env to semantics * rename env to semantics * clean up common_chat_parse_context * move type() to below constant * use default constructor for common_chat_peg_parser * make all operators functions for consistency * fix compilation errors in test-optional.cpp * simplify result values * rename json_string_unquoted to json_string_content * Move helper to separate class, add separate explicit and helper classes * Whitespace * Change + to append() * Reformat * Add extra helpers, tests and Minimax example * Add some extra optional debugging prints + real example of how to use them * fix bug in repetitions when min_count = 0 reports failures * dump rule in debug * fix token accumulation and assert parsing never fails * indent debug by depth * use LOG_* in tests so logs sync up with test logs * - Add selective testing - Refactor all messaging to use LOG_ERR - Fix lack of argument / tool name capturing - Temporary fix for double event capture * refactor rule() and introduce ref() * clean up visitor * clean up indirection in root parser w.r.t rules * store shared ptr directly in parser classes * replace aho-corasick automation with a simple trie * Reset prev for qwen3 helper example variant * refactor to use value semantics with std::variant/std::visit * simplify trie_matcher result * fix linting issues * add annotations to rules * revert test workaround * implement serializing the parser * remove redundant parsers * remove tests * gbnf generation fixes * remove LOG_* use in tests * update gbnf tests to test entire grammar * clean up gbnf generation and fix a few bugs * fix typo in test output * remove implicit conversion rules * improve test output * rename trie_matcher to trie * simplify trie to just know if a node is the end of a word * remove common_chat_ prefix and ensure a common_peg_ prefix to all types * rename chat-peg-parser -> peg-parser * promote chat-peg-parser-helper to chat-peg-parser * checkpoint * use a static_assert to ensure we handle every branch * inline trivial peg parser builders * use json strings for now * implement basic and native chat peg parser builders/extractors * resolve refs to their rules * remove packrat caching (for now) * update tests * compare parsers with incremental input * benchmark both complete and incremental parsing * add raw string generation from json schema * add support for string schemas in gbnf generation * fix qwen example to include \n * tidy up example * rename extractor to mapper * rename ast_arena to ast * place basic tests into one * use gbnf_format_literal from json-schema-to-grammar * integrate parser with common/chat and server * clean up schema and serialization * add json-schema raw string tests * clean up json creation and remove capture parser * trim spaces from reasoning and content * clean up redundant rules and comments * rename input_is_complete to is_partial to match rest of project * simplify json rules * remove extraneous file * remove comment * implement += and |= operators * add comments to qwen3 implementation * reorder arguments to common_chat_peg_parse * remove commented outdated tests * add explicit copy constructor * fix operators and constness * wip: update test-chat for qwen3-coder * bring json parser closer to json-schema-to-grammar rules * trim trailing space for most things * fix qwen3 coder rules w.r.t. trailing spaces * group rules * do not trim trailing space from string args * tweak spacing of qwen3 grammar * update qwen3-coder tests * qwen3-coder small fixes * place parser in common_chat_syntax to simplify invocation * use std::set to collect rules to keep order predictable for tests * initialize parser to make certain platforms happy * revert back to std::unordered_set, sort rule names at the end instead * uncomment rest of chat tests * define explicit default constructor * improve arena init and server integration * fix chat test * add json_member() * add a comprehensive native example * clean up example qwen test and add response_format example to native test * make build_peg_parser accept std::function instead of template * change peg parser parameters into const ref * push tool call on tool open for constructed parser * add parsing documentation * clean up some comments * add json schema support to qwen3-coder * add id initializer in tests * remove grammar debug line from qwen3-coder * refactor qwen3-coder to use sequence over operators * only call common_chat_peg_parse if appropriate format * simplify qwen3-coder space handling * revert qwen3-coder implementation * revert json-schema-to-grammar changes * remove unnecessary forward declaration * small adjustment to until_parser * rename C/C++ files to use dashes * codeowners : add aldehir to peg-parser and related files --------- Co-authored-by: Piotr Wilkin --- CODEOWNERS | 3 + common/CMakeLists.txt | 6 + common/chat-parser.cpp | 40 + common/chat-peg-parser.cpp | 114 ++ common/chat-peg-parser.h | 105 ++ common/chat.cpp | 3 + common/chat.h | 9 + common/peg-parser.cpp | 1712 ++++++++++++++++++ common/peg-parser.h | 459 +++++ common/unicode.cpp | 64 + common/unicode.h | 22 + docs/development/parsing.md | 288 +++ tests/.gitignore | 1 + tests/CMakeLists.txt | 20 +- tests/peg-parser/simple-tokenize.cpp | 37 + tests/peg-parser/simple-tokenize.h | 6 + tests/peg-parser/test-basic.cpp | 454 +++++ tests/peg-parser/test-gbnf-generation.cpp | 250 +++ tests/peg-parser/test-json-parser.cpp | 109 ++ tests/peg-parser/test-json-serialization.cpp | 28 + tests/peg-parser/test-unicode.cpp | 449 +++++ tests/peg-parser/testing.h | 243 +++ tests/peg-parser/tests.h | 24 + tests/test-chat-peg-parser.cpp | 768 ++++++++ tests/test-peg-parser.cpp | 25 + tools/server/server-common.cpp | 3 + tools/server/server-task.cpp | 3 + 27 files changed, 5243 insertions(+), 2 deletions(-) create mode 100644 common/chat-peg-parser.cpp create mode 100644 common/chat-peg-parser.h create mode 100644 common/peg-parser.cpp create mode 100644 common/peg-parser.h create mode 100644 common/unicode.cpp create mode 100644 common/unicode.h create mode 100644 docs/development/parsing.md create mode 100644 tests/peg-parser/simple-tokenize.cpp create mode 100644 tests/peg-parser/simple-tokenize.h create mode 100644 tests/peg-parser/test-basic.cpp create mode 100644 tests/peg-parser/test-gbnf-generation.cpp create mode 100644 tests/peg-parser/test-json-parser.cpp create mode 100644 tests/peg-parser/test-json-serialization.cpp create mode 100644 tests/peg-parser/test-unicode.cpp create mode 100644 tests/peg-parser/testing.h create mode 100644 tests/peg-parser/tests.h create mode 100644 tests/test-chat-peg-parser.cpp create mode 100644 tests/test-peg-parser.cpp diff --git a/CODEOWNERS b/CODEOWNERS index 27c8a61a1a8..450191b7343 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -10,13 +10,16 @@ /common/arg.* @ggerganov /common/base64.hpp.* @ggerganov /common/build-info.* @ggerganov +/common/chat-peg-parser.* @aldehir /common/common.* @ggerganov /common/console.* @ggerganov /common/http.* @angt /common/llguidance.* @ggerganov /common/log.* @ggerganov +/common/peg-parser.* @aldehir /common/sampling.* @ggerganov /common/speculative.* @ggerganov +/common/unicode.* @aldehir /convert_*.py @CISC /examples/batched.swift/ @ggerganov /examples/batched/ @ggerganov diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index bb168e8358a..377b26846b6 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -52,6 +52,8 @@ add_library(${TARGET} STATIC chat-parser.h chat-parser-xml-toolcall.h chat-parser-xml-toolcall.cpp + chat-peg-parser.cpp + chat-peg-parser.h chat.cpp chat.h common.cpp @@ -69,12 +71,16 @@ add_library(${TARGET} STATIC log.h ngram-cache.cpp ngram-cache.h + peg-parser.cpp + peg-parser.h regex-partial.cpp regex-partial.h sampling.cpp sampling.h speculative.cpp speculative.h + unicode.cpp + unicode.h ) if (BUILD_SHARED_LIBS) diff --git a/common/chat-parser.cpp b/common/chat-parser.cpp index 301f439a6f9..fe3e80037f4 100644 --- a/common/chat-parser.cpp +++ b/common/chat-parser.cpp @@ -1,6 +1,8 @@ #include "chat-parser.h" +#include "chat-peg-parser.h" #include "common.h" #include "log.h" +#include "peg-parser.h" #include "regex-partial.h" #include @@ -1483,6 +1485,11 @@ static void common_chat_parse(common_chat_msg_parser & builder) { } common_chat_msg common_chat_parse(const std::string & input, bool is_partial, const common_chat_syntax & syntax) { + if (syntax.format == COMMON_CHAT_FORMAT_PEG_SIMPLE || + syntax.format == COMMON_CHAT_FORMAT_PEG_NATIVE || + syntax.format == COMMON_CHAT_FORMAT_PEG_CONSTRUCTED) { + return common_chat_peg_parse(syntax.parser, input, is_partial, syntax); + } common_chat_msg_parser builder(input, is_partial, syntax); try { common_chat_parse(builder); @@ -1500,3 +1507,36 @@ common_chat_msg common_chat_parse(const std::string & input, bool is_partial, co } return msg; } + +common_chat_msg common_chat_peg_parse(const common_peg_arena & parser, const std::string & input, bool is_partial, const common_chat_syntax & syntax) { + if (parser.empty()) { + throw std::runtime_error("Failed to parse due to missing parser definition."); + } + + LOG_DBG("Parsing input with format %s: %s\n", common_chat_format_name(syntax.format), input.c_str()); + + common_peg_parse_context ctx(input, is_partial); + auto result = parser.parse(ctx); + if (result.fail()) { + throw std::runtime_error(std::string("Failed to parse input at pos ") + std::to_string(result.end)); + } + + common_chat_msg msg; + msg.role = "assistant"; + + if (syntax.format == COMMON_CHAT_FORMAT_PEG_NATIVE) { + auto mapper = common_chat_peg_native_mapper(msg); + mapper.from_ast(ctx.ast, result); + } else if (syntax.format == COMMON_CHAT_FORMAT_PEG_CONSTRUCTED) { + auto mapper = common_chat_peg_constructed_mapper(msg); + mapper.from_ast(ctx.ast, result); + } else { + // Generic mapper + auto mapper = common_chat_peg_mapper(msg); + mapper.from_ast(ctx.ast, result); + } + if (!is_partial) { + LOG_DBG("Parsed message: %s\n", common_chat_msgs_to_json_oaicompat({msg}).at(0).dump().c_str()); + } + return msg; +} diff --git a/common/chat-peg-parser.cpp b/common/chat-peg-parser.cpp new file mode 100644 index 00000000000..74a7b6a46dc --- /dev/null +++ b/common/chat-peg-parser.cpp @@ -0,0 +1,114 @@ +#include "chat-peg-parser.h" + +#include + +using json = nlohmann::json; + +static std::string_view trim_trailing_space(std::string_view sv) { + while (!sv.empty() && std::isspace(static_cast(sv.back()))) { + sv.remove_suffix(1); + } + return sv; +} + +void common_chat_peg_mapper::from_ast(const common_peg_ast_arena & arena, const common_peg_parse_result & result) { + arena.visit(result, [this](const common_peg_ast_node & node) { + map(node); + }); +} + +void common_chat_peg_mapper::map(const common_peg_ast_node & node) { + bool is_reasoning = node.tag == common_chat_peg_builder::REASONING; + bool is_content = node.tag == common_chat_peg_builder::CONTENT; + + if (is_reasoning) { + result.reasoning_content = std::string(trim_trailing_space(node.text)); + } + + if (is_content) { + result.content = std::string(trim_trailing_space(node.text)); + } +} + +void common_chat_peg_native_mapper::map(const common_peg_ast_node & node) { + common_chat_peg_mapper::map(node); + + bool is_tool_open = node.tag == common_chat_peg_native_builder::TOOL_OPEN; + bool is_tool_name = node.tag == common_chat_peg_native_builder::TOOL_NAME; + bool is_tool_id = node.tag == common_chat_peg_native_builder::TOOL_ID; + bool is_tool_args = node.tag == common_chat_peg_native_builder::TOOL_ARGS; + + if (is_tool_open) { + result.tool_calls.emplace_back(); + current_tool = &result.tool_calls.back(); + } + + if (is_tool_id && current_tool) { + current_tool->id = std::string(trim_trailing_space(node.text)); + } + + if (is_tool_name && current_tool) { + current_tool->name = std::string(trim_trailing_space(node.text)); + } + + if (is_tool_args && current_tool) { + current_tool->arguments = std::string(trim_trailing_space(node.text)); + } +} + +void common_chat_peg_constructed_mapper::map(const common_peg_ast_node & node) { + common_chat_peg_mapper::map(node); + + bool is_tool_open = node.tag == common_chat_peg_constructed_builder::TOOL_OPEN; + bool is_tool_name = node.tag == common_chat_peg_constructed_builder::TOOL_NAME; + bool is_tool_close = node.tag == common_chat_peg_constructed_builder::TOOL_CLOSE; + bool is_arg_open = node.tag == common_chat_peg_constructed_builder::TOOL_ARG_OPEN; + bool is_arg_close = node.tag == common_chat_peg_constructed_builder::TOOL_ARG_CLOSE; + bool is_arg_name = node.tag == common_chat_peg_constructed_builder::TOOL_ARG_NAME; + bool is_arg_string = node.tag == common_chat_peg_constructed_builder::TOOL_ARG_STRING_VALUE; + bool is_arg_json = node.tag == common_chat_peg_constructed_builder::TOOL_ARG_JSON_VALUE; + + if (is_tool_open) { + result.tool_calls.emplace_back(); + current_tool = &result.tool_calls.back(); + arg_count = 0; + } + + if (is_tool_name) { + current_tool->name = std::string(node.text); + current_tool->arguments = "{"; + } + + if (is_arg_open) { + needs_closing_quote = false; + } + + if (is_arg_name && current_tool) { + if (arg_count > 0) { + current_tool->arguments += ","; + } + current_tool->arguments += json(trim_trailing_space(node.text)).dump() + ":"; + ++arg_count; + } + + if (is_arg_string && current_tool) { + // Serialize to JSON, but exclude the end quote + std::string dumped = json(node.text).dump(); + current_tool->arguments += dumped.substr(0, dumped.size() - 1); + needs_closing_quote = true; + } + + if (is_arg_close && current_tool) { + if (needs_closing_quote) { + current_tool->arguments += "\""; + } + } + + if (is_arg_json && current_tool) { + current_tool->arguments += std::string(trim_trailing_space(node.text)); + } + + if (is_tool_close && current_tool) { + current_tool->arguments += "}"; + } +} diff --git a/common/chat-peg-parser.h b/common/chat-peg-parser.h new file mode 100644 index 00000000000..b84cbed2069 --- /dev/null +++ b/common/chat-peg-parser.h @@ -0,0 +1,105 @@ +#pragma once + +#include "chat.h" +#include "peg-parser.h" + +class common_chat_peg_builder : public common_peg_parser_builder { + public: + static constexpr const char * REASONING_BLOCK = "reasoning-block"; + static constexpr const char * REASONING = "reasoning"; + static constexpr const char * CONTENT = "content"; + + common_peg_parser reasoning_block(const common_peg_parser & p) { return tag(REASONING_BLOCK, p); } + common_peg_parser reasoning(const common_peg_parser & p) { return tag(REASONING, p); } + common_peg_parser content(const common_peg_parser & p) { return tag(CONTENT, p); } +}; + +inline common_peg_arena build_chat_peg_parser(const std::function & fn) { + common_chat_peg_builder builder; + builder.set_root(fn(builder)); + return builder.build(); +} + +class common_chat_peg_mapper { + public: + common_chat_msg & result; + + common_chat_peg_mapper(common_chat_msg & msg) : result(msg) {} + + virtual void from_ast(const common_peg_ast_arena & arena, const common_peg_parse_result & result); + virtual void map(const common_peg_ast_node & node); +}; + +class common_chat_peg_native_builder : public common_chat_peg_builder { + public: + static constexpr const char * TOOL = "tool"; + static constexpr const char * TOOL_OPEN = "tool-open"; + static constexpr const char * TOOL_CLOSE = "tool-close"; + static constexpr const char * TOOL_ID = "tool-id"; + static constexpr const char * TOOL_NAME = "tool-name"; + static constexpr const char * TOOL_ARGS = "tool-args"; + + common_peg_parser tool(const common_peg_parser & p) { return tag(TOOL, p); } + common_peg_parser tool_open(const common_peg_parser & p) { return atomic(tag(TOOL_OPEN, p)); } + common_peg_parser tool_close(const common_peg_parser & p) { return atomic(tag(TOOL_CLOSE, p)); } + common_peg_parser tool_id(const common_peg_parser & p) { return atomic(tag(TOOL_ID, p)); } + common_peg_parser tool_name(const common_peg_parser & p) { return atomic(tag(TOOL_NAME, p)); } + common_peg_parser tool_args(const common_peg_parser & p) { return tag(TOOL_ARGS, p); } +}; + +class common_chat_peg_native_mapper : public common_chat_peg_mapper { + common_chat_tool_call * current_tool; + + public: + common_chat_peg_native_mapper(common_chat_msg & msg) : common_chat_peg_mapper(msg) {} + + void map(const common_peg_ast_node & node) override; +}; + +inline common_peg_arena build_chat_peg_native_parser(const std::function & fn) { + common_chat_peg_native_builder builder; + builder.set_root(fn(builder)); + return builder.build(); +} + +class common_chat_peg_constructed_builder : public common_chat_peg_builder { + public: + static constexpr const char * TOOL = "tool"; + static constexpr const char * TOOL_OPEN = "tool-open"; + static constexpr const char * TOOL_CLOSE = "tool-close"; + static constexpr const char * TOOL_NAME = "tool-name"; + static constexpr const char * TOOL_ARG = "tool-arg"; + static constexpr const char * TOOL_ARG_OPEN = "tool-arg-open"; + static constexpr const char * TOOL_ARG_CLOSE = "tool-arg-close"; + static constexpr const char * TOOL_ARG_NAME = "tool-arg-name"; + static constexpr const char * TOOL_ARG_STRING_VALUE = "tool-arg-string-value"; + static constexpr const char * TOOL_ARG_JSON_VALUE = "tool-arg-json-value"; + + common_peg_parser tool(const common_peg_parser & p) { return tag(TOOL, p); } + common_peg_parser tool_open(const common_peg_parser & p) { return atomic(tag(TOOL_OPEN, p)); } + common_peg_parser tool_close(const common_peg_parser & p) { return atomic(tag(TOOL_CLOSE, p)); } + common_peg_parser tool_name(const common_peg_parser & p) { return atomic(tag(TOOL_NAME, p)); } + common_peg_parser tool_arg(const common_peg_parser & p) { return tag(TOOL_ARG, p); } + common_peg_parser tool_arg_open(const common_peg_parser & p) { return atomic(tag(TOOL_ARG_OPEN, p)); } + common_peg_parser tool_arg_close(const common_peg_parser & p) { return atomic(tag(TOOL_ARG_CLOSE, p)); } + common_peg_parser tool_arg_name(const common_peg_parser & p) { return atomic(tag(TOOL_ARG_NAME, p)); } + common_peg_parser tool_arg_string_value(const common_peg_parser & p) { return tag(TOOL_ARG_STRING_VALUE, p); } + common_peg_parser tool_arg_json_value(const common_peg_parser & p) { return tag(TOOL_ARG_JSON_VALUE, p); } +}; + +class common_chat_peg_constructed_mapper : public common_chat_peg_mapper { + common_chat_tool_call * current_tool; + int arg_count = 0; + bool needs_closing_quote = false; + + public: + common_chat_peg_constructed_mapper(common_chat_msg & msg) : common_chat_peg_mapper(msg) {} + + void map(const common_peg_ast_node & node) override; +}; + +inline common_peg_arena build_chat_peg_constructed_parser(const std::function & fn) { + common_chat_peg_constructed_builder builder; + builder.set_root(fn(builder)); + return builder.build(); +} diff --git a/common/chat.cpp b/common/chat.cpp index 5baafd6ea3b..e562e79b9f0 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -649,6 +649,9 @@ const char * common_chat_format_name(common_chat_format format) { case COMMON_CHAT_FORMAT_QWEN3_CODER_XML: return "Qwen3 Coder"; case COMMON_CHAT_FORMAT_APRIEL_1_5: return "Apriel 1.5"; case COMMON_CHAT_FORMAT_XIAOMI_MIMO: return "Xiaomi MiMo"; + case COMMON_CHAT_FORMAT_PEG_SIMPLE: return "peg-simple"; + case COMMON_CHAT_FORMAT_PEG_NATIVE: return "peg-native"; + case COMMON_CHAT_FORMAT_PEG_CONSTRUCTED: return "peg-constructed"; default: throw std::runtime_error("Unknown chat format"); } diff --git a/common/chat.h b/common/chat.h index 754c411e237..fc93a690fcd 100644 --- a/common/chat.h +++ b/common/chat.h @@ -3,6 +3,7 @@ #pragma once #include "common.h" +#include "peg-parser.h" #include #include #include @@ -124,6 +125,11 @@ enum common_chat_format { COMMON_CHAT_FORMAT_APRIEL_1_5, COMMON_CHAT_FORMAT_XIAOMI_MIMO, + // These are intended to be parsed by the PEG parser + COMMON_CHAT_FORMAT_PEG_SIMPLE, + COMMON_CHAT_FORMAT_PEG_NATIVE, + COMMON_CHAT_FORMAT_PEG_CONSTRUCTED, + COMMON_CHAT_FORMAT_COUNT, // Not a format, just the # formats }; @@ -154,6 +160,7 @@ struct common_chat_params { std::vector grammar_triggers; std::vector preserved_tokens; std::vector additional_stops; + std::string parser; }; struct common_chat_syntax { @@ -163,6 +170,7 @@ struct common_chat_syntax { bool reasoning_in_content = false; bool thinking_forced_open = false; bool parse_tool_calls = true; + common_peg_arena parser = {}; }; // Check if the template supplied via "--chat-template" is supported or not. Returns true if it's valid @@ -206,6 +214,7 @@ const char* common_chat_format_name(common_chat_format format); const char* common_reasoning_format_name(common_reasoning_format format); common_reasoning_format common_reasoning_format_from_name(const std::string & format); common_chat_msg common_chat_parse(const std::string & input, bool is_partial, const common_chat_syntax & syntax); +common_chat_msg common_chat_peg_parse(const common_peg_arena & parser, const std::string & input, bool is_partial, const common_chat_syntax & syntax); common_chat_tool_choice common_chat_tool_choice_parse_oaicompat(const std::string & tool_choice); diff --git a/common/peg-parser.cpp b/common/peg-parser.cpp new file mode 100644 index 00000000000..dec99e1820f --- /dev/null +++ b/common/peg-parser.cpp @@ -0,0 +1,1712 @@ +#include "common.h" +#include "peg-parser.h" +#include "json-schema-to-grammar.h" +#include "unicode.h" + +#include + +#include +#include +#include +#include +#include +#include +#include + +// Trick to catch missing branches +template +inline constexpr bool is_always_false_v = false; + +const char * common_peg_parse_result_type_name(common_peg_parse_result_type type) { + switch (type) { + case COMMON_PEG_PARSE_RESULT_FAIL: return "fail"; + case COMMON_PEG_PARSE_RESULT_SUCCESS: return "success"; + case COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT: return "need_more_input"; + default: return "unknown"; + } +} + +static bool is_hex_digit(const char c) { + return (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'); +} + +// Trie for matching multiple literals. +// This is used in common_peg_until_parser and to build a GBNF exclusion grammar +struct trie { + struct node { + size_t depth = 0; + std::map children; + bool is_word; + }; + + std::vector nodes; + + trie(const std::vector & words) { + create_node(); // root node + for (const auto & w : words) { + insert(w); + } + } + + enum match_result { NO_MATCH, PARTIAL_MATCH, COMPLETE_MATCH }; + + // Check if a delimiter starts at the given position + match_result check_at(std::string_view sv, size_t start_pos) const { + size_t current = 0; // Start at root + size_t pos = start_pos; + + while (pos < sv.size()) { + auto it = nodes[current].children.find(sv[pos]); + if (it == nodes[current].children.end()) { + // Can't continue matching + return match_result{match_result::NO_MATCH}; + } + + current = it->second; + pos++; + + // Check if we've matched a complete word + if (nodes[current].is_word) { + return match_result{match_result::COMPLETE_MATCH}; + } + } + + // Reached end of input while still in the trie (not at root) + if (current != 0) { + // We're in the middle of a potential match + return match_result{match_result::PARTIAL_MATCH}; + } + + // Reached end at root (no match) + return match_result{match_result::NO_MATCH}; + } + + struct prefix_and_next { + std::string prefix; + std::string next_chars; + }; + + std::vector collect_prefix_and_next() { + std::string prefix; + std::vector result; + collect_prefix_and_next(0, prefix, result); + return result; + } + + private: + void collect_prefix_and_next(size_t index, std::string & prefix, std::vector & out) { + if (!nodes[index].is_word) { + if (!nodes[index].children.empty()) { + std::string chars; + chars.reserve(nodes[index].children.size()); + for (const auto & p : nodes[index].children) { + chars.push_back(p.first); + } + out.emplace_back(prefix_and_next{prefix, chars}); + } + } + + for (const auto & p : nodes[index].children) { + unsigned char ch = p.first; + auto child = p.second; + prefix.push_back(ch); + collect_prefix_and_next(child, prefix, out); + prefix.pop_back(); + } + } + + size_t create_node() { + size_t index = nodes.size(); + nodes.emplace_back(); + return index; + } + + void insert(const std::string & word) { + size_t current = 0; + for (unsigned char ch : word) { + auto it = nodes[current].children.find(ch); + if (it == nodes[current].children.end()) { + size_t child = create_node(); + nodes[child].depth = nodes[current].depth + 1; + nodes[current].children[ch] = child; + current = child; + } else { + current = it->second; + } + } + nodes[current].is_word = true; + } +}; + +static std::pair parse_hex_escape(const std::string & str, size_t pos, int hex_count) { + if (pos + hex_count > str.length()) { + return {0, 0}; + } + + uint32_t value = 0; + for (int i = 0; i < hex_count; i++) { + char c = str[pos + i]; + if (!is_hex_digit(c)) { + return {0, 0}; + } + value <<= 4; + if ('a' <= c && c <= 'f') { + value += c - 'a' + 10; + } else if ('A' <= c && c <= 'F') { + value += c - 'A' + 10; + } else if ('0' <= c && c <= '9') { + value += c - '0'; + } else { + break; + } + } + return {value, static_cast(hex_count)}; +} + +static std::pair parse_char_class_char(const std::string & content, size_t pos) { + if (content[pos] == '\\' && pos + 1 < content.length()) { + switch (content[pos + 1]) { + case 'x': { + auto result = parse_hex_escape(content, pos + 2, 2); + if (result.second > 0) { + return {result.first, 2 + result.second}; + } + // Invalid escape, treat as literal 'x' + return {static_cast('x'), 2}; + } + case 'u': { + auto result = parse_hex_escape(content, pos + 2, 4); + if (result.second > 0) { + return {result.first, 2 + result.second}; + } + // Invalid escape, treat as literal 'u' + return {static_cast('u'), 2}; + } + case 'U': { + auto result = parse_hex_escape(content, pos + 2, 8); + if (result.second > 0) { + return {result.first, 2 + result.second}; + } + // Invalid escape, treat as literal 'U' + return {static_cast('U'), 2}; + } + case 'n': return {'\n', 2}; + case 't': return {'\t', 2}; + case 'r': return {'\r', 2}; + case '\\': return {'\\', 2}; + case ']': return {']', 2}; + case '[': return {'[', 2}; + default: return {static_cast(content[pos + 1]), 2}; + } + } + + // Regular character - return as codepoint + return {static_cast(static_cast(content[pos])), 1}; +} + +static std::pair, bool> parse_char_classes(const std::string & classes) { + std::vector ranges; + bool negated = false; + + std::string content = classes; + if (content.front() == '[') { + content = content.substr(1); + } + + if (content.back() == ']') { + content.pop_back(); + } + + // Check for negation + if (!content.empty() && content.front() == '^') { + negated = true; + content = content.substr(1); + } + + size_t i = 0; + while (i < content.length()) { + auto [start, start_len] = parse_char_class_char(content, i); + i += start_len; + + if (i + 1 < content.length() && content[i] == '-') { + // Range detected + auto [end, end_len] = parse_char_class_char(content, i + 1); + ranges.push_back(common_peg_chars_parser::char_range{start, end}); + i += 1 + end_len; + } else { + ranges.push_back(common_peg_chars_parser::char_range{start, start}); + } + } + + return {ranges, negated}; +} + +void common_peg_ast_arena::visit(common_peg_ast_id id, const common_peg_ast_visitor & visitor) const { + if (id == COMMON_PEG_INVALID_AST_ID) { + return; + } + const auto & node = get(id); + visitor(node); + for (const auto & child : node.children) { + visit(child, visitor); + } +} + +void common_peg_ast_arena::visit(const common_peg_parse_result & result, const common_peg_ast_visitor & visitor) const { + for (const auto & node : result.nodes) { + visit(node, visitor); + } +} + +struct parser_executor; + +common_peg_parser_id common_peg_arena::add_parser(common_peg_parser_variant parser) { + common_peg_parser_id id = parsers_.size(); + parsers_.push_back(std::move(parser)); + return id; +} + +void common_peg_arena::add_rule(const std::string & name, common_peg_parser_id id) { + rules_[name] = id; +} + +common_peg_parser_id common_peg_arena::get_rule(const std::string & name) const { + auto it = rules_.find(name); + if (it == rules_.end()) { + throw std::runtime_error("Rule not found: " + name); + } + return it->second; +} + +struct parser_executor { + const common_peg_arena & arena; + common_peg_parse_context & ctx; + size_t start_pos; + + parser_executor(const common_peg_arena & arena, common_peg_parse_context & ctx, size_t start) + : arena(arena), ctx(ctx), start_pos(start) {} + + common_peg_parse_result operator()(const common_peg_epsilon_parser & /* p */) const { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos); + } + + common_peg_parse_result operator()(const common_peg_start_parser & /* p */) const { + return common_peg_parse_result( + start_pos == 0 ? COMMON_PEG_PARSE_RESULT_SUCCESS : COMMON_PEG_PARSE_RESULT_FAIL, + start_pos + ); + } + + common_peg_parse_result operator()(const common_peg_end_parser & /* p */) const { + return common_peg_parse_result( + start_pos >= ctx.input.size() ? COMMON_PEG_PARSE_RESULT_SUCCESS : COMMON_PEG_PARSE_RESULT_FAIL, + start_pos + ); + } + + common_peg_parse_result operator()(const common_peg_literal_parser & p) { + auto pos = start_pos; + for (auto i = 0u; i < p.literal.size(); ++i) { + if (pos >= ctx.input.size()) { + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, pos); + } + if (ctx.input[pos] != p.literal[i]) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + ++pos; + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + + common_peg_parse_result operator()(const common_peg_sequence_parser & p) { + auto pos = start_pos; + std::vector nodes; + + for (const auto & child_id : p.children) { + auto result = arena.parse(child_id, ctx, pos); + if (result.fail()) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos, result.end); + } + + if (!result.nodes.empty()) { + nodes.insert(nodes.end(), result.nodes.begin(), result.nodes.end()); + } + + if (result.need_more_input()) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, result.end, std::move(nodes)); + } + + pos = result.end; + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos, std::move(nodes)); + } + + common_peg_parse_result operator()(const common_peg_choice_parser & p) { + auto pos = start_pos; + for (const auto & child_id : p.children) { + auto result = arena.parse(child_id, ctx, pos); + if (!result.fail()) { + return result; + } + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + + common_peg_parse_result operator()(const common_peg_repetition_parser & p) { + auto pos = start_pos; + int match_count = 0; + std::vector nodes; + + // Try to match up to max_count times (or unlimited if max_count is -1) + while (p.max_count == -1 || match_count < p.max_count) { + if (pos >= ctx.input.size()) { + break; + } + + auto result = arena.parse(p.child, ctx, pos); + + if (result.success()) { + // Prevent infinite loop on empty matches + if (result.end == pos) { + break; + } + + if (!result.nodes.empty()) { + nodes.insert(nodes.end(), result.nodes.begin(), result.nodes.end()); + } + + pos = result.end; + match_count++; + continue; + } + + if (result.need_more_input()) { + if (!result.nodes.empty()) { + nodes.insert(nodes.end(), result.nodes.begin(), result.nodes.end()); + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, result.end, std::move(nodes)); + } + + // Child failed - stop trying + break; + } + + // Check if we got enough matches + if (p.min_count > 0 && match_count < p.min_count) { + if (pos >= ctx.input.size() && ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, pos, std::move(nodes)); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos, pos); + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos, std::move(nodes)); + } + + common_peg_parse_result operator()(const common_peg_and_parser & p) { + auto result = arena.parse(p.child, ctx, start_pos); + // Pass result but don't consume input + return common_peg_parse_result(result.type, start_pos); + } + + common_peg_parse_result operator()(const common_peg_not_parser & p) { + auto result = arena.parse(p.child, ctx, start_pos); + + if (result.success()) { + // Fail if the underlying parser matches + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + + if (result.need_more_input()) { + // Propagate - need to know what child would match before negating + return result; + } + + // Child failed, so negation succeeds + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos); + } + + common_peg_parse_result operator()(const common_peg_any_parser & /* p */) const { + // Parse a single UTF-8 codepoint (not just a single byte) + auto result = parse_utf8_codepoint(ctx.input, start_pos); + + if (result.status == utf8_parse_result::INCOMPLETE) { + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos); + } + if (result.status == utf8_parse_result::INVALID) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, start_pos + result.bytes_consumed); + } + + common_peg_parse_result operator()(const common_peg_space_parser & /* p */) { + auto pos = start_pos; + while (pos < ctx.input.size()) { + auto c = static_cast(ctx.input[pos]); + if (std::isspace(c)) { + ++pos; + } else { + break; + } + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + + common_peg_parse_result operator()(const common_peg_chars_parser & p) const { + auto pos = start_pos; + int match_count = 0; + + // Try to match up to max_count times (or unlimited if max_count is -1) + while (p.max_count == -1 || match_count < p.max_count) { + auto result = parse_utf8_codepoint(ctx.input, pos); + + if (result.status == utf8_parse_result::INCOMPLETE) { + if (match_count >= p.min_count) { + // We have enough matches, succeed with what we have + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + // Not enough matches yet + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, pos); + } + + if (result.status == utf8_parse_result::INVALID) { + // Malformed UTF-8 in input + if (match_count >= p.min_count) { + // We have enough matches, succeed up to here + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + // Not enough matches, fail + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + + // Check if this codepoint matches our character class + bool matches = false; + for (const auto & range : p.ranges) { + if (range.contains(result.codepoint)) { + matches = true; + break; + } + } + + // If negated, invert the match result + if (p.negated) { + matches = !matches; + } + + if (matches) { + pos += result.bytes_consumed; + ++match_count; + } else { + // Character doesn't match, stop matching + break; + } + } + + // Check if we got enough matches + if (match_count < p.min_count) { + if (pos >= ctx.input.size() && ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos, pos); + } + + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + + static common_peg_parse_result handle_escape_sequence(common_peg_parse_context & ctx, size_t start, size_t & pos) { + ++pos; // consume '\' + if (pos >= ctx.input.size()) { + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start, pos); + } + + switch (ctx.input[pos]) { + case '"': + case '\\': + case '/': + case 'b': + case 'f': + case 'n': + case 'r': + case 't': + ++pos; + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start, pos); + case 'u': + return handle_unicode_escape(ctx, start, pos); + default: + // Invalid escape sequence + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start); + } + } + + static common_peg_parse_result handle_unicode_escape(common_peg_parse_context & ctx, size_t start, size_t & pos) { + ++pos; // consume 'u' + for (int i = 0; i < 4; ++i) { + if (pos >= ctx.input.size()) { + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start, pos); + } + if (!is_hex_digit(ctx.input[pos])) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start); + } + ++pos; + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start, pos); + } + + common_peg_parse_result operator()(const common_peg_json_string_parser & /* p */) { + auto pos = start_pos; + + // Parse string content (without quotes) + while (pos < ctx.input.size()) { + char c = ctx.input[pos]; + + if (c == '"') { + // Found closing quote - success (don't consume it) + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + + if (c == '\\') { + auto result = handle_escape_sequence(ctx, start_pos, pos); + if (!result.success()) { + return result; + } + } else { + auto utf8_result = parse_utf8_codepoint(ctx.input, pos); + + if (utf8_result.status == utf8_parse_result::INCOMPLETE) { + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, pos); + } + + if (utf8_result.status == utf8_parse_result::INVALID) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + + pos += utf8_result.bytes_consumed; + } + } + + // Reached end without finding closing quote + if (!ctx.is_partial) { + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos, pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, pos); + } + + common_peg_parse_result operator()(const common_peg_until_parser & p) const { + trie matcher(p.delimiters); + + // Scan input and check for delimiters + size_t pos = start_pos; + size_t last_valid_pos = start_pos; + + while (pos < ctx.input.size()) { + auto utf8_result = parse_utf8_codepoint(ctx.input, pos); + + if (utf8_result.status == utf8_parse_result::INCOMPLETE) { + // Incomplete UTF-8 sequence + if (!ctx.is_partial) { + // Input is complete but UTF-8 is incomplete = malformed + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + // Return what we have so far (before incomplete sequence) + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, last_valid_pos); + } + + if (utf8_result.status == utf8_parse_result::INVALID) { + // Malformed UTF-8 + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_FAIL, start_pos); + } + + // Check if a delimiter starts at this position + auto match = matcher.check_at(ctx.input, pos); + + if (match == trie::COMPLETE_MATCH) { + // Found a complete delimiter, return everything before it + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + + if (match == trie::PARTIAL_MATCH) { + // Found a partial match extending to end of input, return everything before it + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, pos); + } + + pos += utf8_result.bytes_consumed; + last_valid_pos = pos; + } + + if (last_valid_pos == ctx.input.size() && ctx.is_partial) { + // Reached the end of a partial stream, there might still be more input that we need to consume. + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT, start_pos, last_valid_pos); + } + return common_peg_parse_result(COMMON_PEG_PARSE_RESULT_SUCCESS, start_pos, last_valid_pos); + } + + common_peg_parse_result operator()(const common_peg_schema_parser & p) { + return arena.parse(p.child, ctx, start_pos); + } + + common_peg_parse_result operator()(const common_peg_rule_parser & p) { + // Parse the child + auto result = arena.parse(p.child, ctx, start_pos); + + if (!result.fail()) { + std::string_view text; + if (result.start < ctx.input.size()) { + text = std::string_view(ctx.input).substr(result.start, result.end - result.start); + } + + auto node_id = ctx.ast.add_node( + p.name, + "", + result.start, + result.end, + text, + std::move(result.nodes), + result.need_more_input() + ); + + return common_peg_parse_result(result.type, result.start, result.end, { node_id }); + } + + return result; + } + + common_peg_parse_result operator()(const common_peg_tag_parser & p) { + // Parse the child + auto result = arena.parse(p.child, ctx, start_pos); + + if (!result.fail()) { + std::string_view text; + if (result.start < ctx.input.size()) { + text = std::string_view(ctx.input).substr(result.start, result.end - result.start); + } + + auto node_id = ctx.ast.add_node( + "", + p.tag, + result.start, + result.end, + text, + std::move(result.nodes), + result.need_more_input() + ); + + return common_peg_parse_result(result.type, result.start, result.end, { node_id }); + } + + return result; + } + + common_peg_parse_result operator()(const common_peg_ref_parser & p) { + auto rule_id = arena.get_rule(p.name); + return arena.parse(rule_id, ctx, start_pos); + } + + common_peg_parse_result operator()(const common_peg_atomic_parser & p) { + auto result = arena.parse(p.child, ctx, start_pos); + if (result.need_more_input()) { + // Clear nodes so they don't propagate up. + result.nodes.clear(); + } + return result; + } +}; + +common_peg_parse_result common_peg_arena::parse(common_peg_parse_context & ctx, size_t start) const { + if (root_ == COMMON_PEG_INVALID_PARSER_ID) { + throw std::runtime_error("No root parser set"); + } + return parse(root_, ctx, start); +} + +common_peg_parse_result common_peg_arena::parse(common_peg_parser_id id, common_peg_parse_context & ctx, size_t start) const { + // Execute parser + const auto & parser = parsers_.at(id); + parser_executor exec(*this, ctx, start); + return std::visit(exec, parser); +} + +common_peg_parser_id common_peg_arena::resolve_ref(common_peg_parser_id id) { + const auto & parser = parsers_.at(id); + if (auto ref = std::get_if(&parser)) { + return get_rule(ref->name); + } + return id; +} + +void common_peg_arena::resolve_refs() { + // Walk through all parsers and replace refs with their corresponding rule IDs + for (auto & parser : parsers_) { + std::visit([this](auto & p) { + using T = std::decay_t; + + if constexpr (std::is_same_v) { + for (auto & child : p.children) { + child = resolve_ref(child); + } + } else if constexpr (std::is_same_v) { + for (auto & child : p.children) { + child = resolve_ref(child); + } + } else if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v) { + p.child = resolve_ref(p.child); + } else if constexpr (std::is_same_v) { + p.child = resolve_ref(p.child); + } else if constexpr (std::is_same_v) { + p.child = resolve_ref(p.child); + } else if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v) { + // These rules do not have children + } else { + static_assert(is_always_false_v); + } + }, parser); + } + + // Also flatten root if it's a ref + if (root_ != COMMON_PEG_INVALID_PARSER_ID) { + root_ = resolve_ref(root_); + } +} + +std::string common_peg_arena::dump(common_peg_parser_id id) const { + const auto & parser = parsers_.at(id); + + return std::visit([this](const auto & p) -> std::string { + using T = std::decay_t; + + if constexpr (std::is_same_v) { + return "Epsilon"; + } else if constexpr (std::is_same_v) { + return "Start"; + } else if constexpr (std::is_same_v) { + return "End"; + } else if constexpr (std::is_same_v) { + return "Literal(" + p.literal + ")"; + } else if constexpr (std::is_same_v) { + std::vector parts; + for (const auto & child : p.children) { + parts.push_back(dump(child)); + } + return "Sequence(" + string_join(parts, ", ") + ")"; + } else if constexpr (std::is_same_v) { + std::vector parts; + for (const auto & child : p.children) { + parts.push_back(dump(child)); + } + return "Choice(" + string_join(parts, ", ") + ")"; + } else if constexpr (std::is_same_v) { + if (p.max_count == -1) { + return "Repetition(" + dump(p.child) + ", " + std::to_string(p.min_count) + ", unbounded)"; + } + return "Repetition(" + dump(p.child) + ", " + std::to_string(p.min_count) + ", " + std::to_string(p.max_count) + ")"; + } else if constexpr (std::is_same_v) { + return "And(" + dump(p.child) + ")"; + } else if constexpr (std::is_same_v) { + return "Not(" + dump(p.child) + ")"; + } else if constexpr (std::is_same_v) { + return "Any"; + } else if constexpr (std::is_same_v) { + return "Space"; + } else if constexpr (std::is_same_v) { + if (p.max_count == -1) { + return "CharRepeat(" + p.pattern + ", " + std::to_string(p.min_count) + ", unbounded)"; + } + return "CharRepeat(" + p.pattern + ", " + std::to_string(p.min_count) + ", " + std::to_string(p.max_count) + ")"; + } else if constexpr (std::is_same_v) { + return "JsonString()"; + } else if constexpr (std::is_same_v) { + return "Until(" + string_join(p.delimiters, " | ") + ")"; + } else if constexpr (std::is_same_v) { + return "Schema(" + dump(p.child) + ", " + (p.schema ? p.schema->dump() : "null") + ")"; + } else if constexpr (std::is_same_v) { + return "Rule(" + p.name + ", " + dump(p.child) + ")"; + } else if constexpr (std::is_same_v) { + return "Ref(" + p.name + ")"; + } else { + return "Unknown"; + } + }, parser); +} + +common_peg_parser & common_peg_parser::operator=(const common_peg_parser & other) { + id_ = other.id_; + return *this; +} + +common_peg_parser & common_peg_parser::operator+=(const common_peg_parser & other) { + id_ = builder_.sequence({id_, other.id_}); + return *this; +} + +common_peg_parser & common_peg_parser::operator|=(const common_peg_parser & other) { + id_ = builder_.choice({id_, other.id_}); + return *this; +} + +common_peg_parser common_peg_parser::operator+(const common_peg_parser & other) const { + return builder_.sequence({id_, other.id_}); +} + +common_peg_parser common_peg_parser::operator|(const common_peg_parser & other) const { + return builder_.choice({id_, other.id_}); +} + +common_peg_parser common_peg_parser::operator<<(const common_peg_parser & other) const { + return builder_.sequence({id_, builder_.space(), other.id_}); +} + +common_peg_parser common_peg_parser::operator+(const char * str) const { + return *this + builder_.literal(str); +} + +common_peg_parser common_peg_parser::operator+(const std::string & str) const { + return *this + builder_.literal(str); +} + +common_peg_parser common_peg_parser::operator<<(const char * str) const { + return *this << builder_.literal(str); +} + +common_peg_parser common_peg_parser::operator<<(const std::string & str) const { + return *this << builder_.literal(str); +} + +common_peg_parser common_peg_parser::operator|(const char * str) const { + return *this | builder_.literal(str); +} + +common_peg_parser common_peg_parser::operator|(const std::string & str) const { + return *this | builder_.literal(str); +} + +common_peg_parser operator+(const char * str, const common_peg_parser & p) { + return p.builder().literal(str) + p; +} + +common_peg_parser operator+(const std::string & str, const common_peg_parser & p) { + return operator+(str.c_str(), p); +} + +common_peg_parser operator<<(const char * str, const common_peg_parser & p) { + return p.builder().literal(str) << p; +} + +common_peg_parser operator<<(const std::string & str, const common_peg_parser & p) { + return operator<<(str.c_str(), p); +} + +common_peg_parser operator|(const char * str, const common_peg_parser & p) { + return p.builder().literal(str) | p; +} + +common_peg_parser operator|(const std::string & str, const common_peg_parser & p) { + return operator|(str.c_str(), p); +} + +static std::string rule_name(const std::string & name) { + static const std::regex invalid_rule_chars_re("[^a-zA-Z0-9-]+"); + return std::regex_replace(name, invalid_rule_chars_re, "-"); +} + +common_peg_parser_builder::common_peg_parser_builder() {} + +common_peg_parser common_peg_parser_builder::sequence(const std::vector & parsers) { + // Flatten nested sequences + std::vector flattened; + for (const auto & p : parsers) { + const auto & parser = arena_.get(p); + if (auto seq = std::get_if(&parser)) { + flattened.insert(flattened.end(), seq->children.begin(), seq->children.end()); + } else { + flattened.push_back(p); + } + } + return wrap(arena_.add_parser(common_peg_sequence_parser{flattened})); +} + +common_peg_parser common_peg_parser_builder::sequence(const std::vector & parsers) { + std::vector ids; + ids.reserve(parsers.size()); + for (const auto & p : parsers) { + ids.push_back(p.id()); + } + return sequence(ids); +} + +common_peg_parser common_peg_parser_builder::sequence(std::initializer_list parsers) { + std::vector ids; + ids.reserve(parsers.size()); + for (const auto & p : parsers) { + ids.push_back(p.id()); + } + return sequence(ids); +} + +common_peg_parser common_peg_parser_builder::choice(const std::vector & parsers) { + // Flatten nested choices + std::vector flattened; + for (const auto & p : parsers) { + const auto & parser = arena_.get(p); + if (auto choice = std::get_if(&parser)) { + flattened.insert(flattened.end(), choice->children.begin(), choice->children.end()); + } else { + flattened.push_back(p); + } + } + return wrap(arena_.add_parser(common_peg_choice_parser{flattened})); +} + +common_peg_parser common_peg_parser_builder::choice(const std::vector & parsers) { + std::vector ids; + ids.reserve(parsers.size()); + for (const auto & p : parsers) { + ids.push_back(p.id()); + } + return choice(ids); +} + +common_peg_parser common_peg_parser_builder::choice(std::initializer_list parsers) { + std::vector ids; + ids.reserve(parsers.size()); + for (const auto & p : parsers) { + ids.push_back(p.id()); + } + return choice(ids); +} + +common_peg_parser common_peg_parser_builder::chars(const std::string & classes, int min, int max) { + auto [ranges, negated] = parse_char_classes(classes); + return wrap(arena_.add_parser(common_peg_chars_parser{classes, ranges, negated, min, max})); +} + +common_peg_parser common_peg_parser_builder::schema(const common_peg_parser & p, const std::string & name, const nlohmann::ordered_json & schema, bool raw) { + return wrap(arena_.add_parser(common_peg_schema_parser{p.id(), name, std::make_shared(schema), raw})); +} + +common_peg_parser common_peg_parser_builder::rule(const std::string & name, const common_peg_parser & p, bool trigger) { + auto clean_name = rule_name(name); + auto rule_id = arena_.add_parser(common_peg_rule_parser{clean_name, p.id(), trigger}); + arena_.add_rule(clean_name, rule_id); + return ref(clean_name); +} + +common_peg_parser common_peg_parser_builder::rule(const std::string & name, const std::function & builder_fn, bool trigger) { + auto clean_name = rule_name(name); + if (arena_.has_rule(clean_name)) { + return ref(clean_name); + } + + // Create placeholder rule to allow recursive references + auto placeholder = any(); // Temporary placeholder + auto placeholder_rule_id = arena_.add_parser(common_peg_rule_parser{clean_name, placeholder.id(), trigger}); + arena_.add_rule(clean_name, placeholder_rule_id); + + // Build the actual parser + auto parser = builder_fn(); + + // Replace placeholder with actual rule + auto rule_id = arena_.add_parser(common_peg_rule_parser{clean_name, parser.id(), trigger}); + arena_.rules_[clean_name] = rule_id; + + return ref(clean_name); +} + +void common_peg_parser_builder::set_root(const common_peg_parser & p) { + arena_.set_root(p.id()); +} + +common_peg_arena common_peg_parser_builder::build() { + arena_.resolve_refs(); + return std::move(arena_); +} + +// JSON parsers +common_peg_parser common_peg_parser_builder::json_number() { + return rule("json-number", [this]() { + auto digit1_9 = chars("[1-9]", 1, 1); + auto digits = chars("[0-9]"); + auto int_part = choice({literal("0"), sequence({digit1_9, chars("[0-9]", 0, -1)})}); + auto frac = sequence({literal("."), digits}); + auto exp = sequence({choice({literal("e"), literal("E")}), optional(chars("[+-]", 1, 1)), digits}); + return sequence({optional(literal("-")), int_part, optional(frac), optional(exp), space()}); + }); +} + +common_peg_parser common_peg_parser_builder::json_string() { + return rule("json-string", [this]() { + return sequence({literal("\""), json_string_content(), literal("\""), space()}); + }); +} + +common_peg_parser common_peg_parser_builder::json_bool() { + return rule("json-bool", [this]() { + return sequence({choice({literal("true"), literal("false")}), space()}); + }); +} + +common_peg_parser common_peg_parser_builder::json_null() { + return rule("json-null", [this]() { + return sequence({literal("null"), space()}); + }); +} + +common_peg_parser common_peg_parser_builder::json_object() { + return rule("json-object", [this]() { + auto ws = space(); + auto member = sequence({json_string(), ws, literal(":"), ws, json()}); + auto members = sequence({member, zero_or_more(sequence({ws, literal(","), ws, member}))}); + return sequence({ + literal("{"), + ws, + choice({ + literal("}"), + sequence({members, ws, literal("}")}) + }), + ws + }); + }); +} + +common_peg_parser common_peg_parser_builder::json_array() { + return rule("json-array", [this]() { + auto ws = space(); + auto elements = sequence({json(), zero_or_more(sequence({literal(","), ws, json()}))}); + return sequence({ + literal("["), + ws, + choice({ + literal("]"), + sequence({elements, ws, literal("]")}) + }), + ws + }); + }); +} + +common_peg_parser common_peg_parser_builder::json() { + return rule("json-value", [this]() { + return choice({ + json_object(), + json_array(), + json_string(), + json_number(), + json_bool(), + json_null() + }); + }); +} + +common_peg_parser common_peg_parser_builder::json_string_content() { + return wrap(arena_.add_parser(common_peg_json_string_parser{})); +} + +common_peg_parser common_peg_parser_builder::json_member(const std::string & key, const common_peg_parser & p) { + auto ws = space(); + return sequence({ + literal("\"" + key + "\""), + ws, + literal(":"), + ws, + p, + }); +} + + +static std::string gbnf_escape_char_class(char c) { + switch (c) { + case '\n': return "\\n"; + case '\t': return "\\t"; + case '\r': return "\\r"; + case '\\': return "\\\\"; + case ']': return "\\]"; + case '[': return "\\["; + default: return std::string(1, c); + } +} + +static std::string gbnf_excluding_pattern(const std::vector & strings) { + trie matcher(strings); + auto pieces = matcher.collect_prefix_and_next(); + + std::string pattern; + for (size_t i = 0; i < pieces.size(); ++i) { + if (i > 0) { + pattern += " | "; + } + + const auto & pre = pieces[i].prefix; + const auto & chars = pieces[i].next_chars; + + std::string cls; + cls.reserve(chars.size()); + for (const auto & ch : chars) { + cls += gbnf_escape_char_class(ch); + } + + if (!pre.empty()) { + pattern += gbnf_format_literal(pre) + " [^" + cls + "]"; + } else { + pattern += "[^" + cls + "]"; + } + } + + return "(" + pattern + ")*"; +} + +static std::unordered_set collect_reachable_rules( + const common_peg_arena & arena, + const common_peg_parser_id & rule +) { + std::unordered_set reachable; + std::unordered_set visited; + + std::function visit = [&](common_peg_parser_id id) { + const auto & parser = arena.get(id); + + std::visit([&](const auto & p) { + using T = std::decay_t; + + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v) { + // These parsers do not have any children + } else if constexpr (std::is_same_v) { + for (auto child : p.children) { + visit(child); + } + } else if constexpr (std::is_same_v) { + for (auto child : p.children) { + visit(child); + } + } else if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v || + std::is_same_v) { + visit(p.child); + } else if constexpr (std::is_same_v) { + if (visited.find(p.name) == visited.end()) { + visited.insert(p.name); + reachable.insert(p.name); + visit(p.child); + } + } else if constexpr (std::is_same_v) { + // Traverse rules so we pick up everything + auto referenced_rule = arena.get_rule(p.name); + visit(referenced_rule); + } else { + static_assert(is_always_false_v); + } + }, parser); + }; + + visit(rule); + return reachable; +} + +// GBNF generation implementation +void common_peg_arena::build_grammar(const common_grammar_builder & builder, bool lazy) const { + // Generate GBNF for a parser + std::function to_gbnf = [&](common_peg_parser_id id) -> std::string { + const auto & parser = parsers_.at(id); + + return std::visit([&](const auto & p) -> std::string { + using T = std::decay_t; + + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v) { + return ""; + } else if constexpr (std::is_same_v) { + return gbnf_format_literal(p.literal); + } else if constexpr (std::is_same_v) { + std::string s; + for (const auto & child : p.children) { + if (!s.empty()) { + s += " "; + } + auto child_gbnf = to_gbnf(child); + const auto & child_parser = parsers_.at(child); + if (std::holds_alternative(child_parser) || + std::holds_alternative(child_parser)) { + s += "(" + child_gbnf + ")"; + } else { + s += child_gbnf; + } + } + return s; + } else if constexpr (std::is_same_v) { + std::string s; + for (const auto & child : p.children) { + if (!s.empty()) { + s += " | "; + } + auto child_gbnf = to_gbnf(child); + const auto & child_parser = parsers_.at(child); + if (std::holds_alternative(child_parser)) { + s += "(" + child_gbnf + ")"; + } else { + s += child_gbnf; + } + } + return s; + } else if constexpr (std::is_same_v) { + auto child_gbnf = to_gbnf(p.child); + const auto & child_parser = parsers_.at(p.child); + if (std::holds_alternative(child_parser) || + std::holds_alternative(child_parser)) { + child_gbnf = "(" + child_gbnf + ")"; + } + if (p.min_count == 0 && p.max_count == 1) { + return child_gbnf + "?"; + } + if (p.min_count == 0 && p.max_count == -1) { + return child_gbnf + "*"; + } + if (p.min_count == 1 && p.max_count == -1) { + return child_gbnf + "+"; + } + if (p.max_count == -1) { + return child_gbnf + "{" + std::to_string(p.min_count) + ",}"; + } + if (p.min_count == p.max_count) { + if (p.min_count == 1) { + return child_gbnf; + } + return child_gbnf + "{" + std::to_string(p.min_count) + "}"; + } + return child_gbnf + "{" + std::to_string(p.min_count) + "," + std::to_string(p.max_count) + "}"; + } else if constexpr (std::is_same_v || std::is_same_v) { + return ""; // Lookahead not supported in GBNF + } else if constexpr (std::is_same_v) { + return "."; + } else if constexpr (std::is_same_v) { + return "space"; + } else if constexpr (std::is_same_v) { + std::string result = p.pattern; + if (p.min_count == 0 && p.max_count == 1) { + return result + "?"; + } + if (p.min_count == 0 && p.max_count == -1) { + return result + "*"; + } + if (p.min_count == 1 && p.max_count == -1) { + return result + "+"; + } + if (p.max_count == -1) { + return result + "{" + std::to_string(p.min_count) + ",}"; + } + if (p.min_count == p.max_count) { + if (p.min_count == 1) { + return result; + } + return result + "{" + std::to_string(p.min_count) + "}"; + } + return result + "{" + std::to_string(p.min_count) + "," + std::to_string(p.max_count) + "}"; + } else if constexpr (std::is_same_v) { + return R"(( [^"\\] | "\\" ( ["\\/ bfnrt] | "u" [0-9a-fA-F]{4} ) )*)"; + } else if constexpr (std::is_same_v) { + if (p.delimiters.empty()) { + return ".*"; + } + return gbnf_excluding_pattern(p.delimiters); + } else if constexpr (std::is_same_v) { + if (p.schema) { + if (p.raw && p.schema->contains("type") && p.schema->at("type").is_string() && p.schema->at("type") == "string") { + // TODO: Implement more comprehensive grammar generation for raw strings. + // For now, use the grammar emitted from the underlying parser. + return to_gbnf(p.child); + } + return builder.add_schema(p.name, *p.schema); + } + return to_gbnf(p.child); + } else if constexpr (std::is_same_v) { + return p.name; + } else if constexpr (std::is_same_v) { + // Refs should not exist after flattening, but kept just in case + return p.name; + } else if constexpr (std::is_same_v) { + return to_gbnf(p.child); + } else if constexpr (std::is_same_v) { + return to_gbnf(p.child); + } else { + static_assert(is_always_false_v); + } + }, parser); + }; + + // Collect reachable rules + std::unordered_set reachable_rules; + + if (lazy) { + // Collect rules reachable from trigger rules + for (const auto & [name, id] : rules_) { + const auto & parser = parsers_.at(id); + if (auto rule = std::get_if(&parser)) { + if (rule->trigger) { + // Mark trigger as reachable and visit it + reachable_rules.insert(name); + auto add_rules = collect_reachable_rules(*this, id); + reachable_rules.insert(add_rules.begin(), add_rules.end()); + } + } + } + } else { + // Collect rules reachable from root + reachable_rules = collect_reachable_rules(*this, root_); + } + + // Create GBNF rules for all reachable rules + for (const auto & [name, rule_id] : rules_) { + if (reachable_rules.find(name) == reachable_rules.end()) { + continue; + } + + const auto & parser = parsers_.at(rule_id); + if (auto rule = std::get_if(&parser)) { + builder.add_rule(rule->name, to_gbnf(rule->child)); + } + } + + if (lazy) { + // Generate root rule from trigger rules only + std::vector trigger_names; + for (const auto & [name, rule_id] : rules_) { + const auto & parser = parsers_.at(rule_id); + if (auto rule = std::get_if(&parser)) { + if (rule->trigger) { + trigger_names.push_back(rule->name); + } + } + } + + // Sort for predictable order + std::sort(trigger_names.begin(), trigger_names.end()); + builder.add_rule("root", string_join(trigger_names, " | ")); + } else if (root_ != COMMON_PEG_INVALID_PARSER_ID) { + builder.add_rule("root", to_gbnf(root_)); + } +} + +static nlohmann::json serialize_parser_variant(const common_peg_parser_variant & variant) { + using json = nlohmann::json; + + return std::visit([](const auto & p) -> json { + using T = std::decay_t; + + if constexpr (std::is_same_v) { + return json{{"type", "epsilon"}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "start"}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "end"}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "literal"}, {"literal", p.literal}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "sequence"}, {"children", p.children}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "choice"}, {"children", p.children}}; + } else if constexpr (std::is_same_v) { + return json{ + {"type", "repetition"}, + {"child", p.child}, + {"min_count", p.min_count}, + {"max_count", p.max_count} + }; + } else if constexpr (std::is_same_v) { + return json{{"type", "and"}, {"child", p.child}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "not"}, {"child", p.child}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "any"}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "space"}}; + } else if constexpr (std::is_same_v) { + json ranges = json::array(); + for (const auto & range : p.ranges) { + ranges.push_back({{"start", range.start}, {"end", range.end}}); + } + return json{ + {"type", "chars"}, + {"pattern", p.pattern}, + {"ranges", ranges}, + {"negated", p.negated}, + {"min_count", p.min_count}, + {"max_count", p.max_count} + }; + } else if constexpr (std::is_same_v) { + return json{{"type", "json_string"}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "until"}, {"delimiters", p.delimiters}}; + } else if constexpr (std::is_same_v) { + return json{ + {"type", "schema"}, + {"child", p.child}, + {"name", p.name}, + {"schema", p.schema ? *p.schema : nullptr}, + {"raw", p.raw} + }; + } else if constexpr (std::is_same_v) { + return json{ + {"type", "rule"}, + {"name", p.name}, + {"child", p.child}, + {"trigger", p.trigger} + }; + } else if constexpr (std::is_same_v) { + return json{{"type", "ref"}, {"name", p.name}}; + } else if constexpr (std::is_same_v) { + return json{{"type", "atomic"}, {"child", p.child}}; + } else if constexpr (std::is_same_v) { + return json{ + {"type", "tag"}, + {"child", p.child}, + {"tag", p.tag} + }; + } + }, variant); +} + +nlohmann::json common_peg_arena::to_json() const { + auto parsers = nlohmann::json::array(); + for (const auto & parser : parsers_) { + parsers.push_back(serialize_parser_variant(parser)); + } + return nlohmann::json{ + {"parsers", parsers}, + {"rules", rules_}, + {"root", root_} + }; +} + +static common_peg_parser_variant deserialize_parser_variant(const nlohmann::json & j) { + if (!j.contains("type") || !j["type"].is_string()) { + throw std::runtime_error("Parser variant JSON missing or invalid 'type' field"); + } + + std::string type = j["type"]; + + if (type == "epsilon") { + return common_peg_epsilon_parser{}; + } + if (type == "start") { + return common_peg_start_parser{}; + } + if (type == "end") { + return common_peg_end_parser{}; + } + if (type == "literal") { + if (!j.contains("literal") || !j["literal"].is_string()) { + throw std::runtime_error("literal parser missing or invalid 'literal' field"); + } + return common_peg_literal_parser{j["literal"]}; + } + if (type == "sequence") { + if (!j.contains("children") || !j["children"].is_array()) { + throw std::runtime_error("sequence parser missing or invalid 'children' field"); + } + return common_peg_sequence_parser{j["children"].get>()}; + } + if (type == "choice") { + if (!j.contains("children") || !j["children"].is_array()) { + throw std::runtime_error("choice parser missing or invalid 'children' field"); + } + return common_peg_choice_parser{j["children"].get>()}; + } + if (type == "repetition") { + if (!j.contains("child") || !j.contains("min_count") || !j.contains("max_count")) { + throw std::runtime_error("repetition parser missing required fields"); + } + return common_peg_repetition_parser{ + j["child"].get(), + j["min_count"].get(), + j["max_count"].get() + }; + } + if (type == "and") { + if (!j.contains("child")) { + throw std::runtime_error("and parser missing 'child' field"); + } + return common_peg_and_parser{j["child"].get()}; + } + if (type == "not") { + if (!j.contains("child")) { + throw std::runtime_error("not parser missing 'child' field"); + } + return common_peg_not_parser{j["child"].get()}; + } + if (type == "any") { + return common_peg_any_parser{}; + } + if (type == "space") { + return common_peg_space_parser{}; + } + if (type == "chars") { + if (!j.contains("pattern") || !j.contains("ranges") || !j.contains("negated") || + !j.contains("min_count") || !j.contains("max_count")) { + throw std::runtime_error("chars parser missing required fields"); + } + common_peg_chars_parser parser; + parser.pattern = j["pattern"]; + parser.negated = j["negated"]; + parser.min_count = j["min_count"]; + parser.max_count = j["max_count"]; + for (const auto & range_json : j["ranges"]) { + if (!range_json.contains("start") || !range_json.contains("end")) { + throw std::runtime_error("char_range missing 'start' or 'end' field"); + } + parser.ranges.push_back({ + range_json["start"].get(), + range_json["end"].get() + }); + } + return parser; + } + if (type == "json_string") { + return common_peg_json_string_parser{}; + } + if (type == "until") { + if (!j.contains("delimiters") || !j["delimiters"].is_array()) { + throw std::runtime_error("until parser missing or invalid 'delimiters' field"); + } + return common_peg_until_parser{j["delimiters"].get>()}; + } + if (type == "schema") { + if (!j.contains("child") || !j.contains("name") || !j.contains("schema") || !j.contains("raw")) { + throw std::runtime_error("schema parser missing required fields"); + } + common_peg_schema_parser parser; + parser.child = j["child"].get(); + parser.name = j["name"]; + if (!j["schema"].is_null()) { + parser.schema = std::make_shared(j["schema"]); + } + parser.raw = j["raw"].get(); + return parser; + } + if (type == "rule") { + if (!j.contains("name") || !j.contains("child") || !j.contains("trigger")) { + throw std::runtime_error("rule parser missing required fields"); + } + return common_peg_rule_parser{ + j["name"].get(), + j["child"].get(), + j["trigger"].get() + }; + } + if (type == "ref") { + if (!j.contains("name") || !j["name"].is_string()) { + throw std::runtime_error("ref parser missing or invalid 'name' field"); + } + return common_peg_ref_parser{j["name"]}; + } + if (type == "atomic") { + if (!j.contains("child")) { + throw std::runtime_error("tag parser missing required fields"); + } + return common_peg_atomic_parser{ + j["child"].get(), + }; + } + if (type == "tag") { + if (!j.contains("child") || !j.contains("tag")) { + throw std::runtime_error("tag parser missing required fields"); + } + return common_peg_tag_parser{ + j["child"].get(), + j["tag"].get(), + }; + } + + throw std::runtime_error("Unknown parser type: " + type); +} + +common_peg_arena common_peg_arena::from_json(const nlohmann::json & j) { + if (!j.contains("parsers") || !j["parsers"].is_array()) { + throw std::runtime_error("JSON missing or invalid 'parsers' array"); + } + if (!j.contains("rules") || !j["rules"].is_object()) { + throw std::runtime_error("JSON missing or invalid 'rules' object"); + } + if (!j.contains("root")) { + throw std::runtime_error("JSON missing 'root' field"); + } + + common_peg_arena arena; + + const auto & parsers_json = j["parsers"]; + arena.parsers_.reserve(parsers_json.size()); + for (const auto & parser_json : parsers_json) { + arena.parsers_.push_back(deserialize_parser_variant(parser_json)); + } + + arena.rules_ = j["rules"].get>(); + + for (const auto & [name, id] : arena.rules_) { + if (id >= arena.parsers_.size()) { + throw std::runtime_error("Rule '" + name + "' references invalid parser ID: " + std::to_string(id)); + } + } + + arena.root_ = j["root"].get(); + if (arena.root_ != COMMON_PEG_INVALID_PARSER_ID && arena.root_ >= arena.parsers_.size()) { + throw std::runtime_error("Root references invalid parser ID: " + std::to_string(arena.root_)); + } + + return arena; +} + +std::string common_peg_arena::save() const { + return to_json().dump(); +} + +void common_peg_arena::load(const std::string & data) { + *this = from_json(nlohmann::json::parse(data)); +} + +common_peg_arena build_peg_parser(const std::function & fn) { + common_peg_parser_builder builder; + builder.set_root(fn(builder)); + return builder.build(); +} diff --git a/common/peg-parser.h b/common/peg-parser.h new file mode 100644 index 00000000000..1cd640365f2 --- /dev/null +++ b/common/peg-parser.h @@ -0,0 +1,459 @@ +#pragma once + +#include + +#include +#include +#include +#include +#include +#include +#include + +struct common_grammar_builder; + +class common_peg_parser_builder; + +using common_peg_parser_id = size_t; +constexpr common_peg_parser_id COMMON_PEG_INVALID_PARSER_ID = static_cast(-1); + +using common_peg_ast_id = size_t; +constexpr common_peg_ast_id COMMON_PEG_INVALID_AST_ID = static_cast(-1); + +// Lightweight wrapper around common_peg_parser_id for convenience +class common_peg_parser { + common_peg_parser_id id_; + common_peg_parser_builder & builder_; + + public: + common_peg_parser(const common_peg_parser & other) : id_(other.id_), builder_(other.builder_) {} + common_peg_parser(common_peg_parser_id id, common_peg_parser_builder & builder) : id_(id), builder_(builder) {} + + common_peg_parser & operator=(const common_peg_parser & other); + common_peg_parser & operator+=(const common_peg_parser & other); + common_peg_parser & operator|=(const common_peg_parser & other); + + operator common_peg_parser_id() const { return id_; } + common_peg_parser_id id() const { return id_; } + + common_peg_parser_builder & builder() const { return builder_; } + + // Creates a sequence + common_peg_parser operator+(const common_peg_parser & other) const; + + // Creates a sequence separated by spaces. + common_peg_parser operator<<(const common_peg_parser & other) const; + + // Creates a choice + common_peg_parser operator|(const common_peg_parser & other) const; + + common_peg_parser operator+(const char * str) const; + common_peg_parser operator+(const std::string & str) const; + common_peg_parser operator<<(const char * str) const; + common_peg_parser operator<<(const std::string & str) const; + common_peg_parser operator|(const char * str) const; + common_peg_parser operator|(const std::string & str) const; +}; + +common_peg_parser operator+(const char * str, const common_peg_parser & p); +common_peg_parser operator+(const std::string & str, const common_peg_parser & p); +common_peg_parser operator<<(const char * str, const common_peg_parser & p); +common_peg_parser operator<<(const std::string & str, const common_peg_parser & p); +common_peg_parser operator|(const char * str, const common_peg_parser & p); +common_peg_parser operator|(const std::string & str, const common_peg_parser & p); + +enum common_peg_parse_result_type { + COMMON_PEG_PARSE_RESULT_FAIL = 0, + COMMON_PEG_PARSE_RESULT_SUCCESS = 1, + COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT = 2, +}; + +const char * common_peg_parse_result_type_name(common_peg_parse_result_type type); + +struct common_peg_ast_node { + common_peg_ast_id id; + std::string rule; + std::string tag; + size_t start; + size_t end; + std::string_view text; + std::vector children; + + bool is_partial = false; +}; + +struct common_peg_parse_result; + +using common_peg_ast_visitor = std::function; + +class common_peg_ast_arena { + std::vector nodes_; + public: + common_peg_ast_id add_node( + const std::string & rule, + const std::string & tag, + size_t start, + size_t end, + std::string_view text, + std::vector children, + bool is_partial = false + ) { + common_peg_ast_id id = nodes_.size(); + nodes_.push_back({id, rule, tag, start, end, text, std::move(children), is_partial}); + return id; + } + + const common_peg_ast_node & get(common_peg_ast_id id) const { return nodes_.at(id); } + + size_t size() const { return nodes_.size(); } + + void clear() { nodes_.clear(); } + + void visit(common_peg_ast_id id, const common_peg_ast_visitor & visitor) const; + void visit(const common_peg_parse_result & result, const common_peg_ast_visitor & visitor) const; +}; + +struct common_peg_parse_result { + common_peg_parse_result_type type = COMMON_PEG_PARSE_RESULT_FAIL; + size_t start = 0; + size_t end = 0; + + std::vector nodes; + + common_peg_parse_result() = default; + + common_peg_parse_result(common_peg_parse_result_type type, size_t start) + : type(type), start(start), end(start) {} + + common_peg_parse_result(common_peg_parse_result_type type, size_t start, size_t end) + : type(type), start(start), end(end) {} + + common_peg_parse_result(common_peg_parse_result_type type, size_t start, size_t end, std::vector nodes) + : type(type), start(start), end(end), nodes(std::move(nodes)) {} + + bool fail() const { return type == COMMON_PEG_PARSE_RESULT_FAIL; } + bool need_more_input() const { return type == COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT; } + bool success() const { return type == COMMON_PEG_PARSE_RESULT_SUCCESS; } +}; + +struct common_peg_parse_context { + std::string input; + bool is_partial; + common_peg_ast_arena ast; + + int parse_depth; + + common_peg_parse_context() + : is_partial(false), parse_depth(0) {} + + common_peg_parse_context(const std::string & input) + : input(input), is_partial(false), parse_depth(0) {} + + common_peg_parse_context(const std::string & input, bool is_partial) + : input(input), is_partial(is_partial), parse_depth(0) {} +}; + +class common_peg_arena; + +// Parser variants +struct common_peg_epsilon_parser {}; + +struct common_peg_start_parser {}; + +struct common_peg_end_parser {}; + +struct common_peg_literal_parser { + std::string literal; +}; + +struct common_peg_sequence_parser { + std::vector children; +}; + +struct common_peg_choice_parser { + std::vector children; +}; + +struct common_peg_repetition_parser { + common_peg_parser_id child; + int min_count; + int max_count; // -1 for unbounded +}; + +struct common_peg_and_parser { + common_peg_parser_id child; +}; + +struct common_peg_not_parser { + common_peg_parser_id child; +}; + +struct common_peg_any_parser {}; + +struct common_peg_space_parser {}; + +struct common_peg_chars_parser { + struct char_range { + uint32_t start; + uint32_t end; + bool contains(uint32_t codepoint) const { return codepoint >= start && codepoint <= end; } + }; + + std::string pattern; + std::vector ranges; + bool negated; + int min_count; + int max_count; // -1 for unbounded +}; + +struct common_peg_json_string_parser {}; + +struct common_peg_until_parser { + std::vector delimiters; +}; + +struct common_peg_schema_parser { + common_peg_parser_id child; + std::string name; + std::shared_ptr schema; + + // Indicates if the GBNF should accept a raw string that matches the schema. + bool raw; +}; + +struct common_peg_rule_parser { + std::string name; + common_peg_parser_id child; + bool trigger; +}; + +struct common_peg_ref_parser { + std::string name; +}; + +struct common_peg_atomic_parser { + common_peg_parser_id child; +}; + +struct common_peg_tag_parser { + common_peg_parser_id child; + std::string tag; +}; + +// Variant holding all parser types +using common_peg_parser_variant = std::variant< + common_peg_epsilon_parser, + common_peg_start_parser, + common_peg_end_parser, + common_peg_literal_parser, + common_peg_sequence_parser, + common_peg_choice_parser, + common_peg_repetition_parser, + common_peg_and_parser, + common_peg_not_parser, + common_peg_any_parser, + common_peg_space_parser, + common_peg_chars_parser, + common_peg_json_string_parser, + common_peg_until_parser, + common_peg_schema_parser, + common_peg_rule_parser, + common_peg_ref_parser, + common_peg_atomic_parser, + common_peg_tag_parser +>; + +class common_peg_arena { + std::vector parsers_; + std::unordered_map rules_; + common_peg_parser_id root_ = COMMON_PEG_INVALID_PARSER_ID; + + public: + const common_peg_parser_variant & get(common_peg_parser_id id) const { return parsers_.at(id); } + common_peg_parser_variant & get(common_peg_parser_id id) { return parsers_.at(id); } + + size_t size() const { return parsers_.size(); } + bool empty() const { return parsers_.empty(); } + + common_peg_parser_id get_rule(const std::string & name) const; + bool has_rule(const std::string & name) const { return rules_.find(name) != rules_.end(); } + + common_peg_parser_id root() const { return root_; } + void set_root(common_peg_parser_id id) { root_ = id; } + + common_peg_parse_result parse(common_peg_parse_context & ctx, size_t start = 0) const; + common_peg_parse_result parse(common_peg_parser_id id, common_peg_parse_context & ctx, size_t start) const; + + void resolve_refs(); + + void build_grammar(const common_grammar_builder & builder, bool lazy = false) const; + + std::string dump(common_peg_parser_id id) const; + + nlohmann::json to_json() const; + static common_peg_arena from_json(const nlohmann::json & j); + + std::string save() const; + void load(const std::string & data); + + friend class common_peg_parser_builder; + + private: + common_peg_parser_id add_parser(common_peg_parser_variant parser); + void add_rule(const std::string & name, common_peg_parser_id id); + + common_peg_parser_id resolve_ref(common_peg_parser_id id); +}; + +class common_peg_parser_builder { + common_peg_arena arena_; + + common_peg_parser wrap(common_peg_parser_id id) { return common_peg_parser(id, *this); } + common_peg_parser add(const common_peg_parser_variant & p) { return wrap(arena_.add_parser(p)); } + + public: + common_peg_parser_builder(); + + // Match nothing, always succeed. + // S -> ε + common_peg_parser eps() { return add(common_peg_epsilon_parser{}); } + + // Matches the start of the input. + // S -> ^ + common_peg_parser start() { return add(common_peg_start_parser{}); } + + // Matches the end of the input. + // S -> $ + common_peg_parser end() { return add(common_peg_end_parser{}); } + + // Matches an exact literal string. + // S -> "hello" + common_peg_parser literal(const std::string & literal) { return add(common_peg_literal_parser{literal}); } + + // Matches a sequence of parsers in order, all must succeed. + // S -> A B C + common_peg_parser sequence() { return add(common_peg_sequence_parser{}); } + common_peg_parser sequence(const std::vector & parsers); + common_peg_parser sequence(const std::vector & parsers); + common_peg_parser sequence(std::initializer_list parsers); + + // Matches the first parser that succeeds from a list of alternatives. + // S -> A | B | C + common_peg_parser choice() { return add(common_peg_choice_parser{}); } + common_peg_parser choice(const std::vector & parsers); + common_peg_parser choice(const std::vector & parsers); + common_peg_parser choice(std::initializer_list parsers); + + // Matches one or more repetitions of a parser. + // S -> A+ + common_peg_parser one_or_more(const common_peg_parser & p) { return repeat(p, 1, -1); } + + // Matches zero or more repetitions of a parser, always succeeds. + // S -> A* + common_peg_parser zero_or_more(const common_peg_parser & p) { return repeat(p, 0, -1); } + + // Matches zero or one occurrence of a parser, always succeeds. + // S -> A? + common_peg_parser optional(const common_peg_parser & p) { return repeat(p, 0, 1); } + + // Positive lookahead: succeeds if child parser succeeds, consumes no input. + // S -> &A + common_peg_parser peek(const common_peg_parser & p) { return add(common_peg_and_parser{p}); } + + // Negative lookahead: succeeds if child parser fails, consumes no input. + // S -> !A + common_peg_parser negate(const common_peg_parser & p) { return add(common_peg_not_parser{p}); } + + // Matches any single character. + // S -> . + common_peg_parser any() { return add(common_peg_any_parser{}); } + + // Matches between min and max repetitions of characters from a character class. + // S -> [a-z]{m,n} + // + // Use -1 for max to represent unbounded repetition (equivalent to {m,}) + common_peg_parser chars(const std::string & classes, int min = 1, int max = -1); + + // Creates a lightweight reference to a named rule (resolved during build()). + // Use this for forward references in recursive grammars. + // expr_ref -> expr + common_peg_parser ref(const std::string & name) { return add(common_peg_ref_parser{name}); } + + // Matches zero or more whitespace characters (space, tab, newline). + // S -> [ \t\n]* + common_peg_parser space() { return add(common_peg_space_parser{}); } + + // Matches all characters until a delimiter is found (delimiter not consumed). + // S -> (!delim .)* + common_peg_parser until(const std::string & delimiter) { return add(common_peg_until_parser{{delimiter}}); } + + // Matches all characters until one of the delimiters in the list is found (delimiter not consumed). + // S -> (!delim .)* + common_peg_parser until_one_of(const std::vector & delimiters) { return add(common_peg_until_parser{delimiters}); } + + // Matches everything + // S -> .* + common_peg_parser rest() { return until_one_of({}); } + + // Matches between min and max repetitions of a parser (inclusive). + // S -> A{m,n} + // Use -1 for max to represent unbounded repetition (equivalent to {m,}) + common_peg_parser repeat(const common_peg_parser & p, int min, int max) { return add(common_peg_repetition_parser{p, min,max}); } + + // Matches exactly n repetitions of a parser. + // S -> A{n} + common_peg_parser repeat(const common_peg_parser & p, int n) { return repeat(p, n, n); } + + // Creates a complete JSON parser supporting objects, arrays, strings, numbers, booleans, and null. + // value -> object | array | string | number | true | false | null + common_peg_parser json(); + common_peg_parser json_object(); + common_peg_parser json_string(); + common_peg_parser json_array(); + common_peg_parser json_number(); + common_peg_parser json_bool(); + common_peg_parser json_null(); + + // Matches JSON string content without the surrounding quotes. + // Useful for extracting content within a JSON string. + common_peg_parser json_string_content(); + + // Matches a JSON object member with a key and associated parser as the + // value. + common_peg_parser json_member(const std::string & key, const common_peg_parser & p); + + // Wraps a parser with JSON schema metadata for grammar generation. + // Used internally to convert JSON schemas to GBNF grammar rules. + common_peg_parser schema(const common_peg_parser & p, const std::string & name, const nlohmann::ordered_json & schema, bool raw = false); + + // Creates a named rule, stores it in the grammar, and returns a ref. + // If trigger=true, marks this rule as an entry point for lazy grammar generation. + // auto json = p.rule("json", json_obj | json_arr | ...) + common_peg_parser rule(const std::string & name, const common_peg_parser & p, bool trigger = false); + + // Creates a named rule using a builder function, and returns a ref. + // If trigger=true, marks this rule as an entry point for lazy grammar generation. + // auto json = p.rule("json", [&]() { return json_object() | json_array() | ... }) + common_peg_parser rule(const std::string & name, const std::function & builder, bool trigger = false); + + // Creates a trigger rule. When generating a lazy grammar from the parser, + // only trigger rules and descendents are emitted. + common_peg_parser trigger_rule(const std::string & name, const common_peg_parser & p) { return rule(name, p, true); } + common_peg_parser trigger_rule(const std::string & name, const std::function & builder) { return rule(name, builder, true); } + + // Creates an atomic parser. Atomic parsers do not create an AST node if + // the child results in a partial parse, i.e. NEEDS_MORE_INPUT. This is + // intended for situations where partial output is undesirable. + common_peg_parser atomic(const common_peg_parser & p) { return add(common_peg_atomic_parser{p}); } + + // Tags create nodes in the generated AST for semantic purposes. + // Unlike rules, you can tag multiple nodes with the same tag. + common_peg_parser tag(const std::string & tag, const common_peg_parser & p) { return add(common_peg_tag_parser{p.id(), tag}); } + + void set_root(const common_peg_parser & p); + + common_peg_arena build(); +}; + +// Helper function for building parsers +common_peg_arena build_peg_parser(const std::function & fn); diff --git a/common/unicode.cpp b/common/unicode.cpp new file mode 100644 index 00000000000..56ab0f468e0 --- /dev/null +++ b/common/unicode.cpp @@ -0,0 +1,64 @@ +#include "unicode.h" + +// implementation adopted from src/unicode.cpp + +size_t utf8_sequence_length(unsigned char first_byte) { + const size_t lookup[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 4 }; + uint8_t highbits = static_cast(first_byte) >> 4; + return lookup[highbits]; +} + +utf8_parse_result parse_utf8_codepoint(std::string_view input, size_t offset) { + if (offset >= input.size()) { + return utf8_parse_result(utf8_parse_result::INCOMPLETE); + } + + // ASCII fast path + if (!(input[offset] & 0x80)) { + return utf8_parse_result(utf8_parse_result::SUCCESS, input[offset], 1); + } + + // Invalid: continuation byte as first byte + if (!(input[offset] & 0x40)) { + return utf8_parse_result(utf8_parse_result::INVALID); + } + + // 2-byte sequence + if (!(input[offset] & 0x20)) { + if (offset + 1 >= input.size()) { + return utf8_parse_result(utf8_parse_result::INCOMPLETE); + } + if ((input[offset + 1] & 0xc0) != 0x80) { + return utf8_parse_result(utf8_parse_result::INVALID); + } + auto result = ((input[offset] & 0x1f) << 6) | (input[offset + 1] & 0x3f); + return utf8_parse_result(utf8_parse_result::SUCCESS, result, 2); + } + + // 3-byte sequence + if (!(input[offset] & 0x10)) { + if (offset + 2 >= input.size()) { + return utf8_parse_result(utf8_parse_result::INCOMPLETE); + } + if ((input[offset + 1] & 0xc0) != 0x80 || (input[offset + 2] & 0xc0) != 0x80) { + return utf8_parse_result(utf8_parse_result::INVALID); + } + auto result = ((input[offset] & 0x0f) << 12) | ((input[offset + 1] & 0x3f) << 6) | (input[offset + 2] & 0x3f); + return utf8_parse_result(utf8_parse_result::SUCCESS, result, 3); + } + + // 4-byte sequence + if (!(input[offset] & 0x08)) { + if (offset + 3 >= input.size()) { + return utf8_parse_result(utf8_parse_result::INCOMPLETE); + } + if ((input[offset + 1] & 0xc0) != 0x80 || (input[offset + 2] & 0xc0) != 0x80 || (input[offset + 3] & 0xc0) != 0x80) { + return utf8_parse_result(utf8_parse_result::INVALID); + } + auto result = ((input[offset] & 0x07) << 18) | ((input[offset + 1] & 0x3f) << 12) | ((input[offset + 2] & 0x3f) << 6) | (input[offset + 3] & 0x3f); + return utf8_parse_result(utf8_parse_result::SUCCESS, result, 4); + } + + // Invalid first byte + return utf8_parse_result(utf8_parse_result::INVALID); +} diff --git a/common/unicode.h b/common/unicode.h new file mode 100644 index 00000000000..9d9e8e1227a --- /dev/null +++ b/common/unicode.h @@ -0,0 +1,22 @@ +#pragma once + +#include +#include + +// UTF-8 parsing utilities for streaming-aware unicode support + +struct utf8_parse_result { + uint32_t codepoint; // Decoded codepoint (only valid if status == SUCCESS) + size_t bytes_consumed; // How many bytes this codepoint uses (1-4) + enum status { SUCCESS, INCOMPLETE, INVALID } status; + + utf8_parse_result(enum status s, uint32_t cp = 0, size_t bytes = 0) + : codepoint(cp), bytes_consumed(bytes), status(s) {} +}; + +// Determine the expected length of a UTF-8 sequence from its first byte +// Returns 0 for invalid first bytes +size_t utf8_sequence_length(unsigned char first_byte); + +// Parse a single UTF-8 codepoint from input +utf8_parse_result parse_utf8_codepoint(std::string_view input, size_t offset); diff --git a/docs/development/parsing.md b/docs/development/parsing.md new file mode 100644 index 00000000000..113ab2e2ee4 --- /dev/null +++ b/docs/development/parsing.md @@ -0,0 +1,288 @@ +# Parsing Model Output + +The `common` library contains a PEG parser implementation suitable for parsing +model output. + +Types with the prefix `common_peg_*` are intended for general use and may have +applications beyond parsing model output, such as parsing user-provided regex +patterns. + +Types with the prefix `common_chat_peg_*` are specialized helpers for model +output. + +The parser features: + +- Partial parsing of streaming input +- Built-in JSON parsers +- AST generation with semantics via "tagged" nodes + +## Example + +Below is a contrived example demonstrating how to use the PEG parser to parse +output from a model that emits arguments as JSON. + +```cpp +auto parser = build_chat_peg_native_parser([&](common_chat_peg_native_builder & p) { + // Build a choice of all available tools + auto tool_choice = p.choice(); + for (const auto & tool : tools) { + const auto & function = tool.at("function"); + std::string name = function.at("name"); + const auto & schema = function.at("parameters"); + + auto tool_name = p.json_member("name", "\"" + p.literal(name) + "\""); + auto tool_args = p.json_member("arguments", p.schema(p.json(), "tool-" + name + "-schema", schema)); + + tool_choice |= p.rule("tool-" + name, "{" << tool_name << "," << tool_args << "}"); + } + + // Define the tool call structure: [{tool}] + auto tool_call = p.trigger_rule("tool-call", + p.sequence({ + p.literal("["), + tool_choice, + p.literal("]") + }) + ); + + // Parser accepts content, optionally followed by a tool call + return p.sequence({ + p.content(p.until("")), + p.optional(tool_call), + p.end() + }); +}); +``` + +For a more complete example, see `test_example_native()` in +[tests/test-chat-peg-parser.cpp](tests/test-chat-peg-parser.cpp). + +## Parsers/Combinators + +### Basic Matchers + +- **`eps()`** - Matches nothing and always succeeds (epsilon/empty match) +- **`start()`** - Matches the start of input (anchor `^`) +- **`end()`** - Matches the end of input (anchor `$`) +- **`literal(string)`** - Matches an exact literal string +- **`any()`** - Matches any single character (`.`) + +### Combinators + +- **`sequence(...)`** - Matches parsers in order; all must succeed +- **`choice(...)`** - Matches the first parser that succeeds from alternatives (ordered choice) +- **`one_or_more(p)`** - Matches one or more repetitions (`+`) +- **`zero_or_more(p)`** - Matches zero or more repetitions (`*`) +- **`optional(p)`** - Matches zero or one occurrence (`?`) +- **`repeat(p, min, max)`** - Matches between min and max repetitions (use `-1` for unbounded) +- **`repeat(p, n)`** - Matches exactly n repetitions + +### Lookahead + +- **`peek(p)`** - Positive lookahead: succeeds if parser succeeds without consuming input (`&`) +- **`negate(p)`** - Negative lookahead: succeeds if parser fails without consuming input (`!`) + +### Character Classes & Utilities + +- **`chars(classes, min, max)`** - Matches repetitions of characters from a character class +- **`space()`** - Matches zero or more whitespace characters (space, tab, newline) +- **`until(delimiter)`** - Matches characters until delimiter is found (delimiter not consumed) +- **`until_one_of(delimiters)`** - Matches characters until any delimiter in the list is found +- **`rest()`** - Matches everything remaining (`.*`) + +### JSON Parsers + +- **`json()`** - Complete JSON parser (objects, arrays, strings, numbers, booleans, null) +- **`json_object()`** - JSON object parser +- **`json_array()`** - JSON array parser +- **`json_string()`** - JSON string parser +- **`json_number()`** - JSON number parser +- **`json_bool()`** - JSON boolean parser +- **`json_null()`** - JSON null parser +- **`json_string_content()`** - JSON string content without surrounding quotes +- **`json_member(key, p)`** - JSON object member with specific key and value parser + +### Grammar Building + +- **`ref(name)`** - Creates a lightweight reference to a named rule (for recursive grammars) +- **`rule(name, p, trigger)`** - Creates a named rule and returns a reference +- **`trigger_rule(name, p)`** - Creates a trigger rule (entry point for lazy grammar generation) +- **`schema(p, name, schema, raw)`** - Wraps parser with JSON schema metadata for grammar generation + +### AST Control + +- **`atomic(p)`** - Prevents AST node creation for partial parses +- **`tag(tag, p)`** - Creates AST nodes with semantic tags (multiple nodes can share tags) + +## GBNF Grammar Generation + +The PEG parser also acts as a convenient DSL for generating GBNF grammars, with +some exceptions. + +```cpp +data.grammar = build_grammar([&](const common_grammar_builder & builder) { + foreach_function(params.tools, [&](const json & fn) { + builder.resolve_refs(fn.at("parameters")); + }); + parser.build_grammar(builder, data.grammar_lazy); +}); +``` + +The notable exception is the `negate(p)` lookahead parser, which cannot be +defined as a CFG grammar and therefore does not produce a rule. Its usage +should be limited and preferably hidden behind a `schema()` parser. In many +cases, `until(delimiter)` or `until_one_of(delimiters)` is a better choice. + +Another limitation is that the PEG parser requires an unambiguous grammar. In +contrast, the `llama-grammar` implementation can support ambiguous grammars, +though they are difficult to parse. + +### Lazy Grammars + +During lazy grammar generation, only rules reachable from a `trigger_rule(p)` +are emitted in the grammar. All trigger rules are added as alternations in the +root rule. It is still necessary to define trigger patterns, as the parser has +no interaction with the grammar sampling. + +### JSON Schema + +The `schema(p, name, schema, raw)` parser will use the `json-schema-to-grammar` +implementation to generate the grammar instead of the underlying parser. + +The `raw` option emits a grammar suitable for a raw string instead of a JSON +string. In other words, it won't be wrapped in quotes or require escaping +quotes. It should only be used when `type == "string"`. + +The downside is that it can potentially lead to ambiguous grammars. For +example, if a user provides the pattern `^.*$`, the following grammar may be +generated: + +``` +root ::= "" .* "" +``` + +This creates an ambiguous grammar that cannot be parsed by the PEG parser. To +help mitigate this, if `.*` is found in the pattern, the grammar from the +underlying parser will be emitted instead. + +## Common AST Shapes for Chat Parsing + +Most model output can be placed in one of the following categories: + +- Content only +- Tool calling with arguments emitted as a single JSON object +- Tool calling with arguments emitted as separate entities, either XML + (Qwen3-Coder, MiniMax M2) or pseudo-function calls (LFM2) + +To provide broad coverage, +[`common/chat-peg-parser.h`](common/chat-peg-parser.h) contains builders and +mappers that help create parsers and visitors/extractors for these types. They +require parsers to tag nodes to conform to an AST "shape". This normalization +makes it easy to extract information and generalize parsing. + +### Simple + +The `common_chat_peg_builder` builds a `simple` parser that supports +content-only models with optional reasoning. + +- **`reasoning(p)`** - Tag node for extracting `reasoning_content` +- **`content(p)`** - Tag node for extracting `content` + +```cpp +build_chat_peg_parser([&](common_chat_peg_parser & p) { + return p.sequence({ + p.optional("" + p.reasoning(p.until("")) + ""), + p.content(p.until("")), + p.end() + }); +}); +``` + +Use `common_chat_peg_mapper` to extract the content. Note that this is already +done for you in `common_chat_peg_parser` when +`chat_format == COMMON_CHAT_FORMAT_PEG_SIMPLE`. + +```cpp +auto result = parser.parse(ctx); + +common_chat_msg msg; +auto mapper = common_chat_peg_mapper(msg); +mapper.from_ast(ctx.ast, result); +``` + +### Native + +The `common_chat_peg_native_builder` builds a `native` parser suitable for +models that emit tool arguments as a direct JSON object. + +- **`reasoning(p)`** - Tag node for `reasoning_content` +- **`content(p)`** - Tag node for `content` +- **`tool(p)`** - Tag entirety of a single tool call +- **`tool_open(p)`** - Tag start of a tool call +- **`tool_close(p)`** - Tag end of a tool call +- **`tool_id(p)`** - Tag the tool call ID (optional) +- **`tool_name(p)`** - Tag the tool name +- **`tool_args(p)`** - Tag the tool arguments + +```cpp +build_chat_peg_native_parser([&](common_chat_peg_native_parser & p) { + auto get_weather_tool = p.tool(p.sequence({ + p.tool_open(p.literal("{")), + p.json_member("name", "\"" + p.tool_name(p.literal("get_weather")) + "\""), + p.literal(","), + p.json_member("arguments", p.tool_args(p.json())), + p.tool_close(p.literal("}")) + })); + + return p.sequence({ + p.content(p.until("")), + p.literal(""), + get_weather_tool, + p.literal(""), + p.end() + }); +}); +``` + +### Constructed + +The `common_chat_peg_constructed_builder` builds a `constructed` parser +suitable for models that emit tool arguments as separate entities, such as XML +tags. + +- **`reasoning(p)`** - Tag node for `reasoning_content` +- **`content(p)`** - Tag node for `content` +- **`tool(p)`** - Tag entirety of a single tool call +- **`tool_open(p)`** - Tag start of a tool call +- **`tool_close(p)`** - Tag end of a tool call +- **`tool_name(p)`** - Tag the tool name +- **`tool_arg(p)`** - Tag a complete tool argument (name + value) +- **`tool_arg_open(p)`** - Tag start of a tool argument +- **`tool_arg_close(p)`** - Tag end of a tool argument +- **`tool_arg_name(p)`** - Tag the argument name +- **`tool_arg_string_value(p)`** - Tag string value for the argument +- **`tool_arg_json_value(p)`** - Tag JSON value for the argument + +```cpp +build_chat_peg_constructed_parser([&](common_chat_peg_constructed_builder & p) { + auto location_arg = p.tool_arg( + p.tool_arg_open(""), + p.tool_arg_string_value(p.until("")), + p.tool_arg_close(p.literal("")) + ); + + auto get_weather_tool = p.tool(p.sequence({ + p.tool_open(""), + location_arg, + p.tool_close(p.literal("")) + })); + + return p.sequence({ + p.content(p.until("")), + p.literal(""), + get_weather_tool, + p.literal(""), + p.end() + }); +}); +``` diff --git a/tests/.gitignore b/tests/.gitignore index cbc381606cb..ba2b164fac5 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -3,3 +3,4 @@ *.o ggml-common.h **/*.swp +!peg-parser diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9361a113a19..9ba559c8dfb 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,13 +1,15 @@ llama_add_compile_flags() function(llama_build source) + set(TEST_SOURCES ${source} ${ARGN}) + if (DEFINED LLAMA_TEST_NAME) set(TEST_TARGET ${LLAMA_TEST_NAME}) else() get_filename_component(TEST_TARGET ${source} NAME_WE) endif() - add_executable(${TEST_TARGET} ${source}) + add_executable(${TEST_TARGET} ${TEST_SOURCES}) target_link_libraries(${TEST_TARGET} PRIVATE common) install(TARGETS ${TEST_TARGET} RUNTIME) endfunction() @@ -83,6 +85,8 @@ function(llama_build_and_test source) set(multiValueArgs ARGS) cmake_parse_arguments(LLAMA_TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + set(TEST_SOURCES ${source} ${LLAMA_TEST_UNPARSED_ARGUMENTS} get-model.cpp) + if (NOT DEFINED LLAMA_TEST_LABEL) set(LLAMA_TEST_LABEL "main") endif() @@ -95,7 +99,7 @@ function(llama_build_and_test source) get_filename_component(TEST_TARGET ${source} NAME_WE) endif() - add_executable(${TEST_TARGET} ${source} get-model.cpp) + add_executable(${TEST_TARGET} ${TEST_SOURCES}) install(TARGETS ${TEST_TARGET} RUNTIME) target_link_libraries(${TEST_TARGET} PRIVATE common) @@ -180,9 +184,21 @@ if (NOT WIN32 OR NOT BUILD_SHARED_LIBS) endif() llama_build_and_test(test-chat-parser.cpp) +llama_build_and_test(test-chat-peg-parser.cpp peg-parser/simple-tokenize.cpp) llama_build_and_test(test-chat-template.cpp) llama_build_and_test(test-json-partial.cpp) llama_build_and_test(test-log.cpp) +llama_build_and_test( + test-peg-parser.cpp + peg-parser/simple-tokenize.cpp + peg-parser/test-basic.cpp + peg-parser/test-gbnf-generation.cpp + peg-parser/test-json-parser.cpp + peg-parser/test-json-serialization.cpp + peg-parser/test-unicode.cpp + peg-parser/testing.h + peg-parser/tests.h +) llama_build_and_test(test-regex-partial.cpp) if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x") diff --git a/tests/peg-parser/simple-tokenize.cpp b/tests/peg-parser/simple-tokenize.cpp new file mode 100644 index 00000000000..9abfa0448fa --- /dev/null +++ b/tests/peg-parser/simple-tokenize.cpp @@ -0,0 +1,37 @@ +#include "simple-tokenize.h" + +std::vector simple_tokenize(const std::string & input) { + std::vector result; + std::string current; + + for (size_t i = 0; i < input.size(); i++) { + switch (input[i]) { + case ' ': + case '\n': + case '\t': + case '{': + case '}': + case ',': + case '[': + case '"': + case ']': + case '.': + case '<': + case '>': + case '=': + case '/': + if (!current.empty()) { + result.push_back(current); + current.clear(); + } + default:; + } + current += input[i]; + } + + if (!current.empty()) { + result.push_back(current); + } + + return result; +} diff --git a/tests/peg-parser/simple-tokenize.h b/tests/peg-parser/simple-tokenize.h new file mode 100644 index 00000000000..1772432c5aa --- /dev/null +++ b/tests/peg-parser/simple-tokenize.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + +std::vector simple_tokenize(const std::string &); diff --git a/tests/peg-parser/test-basic.cpp b/tests/peg-parser/test-basic.cpp new file mode 100644 index 00000000000..1bda6f2e690 --- /dev/null +++ b/tests/peg-parser/test-basic.cpp @@ -0,0 +1,454 @@ +#include "tests.h" + +void test_basic(testing & t) { + t.test("chars", [](testing & t) { + // Test common escape sequences - newline + t.test("escape_sequence_newline", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[\\n\\t\\\\]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("\n"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escape_sequence_newline", true, result.success()); + }); + + // Test common escape sequences - tab + t.test("escape_sequence_tab", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[\\n\\t\\\\]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("\t"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escape_sequence_tab", true, result.success()); + }); + + // Test common escape sequences - backslash + t.test("escape_sequence_backslash", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[\\n\\t\\\\]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("\\"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escape_sequence_backslash", true, result.success()); + }); + + // Test common escape sequences - space (should ()) + t.test("escape_sequence_space_fail", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[\\n\\t\\\\]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context(" "); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escape_sequence_space_fail", true, result.fail()); + }); + + // Test escaped dash - 'a' should succeed + t.test("escaped_dash_a", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[a\\-z]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("a"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escaped_dash_a", true, result.success()); + }); + + // Test escaped dash - '-' should succeed (literal dash) + t.test("escaped_dash_literal", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[a\\-z]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("-"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escaped_dash_literal", true, result.success()); + }); + + // Test escaped dash - 'z' should succeed + t.test("escaped_dash_z", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[a\\-z]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("z"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escaped_dash_z", true, result.success()); + }); + + // Test escaped dash - 'b' should NOT match (since \- is literal dash, not range) + t.test("escaped_dash_b_fail", [](testing &t) { + auto common_chat_combinator_parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("[a\\-z]"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("b"); + result = common_chat_combinator_parser.parse(ctx); + t.assert_equal("escaped_dash_b_fail", true, result.fail()); + }); + }); + + + t.test("optional", [](testing & t) { + // Full match with optional part present + t.test("optional_present", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello") + p.optional(p.literal(" world")); + }); + + auto ctx = common_peg_parse_context("hello world"); + auto result = parser.parse(ctx); + t.assert_equal("optional_present", true, result.success()); + t.assert_equal("optional_present_end", 11u, result.end); + }); + + // Full match with optional part absent + t.test("optional_absent", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello") + p.optional(p.literal(" world")); + }); + + auto ctx = common_peg_parse_context("hello", false); + auto result = parser.parse(ctx); + t.assert_equal("optional_absent", true, result.success()); + t.assert_equal("optional_absent_end", 5u, result.end); + }); + + // Partial match - waiting for more input to determine if optional matches + t.test("partial_match_need_more", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello") + p.optional(p.literal(" world")); + }); + + auto ctx = common_peg_parse_context("hello ", true); + auto result = parser.parse(ctx); + t.assert_equal("partial_match_need_more", true, result.need_more_input()); + }); + }); + + t.test("partial parsing", [](testing & t) { + // Literals - Basic Success + t.test("literal_success", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.literal("hello"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("hello"); + result = parser.parse(ctx); + t.assert_equal("literal_success", true, result.success()); + }); + + // Char Classes - Basic Lowercase Success + t.test("char_class_lowercase_success", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("a-z"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("a"); + result = parser.parse(ctx); + t.assert_equal("char_class_lowercase_success", true, result.success()); + }); + + // Char Classes - Uppercase Fail + t.test("char_class_uppercase_fail", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("a-z"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("A"); + result = parser.parse(ctx); + t.assert_equal("char_class_uppercase_fail", true, result.fail()); + }); + + // Char Classes with Dash - Lowercase Success + t.test("char_class_with_dash_lowercase", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("a-z-"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("f"); + result = parser.parse(ctx); + t.assert_equal("char_class_with_dash_lowercase", true, result.success()); + }); + + // Char Classes with Dash - Literal Dash Success + t.test("char_class_with_dash_literal_dash", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("a-z-"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("-"); + result = parser.parse(ctx); + t.assert_equal("char_class_with_dash_literal_dash", true, result.success()); + }); + + // Char Classes with Dash - Uppercase Fail + t.test("char_class_with_dash_uppercase_fail", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.chars("a-z-"); }); + + common_peg_parse_context ctx; + common_peg_parse_result result; + + ctx = common_peg_parse_context("A"); + result = parser.parse(ctx); + t.assert_equal("char_class_with_dash_uppercase_fail", true, result.fail()); + }); + + // Sequences - Partial Match 1 + t.test("sequence_partial_match_1", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.literal("") + p.literal(""); }); + + auto ctx = common_peg_parse_context("") + p.literal(""); }); + + auto ctx = common_peg_parse_context("") + p.literal(""); }); + + auto ctx = common_peg_parse_context("I am common_chat_combinator_parser", true); + auto result = parser.parse(ctx); + t.assert_equal("sequence_no_match", true, result.fail()); + }); + + // Choices - Partial Match 1 + t.test("choices_partial_match_1", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.literal("option1") | p.literal("option2"); }); + + auto ctx = common_peg_parse_context("opt", true); + auto result = parser.parse(ctx); + t.assert_equal("choices_partial_match_1", true, result.need_more_input()); + }); + + // Choices - Partial Match 2 + t.test("choices_partial_match_2", [&](testing & t) { + auto parser = + build_peg_parser([](common_peg_parser_builder & p) { return p.literal("choice_a") | p.literal("choice_b"); }); + + auto ctx = common_peg_parse_context("choice", true); + auto result = parser.parse(ctx); + t.assert_equal("choices_partial_match_2", true, result.need_more_input()); + }); + + // Choices - Full Match 1 + t.test("choices_full_match_1", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.literal("first") | p.literal("second"); }); + + auto ctx = common_peg_parse_context("first", false); + auto result = parser.parse(ctx); + t.assert_equal("choices_full_match_1", true, result.success()); + }); + + // Choices - Full Match 2 + t.test("choices_full_match_2", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.literal("alpha") | p.literal("beta"); }); + + auto ctx = common_peg_parse_context("beta", false); + auto result = parser.parse(ctx); + t.assert_equal("choices_full_match_2", true, result.success()); + }); + + // Choices - No Match + t.test("choices_no_match", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.literal("good") | p.literal("better"); }); + + auto ctx = common_peg_parse_context("best", false); + auto result = parser.parse(ctx); + t.assert_equal("choices_no_match", true, result.fail()); + }); + + // Zero or More - Partial Match 1 + t.test("zero_or_more_partial_match_1", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.zero_or_more(p.literal("ab")); }); + + auto ctx = common_peg_parse_context("a", true); + auto result = parser.parse(ctx); + t.assert_equal("zero_or_more_partial_match_1", true, result.need_more_input()); + }); + + // Zero or More - Partial Match 2 + t.test("zero_or_more_partial_match_2", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.zero_or_more(p.literal("xy")); }); + + auto ctx = common_peg_parse_context("xyx", true); + auto result = parser.parse(ctx); + t.assert_equal("zero_or_more_partial_match_2", true, result.need_more_input()); + }); + + // Zero or More - Full Match + t.test("zero_or_more_full_match", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.zero_or_more(p.literal("test")); }); + + auto ctx = common_peg_parse_context("test", false); + auto result = parser.parse(ctx); + t.assert_equal("zero_or_more_full_match", true, result.success()); + }); + + // One or More - Partial Match 1 + t.test("one_or_more_partial_match_1", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.one_or_more(p.literal("repeat")); }); + + auto ctx = common_peg_parse_context("rep", true); + auto result = parser.parse(ctx); + t.assert_equal("one_or_more_partial_match_1", true, result.need_more_input()); + }); + + // One or More - Partial Match 2 + t.test("one_or_more_partial_match_2", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.one_or_more(p.literal("ab")); }); + + auto ctx = common_peg_parse_context("aba", true); + auto result = parser.parse(ctx); + t.assert_equal("one_or_more_partial_match_2", true, result.need_more_input()); + }); + + // One or More - Full Match + t.test("one_or_more_full_match", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.one_or_more(p.literal("single")); }); + + auto ctx = common_peg_parse_context("single", false); + auto result = parser.parse(ctx); + t.assert_equal("one_or_more_full_match", true, result.success()); + }); + + // One or More - No Match + t.test("one_or_more_no_match", [&](testing & t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { return p.one_or_more(p.literal("()")); }); + + auto ctx = common_peg_parse_context("success", false); + auto result = parser.parse(ctx); + t.assert_equal("one_or_more_no_match", true, result.fail()); + }); + }); + + + t.test("recursive rules", [](testing &t) { + // Test simple number + t.test("simple_number", [](testing &t) { + auto value_parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("number", p.chars("0-9")); + p.rule("list", p.literal("[") + p.ref("value") + p.literal("]")); + return p.rule("value", p.ref("number") | p.ref("list")); + }); + + common_peg_parse_context ctx("1", false); + auto result = value_parser.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + }); + + // Test simple list + t.test("simple_list", [](testing &t) { + auto value_parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("number", p.chars("0-9")); + p.rule("list", p.literal("[") + p.ref("value") + p.literal("]")); + return p.rule("value", p.ref("number") | p.ref("list")); + }); + + common_peg_parse_context ctx("[1]", false); + auto result = value_parser.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + }); + + // Test nested list + t.test("nested_list", [](testing &t) { + auto value_parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("number", p.chars("0-9")); + p.rule("list", p.literal("[") + p.ref("value") + p.literal("]")); + return p.rule("value", p.ref("number") | p.ref("list")); + }); + + common_peg_parse_context ctx("[[2]]", false); + auto result = value_parser.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + }); + + // Test deeply nested list + t.test("deeply_nested_list", [](testing &t) { + auto value_parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("number", p.chars("0-9")); + p.rule("list", p.literal("[") + p.ref("value") + p.literal("]")); + return p.rule("value", p.ref("number") | p.ref("list")); + }); + + common_peg_parse_context ctx("[[[3]]]", false); + auto result = value_parser.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + }); + + // Test need_more_input match + t.test("need_more_input_match", [](testing &t) { + auto value_parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("number", p.chars("0-9")); + p.rule("list", p.literal("[") + p.ref("value") + p.literal("]")); + return p.rule("value", p.ref("number") | p.ref("list")); + }); + + common_peg_parse_context ctx("[[", true); + auto result = value_parser.parse(ctx); + + t.assert_equal("result_is_need_more_input", true, result.need_more_input()); + }); + + // Test no match + t.test("no_match", [](testing &t) { + auto value_parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("number", p.chars("0-9")); + p.rule("list", p.literal("[") + p.ref("value") + p.literal("]")); + return p.rule("value", p.ref("number") | p.ref("list")); + }); + + common_peg_parse_context ctx("[a]", false); + auto result = value_parser.parse(ctx); + + t.assert_equal("result_is_fail", true, result.fail()); + }); + }); +} diff --git a/tests/peg-parser/test-gbnf-generation.cpp b/tests/peg-parser/test-gbnf-generation.cpp new file mode 100644 index 00000000000..68857a5e887 --- /dev/null +++ b/tests/peg-parser/test-gbnf-generation.cpp @@ -0,0 +1,250 @@ +#include "tests.h" + +#include "json-schema-to-grammar.h" + +#include + +static std::string trim_leading_space(const std::string & s) { + static const std::regex leading_ws_re = std::regex(R"((^|\n)\s+)"); + return std::regex_replace(s, leading_ws_re, "$1"); +} + +static void assert_gbnf_equal(testing & t, const std::string & expected, const std::string & actual) { + t.assert_equal("gbnf are equal", trim_leading_space(expected), trim_leading_space(actual)); +} + +void test_gbnf_generation(testing &t) { + t.test("literal grammar generation", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello"); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "hello" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("char class grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.chars("[a-z]", 1, 1); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= [a-z] + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("sequence grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello") + p.literal(" ") + p.literal("world"); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "hello" " " "world" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("choice grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("cat") | p.literal("dog"); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "cat" | "dog" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("one_or_more grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.one_or_more(p.literal("a")); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "a"+ + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("zero_or_more grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.zero_or_more(p.literal("a")); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "a"* + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("optional grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello") + p.optional(p.literal(" world")); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "hello" " world"? + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("until grammar", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.until(""); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= ([^<] | "<" [^/] | "])* + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("complex expressions with parentheses", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.one_or_more(p.literal("a") | p.literal("b")); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= ("a" | "b")+ + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("rule references", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + auto digit = p.rule("digit", p.chars("[0-9]", 1, 1)); + return p.one_or_more(digit); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + digit ::= [0-9] + root ::= digit+ + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("escaping in literals", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello\nworld\n!"); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "hello\nworld\n!" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("operator<< (whitespace insertion)", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.literal("hello") << p.literal("world"); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= "hello" space "world" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("emit only reachable rules", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + p.rule("orphan", p.literal("orphan")); + return p.literal("hello") + p.rule("child", p.literal(" world")); + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + child ::= " world" + root ::= "hello" child + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + }); + + t.test("emit only trigger rules (and references)", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + auto rule1 = p.rule("rule-1", p.literal("a") + p.ref("rule-2")); + p.rule("rule-2", p.literal("b") + p.ref("rule-3"), true); + p.rule("rule-3", p.literal("c") + p.ref("rule-4")); + p.rule("rule-4", p.literal("d"), true); + return rule1; + }); + + auto gbnf = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder); + }); + + assert_gbnf_equal(t, R"""( + root ::= rule-1 + rule-1 ::= "a" rule-2 + rule-2 ::= "b" rule-3 + rule-3 ::= "c" rule-4 + rule-4 ::= "d" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf); + + auto gbnf_lazy = build_grammar([&](const common_grammar_builder & builder) { + parser.build_grammar(builder, true); + }); + + assert_gbnf_equal(t, R"""( + root ::= rule-2 | rule-4 + rule-2 ::= "b" rule-3 + rule-3 ::= "c" rule-4 + rule-4 ::= "d" + space ::= | " " | "\n"{1,2} [ \t]{0,20} + )""", gbnf_lazy); + }); +} diff --git a/tests/peg-parser/test-json-parser.cpp b/tests/peg-parser/test-json-parser.cpp new file mode 100644 index 00000000000..48351cd66ff --- /dev/null +++ b/tests/peg-parser/test-json-parser.cpp @@ -0,0 +1,109 @@ +#include "tests.h" + +void test_json_parser(testing &t) { + // Test parsing a simple JSON object + t.test("simple JSON object parsing", [](testing &t) { + auto json = build_peg_parser([](common_peg_parser_builder & p) { return p.json(); }); + + std::string input = R"({"name": "test", "value": 42, "flag": true})"; + common_peg_parse_context ctx(input); + + auto result = json.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + t.assert_equal("result_end", input.size(), result.end); + }); + + // Test parsing a JSON array with mixed types + t.test("JSON array with mixed types", [](testing &t) { + auto json = build_peg_parser([](common_peg_parser_builder & p) { return p.json(); }); + + std::string input = R"([1, "hello", true, null, 3.14])"; + common_peg_parse_context ctx(input); + + auto result = json.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + t.assert_equal("result_end", input.size(), result.end); + }); + + // Test parsing nested JSON with objects and arrays + t.test("nested JSON with objects and arrays", [](testing &t) { + auto json = build_peg_parser([](common_peg_parser_builder & p) { return p.json(); }); + + std::string input = + R"({"users": [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}], "count": 2, "metadata": {"version": "1.0", "tags": ["admin", "user"]}})"; + common_peg_parse_context ctx(input); + + auto result = json.parse(ctx); + + t.assert_equal("result_is_success", true, result.success()); + t.assert_equal("result_end", input.size(), result.end); + }); + + // Test need_more_input() parsing - incomplete object + t.test("need_more_input() parsing - incomplete object", [](testing &t) { + auto json = build_peg_parser([](common_peg_parser_builder & p) { return p.json(); }); + + std::string input = R"({"name": "test", "value": )"; + common_peg_parse_context ctx(input, true); + + auto result = json.parse(ctx); + + t.assert_equal("result_is_need_more_input", true, result.need_more_input()); + }); + + // Test need_more_input() parsing - incomplete array + t.test("need_more_input() parsing - incomplete array", [](testing &t) { + auto json = build_peg_parser([](common_peg_parser_builder & p) { return p.json(); }); + + std::string input = R"([1, 2, 3, )"; + common_peg_parse_context ctx(input, true); + + auto result = json.parse(ctx); + + t.assert_equal("result_is_need_more_input", true, result.need_more_input()); + }); + + // Test need_more_input() parsing - incomplete nested structure + t.test("need_more_input() parsing - incomplete nested structure", [](testing &t) { + auto json = build_peg_parser([](common_peg_parser_builder & p) { return p.json(); }); + + std::string input = R"({"data": {"nested": )"; + common_peg_parse_context ctx(input, true); + + auto result = json.parse(ctx); + + t.assert_equal("result_is_need_more_input", true, result.need_more_input()); + }); + + t.test("object member", [](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder & p) { + return p.json_member("name", "\"" + p.chars("[a-z]") + "\""); + }); + + t.test("success", [&](testing &t) { + std::string input = R"("name": "bob")"; + common_peg_parse_context ctx(input, false); + + auto result = parser.parse(ctx); + t.assert_true("success", result.success()); + }); + + t.test("partial", [&](testing &t) { + std::string input = R"("name": "bo)"; + common_peg_parse_context ctx(input, true); + + auto result = parser.parse(ctx); + t.assert_true("need more input", result.need_more_input()); + }); + + t.test("failed", [&](testing &t) { + std::string input = R"([])"; + common_peg_parse_context ctx(input, false); + + auto result = parser.parse(ctx); + t.assert_true("fail", result.fail()); + }); + }); +} diff --git a/tests/peg-parser/test-json-serialization.cpp b/tests/peg-parser/test-json-serialization.cpp new file mode 100644 index 00000000000..a85801060c0 --- /dev/null +++ b/tests/peg-parser/test-json-serialization.cpp @@ -0,0 +1,28 @@ +#include "tests.h" + +void test_json_serialization(testing &t) { + auto original = build_peg_parser([](common_peg_parser_builder & p) { + return "" + p.json() + ""; + }); + + auto json_serialized = original.to_json().dump(); + + t.test("compare before/after", [&](testing &t) { + auto deserialized = common_peg_arena::from_json(nlohmann::json::parse(json_serialized)); + + // Test complex JSON + std::string input = R"({"name": "test", "values": [1, 2, 3], "nested": {"a": true}})"; + common_peg_parse_context ctx1(input); + common_peg_parse_context ctx2(input); + + auto result1 = original.parse(ctx1); + auto result2 = deserialized.parse(ctx2); + + t.assert_equal("both_succeed", result1.success(), result2.success()); + t.assert_equal("same_end_pos", result1.end, result2.end); + }); + + t.bench("deserialize", [&]() { + auto deserialized = common_peg_arena::from_json(nlohmann::json::parse(json_serialized)); + }, 100); +} diff --git a/tests/peg-parser/test-unicode.cpp b/tests/peg-parser/test-unicode.cpp new file mode 100644 index 00000000000..19d9b9e41c5 --- /dev/null +++ b/tests/peg-parser/test-unicode.cpp @@ -0,0 +1,449 @@ +#include "tests.h" + +#include "peg-parser.h" + +#include +#include +#include +#include + +static void assert_result_equal(testing & t, common_peg_parse_result_type expected, common_peg_parse_result_type actual) { + t.assert_equal(common_peg_parse_result_type_name(expected), common_peg_parse_result_type_name(actual)); +} + +static std::string hex_dump(const std::string& str) { + std::ostringstream oss; + for (unsigned char c : str) { + if (std::isprint(c)) { + oss << c; + } else { + oss << "\\x" << std::hex << std::setw(2) << std::setfill('0') << static_cast(c); + } + } + return oss.str(); +} + +void test_unicode(testing &t) { + struct test_case { + std::string input; + std::string expected_text; + common_peg_parse_result_type expected_result; + }; + + t.test("any", [](testing &t) { + std::vector test_cases { + // Valid UTF-8 sequences + {"Hello", "Hello", COMMON_PEG_PARSE_RESULT_SUCCESS}, + {std::string("Caf\xC3\xA9"), std::string("Caf\xC3\xA9"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + {std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + {std::string("\xF0\x9F\x9A\x80"), std::string("\xF0\x9F\x9A\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Incomplete UTF-8 sequences (partial bytes at end) + {std::string("Caf\xC3"), "Caf", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + {std::string("\xE4\xBD"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + {std::string("\xF0\x9F\x9A"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + + // Invalid/malformed UTF-8 sequences + {std::string("\xFF\xFE"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + {std::string("Hello\x80World"), "Hello", COMMON_PEG_PARSE_RESULT_FAIL}, + {std::string("\xC3\x28"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.sequence({p.one_or_more(p.any()), p.end()}); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, true); + auto result = parser.parse(ctx); + + // Assert result type matches + assert_result_equal(t, tc.expected_result, result.type); + + // Assert matched text if success or need_more_input + if (result.success() || result.need_more_input()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("char classes", [](testing &t) { + t.test("unicode range U+4E00-U+9FFF (CJK)", [](testing &t) { + std::vector test_cases { + // Within range - CJK Unified Ideographs + {std::string("\xE4\xB8\x80"), std::string("\xE4\xB8\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+4E00 + {std::string("\xE4\xBD\xA0"), std::string("\xE4\xBD\xA0"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+4F60 + {std::string("\xE5\xA5\xBD"), std::string("\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+597D + {std::string("\xE9\xBF\xBF"), std::string("\xE9\xBF\xBF"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+9FFF + + // Outside range - should fail + {"a", "", COMMON_PEG_PARSE_RESULT_FAIL}, // ASCII + {std::string("\xE4\xB7\xBF"), "", COMMON_PEG_PARSE_RESULT_FAIL}, // U+4DFF (before range) + {std::string("\xEA\x80\x80"), "", COMMON_PEG_PARSE_RESULT_FAIL}, // U+A000 (after range) + + // Incomplete sequences in range + {std::string("\xE4\xB8"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, // Incomplete U+4E00 + {std::string("\xE5\xA5"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, // Incomplete U+597D + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.sequence({p.chars(R"([\u4E00-\u9FFF])"), p.end()}); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, true); + auto result = parser.parse(ctx); + + // Assert result type matches + assert_result_equal(t, tc.expected_result, result.type); + + // Assert matched text if success or need_more_input + if (result.success() || result.need_more_input()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("unicode range U+1F600-U+1F64F (emoticons)", [](testing &t) { + std::vector test_cases { + // Within range - Emoticons (all 4-byte UTF-8) + {std::string("\xF0\x9F\x98\x80"), std::string("\xF0\x9F\x98\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+1F600 + {std::string("\xF0\x9F\x98\x81"), std::string("\xF0\x9F\x98\x81"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+1F601 + {std::string("\xF0\x9F\x99\x8F"), std::string("\xF0\x9F\x99\x8F"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+1F64F + + // Outside range + {std::string("\xF0\x9F\x97\xBF"), "", COMMON_PEG_PARSE_RESULT_FAIL}, // U+1F5FF (before range) + {std::string("\xF0\x9F\x99\x90"), "", COMMON_PEG_PARSE_RESULT_FAIL}, // U+1F650 (after range) + {std::string("\xF0\x9F\x9A\x80"), "", COMMON_PEG_PARSE_RESULT_FAIL}, // U+1F680 (outside range) + + // Incomplete sequences + {std::string("\xF0\x9F\x98"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, // Incomplete emoji + {std::string("\xF0\x9F"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, // Very incomplete + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.sequence({p.chars(R"([\U0001F600-\U0001F64F])"), p.end()}); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, true); + auto result = parser.parse(ctx); + + // Assert result type matches + assert_result_equal(t, tc.expected_result, result.type); + + // Assert matched text if success or need_more_input + if (result.success() || result.need_more_input()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("mixed unicode ranges", [](testing &t) { + std::vector test_cases { + // Match CJK + {std::string("\xE4\xB8\x80"), std::string("\xE4\xB8\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+4E00 + {std::string("\xE4\xBD\xA0"), std::string("\xE4\xBD\xA0"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+4F60 + + // Match emoticons + {std::string("\xF0\x9F\x98\x80"), std::string("\xF0\x9F\x98\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, // U+1F600 + + // Match ASCII digits + {"5", "5", COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Don't match outside any range + {"a", "", COMMON_PEG_PARSE_RESULT_FAIL}, + {std::string("\xF0\x9F\x9A\x80"), "", COMMON_PEG_PARSE_RESULT_FAIL}, // U+1F680 + + // Incomplete + {std::string("\xE4\xB8"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + {std::string("\xF0\x9F\x98"), "", COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.sequence({p.chars(R"([\u4E00-\u9FFF\U0001F600-\U0001F64F0-9])"), p.end()}); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, true); + auto result = parser.parse(ctx); + + // Assert result type matches + assert_result_equal(t, tc.expected_result, result.type); + + // Assert matched text if success or need_more_input + if (result.success() || result.need_more_input()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + }); + + t.test("until parser", [](testing &t) { + t.test("ASCII delimiter with Unicode content", [](testing &t) { + std::vector test_cases { + // CJK characters before delimiter + {std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Emoji before delimiter + {std::string("\xF0\x9F\x98\x80"), std::string("\xF0\x9F\x98\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Mixed content + {std::string("Hello \xE4\xB8\x96\xE7\x95\x8C!"), std::string("Hello \xE4\xB8\x96\xE7\x95\x8C!"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.until(""); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, false); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + + if (result.success()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("incomplete UTF-8 at end", [](testing &t) { + std::vector test_cases { + // Incomplete emoji at end, no delimiter + {std::string("content\xF0\x9F\x98"), std::string("content"), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + + // Incomplete CJK at end, no delimiter + {std::string("hello\xE4\xB8"), std::string("hello"), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + + // Complete content, no delimiter (should consume all valid UTF-8) + {std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.until(""); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, true); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + + if (result.success() || result.need_more_input()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("malformed UTF-8", [](testing &t) { + std::vector test_cases { + // Invalid UTF-8 bytes + {std::string("Hello\xFF\xFE"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + + // Continuation byte without lead byte + {std::string("Hello\x80World"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + + // Invalid continuation byte + {std::string("\xC3\x28"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + }; + + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.until(""); + }); + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + common_peg_parse_context ctx(tc.input, false); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + }); + } + }); + }); + + t.test("json_string parser", [](testing &t) { + t.test("valid UTF-8 characters", [](testing &t) { + std::vector test_cases { + // ASCII only + {"Hello World\"", "Hello World", COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // 2-byte UTF-8 (accented characters) + {std::string("Caf\xC3\xA9\""), std::string("Caf\xC3\xA9"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // 3-byte UTF-8 (CJK) + {std::string("\xE4\xBD\xA0\xE5\xA5\xBD\""), std::string("\xE4\xBD\xA0\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // 4-byte UTF-8 (emoji) + {std::string("\xF0\x9F\x98\x80\""), std::string("\xF0\x9F\x98\x80"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Mixed content + {std::string("Hello \xE4\xB8\x96\xE7\x95\x8C!\""), std::string("Hello \xE4\xB8\x96\xE7\x95\x8C!"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + }; + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.sequence({p.json_string_content(), p.literal("\"")}); + }); + + common_peg_parse_context ctx(tc.input, false); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + + if (result.success()) { + std::string matched = tc.input.substr(result.start, result.end - result.start - 1); // -1 to exclude closing quote + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("incomplete UTF-8", [](testing &t) { + std::vector test_cases { + // Incomplete 2-byte sequence + {std::string("Caf\xC3"), std::string("Caf"), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + + // Incomplete 3-byte sequence + {std::string("Hello\xE4\xB8"), std::string("Hello"), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + + // Incomplete 4-byte sequence + {std::string("Text\xF0\x9F\x98"), std::string("Text"), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + + // Incomplete at very start + {std::string("\xE4\xBD"), std::string(""), COMMON_PEG_PARSE_RESULT_NEED_MORE_INPUT}, + }; + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.json_string_content(); + }); + + common_peg_parse_context ctx(tc.input, true); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + + if (result.need_more_input()) { + std::string matched = tc.input.substr(result.start, result.end - result.start); + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + + t.test("malformed UTF-8", [](testing &t) { + std::vector test_cases { + // Invalid UTF-8 bytes + {std::string("Hello\xFF\xFE"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + + // Continuation byte without lead byte + {std::string("Hello\x80World"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + + // Invalid continuation byte + {std::string("\xC3\x28"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + + // Overlong encoding (security issue) + {std::string("\xC0\x80"), "", COMMON_PEG_PARSE_RESULT_FAIL}, + }; + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.json_string_content(); + }); + + common_peg_parse_context ctx(tc.input, false); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + }); + } + }); + + t.test("escape sequences with UTF-8", [](testing &t) { + std::vector test_cases { + // Unicode escape sequence + {"Hello\\u0041\"", "Hello\\u0041", COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Mix of UTF-8 and escape sequences + {std::string("\xE4\xBD\xA0\\n\xE5\xA5\xBD\""), std::string("\xE4\xBD\xA0\\n\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + + // Escaped quote in UTF-8 string + {std::string("\xE4\xBD\xA0\\\"\xE5\xA5\xBD\""), std::string("\xE4\xBD\xA0\\\"\xE5\xA5\xBD"), COMMON_PEG_PARSE_RESULT_SUCCESS}, + }; + + for (size_t i = 0; i < test_cases.size(); i++) { + const auto & tc = test_cases[i]; + std::string test_name = "case " + std::to_string(i) + ": " + hex_dump(tc.input); + + t.test(test_name, [&](testing &t) { + auto parser = build_peg_parser([](common_peg_parser_builder& p) { + return p.sequence({p.json_string_content(), p.literal("\"")}); + }); + + common_peg_parse_context ctx(tc.input, false); + auto result = parser.parse(ctx); + + assert_result_equal(t, tc.expected_result, result.type); + + if (result.success()) { + std::string matched = tc.input.substr(result.start, result.end - result.start - 1); // -1 to exclude closing quote + t.assert_equal(tc.expected_text, matched); + } + }); + } + }); + }); +} diff --git a/tests/peg-parser/testing.h b/tests/peg-parser/testing.h new file mode 100644 index 00000000000..45ac4ca7842 --- /dev/null +++ b/tests/peg-parser/testing.h @@ -0,0 +1,243 @@ +#pragma once + +#include "common.h" + +#include +#include +#include +#include +#include +#include + +struct testing { + std::ostream &out; + std::vector stack; + std::regex filter; + bool filter_tests = false; + bool throw_exception = false; + bool verbose = false; + int tests = 0; + int assertions = 0; + int failures = 0; + int unnamed = 0; + int exceptions = 0; + + static constexpr std::size_t status_column = 80; + + explicit testing(std::ostream &os = std::cout) : out(os) {} + + std::string indent() const { + if (stack.empty()) { + return ""; + } + return std::string((stack.size() - 1) * 2, ' '); + } + + std::string full_name() const { + return string_join(stack, "."); + } + + void log(const std::string & msg) { + if (verbose) { + out << indent() << " " << msg << "\n"; + } + } + + void set_filter(const std::string & re) { + filter = std::regex(re); + filter_tests = true; + } + + bool should_run() const { + if (filter_tests) { + if (!std::regex_match(full_name(), filter)) { + return false; + } + } + return true; + } + + template + void run_with_exceptions(F &&f, const char *ctx) { + try { + f(); + } catch (const std::exception &e) { + ++failures; + ++exceptions; + out << indent() << "UNHANDLED EXCEPTION (" << ctx << "): " << e.what() << "\n"; + if (throw_exception) { + throw; + } + } catch (...) { + ++failures; + ++exceptions; + out << indent() << "UNHANDLED EXCEPTION (" << ctx << "): unknown\n"; + if (throw_exception) { + throw; + } + } + } + + void print_result(const std::string &label, int new_failures, int new_assertions, const std::string &extra = "") const { + std::string line = indent() + label; + + std::string details; + if (new_assertions > 0) { + if (new_failures == 0) { + details = std::to_string(new_assertions) + " assertion(s)"; + } else { + details = std::to_string(new_failures) + " of " + + std::to_string(new_assertions) + " assertion(s) failed"; + } + } + if (!extra.empty()) { + if (!details.empty()) { + details += ", "; + } + details += extra; + } + + if (!details.empty()) { + line += " (" + details + ")"; + } + + std::string status = (new_failures == 0) ? "[PASS]" : "[FAIL]"; + + if (line.size() + 1 < status_column) { + line.append(status_column - line.size(), ' '); + } else { + line.push_back(' '); + } + + out << line << status << "\n"; + } + + template + void test(const std::string &name, F f) { + stack.push_back(name); + if (!should_run()) { + stack.pop_back(); + return; + } + + ++tests; + out << indent() << name << "\n"; + + int before_failures = failures; + int before_assertions = assertions; + + run_with_exceptions([&] { f(*this); }, "test"); + + int new_failures = failures - before_failures; + int new_assertions = assertions - before_assertions; + + print_result(name, new_failures, new_assertions); + + stack.pop_back(); + } + + template + void test(F f) { + test("test #" + std::to_string(++unnamed), f); + } + + template + void bench(const std::string &name, F f, int iterations = 100) { + stack.push_back(name); + if (!should_run()) { + stack.pop_back(); + return; + } + + ++tests; + out << indent() << "[bench] " << name << "\n"; + + int before_failures = failures; + int before_assertions = assertions; + + using clock = std::chrono::high_resolution_clock; + + std::chrono::microseconds duration(0); + + run_with_exceptions([&] { + for (auto i = 0; i < iterations; i++) { + auto start = clock::now(); + f(); + duration += std::chrono::duration_cast(clock::now() - start); + } + }, "bench"); + + auto avg_elapsed = duration.count() / iterations; + auto avg_elapsed_s = std::chrono::duration_cast>(duration).count() / iterations; + auto rate = (avg_elapsed_s > 0.0) ? (1.0 / avg_elapsed_s) : 0.0; + + int new_failures = failures - before_failures; + int new_assertions = assertions - before_assertions; + + std::string extra = + "n=" + std::to_string(iterations) + + " avg=" + std::to_string(avg_elapsed) + "us" + + " rate=" + std::to_string(int(rate)) + "/s"; + + print_result("[bench] " + name, new_failures, new_assertions, extra); + + stack.pop_back(); + } + + template + void bench(F f, int iterations = 100) { + bench("bench #" + std::to_string(++unnamed), f, iterations); + } + + // Assertions + bool assert_true(bool cond) { + return assert_true("", cond); + } + + bool assert_true(const std::string &msg, bool cond) { + ++assertions; + if (!cond) { + ++failures; + out << indent() << "ASSERT TRUE FAILED"; + if (!msg.empty()) { + out << " : " << msg; + } + out << "\n"; + return false; + } + return true; + } + + template + bool assert_equal(const A &expected, const B &actual) { + return assert_equal("", expected, actual); + } + + template + bool assert_equal(const std::string &msg, const A &expected, const B &actual) { + ++assertions; + if (!(actual == expected)) { + ++failures; + out << indent() << "ASSERT EQUAL FAILED"; + if (!msg.empty()) { + out << " : " << msg; + } + out << "\n"; + + out << indent() << " expected: " << expected << "\n"; + out << indent() << " actual : " << actual << "\n"; + return false; + } + return true; + } + + // Print summary and return an exit code + int summary() const { + out << "\n"; + out << "tests : " << tests << "\n"; + out << "assertions : " << assertions << "\n"; + out << "failures : " << failures << "\n"; + out << "exceptions : " << exceptions << "\n"; + return failures == 0 ? 0 : 1; + } +}; diff --git a/tests/peg-parser/tests.h b/tests/peg-parser/tests.h new file mode 100644 index 00000000000..25727682c8a --- /dev/null +++ b/tests/peg-parser/tests.h @@ -0,0 +1,24 @@ +#pragma once + +// Common includes for all test files +#include +#include +#include + +#include "testing.h" +#include "peg-parser.h" +#include "chat-peg-parser.h" +#include "simple-tokenize.h" + +struct bench_tool_call { + std::string id; + std::string name; + nlohmann::ordered_json args; +}; + +// Test function declarations +void test_basic(testing &t); +void test_json_parser(testing &t); +void test_gbnf_generation(testing &t); +void test_unicode(testing &t); +void test_json_serialization(testing &t); diff --git a/tests/test-chat-peg-parser.cpp b/tests/test-chat-peg-parser.cpp new file mode 100644 index 00000000000..fbbb9c82efb --- /dev/null +++ b/tests/test-chat-peg-parser.cpp @@ -0,0 +1,768 @@ +#include +#include +#include + +#include "chat-parser.h" +#include "chat-peg-parser.h" +#include "chat.h" +#include "common.h" +#include "json-schema-to-grammar.h" +#include "peg-parser.h" +#include "peg-parser/testing.h" +#include "peg-parser/simple-tokenize.h" +#include "nlohmann/json.hpp" + +using json = nlohmann::ordered_json; + +static json create_tools(); +static void test_example_native(testing & t); +static void test_example_qwen3_coder(testing & t); +static void test_command7_parser_compare(testing & t); + +int main(int argc, char *argv[]) { + testing t(std::cout); + if (argc >= 2) { + t.set_filter(argv[1]); + } + + const char * verbose = getenv("LLAMA_TEST_VERBOSE"); + if (verbose) { + t.verbose = std::string(verbose) == "1"; + } + + t.test("native", test_example_native); + t.test("qwen3 coder", test_example_qwen3_coder); + t.test("comparison", test_command7_parser_compare); + + return t.summary(); +} + +static json create_tools() { + json tools = json::array(); + + json tool_weather = { + {"type", "function"}, + {"function", { + {"name", "get_current_weather"}, + {"description", "Get the current weather in a given location"}, + {"parameters", { + {"type", "object"}, + {"properties", { + {"location", { + {"type", "string"}, + {"description", "The city and state, e.g. San Francisco, CA"} + }}, + {"unit", { + {"type", "string"}, + {"enum", {"celsius", "fahrenheit"}}, + {"description", "The temperature unit to use. Infer this from the users location."} + }} + }}, + {"required", {"location", "unit"}}, + }}, + }} + }; + tools.push_back(tool_weather); + + json tool_forecast = { + {"type", "function"}, + {"function", { + {"name", "get_forecast"}, + {"description", "Get the weather forecast for a given location"}, + {"parameters", { + {"type", "object"}, + {"properties", { + {"location", { + {"type", "string"}, + {"description", "The city and state, e.g. San Francisco, CA"} + }}, + {"unit", { + {"type", "string"}, + {"enum", {"celsius", "fahrenheit"}}, + {"description", "The temperature unit to use. Infer this from the users location."} + }}, + {"days", { + {"type", "integer"}, + {"description", "Number of days to forecast (1-10)"}, + {"minimum", 1}, + {"maximum", 10} + }} + }}, + {"required", {"location", "unit"}}, + }}, + }} + }; + tools.push_back(tool_forecast); + + json tool_search = { + {"type", "function"}, + {"function", { + {"name", "search_knowledge_base"}, + {"description", "Search the internal technical documentation knowledge base."}, + {"parameters", { + {"type", "object"}, + {"properties", { + {"query", { + {"type", "string"}, + {"description", "The search query string."} + }}, + {"max_results", { + {"type", "integer"}, + {"description", "The maximum number of results to return."}, + {"default", 5} + }}, + {"category", { + {"type", "string"}, + {"enum", {"api", "troubleshooting", "billing", "general"}}, + {"description", "Filter search by specific category."} + }} + }}, + {"required", {"query", "category"}}, + {"additionalProperties", false} + }}, + {"strict", true} + }} + }; + tools.push_back(tool_search); + + return tools; +} + +struct tool_argument { + std::string name; + std::string type; + bool is_required; + json schema; +}; + +struct tool_definition { + std::string name; + std::vector arguments; + json schema; +}; + +// Test fictitious model output that emits arguments as JSON. +static void test_example_native(testing & t) { + struct test_case { + // Parameters + std::string name; + json tools; + common_chat_tool_choice tool_choice; + common_reasoning_format reasoning_format; + json json_schema; + bool parallel_tool_calls; + bool thinking_forced_open; + std::string input; + + // Expect + std::string expect_reasoning; + std::string expect_content; + std::vector expect_tool_calls; + }; + + auto build_parser = [](const test_case & tc) { + return build_chat_peg_native_parser([&](common_chat_peg_native_builder & p) { + auto reasoning_in_content = (tc.reasoning_format == COMMON_REASONING_FORMAT_NONE); + auto reasoning = p.eps(); + if (tc.thinking_forced_open) { + // If thinking is forced open, expect a closing tag + reasoning = p.reasoning(p.until("")) + "" + p.space(); + } else { + // Otherwise, optionally accept thinking wrapped in tags + reasoning = p.optional("" + p.reasoning(p.until("")) + "" + p.space()); + } + + // tool calling parser + if (tc.tools.is_array() && !tc.tools.empty()) { + auto tools = p.choice(); + for (const auto & tool : tc.tools) { + const auto & function = tool.at("function"); + std::string name = function.at("name"); + const auto & schema = function.at("parameters"); + + auto tool_name = p.json_member("name", "\"" + p.tool_name(p.literal(name)) + "\""); + auto tool_args = p.json_member("arguments", p.tool_args(p.schema(p.json(), "tool-" + name + "-schema", schema))); + + tools |= p.rule("tool-" + name, p.tool_open(p.literal("{")) << tool_name << "," << tool_args << "}"); + }; + + auto parallel_calls = p.eps(); + if (tc.parallel_tool_calls) { + parallel_calls = p.zero_or_more("," << tools); + } + + auto tool_call = p.trigger_rule("tool-call", + p.sequence({ + p.literal("["), + tools, + parallel_calls, + p.literal("]") + }) + ); + + return p.sequence({ + (reasoning_in_content ? p.eps() : reasoning), + p.content(p.until("")), + p.optional(p.space() + tool_call), + p.space(), + p.end() + }); + } + + // response_format parser + if (tc.json_schema.is_object() && !tc.json_schema.empty()) { + return p.sequence({ + (reasoning_in_content ? p.eps() : reasoning), + p.content(p.schema(p.json(), "response-output", tc.json_schema)), + p.space(), + p.end() + }); + } + + // Content-only parser + return p.sequence({ + (reasoning_in_content ? p.eps() : reasoning), + p.content(p.rest()), + p.end() + }); + }); + }; + + std::vector test_cases = std::vector{ + { + /* .name = */ "content with thinking_forced_open = false", + /* .tools = */ {}, + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_NONE, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ false, + /* .input = */ ( + "The user said hello, I must say hello back\nHello" + ), + /* .expect_reasoning = */ "The user said hello, I must say hello back", + /* .expect_content = */ "Hello", + /* .expect_tool_calls = */ {}, + }, + { + /* .name = */ "content with thinking_forced_open = false and no reasoning", + /* .tools = */ {}, + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_NONE, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ false, + /* .input = */ ( + "Hello" + ), + /* .expect_reasoning = */ "", + /* .expect_content = */ "Hello", + /* .expect_tool_calls = */ {}, + }, + { + /* .name = */ "content with thinking_forced_open = false and reasoning_format = none", + /* .tools = */ {}, + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_NONE, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_NONE, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ true, + /* .input = */ ( + "The user said hello, I must say hello back\nHello" + ), + /* .expect_reasoning = */ "", + /* .expect_content = */ "The user said hello, I must say hello back\nHello", + /* .expect_tool_calls = */ {}, + }, + { + /* .name = */ "content with thinking_forced_open = true", + /* .tools = */ {}, + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_NONE, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ true, + /* .input = */ ( + "The user said hello, I must say hello back\nHello" + ), + /* .expect_reasoning = */ "The user said hello, I must say hello back", + /* .expect_content = */ "Hello", + /* .expect_tool_calls = */ {}, + }, + { + /* .name = */ "content with thinking_forced_open = true and reasoning_format = none", + /* .tools = */ {}, + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_NONE, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_NONE, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ true, + /* .input = */ ( + "The user said hello, I must say hello back\nHello" + ), + /* .expect_reasoning = */ "", + /* .expect_content = */ "The user said hello, I must say hello back\nHello", + /* .expect_tool_calls = */ {}, + }, + { + /* .name = */ "tools with tool_choice = auto and no parallel_tool_calls", + /* .tools = */ create_tools(), + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_AUTO, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ true, + /* .input = */ ( + "I must get the weather in New York\n" + "[" + R"({"name": "get_current_weather", "arguments": {"location": "New York City, NY", "unit": "fahrenheit"}})" + "]" + ), + /* .expect_reasoning = */ "I must get the weather in New York", + /* .expect_content = */ "", + /* .expect_tool_calls = */ {{ + /* .name = */ "get_current_weather", + /* .arguments = */ R"({"location": "New York City, NY", "unit": "fahrenheit"})", + /* .id = */ "", + }}, + }, + { + /* .name = */ "tools with tool_choice = auto and parallel_tool_calls", + /* .tools = */ create_tools(), + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_AUTO, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .json_schema = */ {}, + /* .parallel_tool_calls = */ true, + /* .thinking_forced_open = */ true, + /* .input = */ ( + "I must get the weather in New York and San Francisco and a 3 day forecast of each.\nLet me search that for you." + "[" + R"({"name": "get_current_weather", "arguments": {"location": "New York City, NY", "unit": "fahrenheit"}})" + ", " + R"({"name": "get_current_weather", "arguments": {"location": "San Francisco, CA", "unit": "fahrenheit"}})" + ", " + R"({"name": "get_forecast", "arguments": {"location": "New York City, NY", "unit": "fahrenheit", "days": 3}})" + ", " + R"({"name": "get_forecast", "arguments": {"location": "San Francisco, CA", "unit": "fahrenheit", "days": 3}})" + "]" + ), + /* .expect_reasoning = */ "I must get the weather in New York and San Francisco and a 3 day forecast of each.", + /* .expect_content = */ "Let me search that for you.", + /* .expect_tool_calls = */ {{ + /* .name = */ "get_current_weather", + /* .arguments = */ R"({"location": "New York City, NY", "unit": "fahrenheit"})", + /* .id = */ "", + }, { + /* .name = */ "get_current_weather", + /* .arguments = */ R"({"location": "San Francisco, CA", "unit": "fahrenheit"})", + /* .id = */ "", + }, { + /* .name = */ "get_forecast", + /* .arguments = */ R"({"location": "New York City, NY", "unit": "fahrenheit", "days": 3})", + /* .id = */ "", + }, { + /* .name = */ "get_forecast", + /* .arguments = */ R"({"location": "San Francisco, CA", "unit": "fahrenheit", "days": 3})", + /* .id = */ "", + }}, + }, + { + /* .name = */ "response_format with thinking_forced_open = true", + /* .tools = */ {}, + /* .tool_choice = */ COMMON_CHAT_TOOL_CHOICE_NONE, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .json_schema = */ { + {"type", "object"}, + {"properties", { + {"invoice_number", {{"type", "string"}}}, + {"amount", {{"type", "number"}}}, + {"due_date", {{"type", "string"}}} + }}, + {"required", {"invoice_number", "amount", "due_date"}} + }, + /* .parallel_tool_calls = */ false, + /* .thinking_forced_open = */ true, + /* .input = */ ( + "I must produce the invoice in the requested format\n" + R"({"invoice_number": "INV-2025-001", "amount": 1250.50, "due_date": "2025-12-31"})" + ), + /* .expect_reasoning = */ "I must produce the invoice in the requested format", + /* .expect_content = */ R"({"invoice_number": "INV-2025-001", "amount": 1250.50, "due_date": "2025-12-31"})", + /* .expect_tool_calls = */ {}, + }, + }; + + for (const auto & tc : test_cases) { + t.test(tc.name, [&](testing & t) { + auto parser = build_parser(tc); + auto lazy = !tc.tools.empty() && tc.tool_choice != COMMON_CHAT_TOOL_CHOICE_REQUIRED; + auto grammar = build_grammar([&](const common_grammar_builder & builder) { + for (auto const & def : tc.tools) { + auto function = def.at("function"); + auto parameters = function.at("parameters"); + builder.resolve_refs(parameters); + }; + parser.build_grammar(builder, lazy); + }); + + t.log("Grammar:"); + for (auto const & line : string_split(grammar, "\n")) { + t.log(line); + } + + common_peg_parse_context ctx(tc.input, false); + auto result = parser.parse(ctx); + + t.assert_true("success", result.success()); + + common_chat_msg msg; + auto mapper = common_chat_peg_native_mapper(msg); + mapper.from_ast(ctx.ast, result); + + t.assert_equal("content equal", tc.expect_content, msg.content); + t.assert_equal("reasoning equal", tc.expect_reasoning, msg.reasoning_content); + t.assert_equal("number of tool calls", tc.expect_tool_calls.size(), msg.tool_calls.size()); + for (auto i = 0u; i < std::min(tc.expect_tool_calls.size(), msg.tool_calls.size()); i++) { + t.assert_equal("tool name", tc.expect_tool_calls[i].name, msg.tool_calls[i].name); + t.assert_equal("tool args", tc.expect_tool_calls[i].arguments, msg.tool_calls[i].arguments); + } + }); + } +} + +static void test_example_qwen3_coder(testing & t) { + auto tools = create_tools(); + auto parser = build_chat_peg_constructed_parser([&](common_chat_peg_constructed_builder & p) { + auto content = p.rule("content", p.content(p.until(""))); + + std::vector tool_parsers; + for (auto const & def : tools) { + auto function = def.at("function"); + std::string name = function.at("name"); + auto parameters = function.at("parameters"); + auto properties = parameters.at("properties"); + + std::set required_properties; + if (function.contains("required")) { + function.at("required").get_to(required_properties); + } + + std::vector arg_parsers; + for (const auto & [param_name, param_schema] : properties.items()) { + bool is_required = required_properties.find(param_name) != required_properties.end(); + auto type = param_schema.value("type", "object"); + + auto arg = p.tool_arg(p.sequence({ + p.tool_arg_open(""), + (type == "string" ? + p.tool_arg_string_value( + p.schema( + p.until_one_of({ + "\n\n" + }), + "tool-" + name + "-arg-" + param_name + "-schema", + param_schema, + true + ) + ) : p.tool_arg_json_value( + p.schema( + p.json(), + "tool-" + name + "-arg-" + param_name + "-schema", + param_schema + ) + ) + ), + p.tool_arg_close( + "\n" + + p.peek(p.literal("")) + ) + })); + + arg_parsers.push_back(is_required ? + p.rule("tool-" + name + "-arg-" + param_name, arg) : + p.optional(p.rule("tool-" + name + "-arg-" + param_name, arg))); + } + + tool_parsers.push_back(p.rule("tool-" + name, + p.tool_open("") + << p.sequence(arg_parsers) + << p.tool_close(p.literal("")) + )); + }; + + auto tool_call = p.trigger_rule("tool-call", + "" + << p.choice(tool_parsers) + << "" + ); + + return content + p.zero_or_more(p.space() + tool_call) + p.end(); + }); + + auto grammar = build_grammar([&](const common_grammar_builder & builder) { + for (auto const & def : tools) { + auto function = def.at("function"); + auto parameters = function.at("parameters"); + builder.resolve_refs(parameters); + }; + parser.build_grammar(builder); + }); + + t.log("Grammar:"); + for (auto const & line : string_split(grammar, "\n")) { + t.log(line); + } + + t.test("incremental parsing", [&](testing &t) { + std::string input = + "Let me search the knowledge base for cat pictures." + "\n" + "\n" + "cat pictures\n" + "general\n" + "\n" + ""; + + std::vector tokens = simple_tokenize(input); + + common_chat_msg prev; + for (auto it = tokens.begin(); it != tokens.end(); it++) { + std::string in = std::accumulate(tokens.begin(), it + 1, std::string()); + + common_peg_parse_context ctx(in, it + 1 < tokens.end()); + + auto result = parser.parse(ctx); + if (!t.assert_equal("not fail", false, result.fail())) { + t.log(in.substr(0, result.end) + "[failed->]" + in.substr(result.end)); + } + + common_chat_msg msg; + auto mapper = common_chat_peg_constructed_mapper(msg); + mapper.from_ast(ctx.ast, result); + + //t.log("Input: " + input); + t.log("==========================================="); + t.log("Iteration " + std::to_string(in.size())); + t.log("Reasoning: " + msg.reasoning_content); + t.log("Content : " + msg.content); + for (const auto & tc : msg.tool_calls) { + t.log("Tool name: " + tc.name); + t.log("Tool args: " + tc.arguments); + } + + try { + // This shouldn't emit any runtime errors + auto diffs = common_chat_msg_diff::compute_diffs(prev, msg); + } catch(const std::exception & e) { + t.log(in.substr(0, result.end) + "[failed->]" + in.substr(result.end)); + t.assert_true(std::string("failed with ") + e.what(), false); + } + + prev = msg; + } + }); +} + +void test_command7_parser_compare(testing & t) { + auto parser = build_chat_peg_native_parser([](common_chat_peg_native_builder & p) { + auto thinking = p.reasoning_block( + "<|START_THINKING|>" << p.reasoning(p.until("<|END_THINKING|>")) << "<|END_THINKING|>"); + + auto response = "<|START_RESPONSE|>" << p.content(p.until("<|END_RESPONSE|>")) << "<|END_RESPONSE|>"; + + auto tool_call_id = p.atomic("\"tool_call_id\"" << (":" << ("\"" + p.tool_id(p.json_string_content()) + "\""))); + auto tool_call_name = p.atomic("\"tool_name\"" << (":" << ("\"" + p.tool_name(p.json_string_content()) + "\""))); + auto tool_call_args = "\"parameters\"" << (":" << p.tool_args(p.json())); + + auto tool_call_fields = p.rule("tool-call-fields", tool_call_id | tool_call_name | tool_call_args); + auto tool_call = p.rule("tool-call", p.tool( + p.tool_open(p.literal("{")) + << tool_call_fields + << p.zero_or_more( p.literal(",") << tool_call_fields) + << p.tool_close(p.literal("}")) + )); + + auto tool_calls = p.rule("tool-calls", + "<|START_ACTION|>" + << ("[" << tool_call << p.zero_or_more(p.literal(",") << tool_call) << "]") + << "<|END_ACTION|>"); + + return p.optional(thinking) << (tool_calls | response) + p.end(); + }); + + auto test_current = [&](const common_peg_arena & p, const std::string & input, bool is_partial, bool print_results) { + common_peg_parse_context ctx(input, is_partial); + auto result = p.parse(ctx); + + common_chat_msg msg; + auto mapper = common_chat_peg_native_mapper(msg); + mapper.from_ast(ctx.ast, result); + + if (print_results) { + std::cout << "== Parsed (new) ==\n"; + std::cout << "=== Reasoning ===\n"; + std::cout << msg.reasoning_content << "\n"; + std::cout << "\n\n=== Content ===\n"; + std::cout << msg.content << "\n"; + std::cout << "\n\n=== Tool Calls ===\n"; + for (const auto & tc : msg.tool_calls) { + std::cout << "id: " << tc.id << "\n"; + std::cout << "name: " << tc.name << "\n"; + std::cout << "args: " << tc.arguments << "\n"; + } + } + }; + + auto test_legacy = [&](const std::string & input, bool need_more_input, bool print_results) { + // Original common_chat_combinator_parser taken from chat.cpp + common_chat_msg_parser builder( + input, + /* .is_partial = */ need_more_input, + { + /* .format = */ COMMON_CHAT_FORMAT_GENERIC, + /* .reasoning_format = */ COMMON_REASONING_FORMAT_AUTO, + /* .reasoning_in_content = */ false, + /* .thinking_forced_open = */ false, + } + ); + + builder.try_parse_reasoning("<|START_THINKING|>", "<|END_THINKING|>"); + + static const common_regex start_action_regex("<\\|START_ACTION\\|>"); + static const common_regex end_action_regex("<\\|END_ACTION\\|>"); + static const common_regex start_response_regex("<\\|START_RESPONSE\\|>"); + static const common_regex end_response_regex("<\\|END_RESPONSE\\|>"); + + if (auto res = builder.try_find_regex(start_action_regex)) { + // If we didn't extract thoughts, prelude includes them. + auto tool_calls = builder.consume_json_with_dumped_args({ { "parameters" } }); + for (const auto & tool_call : tool_calls.value) { + std::string name = tool_call.contains("tool_name") ? tool_call.at("tool_name") : ""; + std::string id = tool_call.contains("tool_call_id") ? tool_call.at("tool_call_id") : ""; + std::string arguments = tool_call.contains("parameters") ? tool_call.at("parameters") : ""; + if (!builder.add_tool_call(name, id, arguments) || tool_calls.is_partial) { + throw common_chat_msg_partial_exception("incomplete tool call"); + } + } + if (tool_calls.is_partial) { + throw common_chat_msg_partial_exception("incomplete tool call"); + } + builder.consume_regex(end_action_regex); + } else if (auto res = builder.try_find_regex(start_response_regex)) { + if (!builder.try_find_regex(end_response_regex)) { + builder.add_content(builder.consume_rest()); + throw common_chat_msg_partial_exception(end_response_regex.str()); + } + } else { + builder.add_content(builder.consume_rest()); + } + + if (print_results) { + std::cout << "== Parsed (legacy) ==\n"; + std::cout << "=== Reasoning ===\n"; + std::cout << builder.result().reasoning_content << "\n"; + std::cout << "\n\n=== Content ===\n"; + std::cout << builder.result().content << "\n"; + std::cout << "\n\n=== Tool Calls ===\n"; + for (const auto & tc : builder.result().tool_calls) { + std::cout << "id: " << tc.id << "\n"; + std::cout << "name: " << tc.name << "\n"; + std::cout << "args: " << tc.arguments << "\n"; + } + } + }; + + std::string reasoning = "To plan an effective trip to Japan that includes both historical sites and modern attractions within a " + "budget of $4000 for a two-week stay, we need to:\n\n" + "1. Identify key historical sites and modern attractions in Japan.\n" + "2. Find affordable accommodation options that provide a balance between comfort and cost.\n" + "3. Determine the best modes of transportation for getting around Japan.\n" + "4. Create a day-by-day itinerary that ensures the user gets to see a variety of attractions without " + "overspending.\n" + "5. Provide a detailed cost breakdown that includes accommodation, transportation, meals, and entry fees " + "to attractions."; + + std::vector> tool_calls = {{ + "call_0", + "plan_trip", + nlohmann::json::parse(R"({ + "destination": "Japan", + "duration": 14, + "budget": 4000, + "interests": ["historical sites", "modern attractions"], + "accommodation_preferences": "affordable", + "transportation_preferences": "efficient", + "meal_preferences": "local cuisine" + })") + }}; + + std::vector tokens; + + // Build tokens + if (!reasoning.empty()) { + auto tokenized = simple_tokenize(reasoning); + tokens.emplace_back("<|START_THINKING|>"); + tokens.insert(tokens.end(), tokenized.begin(), tokenized.end()); + tokens.emplace_back("<|END_THINKING|>"); + } + + if (!tool_calls.empty()) { + tokens.emplace_back("<|START_ACTION|>"); + + auto json = nlohmann::json::array(); + for (const auto & tc : tool_calls) { + auto tc_json = nlohmann::json::object(); + tc_json["tool_call_id"] = std::get<0>(tc); + tc_json["tool_name"] = std::get<1>(tc); + tc_json["parameters"] = std::get<2>(tc); + json.push_back(tc_json); + } + + auto tokenized = simple_tokenize(json.dump(-1, ' ', true)); + tokens.insert(tokens.end(), tokenized.begin(), tokenized.end()); + + tokens.emplace_back("<|END_ACTION|>"); + } + + std::string input = std::accumulate(tokens.begin(), tokens.end(), std::string()); + + // Run tests + t.test("legacy_parse", [&](testing & /* t */) { + test_legacy(input, false, false); + }); + + t.test("current_parse", [&](testing & /* t */) { + test_current(parser, input, false, false); + }); + + // Run benchmarks + t.bench("legacy_parse_benchmark complete", [&]() { + test_legacy(input, false, false); + }); + + t.bench("legacy_parse_benchmark incremental", [&]() { + std::string in; + for (auto i = 0u; i < tokens.size(); i++) { + in += tokens[i]; + + try { + test_legacy(in, i + 1 < tokens.size(), false); + } catch (common_chat_msg_partial_exception & /* e */) { + // Do nothing, this is expected + } + } + }, 20); + + t.bench("current_parse_benchmark complete", [&]() { + test_current(parser, input, false, false); + }, 100); + + t.bench("current_parse_benchmark incremental", [&]() { + std::string in; + for (auto i = 0u; i < tokens.size(); i++) { + in += tokens[i]; + test_current(parser, in, i + 1 < tokens.size(), false); + } + }, 20); +} diff --git a/tests/test-peg-parser.cpp b/tests/test-peg-parser.cpp new file mode 100644 index 00000000000..220745d0293 --- /dev/null +++ b/tests/test-peg-parser.cpp @@ -0,0 +1,25 @@ +#include +#include +#include + +#include "peg-parser/tests.h" + +int main(int argc, char *argv[]) { + testing t(std::cout); + if (argc >= 2) { + t.set_filter(argv[1]); + } + + const char * verbose = getenv("LLAMA_TEST_VERBOSE"); + if (verbose) { + t.verbose = std::string(verbose) == "1"; + } + + t.test("basic", test_basic); + t.test("unicode", test_unicode); + t.test("json", test_json_parser); + t.test("gbnf", test_gbnf_generation); + t.test("serialization", test_json_serialization); + + return t.summary(); +} diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index e2e41a0d51b..d0af94c1546 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -1045,6 +1045,9 @@ json oaicompat_chat_params_parse( for (const auto & stop : chat_params.additional_stops) { llama_params["stop"].push_back(stop); } + if (!chat_params.parser.empty()) { + llama_params["chat_parser"] = chat_params.parser; + } // Handle "n" field int n_choices = json_value(body, "n", 1); diff --git a/tools/server/server-task.cpp b/tools/server/server-task.cpp index 3f59127fb2f..8a9477d7321 100644 --- a/tools/server/server-task.cpp +++ b/tools/server/server-task.cpp @@ -297,6 +297,9 @@ task_params server_task::params_from_json_cmpl( params.oaicompat_chat_syntax.reasoning_in_content = params.stream && (reasoning_format == COMMON_REASONING_FORMAT_DEEPSEEK_LEGACY); params.oaicompat_chat_syntax.thinking_forced_open = json_value(data, "thinking_forced_open", false); params.oaicompat_chat_syntax.parse_tool_calls = json_value(data, "parse_tool_calls", false); + if (data.contains("chat_parser")) { + params.oaicompat_chat_syntax.parser.load(data.at("chat_parser").get()); + } } { From a4d1f6d79496de54cd268e4595a2c1ee0f35f42b Mon Sep 17 00:00:00 2001 From: jiahao su Date: Wed, 3 Dec 2025 19:24:59 +0800 Subject: [PATCH 22/35] ci : remove the build of openeuler-cann in release (#17724) * Remove the build of openeuler-cann in release * Remove the relevant release files --- .github/workflows/release.yml | 59 ----------------------------------- 1 file changed, 59 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 03cd41c5702..da1363a7982 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -728,58 +728,6 @@ jobs: path: llama-${{ steps.tag.outputs.name }}-xcframework.tar.gz name: llama-${{ steps.tag.outputs.name }}-xcframework.tar.gz - openEuler-cann: - strategy: - matrix: - arch: [x86, aarch64] - chip_type: ['910b', '310p'] - build: ['Release'] - runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} - container: ascendai/cann:${{ matrix.chip_type == '910b' && '8.3.rc1.alpha001-910b-openeuler22.03-py3.11' || '8.2.rc1-310p-openeuler22.03-py3.11' }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Dependencies - run: | - yum update -y - yum install -y git gcc gcc-c++ make cmake libcurl-devel - git config --global --add safe.directory "$GITHUB_WORKSPACE" - - - name: Build - run: | - export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH} - - cmake -S . -B build \ - -DCMAKE_BUILD_TYPE=${{ matrix.build }} \ - -DGGML_CANN=on \ - -DSOC_TYPE=ascend${{ matrix.chip_type }} - cmake --build build -j $(nproc) - - - name: Determine tag name - id: tag - uses: ./.github/actions/get-tag-name - - - name: Pack artifacts - run: | - cp LICENSE ./build/bin/ - zip -y -r llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip ./build/bin/* - tar -czvf llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz -C ./build/bin . - - - name: Upload artifacts (zip) - uses: actions/upload-artifact@v4 - with: - path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip - name: llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip - - - name: Upload artifacts (tar) - uses: actions/upload-artifact@v4 - with: - path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz - name: llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz - release: if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} @@ -801,7 +749,6 @@ jobs: - macOS-arm64 - macOS-x64 - ios-xcode-build - - openEuler-cann steps: - name: Clone @@ -893,12 +840,6 @@ jobs: - [Windows x64 (SYCL)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-sycl-x64.zip) - [Windows x64 (HIP)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-hip-radeon-x64.zip) - **openEuler:** - - [openEuler x86 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-x86.tar.gz) - - [openEuler x86 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-x86.tar.gz) - - [openEuler aarch64 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-aarch64.tar.gz) - - [openEuler aarch64 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-aarch64.tar.gz) - - name: Upload release id: upload_release uses: actions/github-script@v3 From 5d0d76cac90982b84cdb8a7bfd6e3b6e010bc49e Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 3 Dec 2025 14:03:40 +0200 Subject: [PATCH 23/35] metal : fix data race in pipeline library (#17731) --- ggml/src/ggml-metal/ggml-metal-device.cpp | 2 +- ggml/src/ggml-metal/ggml-metal-device.m | 31 +++++++++++++++-------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index 329500a03e0..c647baef878 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -50,7 +50,7 @@ void ggml_metal_pipelines_add(ggml_metal_pipelines_t ppls, const char * name, gg } ggml_metal_pipeline_t ggml_metal_pipelines_get(ggml_metal_pipelines_t ppls, const char * name) { - if (ppls->data.find(name) == ppls->data.end()) { + if (ppls->data.find(name) == ppls->data.end()) { return nullptr; } diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 62bc4ba45fc..4d2bfcf91c6 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -146,6 +146,8 @@ int ggml_metal_pipeline_max_theads_per_threadgroup(ggml_metal_pipeline_t pipelin id device; ggml_metal_pipelines_t pipelines; // cache of compiled pipelines + + NSLock * lock; }; ggml_metal_library_t ggml_metal_library_init(ggml_metal_device_t dev) { @@ -296,9 +298,10 @@ ggml_metal_library_t ggml_metal_library_init(ggml_metal_device_t dev) { ggml_metal_library_t res = calloc(1, sizeof(struct ggml_metal_library)); - res->obj = library; - res->device = device; + res->obj = library; + res->device = device; res->pipelines = ggml_metal_pipelines_init(); + res->lock = [NSLock new]; return res; } @@ -365,6 +368,7 @@ ggml_metal_library_t ggml_metal_library_init_from_source(ggml_metal_device_t dev res->obj = library; res->device = device; res->pipelines = ggml_metal_pipelines_init(); + res->lock = [NSLock new]; return res; } @@ -380,20 +384,27 @@ void ggml_metal_library_free(ggml_metal_library_t lib) { ggml_metal_pipelines_free(lib->pipelines); + [lib->lock release]; + free(lib); } ggml_metal_pipeline_t ggml_metal_library_get_pipeline(ggml_metal_library_t lib, const char * name) { - return ggml_metal_pipelines_get(lib->pipelines, name); + [lib->lock lock]; + + ggml_metal_pipeline_t res = ggml_metal_pipelines_get(lib->pipelines, name); + + [lib->lock unlock]; + + return res; } ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t lib, const char * base, const char * name, ggml_metal_cv_t cv) { - // note: the pipelines are cached in the library per device, so they are shared across all metal contexts - ggml_critical_section_start(); + [lib->lock lock]; - ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + ggml_metal_pipeline_t res = ggml_metal_pipelines_get(lib->pipelines, name); if (res) { - ggml_critical_section_end(); + [lib->lock unlock]; return res; } @@ -414,7 +425,7 @@ ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t l mtl_function = [lib->obj newFunctionWithName:base_func constantValues:cv->obj error:&error]; } if (!mtl_function) { - ggml_critical_section_end(); + [lib->lock unlock]; GGML_LOG_ERROR("%s: failed to compile pipeline: base = '%s', name = '%s'\n", __func__, base, name); if (error) { @@ -433,7 +444,7 @@ ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t l (int) res->obj.threadExecutionWidth); if (res->obj.maxTotalThreadsPerThreadgroup == 0 || res->obj.threadExecutionWidth == 0) { - ggml_critical_section_end(); + [lib->lock unlock]; GGML_LOG_ERROR("%s: incompatible pipeline %s\n", __func__, name); @@ -443,7 +454,7 @@ ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t l ggml_metal_pipelines_add(lib->pipelines, name, res); } - ggml_critical_section_end(); + [lib->lock unlock]; return res; } From 329732712c4d87d1f998a5c604882fbd390f9e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Wed, 3 Dec 2025 14:47:02 +0100 Subject: [PATCH 24/35] cmake: explicitly link against crypt32 on non-MSVC Windows builds (#17727) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some toolchains do not support linking via pragmas such as: #pragma comment(lib, "crypt32.lib") so we need to add the library explicitly. Signed-off-by: Adrien Gallouët --- vendor/cpp-httplib/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 8e1cd9a9dae..369502d7aec 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -144,4 +144,7 @@ if (CPPHTTPLIB_OPENSSL_SUPPORT) find_library(SECURITY_FRAMEWORK Security REQUIRED) target_link_libraries(${TARGET} PUBLIC ${CORE_FOUNDATION_FRAMEWORK} ${SECURITY_FRAMEWORK}) endif() + if (WIN32 AND NOT MSVC) + target_link_libraries(${TARGET} PUBLIC crypt32) + endif() endif() From 6816714fcbf7105a88aff81406ca241a7f32640c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Wed, 3 Dec 2025 14:47:22 +0100 Subject: [PATCH 25/35] server : fix bad fmt, size() is a size_type (#17735) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- tools/server/server-common.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index d0af94c1546..cfdd0c656f4 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -791,7 +791,7 @@ static void handle_media( SRV_INF("downloading image from '%s'\n", url.c_str()); auto res = common_remote_get_content(url, params); if (200 <= res.first && res.first < 300) { - SRV_INF("downloaded %ld bytes\n", res.second.size()); + SRV_INF("downloaded %zu bytes\n", res.second.size()); raw_buffer data; data.insert(data.end(), res.second.begin(), res.second.end()); out_files.push_back(data); From eea1164acbac407ce56f4d4a38531dce60300cff Mon Sep 17 00:00:00 2001 From: Pascal Date: Wed, 3 Dec 2025 15:10:37 +0100 Subject: [PATCH 26/35] server: add router multi-model tests (#17704) (#17722) * llama-server: add router multi-model tests (#17704) Add 4 test cases for model router: - test_router_unload_model: explicit model unloading - test_router_models_max_evicts_lru: LRU eviction with --models-max - test_router_no_models_autoload: --no-models-autoload flag behavior - test_router_api_key_required: API key authentication Tests use async model loading with polling and graceful skip when insufficient models available for eviction testing. utils.py changes: - Add models_max, models_dir, no_models_autoload attributes to ServerProcess - Handle JSONDecodeError for non-JSON error responses (fallback to text) * llama-server: update test models to new HF repos * add offline * llama-server: fix router LRU eviction test and add preloading Fix eviction test: load 2 models first, verify state, then load 3rd to trigger eviction. Previous logic loaded all 3 at once, causing first model to be evicted before verification could occur. Add module fixture to preload models via ServerPreset.load_all() and mark test presets as offline to use cached models * llama-server: fix split model download on Windows --------- Co-authored-by: Xuan-Son Nguyen --- tools/server/tests/unit/test_basic.py | 1 + tools/server/tests/unit/test_router.py | 146 ++++++++++++++++++++++++- tools/server/tests/utils.py | 28 ++++- 3 files changed, 169 insertions(+), 6 deletions(-) diff --git a/tools/server/tests/unit/test_basic.py b/tools/server/tests/unit/test_basic.py index cadaa91849f..3405be3e25d 100644 --- a/tools/server/tests/unit/test_basic.py +++ b/tools/server/tests/unit/test_basic.py @@ -65,6 +65,7 @@ def test_server_slots(): def test_load_split_model(): global server + server.offline = False server.model_hf_repo = "ggml-org/models" server.model_hf_file = "tinyllamas/split/stories15M-q8_0-00001-of-00003.gguf" server.model_alias = "tinyllama-split" diff --git a/tools/server/tests/unit/test_router.py b/tools/server/tests/unit/test_router.py index e6f3c6485c0..e85f2c33829 100644 --- a/tools/server/tests/unit/test_router.py +++ b/tools/server/tests/unit/test_router.py @@ -17,7 +17,6 @@ def create_server(): ] ) def test_router_chat_completion_stream(model: str, success: bool): - # TODO: make sure the model is in cache (ie. ServerProcess.load_all()) before starting the router server global server server.start() content = "" @@ -48,3 +47,148 @@ def test_router_chat_completion_stream(model: str, success: bool): else: assert ex is not None assert content == "" + + +def _get_model_status(model_id: str) -> str: + res = server.make_request("GET", "/models") + assert res.status_code == 200 + for item in res.body.get("data", []): + if item.get("id") == model_id or item.get("model") == model_id: + return item["status"]["value"] + raise AssertionError(f"Model {model_id} not found in /models response") + + +def _wait_for_model_status(model_id: str, desired: set[str], timeout: int = 60) -> str: + deadline = time.time() + timeout + last_status = None + while time.time() < deadline: + last_status = _get_model_status(model_id) + if last_status in desired: + return last_status + time.sleep(1) + raise AssertionError( + f"Timed out waiting for {model_id} to reach {desired}, last status: {last_status}" + ) + + +def _load_model_and_wait( + model_id: str, timeout: int = 60, headers: dict | None = None +) -> None: + load_res = server.make_request( + "POST", "/models/load", data={"model": model_id}, headers=headers + ) + assert load_res.status_code == 200 + assert isinstance(load_res.body, dict) + assert load_res.body.get("success") is True + _wait_for_model_status(model_id, {"loaded"}, timeout=timeout) + + +def test_router_unload_model(): + global server + server.start() + model_id = "ggml-org/tinygemma3-GGUF:Q8_0" + + _load_model_and_wait(model_id) + + unload_res = server.make_request("POST", "/models/unload", data={"model": model_id}) + assert unload_res.status_code == 200 + assert unload_res.body.get("success") is True + _wait_for_model_status(model_id, {"unloaded"}) + + +def test_router_models_max_evicts_lru(): + global server + server.models_max = 2 + server.start() + + candidate_models = [ + "ggml-org/tinygemma3-GGUF:Q8_0", + "ggml-org/test-model-stories260K", + "ggml-org/test-model-stories260K-infill", + ] + + # Load only the first 2 models to fill the cache + first, second, third = candidate_models[:3] + + _load_model_and_wait(first, timeout=120) + _load_model_and_wait(second, timeout=120) + + # Verify both models are loaded + assert _get_model_status(first) == "loaded" + assert _get_model_status(second) == "loaded" + + # Load the third model - this should trigger LRU eviction of the first model + _load_model_and_wait(third, timeout=120) + + # Verify eviction: third is loaded, first was evicted + assert _get_model_status(third) == "loaded" + assert _get_model_status(first) == "unloaded" + + +def test_router_no_models_autoload(): + global server + server.no_models_autoload = True + server.start() + model_id = "ggml-org/tinygemma3-GGUF:Q8_0" + + res = server.make_request( + "POST", + "/v1/chat/completions", + data={ + "model": model_id, + "messages": [{"role": "user", "content": "hello"}], + "max_tokens": 4, + }, + ) + assert res.status_code == 400 + assert "error" in res.body + + _load_model_and_wait(model_id) + + success_res = server.make_request( + "POST", + "/v1/chat/completions", + data={ + "model": model_id, + "messages": [{"role": "user", "content": "hello"}], + "max_tokens": 4, + }, + ) + assert success_res.status_code == 200 + assert "error" not in success_res.body + + +def test_router_api_key_required(): + global server + server.api_key = "sk-router-secret" + server.start() + + model_id = "ggml-org/tinygemma3-GGUF:Q8_0" + auth_headers = {"Authorization": f"Bearer {server.api_key}"} + + res = server.make_request( + "POST", + "/v1/chat/completions", + data={ + "model": model_id, + "messages": [{"role": "user", "content": "hello"}], + "max_tokens": 4, + }, + ) + assert res.status_code == 401 + assert res.body.get("error", {}).get("type") == "authentication_error" + + _load_model_and_wait(model_id, headers=auth_headers) + + authed = server.make_request( + "POST", + "/v1/chat/completions", + headers=auth_headers, + data={ + "model": model_id, + "messages": [{"role": "user", "content": "hello"}], + "max_tokens": 4, + }, + ) + assert authed.status_code == 200 + assert "error" not in authed.body diff --git a/tools/server/tests/utils.py b/tools/server/tests/utils.py index dfd2c8a260a..48e7403602f 100644 --- a/tools/server/tests/utils.py +++ b/tools/server/tests/utils.py @@ -7,6 +7,7 @@ import os import re import json +from json import JSONDecodeError import sys import requests import time @@ -83,6 +84,9 @@ class ServerProcess: pooling: str | None = None draft: int | None = None api_key: str | None = None + models_dir: str | None = None + models_max: int | None = None + no_models_autoload: bool | None = None lora_files: List[str] | None = None enable_ctx_shift: int | None = False draft_min: int | None = None @@ -143,6 +147,10 @@ def start(self, timeout_seconds: int | None = DEFAULT_HTTP_TIMEOUT) -> None: server_args.extend(["--hf-repo", self.model_hf_repo]) if self.model_hf_file: server_args.extend(["--hf-file", self.model_hf_file]) + if self.models_dir: + server_args.extend(["--models-dir", self.models_dir]) + if self.models_max is not None: + server_args.extend(["--models-max", self.models_max]) if self.n_batch: server_args.extend(["--batch-size", self.n_batch]) if self.n_ubatch: @@ -204,6 +212,8 @@ def start(self, timeout_seconds: int | None = DEFAULT_HTTP_TIMEOUT) -> None: server_args.extend(["--draft-min", self.draft_min]) if self.no_webui: server_args.append("--no-webui") + if self.no_models_autoload: + server_args.append("--no-models-autoload") if self.jinja: server_args.append("--jinja") else: @@ -295,7 +305,13 @@ def make_request( result = ServerResponse() result.headers = dict(response.headers) result.status_code = response.status_code - result.body = response.json() if parse_body else None + if parse_body: + try: + result.body = response.json() + except JSONDecodeError: + result.body = response.text + else: + result.body = None print("Response from server", json.dumps(result.body, indent=2)) return result @@ -434,8 +450,9 @@ def load_all() -> None: @staticmethod def tinyllama2() -> ServerProcess: server = ServerProcess() - server.model_hf_repo = "ggml-org/models" - server.model_hf_file = "tinyllamas/stories260K.gguf" + server.offline = True # will be downloaded by load_all() + server.model_hf_repo = "ggml-org/test-model-stories260K" + server.model_hf_file = None server.model_alias = "tinyllama-2" server.n_ctx = 512 server.n_batch = 32 @@ -479,8 +496,8 @@ def bert_bge_small_with_fa() -> ServerProcess: def tinyllama_infill() -> ServerProcess: server = ServerProcess() server.offline = True # will be downloaded by load_all() - server.model_hf_repo = "ggml-org/models" - server.model_hf_file = "tinyllamas/stories260K-infill.gguf" + server.model_hf_repo = "ggml-org/test-model-stories260K-infill" + server.model_hf_file = None server.model_alias = "tinyllama-infill" server.n_ctx = 2048 server.n_batch = 1024 @@ -537,6 +554,7 @@ def tinygemma3() -> ServerProcess: @staticmethod def router() -> ServerProcess: server = ServerProcess() + server.offline = True # will be downloaded by load_all() # router server has no models server.model_file = None server.model_alias = None From 4084505604d92b670f3f9e6de13ec348b386d131 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 3 Dec 2025 17:22:10 +0200 Subject: [PATCH 27/35] chat : reserve memory in compute_diffs and improve naming (#17729) --- common/chat.cpp | 34 +++++++++++++++++++++------------- common/chat.h | 2 +- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/common/chat.cpp b/common/chat.cpp index e562e79b9f0..41a5bb42d51 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -85,29 +85,36 @@ json common_chat_msg::to_json_oaicompat() const return message; } -std::vector common_chat_msg_diff::compute_diffs(const common_chat_msg & previous_msg, const common_chat_msg & new_msg) { +std::vector common_chat_msg_diff::compute_diffs(const common_chat_msg & msg_prv, const common_chat_msg & msg_new) { std::vector diffs; - if (previous_msg.reasoning_content != new_msg.reasoning_content) { + if (msg_new.tool_calls.size() > msg_prv.tool_calls.size()) { + diffs.reserve(msg_new.tool_calls.size() - msg_prv.tool_calls.size() + 3); + } else { + diffs.reserve(3); + } + + // TODO: these can become expensive for long messages - how to optimize? + if (msg_prv.reasoning_content != msg_new.reasoning_content) { auto & diff = diffs.emplace_back(); - diff.reasoning_content_delta = string_diff(previous_msg.reasoning_content, new_msg.reasoning_content); + diff.reasoning_content_delta = string_diff(msg_prv.reasoning_content, msg_new.reasoning_content); } - if (previous_msg.content != new_msg.content) { + if (msg_prv.content != msg_new.content) { auto & diff = diffs.emplace_back(); - diff.content_delta = string_diff(previous_msg.content, new_msg.content); + diff.content_delta = string_diff(msg_prv.content, msg_new.content); } - if (new_msg.tool_calls.size() < previous_msg.tool_calls.size()) { + if (msg_new.tool_calls.size() < msg_prv.tool_calls.size()) { throw std::runtime_error("Invalid diff: now finding less tool calls!"); } - if (!previous_msg.tool_calls.empty()) { - auto idx = previous_msg.tool_calls.size() - 1; - const auto & pref = previous_msg.tool_calls[idx]; - const auto & newf = new_msg.tool_calls[idx]; + if (!msg_prv.tool_calls.empty()) { + const auto idx = msg_prv.tool_calls.size() - 1; + const auto & pref = msg_prv.tool_calls[idx]; + const auto & newf = msg_new.tool_calls[idx]; if (pref.name != newf.name) { throw std::runtime_error("Invalid diff: tool call mismatch!"); } - auto args_diff = string_diff(pref.arguments, newf.arguments); + const auto args_diff = string_diff(pref.arguments, newf.arguments); if (!args_diff.empty() || pref.id != newf.id) { auto & diff = diffs.emplace_back(); diff.tool_call_index = idx; @@ -118,11 +125,12 @@ std::vector common_chat_msg_diff::compute_diffs(const comm diff.tool_call_delta.arguments = args_diff; } } - for (size_t idx = previous_msg.tool_calls.size(); idx < new_msg.tool_calls.size(); ++idx) { + for (size_t idx = msg_prv.tool_calls.size(); idx < msg_new.tool_calls.size(); ++idx) { auto & diff = diffs.emplace_back(); diff.tool_call_index = idx; - diff.tool_call_delta = new_msg.tool_calls[idx]; + diff.tool_call_delta = msg_new.tool_calls[idx]; } + return diffs; } diff --git a/common/chat.h b/common/chat.h index fc93a690fcd..6085510a402 100644 --- a/common/chat.h +++ b/common/chat.h @@ -77,7 +77,7 @@ struct common_chat_msg_diff { size_t tool_call_index = std::string::npos; common_chat_tool_call tool_call_delta; - static std::vector compute_diffs(const common_chat_msg & previous_msg, const common_chat_msg & new_msg); + static std::vector compute_diffs(const common_chat_msg & msg_prv, const common_chat_msg & msg_new); bool operator==(const common_chat_msg_diff & other) const { return content_delta == other.content_delta From 3010836e53b4ba9f8c2dca48addd7d13df4a3087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Wed, 3 Dec 2025 16:57:05 +0100 Subject: [PATCH 28/35] CUDA: generalized (mma) FA, add Volta support (#17505) * CUDA: generalized (mma) FA, add Volta support * use struct for MMA FA kernel config --------- Co-authored-by: Aman Gupta --- ggml/include/ggml.h | 2 +- ggml/src/ggml-cuda/fattn-common.cuh | 22 +- ggml/src/ggml-cuda/fattn-mma-f16.cuh | 1250 +++++++++++++------------ ggml/src/ggml-cuda/fattn-tile.cuh | 36 +- ggml/src/ggml-cuda/fattn-vec.cuh | 18 +- ggml/src/ggml-cuda/fattn-wmma-f16.cu | 17 +- ggml/src/ggml-cuda/fattn-wmma-f16.cuh | 4 +- ggml/src/ggml-cuda/fattn.cu | 24 +- ggml/src/ggml-cuda/mma.cuh | 267 ++++-- ggml/src/ggml-cuda/mmf.cuh | 59 +- 10 files changed, 953 insertions(+), 746 deletions(-) diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 48da68fe7e3..e665614670d 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -2279,7 +2279,7 @@ extern "C" { float stop, float step); -#define GGML_KQ_MASK_PAD 64 +#define GGML_KQ_MASK_PAD 1 // q: [n_embd_k, n_batch, n_head, ne3 ] // k: [n_embd_k, n_kv, n_head_kv, ne3 ] diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index 5cdd4bb2114..02443b8c638 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -25,7 +25,7 @@ typedef void (* fattn_kernel_t)( const float m1, const uint32_t n_head_log2, const float logit_softcap, - const int32_t ne00, const int32_t ne01, const int32_t ne02, const int32_t ne03, + const int32_t ne00, const uint3 ne01, const int32_t ne02, const int32_t ne03, const int32_t nb01, const int32_t nb02, const int32_t nb03, const int32_t ne10, const int32_t ne11, const int32_t ne12, const int32_t ne13, const int32_t nb11, const int32_t nb12, const int64_t nb13, @@ -621,7 +621,8 @@ static __global__ void flash_attn_mask_to_KV_max( template // D == head size __launch_bounds__(D, 1) static __global__ void flash_attn_stream_k_fixup( - float * __restrict__ dst, const float2 * __restrict__ dst_fixup, const int ne01, const int ne02, const int ne03, const int ne11) { + float * __restrict__ dst, const float2 * __restrict__ dst_fixup, const int ne01, const int ne02, const int ne03, const int ne11, + const int nbatch_fa) { constexpr int ncols = ncols1*ncols2; const int bidx0 = blockIdx.x; @@ -632,8 +633,8 @@ static __global__ void flash_attn_stream_k_fixup( const float * dst_fixup_data = ((const float *) dst_fixup) + gridDim.x*(2*2*ncols); - const int iter_k = ne11 / FATTN_KQ_STRIDE; - const int iter_j = (ne01 + (ncols1 - 1)) / ncols1; + const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; + const int iter_j = (ne01 + (ncols1 - 1)) / ncols1; const int kbc0 = (bidx0 + 0)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; const int kbc0_stop = (bidx0 + 1)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; @@ -765,7 +766,7 @@ static __global__ void flash_attn_combine_results( template void launch_fattn( ggml_backend_cuda_context & ctx, ggml_tensor * dst, fattn_kernel_t fattn_kernel, const int nwarps, const size_t nbytes_shared, - const int KQ_row_granularity, const bool need_f16_K, const bool need_f16_V, const bool stream_k, const int warp_size = WARP_SIZE + const int nbatch_fa, const bool need_f16_K, const bool need_f16_V, const bool stream_k, const int warp_size = WARP_SIZE ) { constexpr int ncols = ncols1 * ncols2; @@ -790,8 +791,6 @@ void launch_fattn( GGML_ASSERT(!V || V->nb[0] == ggml_element_size(V)); GGML_ASSERT(!mask || mask->type == GGML_TYPE_F16); - GGML_ASSERT(!mask || mask->ne[1] >= GGML_PAD(Q->ne[1], 16) && - "the Flash-Attention CUDA kernel requires the mask to be padded to 16 and at least n_queries big"); ggml_cuda_pool & pool = ctx.pool(); cudaStream_t main_stream = ctx.stream(); @@ -915,7 +914,7 @@ void launch_fattn( dst_tmp_meta.alloc(blocks_num.x*ncols * (2*2 + DV) * sizeof(float)); } else { - const int ntiles_KQ = (K->ne[1] + KQ_row_granularity - 1) / KQ_row_granularity; // Max. number of parallel blocks limited by tensor size. + const int ntiles_KQ = (K->ne[1] + nbatch_fa - 1) / nbatch_fa; // Max. number of parallel blocks limited by tensor size. // parallel_blocks must not be larger than what the tensor size allows: parallel_blocks = std::min(parallel_blocks, ntiles_KQ); @@ -970,6 +969,9 @@ void launch_fattn( const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); + // TODO other tensor dimensions after removal of WMMA kernel: + const uint3 ne01 = init_fastdiv_values(Q->ne[1]); + GGML_ASSERT(block_dim.x % warp_size == 0); fattn_kernel<<>>( (const char *) Q->data, @@ -980,7 +982,7 @@ void launch_fattn( KV_max.ptr, !stream_k && parallel_blocks > 1 ? dst_tmp.ptr : (float *) KQV->data, dst_tmp_meta.ptr, scale, max_bias, m0, m1, n_head_log2, logit_softcap, - Q->ne[0], Q->ne[1], Q->ne[2], Q->ne[3], Q->nb[1], Q->nb[2], Q->nb[3], + Q->ne[0], ne01, Q->ne[2], Q->ne[3], Q->nb[1], Q->nb[2], Q->nb[3], K->ne[0], K->ne[1], K->ne[2], K->ne[3], nb11, nb12, nb13, nb21, nb22, nb23, mask ? mask->ne[1] : 0, mask ? mask->ne[2] : 0, mask ? mask->ne[3] : 0, @@ -995,7 +997,7 @@ void launch_fattn( flash_attn_stream_k_fixup <<>> - ((float *) KQV->data, dst_tmp_meta.ptr, Q->ne[1], Q->ne[2], Q->ne[3], K->ne[1]); + ((float *) KQV->data, dst_tmp_meta.ptr, Q->ne[1], Q->ne[2], Q->ne[3], K->ne[1], nbatch_fa); } } else if (parallel_blocks > 1) { const dim3 block_dim_combine(DV, 1, 1); diff --git a/ggml/src/ggml-cuda/fattn-mma-f16.cuh b/ggml/src/ggml-cuda/fattn-mma-f16.cuh index 57defb0c629..b6250cf7949 100644 --- a/ggml/src/ggml-cuda/fattn-mma-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-mma-f16.cuh @@ -5,284 +5,211 @@ using namespace ggml_cuda_mma; -typedef tile<16, 8, half2> tile_A; -typedef tile< 8, 8, half2> tile_B; -typedef tile<16, 8, half2> tile_B_16; -typedef tile<16, 8, float> tile_C_KQ; -typedef tile<16, 16, float> tile_C_KQ_16; -typedef tile<16, 4, half2> tile_C_VKQ; -typedef tile<16, 8, half2> tile_C_VKQ_16; - -// Config options for specific head sizes. +// Config options for the MMA kernel. // Should not affect results, only speed/register pressure/shared memory use. -// -// nbatch_fa: number of KV rows per softmax rescaling of KQ rowsums and VKQ accumulators. -// nwarps_max: maximum number of warps per CUDA block, up to 8 warps in total can run per SM (given enough shared memory). -// Q_in_reg: whether the Q values should be kept permanently in registers. -// nstages_target: targeted number of pipeline stages for cp_async (if available), 0 means synchronous data loading. -// nbatch_K2: number of K half2 values in direction of DKQ to load in parallel. -// nbatch_V2: number of V half2 values in direction of DV to load in parallel. -// nbatch_combine: number of VKQ half2 values in direction of DV to combine in parallel. - -template -struct fattn_mma_f16_config; - -template <> -struct fattn_mma_f16_config< 64, 64> { - static constexpr int nbatch_fa = 64; - static constexpr int nwarps_max = 4; - static constexpr bool Q_in_reg = true; - static constexpr int nstages_target = 2; - - static int get_nbatch_K2_host(const int /*cc*/, const int /*ncols*/) { - return 32; - } - - static constexpr __device__ int get_nbatch_K2_device(int /*ncols*/) { - return 32; - } - - static int get_nbatch_V2_host(const int /*cc*/, const int /*ncols*/) { - return 32; - } - - static constexpr __device__ int get_nbatch_V2_device(int /*ncols*/) { - return 32; - } - - static int get_nbatch_combine_host(const int /*cc*/, const int /*ncols*/) { - return 32; - } - - static constexpr __device__ int get_nbatch_combine_device(int /*ncols*/) { - return 32; - } +struct fattn_mma_config { + int nthreads; // Number of threads per CUDA block. + int occupancy; // Targeted occupancy for the MMA kernel. + int nbatch_fa; // Number of KV rows per softmax rescaling of KQ rowsums and VKQ accumulators. + int nbatch_K2; // Number of K half2 values in direction of DKQ to load in parallel. + int nbatch_V2; // Number of V half2 values in direction of DV to load in parallel. + int nbatch_combine; // Number of VKQ half2 values in direction of DV to combine in parallel. + int nstages_target; // Number of pipeline stages to use ideally, 1 == always load data synchronously, 2 == preload data if there is hardware support. + bool Q_in_reg; // Whether the Q values should be kept permanently in registers. + + constexpr __host__ __device__ fattn_mma_config( + int nthreads, int occupancy, int nbatch_fa, int nbatch_K2, int nbatch_V2, int nbatch_combine, int nstages_target, bool Q_in_reg) : + nthreads(nthreads), occupancy(occupancy), nbatch_fa(nbatch_fa), nbatch_K2(nbatch_K2), nbatch_V2(nbatch_V2), nbatch_combine(nbatch_combine), + nstages_target(nstages_target), Q_in_reg(Q_in_reg) {} }; -template <> -struct fattn_mma_f16_config< 80, 80> { - static constexpr int nbatch_fa = 64; - static constexpr int nwarps_max = 4; - static constexpr bool Q_in_reg = true; - static constexpr int nstages_target = 2; - - static int get_nbatch_K2_host(const int /*cc*/, const int /*ncols*/) { - return 40; - } - - static constexpr __device__ int get_nbatch_K2_device(int /*ncols*/) { - return 40; - } - - static int get_nbatch_V2_host(const int /*cc*/, const int /*ncols*/) { - return 40; - } - - static constexpr __device__ int get_nbatch_V2_device(int /*ncols*/) { - return 40; - } - - static int get_nbatch_combine_host(const int /*cc*/, const int /*ncols*/) { - return 40; - } - - static constexpr __device__ int get_nbatch_combine_device(int /*ncols*/) { - return 40; - } -}; - -template <> -struct fattn_mma_f16_config< 96, 96> { - static constexpr int nbatch_fa = 64; - static constexpr int nwarps_max = 4; - static constexpr bool Q_in_reg = true; - static constexpr int nstages_target = 2; - - static int get_nbatch_K2_host(const int /*cc*/, const int /*ncols*/) { - return 48; - } - - static constexpr __device__ int get_nbatch_K2_device(int /*ncols*/) { - return 48; - } - - static int get_nbatch_V2_host(const int /*cc*/, const int /*ncols*/) { - return 48; - } - - static constexpr __device__ int get_nbatch_V2_device(int /*ncols*/) { - return 48; - } - - static int get_nbatch_combine_host(const int /*cc*/, const int /*ncols*/) { - return 48; - } +#define GGML_CUDA_FATTN_MMA_CONFIG_CASE(DKQ_, DV_, ncols_, nthreads_, occupancy_, nbatch_fa_, nbatch_K2_, nbatch_V2_, nbatch_combine_, nstages_target_, Q_in_reg_) \ + if (DKQ == (DKQ_) && DV == (DV_) && ncols == (ncols_)) { \ + static_assert((nthreads_) % 32 == 0 && (nthreads_) <= 512, "bad nthreads"); \ + static_assert( (occupancy_) <= 8, "bad occupancy"); \ + static_assert((nbatch_fa_) % 32 == 0 && (nbatch_fa_) <= 256, "bad nbatch_fa"); \ + static_assert((nbatch_K2_) % 4 == 0 && (nbatch_K2_) <= 512, "bad nbatch_K2"); \ + static_assert((nbatch_V2_) % 4 == 0 && (nbatch_V2_) <= 256, "bad nbatch_V2"); \ + static_assert((nbatch_combine_) % 4 == 0 && (nbatch_combine_) <= 128, "bad nbatch_combine"); \ + static_assert((nstages_target_) >= 1 && (nstages_target_) <= 2, "bad nstages_target"); \ + return fattn_mma_config{(nthreads_), (occupancy_), (nbatch_fa_), (nbatch_K2_), (nbatch_V2_), (nbatch_combine_), (nstages_target_), (Q_in_reg_)}; \ + } \ + +static constexpr __host__ __device__ fattn_mma_config ggml_cuda_fattn_mma_get_config_ampere(const int DKQ, const int DV, const int ncols) { + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 64, 64, 8, 128, 2, 128, 32, 32, 32, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 64, 64, 16, 128, 2, 64, 32, 32, 32, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 64, 64, 32, 128, 2, 64, 32, 32, 32, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 64, 64, 64, 128, 2, 64, 32, 32, 32, 2, true); + + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 80, 80, 8, 128, 2, 128, 40, 40, 40, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 80, 80, 16, 128, 2, 64, 40, 40, 40, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 80, 80, 32, 128, 2, 64, 40, 40, 40, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 80, 80, 64, 128, 2, 64, 40, 40, 40, 2, true); + + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 96, 96, 8, 128, 2, 128, 48, 48, 48, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 96, 96, 16, 128, 2, 64, 48, 48, 48, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 96, 96, 32, 128, 2, 64, 48, 48, 48, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE( 96, 96, 64, 128, 2, 64, 48, 48, 48, 2, true); + + GGML_CUDA_FATTN_MMA_CONFIG_CASE(112, 112, 8, 128, 2, 128, 56, 56, 56, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(112, 112, 16, 128, 2, 64, 56, 56, 56, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(112, 112, 32, 128, 2, 64, 56, 56, 56, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(112, 112, 64, 128, 2, 64, 56, 56, 56, 2, true); + + GGML_CUDA_FATTN_MMA_CONFIG_CASE(128, 128, 8, 128, 2, 128, 64, 64, 64, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(128, 128, 16, 128, 2, 64, 64, 64, 64, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(128, 128, 32, 128, 2, 64, 64, 64, 64, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(128, 128, 64, 128, 2, 64, 64, 64, 64, 2, true); + + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 8, 64, 4, 64, 128, 128, 128, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 16, 64, 4, 32, 128, 128, 128, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 32, 128, 2, 32, 128, 128, 128, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 64, 128, 2, 32, 128, 128, 128, 2, true); + + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 8, 64, 4, 32, 288, 256, 128, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 16, 64, 4, 32, 288, 256, 128, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 32, 128, 2, 32, 160, 128, 128, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 64, 256, 1, 32, 160, 128, 128, 1, false); + + return fattn_mma_config(32, 1, 0, 0, 0, 0, 0, false); +} - static constexpr __device__ int get_nbatch_combine_device(int /*ncols*/) { - return 48; - } -}; +static constexpr __host__ __device__ fattn_mma_config ggml_cuda_fattn_mma_get_config_turing(const int DKQ, const int DV, const int ncols) { + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 8, 128, 2, 64, 128, 128, 128, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 16, 128, 2, 64, 128, 128, 128, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 32, 128, 2, 64, 128, 128, 64, 2, true); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(256, 256, 64, 128, 2, 64, 128, 128, 64, 2, true); -template <> -struct fattn_mma_f16_config<112, 112> { - static constexpr int nbatch_fa = 64; - static constexpr int nwarps_max = 4; - static constexpr bool Q_in_reg = true; - static constexpr int nstages_target = 2; + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 8, 64, 4, 32, 96, 64, 128, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 16, 64, 4, 32, 96, 64, 128, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 32, 128, 2, 32, 160, 128, 128, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 64, 256, 1, 32, 160, 128, 128, 1, false); - static int get_nbatch_K2_host(const int /*cc*/, const int /*ncols*/) { - return 56; - } + return ggml_cuda_fattn_mma_get_config_ampere(DKQ, DV, ncols); +} - static constexpr __device__ int get_nbatch_K2_device(int /*ncols*/) { - return 56; - } +static constexpr __host__ __device__ fattn_mma_config ggml_cuda_fattn_mma_get_config_volta(const int DKQ, const int DV, const int ncols) { + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 8, 64, 4, 32, 288, 256, 64, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 16, 64, 4, 32, 288, 256, 64, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 32, 128, 2, 32, 160, 128, 64, 1, false); + GGML_CUDA_FATTN_MMA_CONFIG_CASE(576, 512, 64, 256, 1, 32, 160, 128, 64, 1, false); - static int get_nbatch_V2_host(const int /*cc*/, const int /*ncols*/) { - return 56; - } + // TODO tune specifically for Volta + return ggml_cuda_fattn_mma_get_config_ampere(DKQ, DV, ncols); +} - static constexpr __device__ int get_nbatch_V2_device(int /*ncols*/) { - return 56; +static __host__ fattn_mma_config ggml_cuda_fattn_mma_get_config(const int DKQ, const int DV, const int ncols, const int cc) { + if (ampere_mma_available(cc)) { + return ggml_cuda_fattn_mma_get_config_ampere(DKQ, DV, ncols); } - - static int get_nbatch_combine_host(const int /*cc*/, const int /*ncols*/) { - return 56; + if (turing_mma_available(cc)) { + return ggml_cuda_fattn_mma_get_config_turing(DKQ, DV, ncols); } + GGML_ASSERT(volta_mma_available(cc)); + return ggml_cuda_fattn_mma_get_config_volta(DKQ, DV, ncols); +} - static constexpr __device__ int get_nbatch_combine_device(int /*ncols*/) { - return 56; - } -}; +static constexpr __device__ fattn_mma_config ggml_cuda_fattn_mma_get_config(const int DKQ, const int DV, const int ncols) { +#if defined(AMPERE_MMA_AVAILABLE) + return ggml_cuda_fattn_mma_get_config_ampere(DKQ, DV, ncols); +#elif defined(TURING_MMA_AVAILABLE) + return ggml_cuda_fattn_mma_get_config_turing(DKQ, DV, ncols); +#elif defined(VOLTA_MMA_AVAILABLE) + return ggml_cuda_fattn_mma_get_config_volta(DKQ, DV, ncols); +#else + GGML_UNUSED_VARS(DKQ, DV, ncols); + return fattn_mma_config(32, 1, 0, 0, 0, 0, 0, false); +#endif // defined(AMPERE_MMA_AVAILABLE) +} -template <> -struct fattn_mma_f16_config<128, 128> { - static constexpr int nbatch_fa = 64; - static constexpr int nwarps_max = 4; - static constexpr bool Q_in_reg = true; - static constexpr int nstages_target = 2; +static __host__ int ggml_cuda_fattn_mma_get_nthreads(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).nthreads; +} - static int get_nbatch_K2_host(const int /*cc*/, const int /*ncols*/) { - return 64; - } +static constexpr __device__ int ggml_cuda_fattn_mma_get_nthreads(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).nthreads; +} - static constexpr __device__ int get_nbatch_K2_device(int /*ncols*/) { - return 64; - } +static __host__ int ggml_cuda_fattn_mma_get_occupancy(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).occupancy; +} - static int get_nbatch_V2_host(const int /*cc*/, const int /*ncols*/) { - return 64; - } +static constexpr __device__ int ggml_cuda_fattn_mma_get_occupancy(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).occupancy; +} - static constexpr __device__ int get_nbatch_V2_device(int /*ncols*/) { - return 64; - } +static __host__ int ggml_cuda_fattn_mma_get_nbatch_fa(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).nbatch_fa; +} - static int get_nbatch_combine_host(const int /*cc*/, const int /*ncols*/) { - return 64; - } +static constexpr __device__ int ggml_cuda_fattn_mma_get_nbatch_fa(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).nbatch_fa; +} - static constexpr __device__ int get_nbatch_combine_device(int /*ncols*/) { - return 64; - } -}; +static __host__ int ggml_cuda_fattn_mma_get_nbatch_K2(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).nbatch_K2; +} -template <> -struct fattn_mma_f16_config<256, 256> { - static constexpr int nbatch_fa = 32; - static constexpr int nwarps_max = 4; - static constexpr bool Q_in_reg = true; - static constexpr int nstages_target = 2; +static constexpr __device__ int ggml_cuda_fattn_mma_get_nbatch_K2(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).nbatch_K2; +} - static int get_nbatch_K2_host(const int /*cc*/, const int /*ncols*/) { - return 128; - } +static __host__ int ggml_cuda_fattn_mma_get_nbatch_V2(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).nbatch_V2; +} - static constexpr __device__ int get_nbatch_K2_device(int /*ncols*/) { - return 128; - } +static constexpr __device__ int ggml_cuda_fattn_mma_get_nbatch_V2(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).nbatch_V2; +} - static int get_nbatch_V2_host(const int /*cc*/, const int /*ncols*/) { - return 128; - } +static __host__ int ggml_cuda_fattn_mma_get_nbatch_combine(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).nbatch_combine; +} - static constexpr __device__ int get_nbatch_V2_device(int /*ncols*/) { - return 128; - } +static constexpr __device__ int ggml_cuda_fattn_mma_get_nbatch_combine(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).nbatch_combine; +} - static int get_nbatch_combine_host(const int cc, const int ncols) { - if (ggml_cuda_highest_compiled_arch(cc) == GGML_CUDA_CC_TURING) { - return ncols <= 16 ? 128 : 64; - } - return 64; - } +static __host__ int ggml_cuda_fattn_mma_get_nstages_target(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).nstages_target; +} - static constexpr __device__ int get_nbatch_combine_device(int ncols) { -#if __CUDA_ARCH__ == GGML_CUDA_CC_TURING - return ncols <= 16 ? 128 : 64; -#else - GGML_UNUSED(ncols); - return 128; -#endif // __CUDA_ARCH__ == GGML_CUDA_CC_TURING - } -}; +static constexpr __device__ int ggml_cuda_fattn_mma_get_nstages_target(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).nstages_target; +} -template <> -struct fattn_mma_f16_config<576, 512> { - static constexpr int nbatch_fa = 32; - static constexpr int nwarps_max = 8; - static constexpr bool Q_in_reg = false; - static constexpr int nstages_target = 1; +static __host__ bool ggml_cuda_fattn_mma_get_Q_in_reg(const int DKQ, const int DV, const int ncols, const int cc) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols, cc).Q_in_reg; +} - static int get_nbatch_K2_host(const int cc, const int ncols) { - if (ggml_cuda_highest_compiled_arch(cc) == GGML_CUDA_CC_TURING) { - return ncols <= 16 ? 96 : 160; - } - return ncols <= 16 ? 288 : 160; - } +static constexpr __device__ bool ggml_cuda_fattn_mma_get_Q_in_reg(const int DKQ, const int DV, const int ncols) { + return ggml_cuda_fattn_mma_get_config(DKQ, DV, ncols).Q_in_reg; +} - static constexpr __device__ int get_nbatch_K2_device(int ncols) { -#if __CUDA_ARCH__ == GGML_CUDA_CC_TURING - return ncols <= 16 ? 96 : 160; -#else - return ncols <= 16 ? 288 : 160; -#endif // __CUDA_ARCH__ == GGML_CUDA_CC_TURING - } +// ------------------------------------------------------------------------------------------------------------------ - static int get_nbatch_V2_host(const int cc, const int ncols) { - if (ggml_cuda_highest_compiled_arch(cc) == GGML_CUDA_CC_TURING) { - return ncols <= 16 ? 64 : 128; - } - return ncols <= 16 ? 256 : 128; - } +static __host__ int ggml_cuda_fattn_mma_get_nstages(const int DKQ, const int DV, const int ncols1, const int ncols2, const int cc) { + return cp_async_available(cc) && ncols2 >= 2 ? ggml_cuda_fattn_mma_get_nstages_target(DKQ, DV, ncols1*ncols2, cc) : 0; +} - static constexpr __device__ int get_nbatch_V2_device(int ncols) { -#if __CUDA_ARCH__ == GGML_CUDA_CC_TURING - return ncols <= 16 ? 64 : 128; +static constexpr __device__ int ggml_cuda_fattn_mma_get_nstages(const int DKQ, const int DV, const int ncols1, const int ncols2) { +#ifdef CP_ASYNC_AVAILABLE + return ncols2 >= 2 ? ggml_cuda_fattn_mma_get_nstages_target(DKQ, DV, ncols1*ncols2) : 0; #else - return ncols <= 16 ? 256 : 128; -#endif // __CUDA_ARCH__ == GGML_CUDA_CC_TURING - } - - static int get_nbatch_combine_host(const int /*cc*/, const int /*ncols*/) { - return 128; - } - - static constexpr __device__ int get_nbatch_combine_device(int /*ncols*/) { - return 128; - } -}; + GGML_UNUSED_VARS(DKQ, DV, ncols1, ncols2); + return 0; +#endif // CP_ASYNC_AVAILABLE +} // ------------------------------------------------------------------------------------------------------------------ -template +template static __device__ __forceinline__ void flash_attn_ext_f16_load_tile( - const half2 * const __restrict__ KV, half2 * const __restrict__ tile_KV, const int D2, const int stride_KV) { - + const half2 * const __restrict__ KV, half2 * const __restrict__ tile_KV, const int D2, const int stride_KV, const int i_sup) { // K/V data is loaded with decreasing granularity for D for better memory bandwidth. // The minimum granularity with cp.async is 16 bytes, with synchronous data loading it's 4 bytes. - - if (use_cp_async) { + if constexpr (use_cp_async) { + static_assert(!oob_check, "OOB check not compatible with cp_async"); constexpr int preload = 64; constexpr int h2_per_chunk = 16/sizeof(half2); const int chunks_per_row = D2 / h2_per_chunk; @@ -315,9 +242,15 @@ static __device__ __forceinline__ void flash_attn_ext_f16_load_tile( } } }; - ggml_cuda_unroll<5>{}(load); + // 1: max 32*16=512 bytes, 256 half + // 2: max 16*16=256 bytes, 128 half + // 3: max 8*16=128 bytes, 64 half + // 4: max 4*16= 64 bytes, 32 half + // 5: max 2*16= 32 bytes, 16 half + // 6: max 1*16= 16 bytes, 8 half + ggml_cuda_unroll<6>{}(load); } else { - static_assert(nbatch_fa % (4*nwarps) == 0, "out of bounds"); + // TODO use ggml_cuda_memcpy_1 auto load = [&] __device__ (const int n) { const int stride_k = WARP_SIZE >> n; const int k0_start = stride_k == WARP_SIZE ? 0 : D2 - D2 % (2*stride_k); @@ -340,20 +273,25 @@ static __device__ __forceinline__ void flash_attn_ext_f16_load_tile( for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); - tile_KV[i*stride_tile + k] = KV[i*stride_KV + k]; + tile_KV[i*stride_tile + k] = !oob_check || i < i_sup ? KV[i*stride_KV + k] : make_half2(0.0f, 0.0f); } } }; - ggml_cuda_unroll<3>{}(load); + // 1: max 32* 4=128 bytes, 64 half + // 2: max 16* 4= 64 bytes, 32 half + // 3: max 8* 4= 32 bytes, 16 half + // 4: max 4* 4= 16 bytes, 8 half + ggml_cuda_unroll<4>{}(load); } } -template +template static __device__ __forceinline__ void flash_attn_ext_f16_load_mask( - const half2 * const __restrict__ mask_h2, half2 * const __restrict__ tile_mask, const int stride_mask) { - static_assert(nbatch_fa == 2*WARP_SIZE || WARP_SIZE % nbatch_fa == 0, "bad KQ_per_iter"); - - if (use_cp_async) { + const half * const __restrict__ mask_h, half * const __restrict__ tile_mask, + const int stride_mask, const int i_sup, const int j0, const uint3 ne01) { + if constexpr (use_cp_async) { + static_assert(nbatch_fa <= 8*WARP_SIZE && nbatch_fa % 8 == 0, "bad nbatch_fa"); + static_assert(!oob_check, "OOB check incompatible with cp_async"); constexpr int preload = nbatch_fa >= 32 ? nbatch_fa * sizeof(half) : 64; constexpr int cols_per_warp = 8*WARP_SIZE/nbatch_fa; constexpr int stride_j = nwarps * cols_per_warp; @@ -361,50 +299,85 @@ static __device__ __forceinline__ void flash_attn_ext_f16_load_mask( const unsigned int tile_mask_32 = ggml_cuda_cvta_generic_to_shared(tile_mask); #pragma unroll - for (int j0 = 0; j0 < ncols1; j0 += stride_j) { - const int j = j0 + threadIdx.y*cols_per_warp + - (nbatch_fa == 2*WARP_SIZE ? threadIdx.x / (WARP_SIZE/4) : threadIdx.x / (WARP_SIZE/cols_per_warp)); + for (int j1 = 0; j1 < ncols1; j1 += stride_j) { + const int j_sram = j1 + threadIdx.y*cols_per_warp + threadIdx.x / (WARP_SIZE/cols_per_warp); + const int j_vram = fastmodulo(j0 + j_sram, ne01); - if (j0 + stride_j > ncols1 && j >= ncols1) { + if (j1 + stride_j > ncols1 && j_sram >= ncols1) { break; } - const int i = 4 * (threadIdx.x % (nbatch_fa/8)); + const int i = 8 * (threadIdx.x % (nbatch_fa/8)); - cp_async_cg_16(tile_mask_32 + j*(nbatch_fa*sizeof(half) + 16) + i*sizeof(half2), mask_h2 + j*stride_mask + i); + cp_async_cg_16(tile_mask_32 + j_sram*(nbatch_fa*sizeof(half) + 16) + i*sizeof(half), mask_h + j_vram*stride_mask + i); } - return; - } + } else if constexpr (oob_check) { +#pragma unroll + for (int j1 = 0; j1 < ncols1; j1 += nwarps) { + const int j_sram = j1 + threadIdx.y; + const int j_vram = fastmodulo(j0 + j_sram, ne01); + + if (j1 + nwarps > ncols1 && j_sram >= ncols1) { + break; + } - constexpr int cols_per_warp = 2*WARP_SIZE/nbatch_fa; - constexpr int stride_j = nwarps * cols_per_warp; #pragma unroll - for (int j0 = 0; j0 < ncols1; j0 += stride_j) { - const int j = j0 + threadIdx.y*cols_per_warp + (nbatch_fa == 2*WARP_SIZE ? 0 : threadIdx.x / (WARP_SIZE/cols_per_warp)); + for (int i0 = 0; i0 < nbatch_fa; i0 += WARP_SIZE) { + const int i = i0 + threadIdx.x; - if (j0 + stride_j > ncols1 && j >= ncols1) { - break; + tile_mask[j_sram*(nbatch_fa + 8) + i] = i < i_sup ? mask_h[j_vram*stride_mask + i] : half(0.0f); + } } + } else if constexpr (nbatch_fa < 2*WARP_SIZE) { + constexpr int cols_per_warp = 2*WARP_SIZE/nbatch_fa; + constexpr int stride_j = nwarps * cols_per_warp; +#pragma unroll + for (int j1 = 0; j1 < ncols1; j1 += stride_j) { + const int j_sram = j1 + threadIdx.y*cols_per_warp + threadIdx.x / (WARP_SIZE/cols_per_warp); + const int j_vram = fastmodulo(j0 + j_sram, ne01); - const int i = nbatch_fa == 2*WARP_SIZE ? threadIdx.x : threadIdx.x % (WARP_SIZE/cols_per_warp); + if (j1 + stride_j > ncols1 && j_sram >= ncols1) { + break; + } + + const int i = threadIdx.x % (WARP_SIZE/cols_per_warp); - tile_mask[j*(nbatch_fa/2 + 4) + i] = mask_h2[j*stride_mask + i]; + ggml_cuda_memcpy_1(tile_mask + j_sram*(nbatch_fa + 8) + 2*i, mask_h + j_vram*stride_mask + 2*i); + } + } else { +#pragma unroll + for (int j1 = 0; j1 < ncols1; j1 += nwarps) { + const int j_sram = j1 + threadIdx.y; + const int j_vram = fastmodulo(j0 + j_sram, ne01); + + if (j1 + nwarps > ncols1 && j_sram >= ncols1) { + break; + } + +#pragma unroll + for (int i0 = 0; i0 < nbatch_fa; i0 += 2*WARP_SIZE) { + const int i = i0 + 2*threadIdx.x; + + ggml_cuda_memcpy_1(tile_mask + j_sram*(nbatch_fa + 8) + i, mask_h + j_vram*stride_mask + i); + } + } } } -template +template static __device__ __forceinline__ void flash_attn_ext_f16_iter( const float2 * const __restrict__ Q_f2, const half2 * const __restrict__ K_h2, const half2 * const __restrict__ V_h2, - const half2 * const __restrict__ mask_h2, + const half * const __restrict__ mask_h, float2 * const __restrict__ dstk, float2 * const __restrict__ dstk_fixup, const float scale, const float slope, const float logit_softcap, - const int ne01, + const uint3 ne01, const int ne02, const int stride_K, const int stride_V, @@ -412,27 +385,24 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( half2 * const __restrict__ tile_Q, half2 * const __restrict__ tile_K, half2 * const __restrict__ tile_V, - half2 * const __restrict__ tile_mask, - const tile_B * const __restrict__ Q_B, - tile_C_VKQ * const __restrict__ VKQ_C, + half * const __restrict__ tile_mask, + T_B_KQ * const __restrict__ Q_B, + T_C_VKQ * const __restrict__ VKQ_C, float * const __restrict__ KQ_max, float * const __restrict__ KQ_rowsum, - const int kb0) { -#ifdef TURING_MMA_AVAILABLE - typedef fattn_mma_f16_config c; - -#ifdef CP_ASYNC_AVAILABLE - constexpr int nstages = c::nstages_target; -#else - constexpr int nstages = 0; -#endif // CP_ASYNC_AVAILABLE - - constexpr int cols_per_warp = ntiles * tile_B::I; - constexpr int cols_per_thread = ntiles == 1 ? 2 : ntiles; - constexpr int np = nwarps * (cols_per_warp/ncols2) / ncols1; // Number of parallel CUDA warps per Q column. - constexpr int ncols = ncols1 * ncols2; - constexpr int nbatch_K2 = c::get_nbatch_K2_device(ncols); - constexpr int nbatch_V2 = c::get_nbatch_V2_device(ncols); + const int jt, + const int kb0, + const int k_VKQ_sup) { +#if defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) + constexpr int ncols = ncols1 * ncols2; + constexpr int cols_per_warp = T_B_KQ::I; + constexpr int cols_per_thread = 2; // This is specifically KQ columns, Volta only has a single VKQ column. + constexpr int np = nwarps * (cols_per_warp/ncols2) / ncols1; // Number of parallel CUDA warps per Q column. + constexpr int nbatch_fa = ggml_cuda_fattn_mma_get_nbatch_fa(DKQ, DV, ncols); + constexpr int nbatch_K2 = ggml_cuda_fattn_mma_get_nbatch_K2(DKQ, DV, ncols); + constexpr int nbatch_V2 = ggml_cuda_fattn_mma_get_nbatch_V2(DKQ, DV, ncols); + constexpr bool Q_in_reg = ggml_cuda_fattn_mma_get_Q_in_reg (DKQ, DV, ncols); + constexpr int nstages = ggml_cuda_fattn_mma_get_nstages (DKQ, DV, ncols1, ncols2); constexpr int stride_tile_Q = DKQ/2 + 4; constexpr int stride_tile_K = nbatch_K2 + 4; @@ -440,26 +410,27 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( static_assert(!mla || nbatch_K2 >= nbatch_V2, "bad nbatch_K2, nbatch_V2 for MLA"); constexpr int stride_tile_V = mla ? stride_tile_K : nbatch_V2 + 4; - const int k_VKQ_0 = kb0 * c::nbatch_fa; - tile_C_KQ KQ_C[c::nbatch_fa/(np*tile_C_KQ::I) * ntiles]; - - // Use wide variants of tiles if ntiles >= 2. - tile_B_16 * Q_B_16 = (tile_B_16 *) Q_B; - tile_C_VKQ_16 * VKQ_C_16 = (tile_C_VKQ_16 *) VKQ_C; - tile_C_KQ_16 * KQ_C_16 = (tile_C_KQ_16 *) KQ_C; + const int k_VKQ_0 = kb0 * nbatch_fa; +#if defined(TURING_MMA_AVAILABLE) + T_C_KQ KQ_C[nbatch_fa/(np*(cols_per_warp == 8 ? T_C_KQ::I : T_C_KQ::J))]; +#else // Volta + T_C_KQ KQ_C[nbatch_fa/(np*T_C_KQ::J)]; +#endif // defined(TURING_MMA_AVAILABLE) if constexpr (nstages > 1) { + static_assert(!oob_check, "OOB check incompatible with multi-stage pipeline"); static_assert(!mla, "multi-stage loading not implemented for MLA"); static_assert(nbatch_K2 == DKQ/2, "batching not implemented for multi stage loading"); constexpr bool use_cp_async = true; cp_async_wait_all(); __syncthreads(); - flash_attn_ext_f16_load_tile - (V_h2 + int64_t(k_VKQ_0)*stride_V, tile_V, nbatch_V2, stride_V); + flash_attn_ext_f16_load_tile + (V_h2 + int64_t(k_VKQ_0)*stride_V, tile_V, nbatch_V2, stride_V, k_VKQ_sup); } else { constexpr bool use_cp_async = nstages == 1; - if (ncols2 > 1 || mask_h2) { - flash_attn_ext_f16_load_mask(mask_h2 + k_VKQ_0/2, tile_mask, stride_mask); + if (ncols2 > 1 || mask_h) { + flash_attn_ext_f16_load_mask + (mask_h + k_VKQ_0, tile_mask, stride_mask, k_VKQ_sup, jt*ncols1, ne01); } } @@ -468,10 +439,10 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( const int k0_stop = k0_start + nbatch_K2 < DKQ/2 ? k0_start + nbatch_K2 : DKQ/2; const int k0_diff = k0_stop - k0_start; - if (nstages <= 1) { + if constexpr (nstages <= 1) { constexpr bool use_cp_async = nstages == 1; - flash_attn_ext_f16_load_tile - (K_h2 + int64_t(k_VKQ_0)*stride_K + k0_start, tile_K, k0_diff, stride_K); + flash_attn_ext_f16_load_tile + (K_h2 + int64_t(k_VKQ_0)*stride_K + k0_start, tile_K, k0_diff, stride_K, k_VKQ_sup); if (use_cp_async) { cp_async_wait_all(); } @@ -479,55 +450,53 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( } // Calculate tile of KQ: - if constexpr (c::Q_in_reg) { + if constexpr (Q_in_reg) { #pragma unroll - for (int i_KQ_00 = 0; i_KQ_00 < c::nbatch_fa; i_KQ_00 += np*tile_A::I) { - const int i_KQ_0 = i_KQ_00 + (threadIdx.y % np)*tile_A::I; + for (int i_KQ_00 = 0; i_KQ_00 < nbatch_fa; i_KQ_00 += np*T_A_KQ::I) { + const int i_KQ_0 = i_KQ_00 + (threadIdx.y % np)*T_A_KQ::I; #pragma unroll - for (int k_KQ_0 = k0_start; k_KQ_0 < k0_stop; k_KQ_0 += tile_A::J) { - tile_A K_A; + for (int k_KQ_0 = k0_start; k_KQ_0 < k0_stop; k_KQ_0 += T_A_KQ::J) { + T_A_KQ K_A; load_ldmatrix(K_A, tile_K + i_KQ_0*stride_tile_K + (k_KQ_0 - k0_start), stride_tile_K); - if (ntiles == 1) { - mma(KQ_C[i_KQ_00/(np*tile_A::I)], K_A, Q_B[k_KQ_0/tile_A::J]); + if constexpr (cols_per_warp == 8) { + mma(KQ_C[i_KQ_00/(np*T_A_KQ::I)], K_A, Q_B[k_KQ_0/T_A_KQ::J]); } else { -#pragma unroll - for (int t = 0; t < ntiles/2; ++t) { - // Wide version of KQ_C is column-major => swap A and B. - mma(KQ_C_16[i_KQ_00/(np*tile_A::I) * ntiles/2 + t], Q_B_16[k_KQ_0/tile_A::J * ntiles/2 + t], K_A); - } + // Wide version of KQ_C is column-major => swap A and B. + mma(KQ_C[i_KQ_00/(np*T_A_KQ::I)], Q_B[k_KQ_0/T_A_KQ::J], K_A); } } } } else { - static_assert(ntiles == 2, "ntiles != 2 not implemented"); + static_assert(cols_per_warp != 8, "cols_per_warp == 8 not implemented"); #pragma unroll - for (int k_KQ_0 = k0_start; k_KQ_0 < k0_stop; k_KQ_0 += tile_A::J) { - load_ldmatrix(Q_B_16[0], tile_Q + (threadIdx.y / np)*(tile_B_16::I*stride_tile_Q) + k_KQ_0, stride_tile_Q); + for (int k_KQ_0 = k0_start; k_KQ_0 < k0_stop; k_KQ_0 += T_A_KQ::J) { + load_ldmatrix(Q_B[0], tile_Q + (threadIdx.y / np)*(T_B_KQ::I*stride_tile_Q) + k_KQ_0, stride_tile_Q); #pragma unroll - for (int i_KQ_00 = 0; i_KQ_00 < c::nbatch_fa; i_KQ_00 += np*tile_A::I) { - const int i_KQ_0 = i_KQ_00 + (threadIdx.y % np)*tile_A::I; + for (int i_KQ_00 = 0; i_KQ_00 < nbatch_fa; i_KQ_00 += np*T_A_KQ::I) { + const int i_KQ_0 = i_KQ_00 + (threadIdx.y % np)*T_A_KQ::I; - tile_A K_A; + T_A_KQ K_A; load_ldmatrix(K_A, tile_K + i_KQ_0*stride_tile_K + (k_KQ_0 - k0_start), stride_tile_K); // Wide version of KQ_C is column-major => swap A and B. - mma(KQ_C_16[i_KQ_00/(np*tile_A::I)], Q_B_16[0], K_A); + mma(KQ_C[i_KQ_00/(np*T_A_KQ::I)], Q_B[0], K_A); } } } - if (nstages <= 1) { + if constexpr (nstages <= 1) { __syncthreads(); // Only needed if tile_K == tile_V. } } if (use_logit_softcap) { - static_assert(c::nbatch_fa % (np*tile_C_KQ::I) == 0, "bad loop size"); + constexpr int stride = cols_per_warp == 8 ? np*T_C_KQ::I : np*T_C_KQ::J; + static_assert(nbatch_fa % stride == 0, "bad loop size"); #pragma unroll - for (int i = 0; i < c::nbatch_fa/(np*tile_C_KQ::I) * ntiles; ++i) { + for (int i = 0; i < nbatch_fa/stride; ++i) { #pragma unroll - for (int l = 0; l < tile_C_KQ::ne; ++l) { + for (int l = 0; l < T_C_KQ::ne; ++l) { KQ_C[i].x[l] = logit_softcap*tanhf(KQ_C[i].x[l]); } } @@ -540,34 +509,35 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( } float KQ_rowsum_add[cols_per_thread] = {0.0f}; - if (ntiles == 1) { - if (ncols2 > 1 || mask_h2) { + if constexpr (cols_per_warp == 8) { + if (ncols2 > 1 || mask_h) { #pragma unroll - for (int i00 = 0; i00 < c::nbatch_fa; i00 += np*tile_C_KQ::I) { - const int i0 = i00 + (threadIdx.y % np)*tile_C_KQ::I; + for (int i00 = 0; i00 < nbatch_fa; i00 += np*T_C_KQ::I) { + const int i0 = i00 + (threadIdx.y % np)*T_C_KQ::I; #pragma unroll - for (int l = 0; l < tile_C_KQ::ne; ++l) { - const int i = i0 + tile_C_KQ::get_i(l); - const int j = ((threadIdx.y / np)*tile_C_KQ::J + tile_C_KQ::get_j(l)) / ncols2; + for (int l = 0; l < T_C_KQ::ne; ++l) { + const int i = i0 + T_C_KQ::get_i(l); + const int j = ((threadIdx.y / np)*T_C_KQ::J + T_C_KQ::get_j(l)) / ncols2; - KQ_C[i00/(np*tile_C_KQ::I)].x[l] += slope * - __half2float(((const half *) tile_mask)[j*(c::nbatch_fa + 8) + i]); + KQ_C[i00/(np*T_C_KQ::I)].x[l] += slope * __half2float(tile_mask[j*(nbatch_fa + 8) + i]); } } } // Calculate softmax for each KQ column using the current max. value. // The divisor is stored in KQ_rowsum and will be applied at the end. - static_assert(c::nbatch_fa % (np*tile_C_KQ::I) == 0, "bad loop size"); + static_assert(nbatch_fa % (np*T_C_KQ::I) == 0, "bad loop size"); #pragma unroll - for (int k = 0; k < c::nbatch_fa/(np*tile_C_KQ::I); ++k) { + for (int k0 = 0; k0 < nbatch_fa; k0 += np*T_C_KQ::I) { #pragma unroll - for (int l = 0; l < tile_C_KQ::ne; ++l) { - KQ_max_new[l % 2] = fmaxf(KQ_max_new[l % 2], KQ_C[k].x[l]); + for (int l = 0; l < T_C_KQ::ne; ++l) { + if (!oob_check || k0 + T_C_KQ::get_i(l) < k_VKQ_sup) { + KQ_max_new[l % 2] = fmaxf(KQ_max_new[l % 2], KQ_C[k0/(np*T_C_KQ::I)].x[l]); + } } } - // Values per KQ column are spread across 8 threads, does not need full warp reduce: + // Values per KQ column are spread across 8 threads: #pragma unroll for (int col = 0; col < cols_per_thread; ++col) { #pragma unroll @@ -576,73 +546,78 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( } } - static_assert(c::nbatch_fa % (np*tile_C_KQ::I) == 0, "bad loop size"); + static_assert(nbatch_fa % (np*T_C_KQ::I) == 0, "bad loop size"); #pragma unroll - for (int k = 0; k < c::nbatch_fa/(np*tile_C_KQ::I); ++k) { + for (int k0 = 0; k0 < nbatch_fa; k0 += np*T_C_KQ::I) { #pragma unroll - for (int l = 0; l < tile_C_KQ::ne; ++l) { - KQ_C[k].x[l] = expf(KQ_C[k].x[l] - KQ_max_new[l % 2]); - - KQ_rowsum_add[l % 2] += KQ_C[k].x[l]; + for (int l = 0; l < T_C_KQ::ne; ++l) { + if (!oob_check || k0 + (threadIdx.y % np)*T_C_KQ::I + T_C_KQ::get_i(l) < k_VKQ_sup) { + KQ_C[k0/(np*T_C_KQ::I)].x[l] = expf(KQ_C[k0/(np*T_C_KQ::I)].x[l] - KQ_max_new[l % 2]); + KQ_rowsum_add[l % 2] += KQ_C[k0/(np*T_C_KQ::I)].x[l]; + } else { + KQ_C[k0/(np*T_C_KQ::I)].x[l] = 0.0f; + } } } - } else { // ntiles > 1 - if (ncols2 > 1 || mask_h2) { + } else { // not Turing mma or T_B_KQ::I > 8 + if (ncols2 > 1 || mask_h) { #pragma unroll - for (int i00 = 0; i00 < c::nbatch_fa; i00 += np*tile_C_KQ_16::J) { - const int i0 = i00 + (threadIdx.y % np)*tile_C_KQ_16::J; + for (int i00 = 0; i00 < nbatch_fa; i00 += np*T_C_KQ::J) { + const int i0 = i00 + (threadIdx.y % np)*T_C_KQ::J; #pragma unroll - for (int t = 0; t < ntiles/2; ++t) { -#pragma unroll - for (int l0 = 0; l0 < tile_C_KQ_16::ne; l0 += 2) { - const int i = (i0 + tile_C_KQ_16::get_j(l0)) / 2; - const int j = ((threadIdx.y / np)*cols_per_warp + t*tile_C_KQ_16::I + tile_C_KQ_16::get_i(l0)) / ncols2; + for (int l0 = 0; l0 < T_C_KQ::ne; l0 += 2) { + const int i = (i0 + T_C_KQ::get_j(l0)) / 2; + const int j = ((threadIdx.y / np)*cols_per_warp + T_C_KQ::get_i(l0)) / ncols2; - const float2 tmp = __half22float2(tile_mask[j*(c::nbatch_fa/2 + 4) + i]); - const int KQ_index = i00/(np*tile_C_KQ_16::J) * ntiles/2 + t; - KQ_C_16[KQ_index].x[l0 + 0] += slope*tmp.x; - KQ_C_16[KQ_index].x[l0 + 1] += slope*tmp.y; - } + const float2 tmp = __half22float2(((const half2 *)tile_mask)[j*(nbatch_fa/2 + 4) + i]); + KQ_C[i00/(np*T_C_KQ::J)].x[l0 + 0] += slope*tmp.x; + KQ_C[i00/(np*T_C_KQ::J)].x[l0 + 1] += slope*tmp.y; } } } // Calculate softmax for each KQ column using the current max. value. // The divisor is stored in KQ_rowsum and will be applied at the end. - static_assert(c::nbatch_fa % (np*tile_C_KQ::I) == 0, "bad loop size"); -#pragma unroll - for (int k = 0; k < c::nbatch_fa/(np*tile_C_KQ_16::J); ++k) { + static_assert(nbatch_fa % (np*T_C_KQ::J) == 0, "bad loop size"); #pragma unroll - for (int t = 0; t < ntiles/2; ++t) { + for (int k0 = 0; k0 < nbatch_fa; k0 += np*T_C_KQ::J) { #pragma unroll - for (int l = 0; l < tile_C_KQ_16::ne; ++l) { - const int KQ_index = 2*t + (l/2) % 2; - KQ_max_new[KQ_index] = fmaxf(KQ_max_new[KQ_index], KQ_C_16[k*ntiles/2 + t].x[l]); + for (int l = 0; l < T_C_KQ::ne; ++l) { + if (!oob_check || k0 + T_C_KQ::get_j(l) < k_VKQ_sup) { + // Turing + Volta: + KQ_max_new[(l/2) % 2] = fmaxf(KQ_max_new[(l/2) % 2], KQ_C[(k0/(np*T_C_KQ::J))].x[l]); } } } - // Values per KQ column are spread across 4 threads, does not need full warp reduce: #pragma unroll for (int col = 0; col < cols_per_thread; ++col) { +#if defined(TURING_MMA_AVAILABLE) + // Values per KQ column are spread across 4 threads: + constexpr int offset_first = 2; + constexpr int offset_last = 1; +#else + // Values per KQ column are spread across 2 threads: + constexpr int offset_first = 2; + constexpr int offset_last = 2; +#endif // defined(TURING_MMA_AVAILABLE) #pragma unroll - for (int offset = 2; offset >= 1; offset >>= 1) { + for (int offset = offset_first; offset >= offset_last; offset >>= 1) { KQ_max_new[col] = fmaxf(KQ_max_new[col], __shfl_xor_sync(0xFFFFFFFF, KQ_max_new[col], offset, WARP_SIZE)); } } - static_assert(c::nbatch_fa % (np*tile_C_KQ_16::J) == 0, "bad loop size"); + static_assert(nbatch_fa % (np*T_C_KQ::J) == 0, "bad loop size"); #pragma unroll - for (int k = 0; k < c::nbatch_fa/(np*tile_C_KQ_16::J); ++k) { + for (int k0 = 0; k0 < nbatch_fa; k0 += np*T_C_KQ::J) { #pragma unroll - for (int t = 0; t < ntiles/2; ++t) { -#pragma unroll - for (int l = 0; l < tile_C_KQ_16::ne; ++l) { - const int KQ_index = 2*t + (l/2) % 2; - - KQ_C_16[k*ntiles/2 + t].x[l] = expf(KQ_C_16[k*ntiles/2 + t].x[l] - KQ_max_new[KQ_index]); - - KQ_rowsum_add[KQ_index] += KQ_C_16[k*ntiles/2 + t].x[l]; + for (int l = 0; l < T_C_KQ::ne; ++l) { + // Turing + Volta: + if (!oob_check || k0 + (threadIdx.y % np)*T_C_KQ::J + T_C_KQ::get_j(l) < k_VKQ_sup) { + KQ_C[(k0/(np*T_C_KQ::J))].x[l] = expf(KQ_C[(k0/(np*T_C_KQ::J))].x[l] - KQ_max_new[(l/2) % 2]); + KQ_rowsum_add[(l/2) % 2] += KQ_C[(k0/(np*T_C_KQ::J))].x[l]; + } else { + KQ_C[(k0/(np*T_C_KQ::J))].x[l] = 0.0f; } } } @@ -662,12 +637,13 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( KQ_rowsum[col] = KQ_max_scale[col]*KQ_rowsum[col] + KQ_rowsum_add[col]; } - if (ntiles == 1) { +#if defined(TURING_MMA_AVAILABLE) + if constexpr (cols_per_warp == 8) { const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale[0], KQ_max_scale[1]); #pragma unroll - for (int i = 0; i < DV/tile_C_VKQ::I; ++i) { + for (int i = 0; i < DV/T_C_VKQ::I; ++i) { #pragma unroll - for (int l = 0; l < tile_C_VKQ::ne; ++l) { + for (int l = 0; l < T_C_VKQ::ne; ++l) { VKQ_C[i].x[l] *= KQ_max_scale_h2; } } @@ -676,46 +652,53 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( for (int col = 0; col < cols_per_thread; ++col) { const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale[col], KQ_max_scale[col]); #pragma unroll - for (int i = 0; i < DV/tile_C_VKQ_16::J; ++i) { + for (int i = 0; i < (DV/2)/T_C_VKQ::J; ++i) { #pragma unroll - for (int l0 = 0; l0 < tile_C_VKQ_16::ne; l0 += 2) { - VKQ_C_16[i*ntiles/2 + col/2].x[l0 + col % 2] *= KQ_max_scale_h2; + for (int l0 = 0; l0 < T_C_VKQ::ne; l0 += 2) { + VKQ_C[i].x[l0 + col] *= KQ_max_scale_h2; } } } } +#else // Volta + const half2 KQ_max_scale_h2 = make_half2( + KQ_max_scale[(threadIdx.x / 2) % 2], KQ_max_scale[(threadIdx.x / 2) % 2]); +#pragma unroll + for (int i = 0; i < (DV/2)/T_C_VKQ::J; ++i) { +#pragma unroll + for (int l = 0; l < T_C_VKQ::ne; ++l) { + VKQ_C[i].x[l] *= KQ_max_scale_h2; + } + } +#endif // defined(TURING_MMA_AVAILABLE) } // Convert KQ C tiles into B tiles for VKQ calculation: - tile_B B[c::nbatch_fa/(np*2*tile_B::J) * ntiles]; - tile_B_16 * B_16 = (tile_B_16 *) B; - static_assert(c::nbatch_fa % (np*2*tile_B::J) == 0, "bad loop size"); - if (ntiles == 1) { + T_B_VKQ B[nbatch_fa/(np*2*T_B_VKQ::J)]; + static_assert(nbatch_fa % (np*2*T_B_VKQ::J) == 0, "bad loop size"); + if constexpr (cols_per_warp == 8) { #pragma unroll - for (int k = 0; k < c::nbatch_fa/(np*2*tile_B::J); ++k) { + for (int k = 0; k < nbatch_fa/(np*2*T_B_VKQ::J); ++k) { B[k] = get_transposed(get_half2(KQ_C[k])); } } else { - for (int k = 0; k < c::nbatch_fa/(np*2*tile_B_16::J); ++k) { -#pragma unroll - for (int t = 0; t < ntiles/2; ++t) { - B_16[k*ntiles/2 + t] = get_half2(KQ_C_16[k*ntiles/2 + t]); - } + for (int k = 0; k < nbatch_fa/(np*2*T_B_VKQ::J); ++k) { + B[k] = get_half2(KQ_C[k]); } } - if (nstages > 1) { + if constexpr (nstages > 1) { // Preload K tile for next iteration: constexpr bool use_cp_async = true; cp_async_wait_all(); __syncthreads(); if (!last_iter) { - if (ncols2 > 1 || mask_h2) { - flash_attn_ext_f16_load_mask - (mask_h2 + (k_VKQ_0 + c::nbatch_fa)/2, tile_mask, stride_mask); + if (ncols2 > 1 || mask_h) { + flash_attn_ext_f16_load_mask + (mask_h + k_VKQ_0 + nbatch_fa, tile_mask, stride_mask, k_VKQ_sup, jt*ncols1, ne01); } - flash_attn_ext_f16_load_tile - (K_h2 + int64_t(k_VKQ_0 + c::nbatch_fa)*stride_K, tile_K, nbatch_K2, stride_K); + flash_attn_ext_f16_load_tile + (K_h2 + int64_t(k_VKQ_0 + nbatch_fa)*stride_K, tile_K, nbatch_K2, stride_K, k_VKQ_sup); } } @@ -724,72 +707,119 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( // Therefore, iterate over V in reverse and re-use the data if possible. static_assert(!mla || nstages <= 1, "combination of MLA and multi-stage loading not implemented"); constexpr int reusable_cutoff = mla ? (DKQ - 1) - (DKQ - 1) % (2*nbatch_K2) - (DKQ - DV) : DV; + + // Calculate VKQ tile, need to use logical rather than physical elements for i0 due to transposition of V: #pragma unroll for (int i0_stop = DV; i0_stop > 0; i0_stop -= 2*nbatch_V2) { const int i0_start = i0_stop - 2*nbatch_V2 > 0 ? i0_stop - 2*nbatch_V2 : 0; const int i0_diff = i0_stop - i0_start; - if (nstages <= 1 && i0_start < reusable_cutoff) { - constexpr bool use_cp_async = nstages == 1; - flash_attn_ext_f16_load_tile - (V_h2 + int64_t(k_VKQ_0)*stride_V + i0_start/2, tile_V, i0_diff/2, stride_V); - if (use_cp_async) { - cp_async_wait_all(); + if constexpr (nstages <= 1) { + if (i0_start < reusable_cutoff) { + constexpr bool use_cp_async = nstages == 1; + flash_attn_ext_f16_load_tile + (V_h2 + int64_t(k_VKQ_0)*stride_V + i0_start/2, tile_V, i0_diff/2, stride_V, k_VKQ_sup); + if (use_cp_async) { + cp_async_wait_all(); + } + __syncthreads(); } - __syncthreads(); } const half2 * tile_V_i = i0_start < reusable_cutoff ? tile_V : tile_V + (i0_start - reusable_cutoff)/2; - // Calculate VKQ tile: +#if defined(TURING_MMA_AVAILABLE) + constexpr int i0_stride = cols_per_warp == 8 ? T_C_VKQ::I : 2*T_C_VKQ::J; #pragma unroll - for (int i_VKQ_0 = i0_start; i_VKQ_0 < i0_stop; i_VKQ_0 += tile_C_VKQ::I) { - static_assert((c::nbatch_fa/2) % (np*tile_A::J) == 0, "bad loop size"); + for (int i_VKQ_0 = i0_start; i_VKQ_0 < i0_stop; i_VKQ_0 += i0_stride) { + static_assert((nbatch_fa/2) % (np*T_A_VKQ::J) == 0, "bad loop size"); #pragma unroll - for (int k00 = 0; k00 < c::nbatch_fa/2; k00 += np*tile_A::J) { - const int k0 = k00 + (threadIdx.y % np)*tile_A::J; + for (int k00 = 0; k00 < nbatch_fa/2; k00 += np*T_A_VKQ::J) { + const int k0 = k00 + (threadIdx.y % np)*T_A_VKQ::J; - tile_A A; + T_A_VKQ A; // Transposed in SRAM but not in registers, gets transposed on load. load_ldmatrix_trans(A, tile_V_i + 2*k0*stride_tile_V + (i_VKQ_0 - i0_start)/2, stride_tile_V); - if (ntiles == 1) { - mma(VKQ_C[i_VKQ_0/tile_C_VKQ::I], A, B[k00/(np*tile_A::J)]); + if constexpr (T_B_KQ::I == 8) { + mma(VKQ_C[i_VKQ_0/i0_stride], A, B[k00/(np*T_A_VKQ::J)]); } else { -#pragma unroll - for (int t = 0; t < ntiles/2; ++t) { - // Wide version of VKQ_C is column-major => swap A and B. - mma(VKQ_C_16[i_VKQ_0/tile_C_VKQ::I * ntiles/2 + t], B_16[k00/(np*tile_A::J) * ntiles/2 + t], A); - } + // Wide version of VKQ_C is column-major => swap A and B. + mma(VKQ_C[i_VKQ_0/i0_stride], B[k00/(np*T_A_VKQ::J)], A); } } } +#else // Volta + constexpr int i0_stride = 2*T_C_VKQ::J; +#pragma unroll + for (int i_VKQ_0 = i0_start; i_VKQ_0 < i0_stop; i_VKQ_0 += i0_stride) { + static_assert(nbatch_fa % (np*T_A_VKQ::I) == 0, "bad loop size"); + static_assert(2*T_B_VKQ::J == T_A_VKQ::I, "bad tile sizes"); +#pragma unroll + for (int k00 = 0; k00 < nbatch_fa; k00 += np*T_A_VKQ::I) { + const int k0 = k00 + (threadIdx.y % np)*T_A_VKQ::I; + + T_A_VKQ A; // Transposed in both SRAM and registers, load normally. + load_ldmatrix(A, tile_V_i + k0*stride_tile_V + (i_VKQ_0 - i0_start)/2, stride_tile_V); + mma(VKQ_C[i_VKQ_0/i0_stride], B[k00/(np*T_A_VKQ::I)], A); + } + } +#endif // defined(TURING_MMA_AVAILABLE) - if (nstages <= 1) { + if constexpr (nstages <= 1) { __syncthreads(); // Only needed if tile_K == tile_V. } } #else - GGML_UNUSED_VARS(Q_f2, K_h2, V_h2, mask_h2, dstk, dstk_fixup, + GGML_UNUSED_VARS(Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, KQ_max, KQ_rowsum, kb0); NO_DEVICE_CODE; -#endif // TURING_MMA_AVAILABLE +#endif // defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) } -template +#if defined(TURING_MMA_AVAILABLE) +template struct mma_tile_sizes { + using T_A_KQ = tile<16, 8, half2>; // row-major + using T_B_KQ = tile<16, 8, half2>; // column-major + using T_C_KQ = tile<16, 16, float>; // column-major + using T_A_VKQ = tile<16, 8, half2>; // row-major + using T_B_VKQ = tile<16, 8, half2>; // column-major + using T_C_VKQ = tile<16, 8, half2>; // column-major +}; +template<> struct mma_tile_sizes<8> { + using T_A_KQ = tile<16, 8, half2>; // row-major + using T_B_KQ = tile< 8, 8, half2>; // column-major + using T_C_KQ = tile<16, 8, float>; // row-major + using T_A_VKQ = tile<16, 8, half2>; // row-major + using T_B_VKQ = tile< 8, 8, half2>; // column-major + using T_C_VKQ = tile<16, 4, half2>; // row-major +}; +#else // Volta +template struct mma_tile_sizes { + using T_A_KQ = tile< 8, 4, half2, DATA_LAYOUT_I_MAJOR_MIRRORED>; // row-major + using T_B_KQ = tile<32, 4, half2, DATA_LAYOUT_I_MAJOR>; // column-major + using T_C_KQ = tile<32, 8, float, DATA_LAYOUT_I_MAJOR>; // column-major + using T_A_VKQ = tile< 8, 4, half2, DATA_LAYOUT_J_MAJOR_MIRRORED>; // column-major + using T_B_VKQ = tile<32, 4, half2, DATA_LAYOUT_I_MAJOR>; // column-major + using T_C_VKQ = tile<32, 4, half2, DATA_LAYOUT_I_MAJOR>; // column-major +}; +#endif // defined(TURING_MMA_AVAILABLE) + +template static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const float2 * const __restrict__ Q_f2, const half2 * const __restrict__ K_h2, const half2 * const __restrict__ V_h2, - const half2 * const __restrict__ mask_h2, + const half * const __restrict__ mask_h, const float * const __restrict__ sinks_f, float2 * const __restrict__ dstk, float2 * const __restrict__ dstk_fixup, const float scale, const float slope, const float logit_softcap, - const int ne01, + const uint3 ne01, const int ne02, + const int ne11, const int stride_Q1, const int stride_Q2, const int stride_K, @@ -798,23 +828,31 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int jt, const int kb0_start, const int kb0_stop) { -#ifdef TURING_MMA_AVAILABLE +#if defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) //In this kernel Q, K, V are matrices while i, j, k are matrix indices. - typedef fattn_mma_f16_config c; - -#ifdef CP_ASYNC_AVAILABLE - constexpr int nstages = c::nstages_target; -#else - constexpr int nstages = 0; -#endif // CP_ASYNC_AVAILABLE - - constexpr int ncols = ncols1 * ncols2; - constexpr int cols_per_warp = ntiles * tile_B::I; - constexpr int cols_per_thread = ntiles == 1 ? 2 : ntiles; - constexpr int np = nwarps * (cols_per_warp/ncols2) / ncols1; // Number of parallel CUDA warps per Q column. - constexpr int nbatch_K2 = c::get_nbatch_K2_device(ncols); - constexpr int nbatch_V2 = c::get_nbatch_V2_device(ncols); + constexpr int ncols = ncols1 * ncols2; + using T_A_KQ = typename mma_tile_sizes::T_A_KQ; + using T_B_KQ = typename mma_tile_sizes::T_B_KQ; + using T_C_KQ = typename mma_tile_sizes::T_C_KQ; + using T_A_VKQ = typename mma_tile_sizes::T_A_VKQ; + using T_B_VKQ = typename mma_tile_sizes::T_B_VKQ; + using T_C_VKQ = typename mma_tile_sizes::T_C_VKQ; + + constexpr int cols_per_warp = T_B_KQ::I; + constexpr int cols_per_thread = 2; // This is specifically KQ columns, Volta only has a single VKQ column. + constexpr int np = nwarps * (cols_per_warp/ncols2) / ncols1; // Number of parallel CUDA warps per Q column. + constexpr int nbatch_fa = ggml_cuda_fattn_mma_get_nbatch_fa (DKQ, DV, ncols); + constexpr int nbatch_K2 = ggml_cuda_fattn_mma_get_nbatch_K2 (DKQ, DV, ncols); + constexpr int nbatch_V2 = ggml_cuda_fattn_mma_get_nbatch_V2 (DKQ, DV, ncols); + constexpr int nbatch_combine = ggml_cuda_fattn_mma_get_nbatch_combine(DKQ, DV, ncols); + constexpr bool Q_in_reg = ggml_cuda_fattn_mma_get_Q_in_reg (DKQ, DV, ncols); + constexpr int nstages = ggml_cuda_fattn_mma_get_nstages (DKQ, DV, ncols1, ncols2); + + if (cols_per_warp > ncols) { + NO_DEVICE_CODE; + return; + } static_assert(nwarps * (cols_per_warp/ncols2) % ncols1 == 0, "bad nwarps"); @@ -826,15 +864,16 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( constexpr int stride_tile_KV_max = stride_tile_K > stride_tile_V ? stride_tile_K : stride_tile_V; extern __shared__ half2 tile_Q[]; - half2 * tile_K = c::Q_in_reg ? tile_Q : tile_Q + ncols * stride_tile_Q; - half2 * tile_V = nstages > 1 ? tile_K + c::nbatch_fa * stride_tile_K : tile_K; - half2 * tile_mask = nstages > 1 ? tile_V + c::nbatch_fa * stride_tile_V : tile_V + c::nbatch_fa * stride_tile_KV_max; - - tile_B Q_B[(c::Q_in_reg ? DKQ/(2*tile_B::J) : 1) * ntiles]; - tile_C_VKQ VKQ_C[DV/tile_C_VKQ::I * ntiles]; + half2 * tile_K = Q_in_reg ? tile_Q : tile_Q + ncols * stride_tile_Q; + half2 * tile_V = nstages > 1 ? tile_K + nbatch_fa * stride_tile_K : tile_K; + half * tile_mask = (half *) (nstages > 1 ? tile_V + nbatch_fa * stride_tile_V : tile_V + nbatch_fa * stride_tile_KV_max); - tile_B_16 * Q_B_16 = (tile_B_16 *) Q_B; - tile_C_VKQ_16 * VKQ_C_16 = (tile_C_VKQ_16 *) VKQ_C; + T_B_KQ Q_B[(Q_in_reg ? DKQ/(2*T_B_KQ::J) : 1)]; +#if defined(TURING_MMA_AVAILABLE) + T_C_VKQ VKQ_C[cols_per_warp == 8 ? DV/T_C_VKQ::I : DV/(2*T_C_VKQ::J)]; +#else // Volta + T_C_VKQ VKQ_C[ DV/(2*T_C_VKQ::J)]; +#endif // defined(TURING_MMA_AVAILABLE) float KQ_rowsum[cols_per_thread] = {0.0f}; float KQ_max[cols_per_thread]; @@ -868,7 +907,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int j = jc / ncols2; const int c = jc % ncols2; - if (jt*ncols1 + j < ne01) { + if (jt*ncols1 + j < int(ne01.z)) { #pragma unroll for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); @@ -889,63 +928,96 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( __syncthreads(); - if (c::Q_in_reg) { + if (Q_in_reg) { const int j0 = (threadIdx.y / np) * cols_per_warp; #pragma unroll - for (int k0 = 0; k0 < DKQ/2; k0 += tile_B::J) { - if (ntiles == 1) { - load_ldmatrix(Q_B[k0/tile_B::J], tile_Q + j0*stride_tile_Q + k0, stride_tile_Q); - } else { -#pragma unroll - for (int t = 0; t < ntiles/2; ++t) { - load_ldmatrix(Q_B_16[k0/tile_B_16::J * ntiles/2 + t], - tile_Q + (j0 + t*tile_B_16::I)*stride_tile_Q + k0, stride_tile_Q); - } - } + for (int k0 = 0; k0 < DKQ/2; k0 += T_B_KQ::J) { + load_ldmatrix(Q_B[k0/T_B_KQ::J], tile_Q + j0*stride_tile_Q + k0, stride_tile_Q); } } __syncthreads(); + int kb0 = kb0_start; + // Preload mask and K data for first iteration when using cp_async with multiple stages: if constexpr (nstages > 1) { static_assert(nbatch_K2 == DKQ/2, "batching not implemented for multi-stage pipeline"); constexpr bool use_cp_async = true; - if (ncols2 > 1 || mask_h2) { - flash_attn_ext_f16_load_mask - (mask_h2 + kb0_start*c::nbatch_fa/2, tile_mask, stride_mask); + constexpr bool oob_check = false; + constexpr int k_VKQ_sup = nbatch_fa; + if (ncols2 > 1 || mask_h) { + flash_attn_ext_f16_load_mask + (mask_h + kb0*nbatch_fa, tile_mask, stride_mask, k_VKQ_sup, jt*ncols1, ne01); } - flash_attn_ext_f16_load_tile - (K_h2 + int64_t(kb0_start)*c::nbatch_fa*stride_K, tile_K, nbatch_K2, stride_K); + flash_attn_ext_f16_load_tile + (K_h2 + int64_t(kb0)*nbatch_fa*stride_K, tile_K, nbatch_K2, stride_K, k_VKQ_sup); } - // Iterate over ne11 == previous tokens: - int kb0 = kb0_start; for (; kb0 < kb0_stop-1; ++kb0) { constexpr bool last_iter = false; - flash_attn_ext_f16_iter - (Q_f2, K_h2, V_h2, mask_h2, dstk, dstk_fixup, scale, slope, logit_softcap, - ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, KQ_max, KQ_rowsum, kb0); - } - { // kb0_start is always < kb0_stop so the last iter can be executed unconditionally. + constexpr bool oob_check = false; + constexpr int k_VKQ_sup = nbatch_fa; + flash_attn_ext_f16_iter + + (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, + ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, + KQ_max, KQ_rowsum, jt, kb0, k_VKQ_sup); + } + // kb0_start is always < kb0_stop so the last iter can be executed unconditionally. + if constexpr (ncols2 == 1) { + if (ne11 % nbatch_fa == 0) { + constexpr bool last_iter = true; + constexpr bool oob_check = false; + constexpr int k_VKQ_sup = nbatch_fa; + flash_attn_ext_f16_iter + + (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, + ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, + KQ_max, KQ_rowsum, jt, kb0, k_VKQ_sup); + } else { + constexpr bool last_iter = true; + constexpr bool oob_check = true; + const int k_VKQ_sup = ne11 - kb0*nbatch_fa; + flash_attn_ext_f16_iter + + (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, + ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, + KQ_max, KQ_rowsum, jt, kb0, k_VKQ_sup); + } + } else { constexpr bool last_iter = true; - flash_attn_ext_f16_iter - (Q_f2, K_h2, V_h2, mask_h2, dstk, dstk_fixup, scale, slope, logit_softcap, - ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, KQ_max, KQ_rowsum, kb0); + constexpr bool oob_check = false; + constexpr int k_VKQ_sup = nbatch_fa; + flash_attn_ext_f16_iter + + (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, + ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, + KQ_max, KQ_rowsum, jt, kb0, k_VKQ_sup); } // With multi-stage loading there is no __syncthreads at the end of the iter, // there can be a race condition on shared memory access for combining/writing back results. - if (nstages > 1 && nwarps*cols_per_warp > c::nbatch_fa) { + if constexpr (nstages > 1 && nwarps*cols_per_warp > nbatch_fa) { __syncthreads(); } // Finally, sum up partial KQ rowsums. - // The partial sums are spread across 8/4 threads each, does not need full reduce. { - constexpr int offset_first = ntiles == 1 ? 16 : 2; - constexpr int offset_last = ntiles == 1 ? 4 : 1; +#if defined(TURING_MMA_AVAILABLE) + // The partial sums are spread across 8/4 threads. + constexpr int offset_first = cols_per_warp == 8 ? 16 : 2; + constexpr int offset_last = cols_per_warp == 8 ? 4 : 1; +#else // Volta + // The partial sums are spread across 2 threads. + constexpr int offset_first = 2; + constexpr int offset_last = 2; +#endif // defined(TURING_MMA_AVAILABLE) #pragma unroll for (int col = 0; col < cols_per_thread; ++col) { #pragma unroll @@ -962,8 +1034,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( float KQ_max_scale[cols_per_thread]; #pragma unroll for (int col = 0; col < cols_per_thread; ++col) { - static_assert(ntiles == 1 || ntiles == 2, "ntiles > 2 not implemented"); - const int jc = ntiles == 1 ? 2*tile_C_VKQ::get_j(col/2) + col % 2 : tile_C_VKQ_16::get_i(col); + const int jc = cols_per_warp == 8 ? T_C_KQ::get_j(col) : T_C_KQ::get_i(2*col); const float sink = sinks_f[jc % ncols2]; const float KQ_max_new = fmaxf(KQ_max[col], sink); @@ -977,12 +1048,13 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( KQ_rowsum[col] = KQ_max_scale[col]*KQ_rowsum[col] + KQ_max_add; } - if (ntiles == 1) { +#if defined(TURING_MMA_AVAILABLE) + if constexpr (cols_per_warp == 8) { const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale[0], KQ_max_scale[1]); #pragma unroll - for (int i = 0; i < DV/tile_C_VKQ::I; ++i) { + for (int i = 0; i < DV/T_C_VKQ::I; ++i) { #pragma unroll - for (int l = 0; l < tile_C_VKQ::ne; ++l) { + for (int l = 0; l < T_C_VKQ::ne; ++l) { VKQ_C[i].x[l] *= KQ_max_scale_h2; } } @@ -991,30 +1063,40 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( for (int col = 0; col < cols_per_thread; ++col) { const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale[col], KQ_max_scale[col]); #pragma unroll - for (int i = 0; i < DV/tile_C_VKQ_16::J; ++i) { + for (int i = 0; i < (DV/2)/T_C_VKQ::J; ++i) { #pragma unroll - for (int l0 = 0; l0 < tile_C_VKQ_16::ne; l0 += 2) { - VKQ_C_16[i*ntiles/2 + col/2].x[l0 + col % 2] *= KQ_max_scale_h2; + for (int l0 = 0; l0 < T_C_VKQ::ne; l0 += 2) { + VKQ_C[i].x[l0 + col] *= KQ_max_scale_h2; } } } } +#else // Volta + const int col = (threadIdx.x / 2) % 2; + const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale[col], KQ_max_scale[col]); +#pragma unroll + for (int i = 0; i < (DV/2)/T_C_VKQ::J; ++i) { +#pragma unroll + for (int l = 0; l < T_C_VKQ::ne; ++l) { + VKQ_C[i].x[l] *= KQ_max_scale_h2; + } + } +#endif // defined(TURING_MMA_AVAILABLE) } // Combine VKQ accumulator values if np > 1. // It's also faster to do small writes to shared memory, then large write to VRAM than to do small writes to VRAM. // So also write VKQ accumulators to shared memory in column-major format if np == 1. - constexpr int nbatch_combine = c::get_nbatch_combine_device(ncols); - constexpr int tile_stride = nbatch_combine + 4; + constexpr int tile_stride = nbatch_combine + 4; static_assert((DV/2) % nbatch_combine == 0, "bad nbatch_combine"); - if constexpr (ntiles == 1) { - const int jc_cwmo = (threadIdx.x % (2*tile_C_VKQ::J)) / tile_C_VKQ::J; // jc combine write meta offset - const int jc_cwm = threadIdx.y*(2*tile_C_VKQ::J) + 2*tile_C_VKQ::get_j(-1) + jc_cwmo; // jc combine write meta + if constexpr (cols_per_warp == 8) { + const int jc_cwmo = (threadIdx.x % (2*T_C_VKQ::J)) / T_C_VKQ::J; // jc combine write meta offset + const int jc_cwm = threadIdx.y*(2*T_C_VKQ::J) + 2*T_C_VKQ::get_j(-1) + jc_cwmo; // jc combine write meta const float2 KQ_cmr = make_float2(KQ_max[jc_cwmo], KQ_rowsum[jc_cwmo]); // KQ combine max rowsum - if (((!needs_fixup && !is_fixup) || np > 1) && threadIdx.x < 2*tile_C_VKQ::J) { + if (((!needs_fixup && !is_fixup) || np > 1) && threadIdx.x < 2*T_C_VKQ::J) { // Use the 16 bytes of padding in each row to store the meta data: KQ max, KQ rowsum, KQ max scale. ((float2 *) tile_Q)[jc_cwm*(tile_stride/2) + nbatch_combine/2] = KQ_cmr; } @@ -1023,24 +1105,30 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( if (np == 1) { // No combination is needed, the meta data can be directly written from registers to VRAM. - if (needs_fixup && threadIdx.x < tile_B::I) { + if (needs_fixup && threadIdx.x < T_B_KQ::I) { float2 * dstk_fixup_meta = dstk_fixup + blockIdx.x*ncols; dstk_fixup_meta[jc_cwm] = KQ_cmr; } - if (is_fixup && threadIdx.x < tile_B::I) { + if (is_fixup && threadIdx.x < T_B_KQ::I) { float2 * dstk_fixup_meta = dstk_fixup + (gridDim.x + blockIdx.x)*ncols; dstk_fixup_meta[jc_cwm] = KQ_cmr; } } } else { - static_assert(ntiles == 2 || ntiles == 4, "bad ntiles"); - const int jc_cwm = threadIdx.y*cols_per_warp // jc combine write meta - + (ntiles == 4 ? ((threadIdx.x % 4) / 2) * tile_C_VKQ_16::I : 0) - + tile_C_VKQ_16::get_i(threadIdx.x % 4); - const float2 KQ_cmr = make_float2(KQ_max[threadIdx.x % cols_per_thread], KQ_rowsum[threadIdx.x % cols_per_thread]); // KQ combine max rowsum - - if (((!needs_fixup && !is_fixup) || np > 1) && (ntiles == 4 || threadIdx.x % 4 < cols_per_thread)) { - // Use the 16 bytes of padding in each row to store the meta data: KQ max, KQ rowsum, KQ max scale. + // jc_cwm = jc combine write meta + // KQ_cmr = KQ combine max rowsum + // Use the 16 bytes of padding in each Q column to store the meta data: KQ max, KQ rowsum, KQ max scale. +#if defined(TURING_MMA_AVAILABLE) + const int jc_cwm = threadIdx.y*cols_per_warp + T_C_VKQ::get_i(threadIdx.x % 4); + const float2 KQ_cmr = make_float2(KQ_max[threadIdx.x % cols_per_thread], KQ_rowsum[threadIdx.x % cols_per_thread]); + const bool thread_should_write = threadIdx.x % 4 < cols_per_thread; +#else // Volta + const int jc_cwm = threadIdx.y*cols_per_warp + T_C_KQ::get_i(threadIdx.x & 2); + const float2 KQ_cmr = make_float2(KQ_max[(threadIdx.x & 2) / 2], KQ_rowsum[(threadIdx.x & 2) / 2]); + const bool thread_should_write = T_C_KQ::J == 8 || T_C_KQ::get_j(threadIdx.x & 2) < 8; +#endif // defined(TURING_MMA_AVAILABLE) + + if (((!needs_fixup && !is_fixup) || np > 1) && thread_should_write) { ((float2 *) tile_Q)[jc_cwm*(tile_stride/2) + nbatch_combine/2] = KQ_cmr; } @@ -1048,18 +1136,17 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( if (np == 1) { // No combination is needed, the meta data can be directly written from registers to VRAM. - if (needs_fixup && (ntiles == 4 || threadIdx.x % 4 < ntiles)) { + if (needs_fixup && thread_should_write) { float2 * dstk_fixup_meta = dstk_fixup + blockIdx.x*ncols; dstk_fixup_meta[jc_cwm] = KQ_cmr; } - if (is_fixup && (ntiles == 4 || threadIdx.x % 4 < ntiles)) { + if (is_fixup && thread_should_write) { float2 * dstk_fixup_meta = dstk_fixup + (gridDim.x + blockIdx.x)*ncols; dstk_fixup_meta[jc_cwm] = KQ_cmr; } } } - static_assert(np == 1 || ntiles == 1 || ntiles == 2, "bad ntiles"); if (np > 1 && threadIdx.y % np == 0) { // Combine the meta data for parallel warps via shared memory. // Warps with threadIdx.y % np != 0 must NOT return early. @@ -1135,32 +1222,29 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( #pragma unroll for (int k00 = 0; k00 < DV/2; k00 += nbatch_combine) { - if (ntiles == 1) { - const int jc_cwd = threadIdx.y*tile_B::I + tile_B::get_i(-1); // jc combine write data + if constexpr (cols_per_warp == 8) { + const int jc_cwd = threadIdx.y*T_B_KQ::I + T_B_KQ::get_i(-1); // jc combine write data #pragma unroll - for (int k0 = 0; k0 < nbatch_combine; k0 += tile_B::J) { - const tile_B B = get_transposed(VKQ_C[(k00 + k0)/tile_B::J]); // Conversion of C to B matrix puts it in column-major format. + for (int k1 = 0; k1 < nbatch_combine; k1 += T_B_KQ::J) { + const T_B_KQ B = get_transposed(VKQ_C[(k00 + k1)/T_B_KQ::J]); // Conversion of C to B matrix puts it in column-major format. #pragma unroll - for (int l = 0; l < tile_B::ne; ++l) { - const int k = k0 + tile_B::get_j(l); + for (int l = 0; l < T_B_KQ::ne; ++l) { + const int k = k1 + T_B_KQ::get_j(l); tile_Q[jc_cwd*tile_stride + k] = B.x[l]; } } } else { + const int j0 = threadIdx.y*cols_per_warp; #pragma unroll - for (int t = 0; t < ntiles/2; ++t) { - const int j0 = threadIdx.y*cols_per_warp + t*tile_C_VKQ_16::I; + for (int k1 = 0; k1 < nbatch_combine; k1 += T_C_VKQ::J) { #pragma unroll - for (int k0 = 0; k0 < nbatch_combine; k0 += tile_C_VKQ_16::J) { -#pragma unroll - for (int l = 0; l < tile_C_VKQ_16::ne; ++l) { - const int j = j0 + tile_C_VKQ_16::get_i(l); - const int k = k0 + tile_C_VKQ_16::get_j(l); + for (int l = 0; l < T_C_VKQ::ne; ++l) { + const int j = j0 + T_C_VKQ::get_i(l); + const int k = k1 + T_C_VKQ::get_j(l); - tile_Q[j*tile_stride + k] = VKQ_C_16[(k00 + k0)/tile_C_VKQ_16::J * ntiles/2 + t].x[l]; - } + tile_Q[j*tile_stride + k] = VKQ_C[(k00 + k1)/T_C_VKQ::J].x[l]; } } } @@ -1195,7 +1279,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int j_dst = jc_dst / ncols2; const int c_dst = jc_dst % ncols2; - if (!is_fixup && jt*ncols1 + j_dst >= ne01) { + if (!is_fixup && jt*ncols1 + j_dst >= int(ne01.z)) { continue; } @@ -1233,16 +1317,16 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( } } #else - GGML_UNUSED_VARS(Q_f2, K_h2, V_h2, mask_h2, sinks_f, dstk, dstk_fixup, + GGML_UNUSED_VARS(Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dstk_fixup, scale, slope, logit_softcap, ne01, ne02, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); NO_DEVICE_CODE; -#endif // TURING_MMA_AVAILABLE +#endif // defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) } -template -__launch_bounds__(nwarps*WARP_SIZE, 1) +template +__launch_bounds__(ggml_cuda_fattn_mma_get_nthreads(DKQ, DV, ncols1*ncols2), ggml_cuda_fattn_mma_get_occupancy(DKQ, DV, ncols1*ncols2)) static __global__ void flash_attn_ext_f16( const char * __restrict__ Q, const char * __restrict__ K, @@ -1258,14 +1342,14 @@ static __global__ void flash_attn_ext_f16( const float m1, const uint32_t n_head_log2, const float logit_softcap, - const int32_t ne00, const int32_t ne01, const int32_t ne02, const int32_t ne03, + const int32_t ne00, const uint3 ne01, const int32_t ne02, const int32_t ne03, const int32_t nb01, const int32_t nb02, const int32_t nb03, const int32_t ne10, const int32_t ne11, const int32_t ne12, const int32_t ne13, const int32_t nb11, const int32_t nb12, const int64_t nb13, const int32_t nb21, const int32_t nb22, const int64_t nb23, const int32_t ne31, const int32_t ne32, const int32_t ne33, const int32_t nb31, const int32_t nb32, const int64_t nb33) { -#if defined(FLASH_ATTN_AVAILABLE) && defined(TURING_MMA_AVAILABLE) +#if defined(FLASH_ATTN_AVAILABLE) && (defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE)) // Skip unused kernel variants for faster compilation: if (use_logit_softcap && !(DKQ == 128 || DKQ == 256)) { @@ -1281,23 +1365,22 @@ static __global__ void flash_attn_ext_f16( static_assert(!mla || DKQ >= DV, "MLA needs DKQ >= DV"); - typedef fattn_mma_f16_config c; - - static_assert(FATTN_KQ_STRIDE % fattn_mma_f16_config::nbatch_fa == 0, "bad nbatch_fa"); + constexpr int ncols = ncols1 * ncols2; + constexpr int nbatch_fa = ggml_cuda_fattn_mma_get_nbatch_fa(DKQ, DV, ncols); + constexpr int nthreads = ggml_cuda_fattn_mma_get_nthreads(DKQ, DV, ncols); + constexpr int nwarps = nthreads / WARP_SIZE; const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. const int stride_Q1 = nb01 / sizeof(float2); const int stride_Q2 = nb02 / sizeof(float2); const int stride_K = nb11 / sizeof(half2); - const int stride_mask = nb31 / sizeof(half2); + const int stride_mask = nb31 / sizeof(half); const int stride_V = mla ? stride_K : nb21 / sizeof(half2); - const int iter_k = ne11 / FATTN_KQ_STRIDE; - const int iter_j = (ne01 + (ncols1 - 1)) / ncols1; - - constexpr int kb_niter = FATTN_KQ_STRIDE / c::nbatch_fa; // Number of kernel iterations per assigned KQ slice. + const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; + const int iter_j = (ne01.z + (ncols1 - 1)) / ncols1; // kbc == k block continuous, current index in continuous ijk space. int kbc = (blockIdx.x + 0)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; @@ -1318,35 +1401,31 @@ static __global__ void flash_attn_ext_f16( const int head0 = zt * ncols2; - const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02* head0); - const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); - const half2 * mask_h2 = ncols2 == 1 && !mask ? nullptr : - (const half2 *) (mask + nb33*(sequence % ne33) + nb31*jt*ncols1); - float2 * dstk = ((float2 *) dst) + (sequence*ne01*ne02 + head0) * (DV/2); + const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02* head0); + const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); + const half * mask_h = ncols2 == 1 && !mask ? nullptr : + (const half *) (mask + nb33*(sequence % ne33)); + float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + head0) * (DV/2); const half2 * V_h2 = mla ? K_h2 + (DKQ/2 - DV/2) : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); const float * sinks_f = sinks ? (const float *) sinks + head0 : nullptr; const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, head0, n_head_log2, m0, m1) : 1.0f; - const int kb0_start_kernel = kb0_start * kb_niter; - int kb0_stop_kernel = kb0_stop * kb_niter; - if (KV_max) { - kb0_stop_kernel = min(kb0_stop_kernel, KV_max[sequence*iter_j + jt] / c::nbatch_fa); + kb0_stop = min(kb0_stop, KV_max[sequence*iter_j + jt] / nbatch_fa); } - constexpr bool is_fixup = false; // All but (potentially) the last iterations write their data to dst rather than the fixup buffer. if (kb0_start == 0) { constexpr bool needs_fixup = false; // CUDA block is working on an entire tile. - flash_attn_ext_f16_process_tile - (Q_f2, K_h2, V_h2, mask_h2, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start_kernel, kb0_stop_kernel); + flash_attn_ext_f16_process_tile + (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, + ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); } else { - constexpr bool needs_fixup = true; // CUDA block is working on the beginning of a tile. - flash_attn_ext_f16_process_tile - (Q_f2, K_h2, V_h2, mask_h2, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start_kernel, kb0_stop_kernel); + constexpr bool needs_fixup = true; // CUDA block is missing the beginning of a tile. + flash_attn_ext_f16_process_tile + (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, + ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); } kbc += iter_k; @@ -1366,29 +1445,26 @@ static __global__ void flash_attn_ext_f16( const int head0 = zt * ncols2; - const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02* head0); - const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); - const half2 * mask_h2 = ncols2 == 1 && !mask ? nullptr : - (const half2 *) (mask + nb33*(sequence % ne33) + nb31*jt*ncols1); - float2 * dstk = ((float2 *) dst) + (sequence*ne01*ne02 + head0) * (DV/2); + const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02* head0); + const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); + const half * mask_h = ncols2 == 1 && !mask ? nullptr : + (const half *) (mask + nb33*(sequence % ne33)); + float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + head0) * (DV/2); const half2 * V_h2 = mla ? K_h2 + (DKQ/2 - DV/2) : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); const float * sinks_f = sinks ? (const float *) sinks + head0 : nullptr; const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, head0, n_head_log2, m0, m1) : 1.0f; - const int kb0_start_kernel = kb0_start * kb_niter; - int kb0_stop_kernel = kb0_stop * kb_niter; - if (KV_max) { - kb0_stop_kernel = min(kb0_stop_kernel, KV_max[sequence*iter_j + jt] / c::nbatch_fa); + kb0_stop = min(kb0_stop, KV_max[sequence*iter_j + jt] / nbatch_fa); } constexpr bool is_fixup = true; // Last index writes its data to fixup buffer to avoid data races with other blocks. constexpr bool needs_fixup = false; - flash_attn_ext_f16_process_tile - (Q_f2, K_h2, V_h2, mask_h2, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start_kernel, kb0_stop_kernel); + flash_attn_ext_f16_process_tile + (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, + ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); #else GGML_UNUSED_VARS(Q, K, V, mask, sinks, KV_max, dst, dst_meta, scale, max_bias, m0, m1, n_head_log2, logit_softcap, @@ -1400,7 +1476,7 @@ static __global__ void flash_attn_ext_f16( ne31, ne32, ne33, nb31, nb32, nb33); NO_DEVICE_CODE; -#endif // defined(FLASH_ATTN_AVAILABLE) && defined(TURING_MMA_AVAILABLE) +#endif // defined(FLASH_ATTN_AVAILABLE) && (defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE)) } template @@ -1409,36 +1485,30 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml const int id = ggml_cuda_get_device(); const int cc = ggml_cuda_info().devices[id].cc; - typedef fattn_mma_f16_config c; + constexpr int ncols = ncols1 * ncols2; - const int nstages = cp_async_available(cc) ? c::nstages_target : 0; + const int nthreads = ggml_cuda_fattn_mma_get_nthreads (DKQ, DV, ncols, cc); + const int nbatch_fa = ggml_cuda_fattn_mma_get_nbatch_fa (DKQ, DV, ncols, cc); + const int nbatch_K2 = ggml_cuda_fattn_mma_get_nbatch_K2 (DKQ, DV, ncols, cc); + const int nbatch_V2 = ggml_cuda_fattn_mma_get_nbatch_V2 (DKQ, DV, ncols, cc); + const int nbatch_combine = ggml_cuda_fattn_mma_get_nbatch_combine(DKQ, DV, ncols, cc); + const bool Q_in_reg = ggml_cuda_fattn_mma_get_Q_in_reg (DKQ, DV, ncols, cc); + const int nstages = ggml_cuda_fattn_mma_get_nstages (DKQ, DV, ncols1, ncols2, cc); - constexpr int ncols = ncols1 * ncols2; - constexpr int ntiles = ncols <= 8 ? 1 : 2; // Number of tiles per warp. - constexpr int cols_per_warp = ntiles * tile_B::I; - constexpr int nwarps_max_x = ncols / cols_per_warp; - constexpr int nwarps_max_y = c::nbatch_fa / tile_A::I; - constexpr int nwarps = nwarps_max_x*nwarps_max_y <= c::nwarps_max ? nwarps_max_x*nwarps_max_y : c::nwarps_max; + const int cols_per_warp = std::min(ncols, turing_mma_available(cc) ? 16 : 32); + const int nwarps = nthreads / WARP_SIZE; constexpr bool mla = DKQ == 576; - const int nbatch_K2 = c::get_nbatch_K2_host (cc, ncols); - const int nbatch_V2 = c::get_nbatch_K2_host (cc, ncols); - const int nbatch_combine = c::get_nbatch_combine_host(cc, ncols); - - static_assert(DKQ % tile_B::J == 0, "bad DKQ"); - static_assert(DV % tile_A::J == 0, "bad DV"); - static_assert(ncols % cols_per_warp == 0, "bad ncols"); - - const size_t nbytes_shared_KV_1stage = c::nbatch_fa * std::max(nbatch_K2 + 4, nbatch_V2 + 4) * sizeof(half2); - const size_t nbytes_shared_KV_2stage = c::nbatch_fa * (nbatch_K2 + 4 + nbatch_V2 + 4) * sizeof(half2); + const size_t nbytes_shared_KV_1stage = nbatch_fa * std::max(nbatch_K2 + 4, nbatch_V2 + 4) * sizeof(half2); + const size_t nbytes_shared_KV_2stage = nbatch_fa * (nbatch_K2 + 4 + nbatch_V2 + 4) * sizeof(half2); const size_t nbytes_shared_Q = ncols * (DKQ/2 + 4) * sizeof(half2); - const size_t nbytes_shared_mask = ncols1 * (c::nbatch_fa/2 + 4) * sizeof(half2); + const size_t nbytes_shared_mask = ncols1 * (nbatch_fa/2 + 4) * sizeof(half2); const size_t nbytes_shared_combine = nwarps*cols_per_warp * (nbatch_combine + 4) * sizeof(half2); const size_t nbytes_shared_KV = nstages <= 1 ? nbytes_shared_KV_1stage : nbytes_shared_KV_2stage; - const size_t nbytes_shared_total = std::max(nbytes_shared_combine, c::Q_in_reg ? + const size_t nbytes_shared_total = std::max(nbytes_shared_combine, Q_in_reg ? std::max(nbytes_shared_Q, nbytes_shared_KV + nbytes_shared_mask) : nbytes_shared_Q + nbytes_shared_KV + nbytes_shared_mask); @@ -1448,7 +1518,7 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml fattn_kernel_t fattn_kernel; if (logit_softcap == 0.0f) { constexpr bool use_logit_softcap = false; - fattn_kernel = flash_attn_ext_f16; + fattn_kernel = flash_attn_ext_f16; #if !defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA) static bool shared_memory_limit_raised[GGML_CUDA_MAX_DEVICES] = {false}; @@ -1459,7 +1529,7 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml #endif // !defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA) } else { constexpr bool use_logit_softcap = true; - fattn_kernel = flash_attn_ext_f16; + fattn_kernel = flash_attn_ext_f16; #if !defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA) static bool shared_memory_limit_raised[GGML_CUDA_MAX_DEVICES] = {false}; @@ -1471,7 +1541,7 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml } launch_fattn - (ctx, dst, fattn_kernel, nwarps, nbytes_shared_total, FATTN_KQ_STRIDE, true, true, true); + (ctx, dst, fattn_kernel, nwarps, nbytes_shared_total, nbatch_fa, true, true, true); } diff --git a/ggml/src/ggml-cuda/fattn-tile.cuh b/ggml/src/ggml-cuda/fattn-tile.cuh index 3e58d64ff9d..63b235674eb 100644 --- a/ggml/src/ggml-cuda/fattn-tile.cuh +++ b/ggml/src/ggml-cuda/fattn-tile.cuh @@ -501,6 +501,7 @@ static __device__ __forceinline__ void flash_attn_tile_iter( const half2 * const __restrict__ K_h2, const half2 * const __restrict__ V_h2, const half * const __restrict__ mask, + const uint3 ne01, const float logit_softcap, const float slope, T_KQ * const KQ, @@ -512,7 +513,8 @@ static __device__ __forceinline__ void flash_attn_tile_iter( float * const KQ_sum, T_acc * const VKQ, const int k_VKQ_0, - const int k_VKQ_max) { + const int k_VKQ_max, + const int col_Q_0) { constexpr int cpy_nb = ggml_cuda_get_max_cpy_bytes(); constexpr int cpy_ne = cpy_nb / 4; @@ -556,7 +558,7 @@ static __device__ __forceinline__ void flash_attn_tile_iter( // Apply logit softcap + mask, update KQ_max: #pragma unroll for (int jc0 = 0; jc0 < cpw; ++jc0) { - const int j = (jc0 + (threadIdx.y / np)*cpw)/ncols2; + const int j = fastmodulo(col_Q_0 + (jc0 + (threadIdx.y / np)*cpw)/ncols2, ne01); #pragma unroll for (int i_KQ_0 = 0; i_KQ_0 < nbatch_fa; i_KQ_0 += np*warp_size) { @@ -736,7 +738,7 @@ static __global__ void flash_attn_tile( const float m1, const uint32_t n_head_log2, const float logit_softcap, - const int32_t ne00, const int32_t ne01, const int32_t ne02, const int32_t ne03, + const int32_t ne00, const uint3 ne01, const int32_t ne02, const int32_t ne03, const int32_t nb01, const int32_t nb02, const int32_t nb03, const int32_t ne10, const int32_t ne11, const int32_t ne12, const int32_t ne13, const int32_t nb11, const int32_t nb12, const int64_t nb13, @@ -781,11 +783,11 @@ static __global__ void flash_attn_tile( const int sequence = blockIdx.z / (ne02/ncols2); const int head0 = blockIdx.z*ncols2 - sequence*ne02; // == blockIdx.z % (ne02/ncols2) const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. - const float * Q_f = (const float *) (Q + nb03*sequence + nb02* head0 + nb01*col_Q_0); + const float * Q_f = (const float *) (Q + nb03*sequence + nb02* head0); const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); const half2 * V_h2 = (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); // K and V have same shape - const half * maskh = mask ? (const half *) (mask + nb33*(sequence % ne33) + nb31*col_Q_0) : nullptr; + const half * maskh = mask ? (const half *) (mask + nb33*(sequence % ne33)) : nullptr; const int stride_K2 = nb11 / sizeof(half2); const int stride_V2 = nb21 / sizeof(half2); @@ -842,11 +844,9 @@ static __global__ void flash_attn_tile( for (int i0 = 0; i0 < DKQp; i0 += np*warp_size*cpy_ne_D) { if (i0 + np*warp_size*cpy_ne_D <= DKQ || i0 + (threadIdx.y % np)*(warp_size*cpy_ne_D) + threadIdx.x*cpy_ne_D < DKQ) { float tmp_f[cpy_ne_D] = {0.0f}; - if (ncols1 == 1 || col_Q_0 + j < ne01) { - ggml_cuda_memcpy_1 - (tmp_f, &Q_f[c*(nb02/sizeof(float)) + j*(nb01/sizeof(float)) - + i0 + (threadIdx.y % np)*(warp_size*cpy_ne_D) + threadIdx.x*cpy_ne_D]); - } + ggml_cuda_memcpy_1 + (tmp_f, &Q_f[c*(nb02/sizeof(float)) + fastmodulo(col_Q_0 + j, ne01)*(nb01/sizeof(float)) + + i0 + (threadIdx.y % np)*(warp_size*cpy_ne_D) + threadIdx.x*cpy_ne_D]); #pragma unroll for (int i1 = 0; i1 < cpy_ne_D; ++i1) { @@ -881,23 +881,23 @@ static __global__ void flash_attn_tile( while (k_VKQ_0 < k_VKQ_max - nbatch_fa) { constexpr bool oob_check = false; flash_attn_tile_iter - (Q_tmp, K_h2, V_h2, maskh, logit_softcap, slope, KQ, KV_tmp, - stride_K2, stride_V2, stride_mask, KQ_max, KQ_sum, VKQ, k_VKQ_0, k_VKQ_max); + (Q_tmp, K_h2, V_h2, maskh, ne01, logit_softcap, slope, KQ, KV_tmp, + stride_K2, stride_V2, stride_mask, KQ_max, KQ_sum, VKQ, k_VKQ_0, k_VKQ_max, col_Q_0); k_VKQ_0 += gridDim.y*nbatch_fa; } if (k_VKQ_0 < k_VKQ_max) { constexpr bool oob_check = true; flash_attn_tile_iter - (Q_tmp, K_h2, V_h2, maskh, logit_softcap, slope, KQ, KV_tmp, - stride_K2, stride_V2, stride_mask, KQ_max, KQ_sum, VKQ, k_VKQ_0, k_VKQ_max); + (Q_tmp, K_h2, V_h2, maskh, ne01, logit_softcap, slope, KQ, KV_tmp, + stride_K2, stride_V2, stride_mask, KQ_max, KQ_sum, VKQ, k_VKQ_0, k_VKQ_max, col_Q_0); } } else { // Branch without out-of-bounds checks. for (int k_VKQ_0 = blockIdx.y*nbatch_fa; k_VKQ_0 < k_VKQ_max; k_VKQ_0 += gridDim.y*nbatch_fa) { constexpr bool oob_check = false; flash_attn_tile_iter - (Q_tmp, K_h2, V_h2, maskh, logit_softcap, slope, KQ, KV_tmp, - stride_K2, stride_V2, stride_mask, KQ_max, KQ_sum, VKQ, k_VKQ_0, k_VKQ_max); + (Q_tmp, K_h2, V_h2, maskh, ne01, logit_softcap, slope, KQ, KV_tmp, + stride_K2, stride_V2, stride_mask, KQ_max, KQ_sum, VKQ, k_VKQ_0, k_VKQ_max, col_Q_0); } } @@ -1010,13 +1010,13 @@ static __global__ void flash_attn_tile( const int j = jc / ncols2; const int c = jc % ncols2; - if (ncols1 > 1 && col_Q_0 + j >= ne01) { + if (ncols1 > 1 && col_Q_0 + j >= int(ne01.z)) { return; } const float scale = gridDim.y == 1 ? 1.0f/KQ_sum[jc0] : 1.0f; - const int j_dst_unrolled = ((sequence*ne01 + col_Q_0 + j)*ne02 + head0 + c)*gridDim.y + blockIdx.y; + const int j_dst_unrolled = ((sequence*int(ne01.z) + col_Q_0 + j)*ne02 + head0 + c)*gridDim.y + blockIdx.y; #ifdef FAST_FP16_AVAILABLE constexpr int cpy_ne_D = cpy_ne/2 < (DVp/2)/warp_size ? cpy_ne/2 : (DVp/2)/warp_size; diff --git a/ggml/src/ggml-cuda/fattn-vec.cuh b/ggml/src/ggml-cuda/fattn-vec.cuh index 67aa67ecb94..0bae9849a96 100644 --- a/ggml/src/ggml-cuda/fattn-vec.cuh +++ b/ggml/src/ggml-cuda/fattn-vec.cuh @@ -33,7 +33,7 @@ static __global__ void flash_attn_ext_vec( const float m1, const uint32_t n_head_log2, const float logit_softcap, - const int32_t ne00, const int32_t ne01, const int32_t ne02, const int32_t ne03, + const int32_t ne00, const uint3 ne01, const int32_t ne02, const int32_t ne03, const int32_t nb01, const int32_t nb02, const int32_t nb03, const int32_t ne10, const int32_t ne11, const int32_t ne12, const int32_t ne13, const int32_t nb11, const int32_t nb12, const int64_t nb13, @@ -150,7 +150,7 @@ static __global__ void flash_attn_ext_vec( float2 * tmp_q_ds = (float2 *) (tmp_q_i32 + D/sizeof(int)); // Set memory to zero if out of bounds: - if (ncols > 1 && ic0 + j >= ne01) { + if (ncols > 1 && ic0 + j >= int(ne01.z)) { #pragma unroll for (int i0 = 0; i0 < int(D/sizeof(int)); i0 += WARP_SIZE) { const int i = i0 + threadIdx.x; @@ -201,7 +201,7 @@ static __global__ void flash_attn_ext_vec( const int i = i0 + (nthreads_KQ == WARP_SIZE ? threadIdx.x : threadIdx.x % nthreads_KQ)*cpy_ne; float2 tmp[cpy_ne] = {{0.0f, 0.0f}}; - if (ncols == 1 || ic0 + j < ne01) { + if (ncols == 1 || ic0 + j < int(ne01.z)) { ggml_cuda_memcpy_1(tmp, &Q_j[i]); ggml_cuda_memcpy_1(tmp + cpy_ne/2, &Q_j[i + cpy_ne/2]); } @@ -222,7 +222,7 @@ static __global__ void flash_attn_ext_vec( #pragma unroll for (int i0 = 0; i0 < D/2; i0 += nthreads_KQ*cpy_ne) { const int i = i0 + (nthreads_KQ == WARP_SIZE ? threadIdx.x : threadIdx.x % nthreads_KQ)*cpy_ne; - if (ncols == 1 || ic0 + j < ne01) { + if (ncols == 1 || ic0 + j < int(ne01.z)) { ggml_cuda_memcpy_1(&Q_reg[j][i0/nthreads_KQ], &Q_j[i]); ggml_cuda_memcpy_1(&Q_reg[j][i0/nthreads_KQ + cpy_ne/2], &Q_j[i + cpy_ne/2]); } @@ -266,7 +266,7 @@ static __global__ void flash_attn_ext_vec( sum = logit_softcap*tanhf(sum); } - if (mask) { + if (mask && (ncols == 1 || ic0 + j < int(ne01.z))) { sum += slope*__half2float(maskh[j*ne11 + i_KQ]); } @@ -412,7 +412,7 @@ static __global__ void flash_attn_ext_vec( #pragma unroll for (int j_VKQ = 0; j_VKQ < ncols; ++j_VKQ) { - if (ncols > 1 && ic0 + j_VKQ >= ne01) { + if (ncols > 1 && ic0 + j_VKQ >= int(ne01.z)) { break; } @@ -479,7 +479,7 @@ static __global__ void flash_attn_ext_vec( if (gridDim.y == 1) { dst_val /= KQ_sum[j_VKQ]; } - dst[(((sequence*ne01 + ic0 + j_VKQ)*ne02 + head)*gridDim.y + blockIdx.y)*D + i0 + tid] = dst_val; + dst[(((sequence*int(ne01.z) + ic0 + j_VKQ)*ne02 + head)*gridDim.y + blockIdx.y)*D + i0 + tid] = dst_val; } } @@ -489,8 +489,8 @@ static __global__ void flash_attn_ext_vec( } - if (gridDim.y != 1 && tid < ncols && (ncols == 1 || ic0 + tid < ne01)) { - dst_meta[((sequence*ne01 + ic0 + tid)*ne02 + head)*gridDim.y + blockIdx.y] = make_float2(KQ_max[tid], KQ_sum[tid]); + if (gridDim.y != 1 && tid < ncols && (ncols == 1 || ic0 + tid < int(ne01.z))) { + dst_meta[((sequence*int(ne01.z) + ic0 + tid)*ne02 + head)*gridDim.y + blockIdx.y] = make_float2(KQ_max[tid], KQ_sum[tid]); } #else GGML_UNUSED_VARS(Q, K, V, mask, sinks, KV_max, dst, dst_meta, scale, diff --git a/ggml/src/ggml-cuda/fattn-wmma-f16.cu b/ggml/src/ggml-cuda/fattn-wmma-f16.cu index 6c90d6d52b3..0d81f0aae0a 100644 --- a/ggml/src/ggml-cuda/fattn-wmma-f16.cu +++ b/ggml/src/ggml-cuda/fattn-wmma-f16.cu @@ -38,14 +38,14 @@ static __global__ void flash_attn_ext_f16( const float m1, const uint32_t n_head_log2, const float logit_softcap, - const int32_t ne00, const int32_t ne01, const int32_t ne02, const int32_t ne03, + const int32_t ne00, const uint3 ne01, const int32_t ne02, const int32_t ne03, const int32_t nb01, const int32_t nb02, const int32_t nb03, const int32_t ne10, const int32_t ne11, const int32_t ne12, const int32_t ne13, const int32_t nb11, const int32_t nb12, const int64_t nb13, const int32_t nb21, const int32_t nb22, const int64_t nb23, const int32_t ne31, const int32_t ne32, const int32_t ne33, const int32_t nb31, const int32_t nb32, const int64_t nb33) { -#if defined(FLASH_ATTN_AVAILABLE) && (__CUDA_ARCH__ == GGML_CUDA_CC_VOLTA || (defined(GGML_HIP_ROCWMMA_FATTN) && defined(GGML_USE_WMMA_FATTN))) +#if defined(FLASH_ATTN_AVAILABLE) && (defined(GGML_HIP_ROCWMMA_FATTN) && defined(GGML_USE_WMMA_FATTN)) // Skip unused kernel variants for faster compilation: if (use_logit_softcap && !(D == 128 || D == 256)) { NO_DEVICE_CODE; @@ -149,7 +149,7 @@ static __global__ void flash_attn_ext_f16( if (i0 + warp_size > D && i >= D) { break; } - KQ[j*D_padded + i] = ic0 + j < ne01 ? Q_f[j*stride_Q + i] * scale : 0.0f; + KQ[j*D_padded + i] = ic0 + j < int(ne01.z) ? Q_f[j*stride_Q + i] * scale : 0.0f; } } @@ -218,7 +218,8 @@ static __global__ void flash_attn_ext_f16( for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += warp_size) { const int k = k0 + threadIdx.x; - KQ_f_tmp[k0/warp_size] += mask ? __half2float(slopeh*maskh[j*(nb31/sizeof(half)) + k_VKQ_0 + k]) : 0.0f; + KQ_f_tmp[k0/warp_size] += mask && ic0 + j < int(ne01.z) ? + __half2float(slopeh*maskh[j*(nb31/sizeof(half)) + k_VKQ_0 + k]) : 0.0f; KQ_max_new = max(KQ_max_new, KQ_f_tmp[k0/warp_size]); } KQ_max_new = warp_reduce_max(KQ_max_new); @@ -270,7 +271,7 @@ static __global__ void flash_attn_ext_f16( for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += warp_size) { const int k = k0 + threadIdx.x; - KQ2_tmp[k0/warp_size] += mask ? slope2*mask2[(j*ne11 + k_VKQ_0)/2 + k] : make_half2(0.0f, 0.0f); + KQ2_tmp[k0/warp_size] += mask && ic0 + j < int(ne01.z) ? slope2*mask2[(j*ne11 + k_VKQ_0)/2 + k] : make_half2(0.0f, 0.0f); KQ_max_new = ggml_cuda_hmax2(KQ_max_new, KQ2_tmp[k0/warp_size]); } KQ_max_new = __half2half2(warp_reduce_max(ggml_cuda_hmax(__low2half(KQ_max_new), __high2half(KQ_max_new)))); @@ -431,7 +432,7 @@ static __global__ void flash_attn_ext_f16( #pragma unroll for (int j0 = 0; j0 < ncols; j0 += nwarps) { const int j_VKQ = j0 + threadIdx.y; - if (ic0 + j_VKQ >= ne01) { + if (ic0 + j_VKQ >= int(ne01.z)) { return; } @@ -442,7 +443,7 @@ static __global__ void flash_attn_ext_f16( KQ_rowsum_j = __low2float(KQ_rowsum_h2[j0/nwarps]) + __high2float(KQ_rowsum_h2[j0/nwarps]); } - const int j_dst_unrolled = ((sequence*ne01 + ic0 + j_VKQ)*ne02 + head)*gridDim.y + blockIdx.y; + const int j_dst_unrolled = ((sequence*int(ne01.z) + ic0 + j_VKQ)*ne02 + head)*gridDim.y + blockIdx.y; #pragma unroll for (int i0 = 0; i0 < D; i0 += warp_size) { @@ -481,7 +482,7 @@ static __global__ void flash_attn_ext_f16( ne31, ne32, ne33, nb31, nb32, nb33); NO_DEVICE_CODE; -#endif // defined(FLASH_ATTN_AVAILABLE) && (__CUDA_ARCH__ == GGML_CUDA_CC_VOLTA || (defined(GGML_HIP_ROCWMMA_FATTN) && defined(GGML_USE_WMMA_FATTN))) +#endif // defined(FLASH_ATTN_AVAILABLE) && (defined(GGML_HIP_ROCWMMA_FATTN) && defined(GGML_USE_WMMA_FATTN)) } constexpr int get_max_power_of_2(int x) { diff --git a/ggml/src/ggml-cuda/fattn-wmma-f16.cuh b/ggml/src/ggml-cuda/fattn-wmma-f16.cuh index 7235f1b77ae..cd3bfd4051a 100644 --- a/ggml/src/ggml-cuda/fattn-wmma-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-wmma-f16.cuh @@ -2,9 +2,9 @@ #include "common.cuh" -#if (!defined(GGML_USE_HIP) && __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA) || defined(GGML_USE_MUSA) +#if defined(GGML_USE_MUSA) #define GGML_USE_WMMA_FATTN -#endif // (!defined(GGML_USE_HIP) && __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA) || defined(GGML_USE_MUSA) +#endif // defined(GGML_USE_MUSA) #if defined(GGML_HIP_ROCWMMA_FATTN) #if defined(CDNA) && (ROCWMMA_VERSION_MAJOR < 2 || ROCWMMA_VERSION_MINOR > 0 || ROCWMMA_VERSION_PATCH > 0) diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index 82405991cea..dec01ff8ad2 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -12,13 +12,13 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ggml_backend_cuda_con const ggml_tensor * Q = dst->src[0]; if constexpr (ncols2 <= 8) { - if (Q->ne[1] <= 8/ncols2) { + if (turing_mma_available(cc) && Q->ne[1] <= 8/ncols2) { ggml_cuda_flash_attn_ext_mma_f16_case(ctx, dst); return; } } - if (Q->ne[1] <= 16/ncols2) { + if (turing_mma_available(cc) && Q->ne[1] <= 16/ncols2) { ggml_cuda_flash_attn_ext_mma_f16_case(ctx, dst); return; } @@ -41,7 +41,7 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols2(ggml_backend_cuda_con float max_bias = 0.0f; memcpy(&max_bias, (const float *) KQV->op_params + 1, sizeof(float)); - const bool use_gqa_opt = mask && max_bias == 0.0f; + const bool use_gqa_opt = mask && max_bias == 0.0f && K->ne[1] % FATTN_KQ_STRIDE == 0; GGML_ASSERT(Q->ne[2] % K->ne[2] == 0); const int gqa_ratio = Q->ne[2] / K->ne[2]; @@ -275,8 +275,8 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const // For small batch sizes the vector kernel may be preferable over the kernels optimized for large batch sizes: const bool can_use_vector_kernel = Q->ne[0] <= 256 && Q->ne[0] % 64 == 0 && K->ne[1] % FATTN_KQ_STRIDE == 0; - // If Turing tensor cores available, use them: - if (turing_mma_available(cc) && K->ne[1] % FATTN_KQ_STRIDE == 0 && Q->ne[0] != 40 && Q->ne[0] != 72) { + // If Turing tensor cores are available, use them: + if (turing_mma_available(cc) && Q->ne[0] != 40 && Q->ne[0] != 72) { if (can_use_vector_kernel) { if (!ggml_is_quantized(K->type) && !ggml_is_quantized(V->type)) { if (cc >= GGML_CUDA_CC_ADA_LOVELACE && Q->ne[1] == 1 && Q->ne[3] == 1 && !(gqa_ratio > 4 && K->ne[1] >= 8192)) { @@ -297,7 +297,21 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const return BEST_FATTN_KERNEL_VEC; } } + return BEST_FATTN_KERNEL_MMA_F16; + } + if (volta_mma_available(cc) && Q->ne[0] != 40 && Q->ne[0] != 72) { + int gqa_ratio_eff = 1; + const int ncols2_max = Q->ne[0] == 576 ? 16 : 8; + while (gqa_ratio % (2*gqa_ratio_eff) == 0 && gqa_ratio_eff < ncols2_max) { + gqa_ratio_eff *= 2; + } + if (can_use_vector_kernel && Q->ne[1] * gqa_ratio_eff <= 2) { + return BEST_FATTN_KERNEL_VEC; + } + if (Q->ne[1] * gqa_ratio_eff <= 16) { + return BEST_FATTN_KERNEL_TILE; // On Volta tensor cores are only faster for sufficiently large matrices. + } return BEST_FATTN_KERNEL_MMA_F16; } diff --git a/ggml/src/ggml-cuda/mma.cuh b/ggml/src/ggml-cuda/mma.cuh index 0ed42e87d3d..6ea7a809a47 100644 --- a/ggml/src/ggml-cuda/mma.cuh +++ b/ggml/src/ggml-cuda/mma.cuh @@ -68,10 +68,31 @@ static __device__ __forceinline__ half2 ggml_cuda_movmatrix(const half2 x) { namespace ggml_cuda_mma { + // Some architectures like Volta or CDNA3 perform multiple matrix multiplications per warp in parallel, + // effectively the warp is being split into subgroups of threads that each perform a single mma instruction. + // In those cases the data can be split in different ways across the warp. + enum data_layout { + // By default the data uses the I direction as its major dimension and the J direction as its minor dimension. + // For the A/C matrices this means I major == row major, J major == column major. + // For the B matrix this means I major == column major, J major == row major. + // MIRRORED == Each data value is held exactly once per thread subgroup. + DATA_LAYOUT_I_MAJOR = 0, // Always used for Turing, Ampere, Ada Lovelace, consumer Blackwell. + DATA_LAYOUT_I_MAJOR_MIRRORED = 10, + DATA_LAYOUT_J_MAJOR_MIRRORED = 20, + }; + // Implemented mma combinations are: + // - (I_MAJOR, I_MAJOR) -> I_MAJOR + // - (I_MAJOR, I_MAJOR_MIRRORED) -> I_MAJOR + // - (I_MAJOR, J_MAJOR_MIRRORED) -> I_MAJOR + + template + struct tile {}; + template - struct tile { - static constexpr int I = I_; - static constexpr int J = J_; + struct tile { + static constexpr int I = I_; + static constexpr int J = J_; + static constexpr data_layout dl = DATA_LAYOUT_I_MAJOR; #if defined(AMD_MFMA_AVAILABLE) static constexpr int ne = I * J / 64; @@ -131,9 +152,9 @@ namespace ggml_cuda_mma { static __device__ __forceinline__ int get_i(const int l) { if constexpr (I == 32 && J == 8) { #ifdef GGML_CUDA_MMA_NO_VOLTA_PERM - return (((threadIdx.x % 16) / 4) * 8) | ((threadIdx.x / 16) * 4) | (l & 2) | (threadIdx.x % 2); + return (((threadIdx.x % 16) / 4) * 8) + ((threadIdx.x / 16) * 4) + (l & 2) + (threadIdx.x % 2); #else - return (l & 2) | (threadIdx.x & ~2); + return (l & 2) + (threadIdx.x & ~2); #endif // GGML_CUDA_MMA_NO_VOLTA_PERM } else { NO_DEVICE_CODE; @@ -143,7 +164,7 @@ namespace ggml_cuda_mma { static __device__ __forceinline__ int get_j(const int l) { if constexpr (I == 32 && J == 8) { - return (threadIdx.x & 2) | (l & (4 + 1)); + return (threadIdx.x & 2) + (l & (4 + 1)); } else { NO_DEVICE_CODE; return -1; @@ -196,9 +217,9 @@ namespace ggml_cuda_mma { } else if constexpr (I == 8 && J == 8) { return threadIdx.x / 4; } else if constexpr (I == 16 && J == 8) { - return ((l / 2) * 8) | (threadIdx.x / 4); + return ((l / 2) * 8) + (threadIdx.x / 4); } else if constexpr (I == 16 && J == 16) { - return (((l / 2) % 2) * 8) | (threadIdx.x / 4); + return (((l / 2) % 2) * 8) + (threadIdx.x / 4); } else if constexpr (I == 32 && J == 8) { return tile<16, 8, T>::get_i(l); // Memory layout simply repeated with same pattern in i direction. } else { @@ -211,11 +232,11 @@ namespace ggml_cuda_mma { if constexpr (I == 8 && J == 4) { return threadIdx.x % 4; } else if constexpr (I == 8 && J == 8) { - return (l * 4) | (threadIdx.x % 4); + return (l * 4) + (threadIdx.x % 4); } else if constexpr (I == 16 && J == 8) { - return ((threadIdx.x % 4) * 2) | (l % 2); + return ((threadIdx.x % 4) * 2) + (l % 2); } else if constexpr (I == 16 && J == 16) { - return ((l / 4) * 8) | ((threadIdx.x % 4) * 2) | (l % 2); + return ((l / 4) * 8) + ((threadIdx.x % 4) * 2) + (l % 2); } else if constexpr (I == 32 && J == 8) { return tile<16, 8, T>::get_j(l); // Memory layout simply repeated with same pattern in i direction. } else { @@ -227,26 +248,24 @@ namespace ggml_cuda_mma { }; template - struct tile { - static constexpr int I = I_; - static constexpr int J = J_; + struct tile { + static constexpr int I = I_; + static constexpr int J = J_; + static constexpr data_layout dl = DATA_LAYOUT_I_MAJOR; #if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA - static constexpr int ne = I == 8 && J == 8 ? I * J / (WARP_SIZE/4) : I * J / WARP_SIZE; + static constexpr int ne = I * J / WARP_SIZE; half2 x[ne] = {{0.0f, 0.0f}}; static constexpr __device__ bool supported() { - if (I == 8 && J == 8) return true; - if (I == 32 && J == 8) return true; + if (I == 32 && J == 4) return true; return false; } static __device__ __forceinline__ int get_i(const int l) { - if constexpr (I == 8 && J == 8) { - return ((threadIdx.x / 16) * 4) | (threadIdx.x % 4); - } else if constexpr (I == 32 && J == 8) { + if constexpr (I == 32 && J == 4) { #ifdef GGML_CUDA_MMA_NO_VOLTA_PERM - return (((threadIdx.x % 16) / 4) * 8) | ((threadIdx.x / 16) * 4) | (threadIdx.x % 4); + return (((threadIdx.x % 16) / 4) * 8) + ((threadIdx.x / 16) * 4) + (threadIdx.x % 4); #else return threadIdx.x; #endif // GGML_CUDA_MMA_NO_VOLTA_PERM @@ -257,7 +276,7 @@ namespace ggml_cuda_mma { } static __device__ __forceinline__ int get_j(const int l) { - if constexpr ((I == 8 || I == 32) && J == 8) { + if constexpr (I == 32 && J == 4) { return l; } else { NO_DEVICE_CODE; @@ -307,11 +326,11 @@ namespace ggml_cuda_mma { if constexpr (I == 8 && J == 8) { return threadIdx.x / 4; } else if constexpr (I == 16 && J == 4) { - return (l * 8) | (threadIdx.x / 4); + return (l * 8) + (threadIdx.x / 4); } else if constexpr (I == 16 && J == 8) { - return ((l % 2) * 8) | (threadIdx.x / 4); + return ((l % 2) * 8) + (threadIdx.x / 4); } else if constexpr (I == 32 && J == 8) { - return ((l / 4) * 16) | ((l % 2) * 8) | (threadIdx.x / 4); + return ((l / 4) * 16) + ((l % 2) * 8) + (threadIdx.x / 4); } else { NO_DEVICE_CODE; return -1; @@ -320,13 +339,13 @@ namespace ggml_cuda_mma { static __device__ __forceinline__ int get_j(const int l) { if constexpr (I == 8 && J == 8) { - return (l * 4) | (threadIdx.x % 4); + return (l * 4) + (threadIdx.x % 4); } else if constexpr (I == 16 && J == 4) { return threadIdx.x % 4; } else if constexpr (I == 16 && J == 8) { - return ((l / 2) * 4) | (threadIdx.x % 4); + return ((l / 2) * 4) + (threadIdx.x % 4); } else if constexpr (I == 32 && J == 8) { - return ((l & 2) * 2) | (threadIdx.x % 4); + return ((l & 2) * 2) + (threadIdx.x % 4); } else { NO_DEVICE_CODE; return -1; @@ -336,14 +355,15 @@ namespace ggml_cuda_mma { }; template - struct tile { - static constexpr int I = I_; - static constexpr int J = J_; + struct tile { + static constexpr int I = I_; + static constexpr int J = J_; + static constexpr data_layout dl = DATA_LAYOUT_I_MAJOR; + static constexpr int ne = I * J / WARP_SIZE; -#if defined(AMD_WMMA_AVAILABLE) - static constexpr int ne = I * J / 32; nv_bfloat162 x[ne] = {{0.0f, 0.0f}}; +#if defined(AMD_WMMA_AVAILABLE) static constexpr __device__ bool supported() { if (I == 16 && J == 8) return true; return false; @@ -367,9 +387,6 @@ namespace ggml_cuda_mma { } } #else - static constexpr int ne = I * J / WARP_SIZE; - nv_bfloat162 x[ne] = {{0.0f, 0.0f}}; - static constexpr __device__ bool supported() { if (I == 8 && J == 8) return true; if (I == 16 && J == 4) return true; @@ -381,9 +398,9 @@ namespace ggml_cuda_mma { if constexpr (I == 8 && J == 8) { return threadIdx.x / 4; } else if constexpr (I == 16 && J == 4) { - return (l * 8) | (threadIdx.x / 4); + return (l * 8) + (threadIdx.x / 4); } else if constexpr (I == 16 && J == 8) { - return ((l % 2) * 8) | (threadIdx.x / 4); + return ((l % 2) * 8) + (threadIdx.x / 4); } else { NO_DEVICE_CODE; return -1; @@ -392,11 +409,11 @@ namespace ggml_cuda_mma { static __device__ __forceinline__ int get_j(const int l) { if constexpr (I == 8 && J == 8) { - return (l * 4) | (threadIdx.x % 4); + return (l * 4) + (threadIdx.x % 4); } else if constexpr (I == 16 && J == 4) { return threadIdx.x % 4; } else if constexpr (I == 16 && J == 8) { - return ((l / 2) * 4) | (threadIdx.x % 4); + return ((l / 2) * 4) + (threadIdx.x % 4); } else { NO_DEVICE_CODE; return -1; @@ -405,6 +422,73 @@ namespace ggml_cuda_mma { #endif // defined(AMD_WMMA_AVAILABLE) }; + template + struct tile { + static constexpr int I = I_; + static constexpr int J = J_; + static constexpr data_layout dl = DATA_LAYOUT_I_MAJOR_MIRRORED; + static constexpr int ne = I * J / (WARP_SIZE/4); + + half2 x[ne] = {{0.0f, 0.0f}}; + + static constexpr __device__ bool supported() { + if (I == 8 && J == 4) return true; + return false; + } + + static __device__ __forceinline__ int get_i(const int /*l*/) { + if constexpr (I == 8 && J == 4) { + return ((threadIdx.x / 16) * 4) + (threadIdx.x % 4); + } else { + NO_DEVICE_CODE; + return -1; + } + } + + static __device__ __forceinline__ int get_j(const int l) { + if constexpr (I == 8 && J == 4) { + return l; + } else { + NO_DEVICE_CODE; + return -1; + } + } + }; + + template + struct tile { + static constexpr int I = I_; + static constexpr int J = J_; + static constexpr data_layout dl = DATA_LAYOUT_J_MAJOR_MIRRORED; + static constexpr int ne = I * J / (WARP_SIZE/4); + + half2 x[ne] = {{0.0f, 0.0f}}; + + static constexpr __device__ bool supported() { + if (I == 8 && J == 4) return true; + return false; + } + + static __device__ __forceinline__ int get_i(const int l) { + if constexpr (I == 8 && J == 4) { + return ((l / 2) * 4) + (threadIdx.x % 4); + } else { + NO_DEVICE_CODE; + return -1; + } + } + + static __device__ __forceinline__ int get_j(const int l) { + if constexpr (I == 8 && J == 4) { + return ((threadIdx.x / 16) * 2) + (l % 2); + } else { + NO_DEVICE_CODE; + return -1; + } + } + }; + +#if defined(TURING_MMA_AVAILABLE) template static __device__ __forceinline__ tile get_half2(const tile & tile_float) { tile ret; @@ -422,9 +506,26 @@ namespace ggml_cuda_mma { return ret; } +#else // Volta + template + static __device__ __forceinline__ tile get_half2(const tile & tile_float) { + tile ret; +#pragma unroll + for (int l0 = 0; l0 < tile_float.ne; l0 += 4) { + ret.x[l0/2 + 0] = make_half2(tile_float.x[l0 + 0], tile_float.x[l0 + 1]); + ret.x[l0/2 + 1] = make_half2(tile_float.x[l0 + 2], tile_float.x[l0 + 3]); + + // On Volta FP16 and FP32 tiles have a different memory layout, + // for the conversion threads with an offset of 2 need to exchange half their values: + ret.x[l0/2 + (((threadIdx.x % 4) / 2) ^ 1)] = __shfl_xor_sync( + 0xFFFFFFFF, ret.x[l0/2 + (((threadIdx.x % 4) / 2) ^ 1)], 2, WARP_SIZE); + } + return ret; + } +#endif // defined(TURING_MMA_AVAILABLE) - template - static __device__ __forceinline__ void load_generic(tile & t, const T * __restrict__ xs0, const int stride) { + template + static __device__ __forceinline__ void load_generic(tile & t, const T * __restrict__ xs0, const int stride) { #if defined(AMD_MFMA_AVAILABLE) if constexpr (I == 64 && J == 2) { // Special tile size to load <16, 4> as <16, 8> #pragma unroll @@ -511,18 +612,6 @@ namespace ggml_cuda_mma { : "=r"(xi[0]), "=r"(xi[1]), "=r"(xi[2]), "=r"(xi[3]) : "l"(xs)); #else -#if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA - GGML_UNUSED_VARS(t, xs0, stride); - NO_DEVICE_CODE; -#else - load_generic(t, xs0, stride); -#endif // __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA -#endif // TURING_MMA_AVAILABLE - } - - template - static __device__ __forceinline__ void load_ldmatrix( - tile<32, 8, T> & t, const T * __restrict__ xs0, const int stride) { #if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA #if 1 // TODO: more generic handling @@ -533,9 +622,31 @@ namespace ggml_cuda_mma { load_generic(t, xs0, stride); #endif // 1 #else - tile<16, 8, T> * t16 = (tile<16, 8, T> *) &t; - load_ldmatrix(t16[0], xs0 + 0*stride, stride); - load_ldmatrix(t16[1], xs0 + 16*stride, stride); + load_generic(t, xs0, stride); +#endif // __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA +#endif // TURING_MMA_AVAILABLE + } + + static __device__ __forceinline__ void load_ldmatrix( + tile<8, 4, half2, DATA_LAYOUT_I_MAJOR_MIRRORED> & t, const half2 * __restrict__ xs0, const int stride) { + ggml_cuda_memcpy_1<4*sizeof(half2)>(t.x, xs0 + t.get_i(0)*stride); + } + + static __device__ __forceinline__ void load_ldmatrix( + tile<8, 4, half2, DATA_LAYOUT_J_MAJOR_MIRRORED> & t, const half2 * __restrict__ xs0, const int stride) { +#pragma unroll + for (int l0 = 0; l0 < t.ne; l0 += 2) { + ggml_cuda_memcpy_1<2*sizeof(half2)>(t.x + l0, xs0 + t.get_i(l0)*stride + t.get_j(l0)); + } + } + + static __device__ __forceinline__ void load_ldmatrix( + tile<32, 4, half2> & t, const half2 * __restrict__ xs0, const int stride) { +#if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA + ggml_cuda_memcpy_1<4*sizeof(half2)>(t.x, xs0 + t.get_i(0)*stride); +#else + GGML_UNUSED_VARS(t, xs0, stride); + NO_DEVICE_CODE; #endif // __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA } @@ -860,14 +971,14 @@ namespace ggml_cuda_mma { template static __device__ __forceinline__ void mma( tile<32, J, T1> & D, const tile<32, K, T2> & A, const tile & B) { - tile<16, J, T1> * D16 = (tile<16, J, T1> *) &D; - tile<16, K, T2> * A16 = (tile<16, K, T2> *) &A; + tile <16, J, T1> * D16 = reinterpret_cast< tile<16, J, T1> *>(&D); + const tile<16, K, T2> * A16 = reinterpret_cast *>(&A); mma(D16[0], A16[0], B); mma(D16[1], A16[1], B); } static __device__ __forceinline__ void mma( - tile<32, 8, float> & D, const tile<32, 8, half2> & A, const tile<8, 8, half2> & B) { + tile<32, 8, float> & D, const tile<32, 4, half2> & A, const tile<8, 4, half2, DATA_LAYOUT_I_MAJOR_MIRRORED> & B) { #if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA const int * Axi = (const int *) A.x; const int * Bxi = (const int *) B.x; @@ -880,20 +991,30 @@ namespace ggml_cuda_mma { "{%0, %1, %2, %3, %4, %5, %6, %7}, {%8, %9}, {%10, %11}, {%0, %1, %2, %3, %4, %5, %6, %7};" : "+r"(Dxi[0]), "+r"(Dxi[1]), "+r"(Dxi[2]), "+r"(Dxi[3]), "+r"(Dxi[4]), "+r"(Dxi[5]), "+r"(Dxi[6]), "+r"(Dxi[7]) : "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[2]), "r"(Bxi[3])); - asm("mma.sync.aligned.m8n8k4.row.col.f32.f16.f16.f32 " - "{%0, %1, %2, %3, %4, %5, %6, %7}, {%8, %9}, {%10, %11}, {%0, %1, %2, %3, %4, %5, %6, %7};" - : "+r"(Dxi[0]), "+r"(Dxi[1]), "+r"(Dxi[2]), "+r"(Dxi[3]), "+r"(Dxi[4]), "+r"(Dxi[5]), "+r"(Dxi[6]), "+r"(Dxi[7]) - : "r"(Axi[4]), "r"(Axi[5]), "r"(Bxi[4]), "r"(Bxi[5])); - asm("mma.sync.aligned.m8n8k4.row.col.f32.f16.f16.f32 " - "{%0, %1, %2, %3, %4, %5, %6, %7}, {%8, %9}, {%10, %11}, {%0, %1, %2, %3, %4, %5, %6, %7};" - : "+r"(Dxi[0]), "+r"(Dxi[1]), "+r"(Dxi[2]), "+r"(Dxi[3]), "+r"(Dxi[4]), "+r"(Dxi[5]), "+r"(Dxi[6]), "+r"(Dxi[7]) - : "r"(Axi[6]), "r"(Axi[7]), "r"(Bxi[6]), "r"(Bxi[7])); #else - tile <16, 8, float> * D16 = reinterpret_cast *>(&D); - const tile<16, 8, half2> * A16 = reinterpret_cast *>(&A); - mma(D16[0], A16[0], B); - mma(D16[1], A16[1], B); -#endif // __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE + GGML_UNUSED_VARS(D, A, B); + NO_DEVICE_CODE; +#endif // __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA + } + + static __device__ __forceinline__ void mma( + tile<32, 4, half2> & D, const tile<32, 4, half2> & A, const tile<8, 4, half2, DATA_LAYOUT_J_MAJOR_MIRRORED> & B) { +#if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA + const int * Axi = (const int *) A.x; + const int * Bxi = (const int *) B.x; + int * Dxi = (int *) D.x; + asm("mma.sync.aligned.m8n8k4.row.row.f16.f16.f16.f16 " + "{%0, %1, %2, %3}, {%4, %5}, {%6, %7}, {%0, %1, %2, %3};" + : "+r"(Dxi[0]), "+r"(Dxi[1]), "+r"(Dxi[2]), "+r"(Dxi[3]) + : "r"(Axi[0]), "r"(Axi[1]), "r"(Bxi[0]), "r"(Bxi[1])); + asm("mma.sync.aligned.m8n8k4.row.row.f16.f16.f16.f16 " + "{%0, %1, %2, %3}, {%4, %5}, {%6, %7}, {%0, %1, %2, %3};" + : "+r"(Dxi[0]), "+r"(Dxi[1]), "+r"(Dxi[2]), "+r"(Dxi[3]) + : "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[2]), "r"(Bxi[3])); +#else + GGML_UNUSED_VARS(D, A, B); + NO_DEVICE_CODE; +#endif // __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA } static __device__ __forceinline__ void mma( diff --git a/ggml/src/ggml-cuda/mmf.cuh b/ggml/src/ggml-cuda/mmf.cuh index c2a0a2e42fe..e1c695c5c0f 100644 --- a/ggml/src/ggml-cuda/mmf.cuh +++ b/ggml/src/ggml-cuda/mmf.cuh @@ -37,23 +37,19 @@ static __global__ void mul_mat_f( typedef tile<16, 8, T> tile_A; typedef tile tile_B; typedef tile<16, tile_C_J, float> tile_C; - - constexpr bool a_supported = tile_A::supported(); - constexpr bool b_supported = tile_B::supported(); - constexpr bool c_supported = tile_C::supported(); - constexpr bool supported = a_supported && b_supported && c_supported; #else - constexpr bool I_16_supported = tile<16, 8, T>::supported() && tile<16, 8, float>::supported(); - constexpr bool I_32_supported = tile<32, 8, T>::supported() && tile<32, 8, float>::supported(); - constexpr bool supported = I_16_supported || I_32_supported; - - constexpr int I_preferred = I_16_supported ? 16 : 32; // For Turing MMA both work but 16 is ~1% faster. - - typedef tile tile_A; - typedef tile<8, 8, T> tile_B; - typedef tile tile_C; +#ifdef VOLTA_MMA_AVAILABLE + if constexpr (!std::is_same_v) {NO_DEVICE_CODE;} else { + typedef tile<32, 4, T, DATA_LAYOUT_I_MAJOR> tile_A; + typedef tile< 8, 4, T, DATA_LAYOUT_I_MAJOR_MIRRORED> tile_B; + typedef tile<32, 8, float, DATA_LAYOUT_I_MAJOR> tile_C; +#else + typedef tile<16, 8, T> tile_A; + typedef tile<8, 8, T> tile_B; + typedef tile<16, 8, float> tile_C; +#endif // VOLTA_MMA_AVAILABLE #endif // defined(AMD_WMMA_AVAILABLE) - if constexpr (!supported) { + if constexpr (!tile_A::supported() || !tile_B::supported() || !tile_C::supported()) { NO_DEVICE_CODE; return; } @@ -248,6 +244,9 @@ static __global__ void mul_mat_f( } } } +#ifdef VOLTA_MMA_AVAILABLE + } +#endif //VOLTA_MMA_AVAILABLE #else GGML_UNUSED_VARS(x, y, ids, dst, ncols, ncols_dst_total, nchannels_dst, stride_row, stride_col_y, stride_col_dst, @@ -278,27 +277,24 @@ static __global__ void mul_mat_f_ids( typedef tile<16, 8, T> tile_A; typedef tile tile_B; typedef tile<16, tile_C_J, float> tile_C; - - constexpr bool a_supported = tile_A::supported(); - constexpr bool b_supported = tile_B::supported(); - constexpr bool c_supported = tile_C::supported(); - constexpr bool supported = a_supported && b_supported && c_supported; #else - constexpr bool I_16_supported = tile<16, 8, T>::supported() && tile<16, 8, float>::supported(); - constexpr bool I_32_supported = tile<32, 8, T>::supported() && tile<32, 8, float>::supported(); - constexpr bool supported = I_16_supported || I_32_supported; - - constexpr int I_preferred = I_16_supported ? 16 : 32; // For Turing MMA both work but 16 is ~1% faster. - - typedef tile tile_A; - typedef tile<8, 8, T> tile_B; - typedef tile tile_C; +#ifdef VOLTA_MMA_AVAILABLE + if constexpr (!std::is_same_v) {NO_DEVICE_CODE;} else { + typedef tile<32, 4, T, DATA_LAYOUT_I_MAJOR> tile_A; + typedef tile< 8, 4, T, DATA_LAYOUT_I_MAJOR_MIRRORED> tile_B; + typedef tile<32, 8, float, DATA_LAYOUT_I_MAJOR> tile_C; +#else + typedef tile<16, 8, T> tile_A; + typedef tile<8, 8, T> tile_B; + typedef tile<16, 8, float> tile_C; +#endif // VOLTA_MMA_AVAILABLE #endif // defined(AMD_WMMA_AVAILABLE) - if constexpr (!supported) { + if constexpr (!tile_A::supported() || !tile_B::supported() || !tile_C::supported()) { NO_DEVICE_CODE; return; } + constexpr int warp_size = ggml_cuda_get_physical_warp_size(); constexpr int tile_k_padded = warp_size + 4; constexpr int ntA = rows_per_block / tile_A::I; @@ -517,6 +513,9 @@ static __global__ void mul_mat_f_ids( } } } +#ifdef VOLTA_MMA_AVAILABLE + } +#endif // VOLTA_MMA_AVAILABLE #else GGML_UNUSED_VARS(x, y, ids_src_compact, ids_dst_compact, expert_bounds, dst, ncols, ncols_dst_total, nchannels_dst, stride_row, stride_col_y, stride_col_dst, From c7ade8806f5626f52978ed5f2d2424c4c40b42c7 Mon Sep 17 00:00:00 2001 From: Andika Wasisto Date: Thu, 4 Dec 2025 02:45:17 +0700 Subject: [PATCH 29/35] webui: Fix zero pasteLongTextToFileLen to disable conversion being overridden (#17445) * webui: Fix zero pasteLongTextToFileLen to disable conversion being overridden Zero pasteLongTextToFileLen should disable the conversion, but it was overwritten with 2500. * Apply suggestions from code review * Update webui build --- tools/server/public/index.html.gz | Bin 1439531 -> 1439559 bytes .../app/chat/ChatForm/ChatForm.svelte | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index b911b6e769e555f6244b4b8d081a62381deb21ba..8e3d997f09bdfcaae7d3cbb7c5351bde523fa2de 100644 GIT binary patch delta 1053134 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

g(C^^^^L!j~6>Z{GRWXP$BmPQsh%!`*`1g5C-?9 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≶r~s zI}ZzR7NvsOx9TxUrS$yrKPF1qEQiRd=Ko%e~P28i@lXgEv=4Vin$457hO_rICIpbFPH zB?eRY<3t8id48Dz3oyUP@PnMTv1Rq&TV(LL6O6#X^v}0A+*d6G`MmOlt6(IP8Pb9J zqAjQW)l`2t$hxcj8PdVqLJfJtr;mKwT!N^O(~yJcCP?@d$pw@YypWL9o{uDTe1T9P zFVikJq0aT7-F)4hJcp~bA_$gP1`>r6`g8R{SB7G9Yvq}vc@r?HxU6IRiO0`}NOu`3 zs`FdOYQ;ec>Gzg@m}HraOQ#npT==L^cKu7W&9Z;8DV1|x^s<~!e`dw5_-$4O3uivE zyT=^~gc+Kq!n%bLL#~BH$*`fE z4-!3v^X5luaU8qm2X!zb&8aa0e7Q+Kg|HNJV&@V4Y5pl2z&vp z)(}(pbgX(1eS^dR#%6ZGW@Cs~5GAac<}rVuR9#PIQUAK2Kj1P(ac5J;@td3`>+3wP zyvjU#grvQ25}5>54gW4vJy2hNO!fL=A3;HjK`V3W)ulC^jvv~c#@p^-RM!kl5krkA zBcJSNc1cZ|kWF%kB$Ti+mMk1N304P=BIEY#<^AZ%D_qo1G@o`Zg#bxL-Y$;FLI!{H zrS^tK8|FeB8qM*b2g%&Kny2b%Pt-r%y}u=5_sq082}ti5vZpcK=VZ^&7yPO`z~PE2 zDM+DVfI~+1jFeDRZi*fXvX=F<@ggCX(*MA5hy`d0#SwRndnM=MTI@{h2$` zvsN;(nzMFPc*dp$Ql7RAoVMNYv{f!WUn8PhO2nt6Z{?wPR~daiO@FVHi-b-esHe|6~KRACSE|*3wZ-g z`8T|nRwv8%T(2Aq!KkwKZGZ!samMRsobjAblDL~e{N=*l*by}9R2b9SzH$EnQ-uTa z6wyIAApp`CkaRqPG0-)_m)h6lu&M*V`MCQx3c1N@)g^jD=xeL4f-uoL!r#54H9(>SV`R|^{yR8cCKQlQmS9NKN?@ede;rC;%fq-x(jfLQ~9XAU}~QNQ9Yvc2$o61(3DyYsX-0A;ZlbP!{e z!AP_yCJ!iqEe$?==+QjIv|V-T+ZqM%BJe9l89|*%ZSm1BCHO-&8D99wEAJ*^W8_vW31UZXZ9_>dEyK=~; zS+rk)0M2|PmwPCiS)(v%jm>5BuTEBUX3&EECCQ2|=7$YF|MZmmae0d}`HDK9Azx9L zPvsiXnwF_cSiH-ta$#2PG@Wi}%9TUT6_l8!Go!Rvq6~i@`UT$NKgf5IO?z@OgU_5A z2Azff{>a>9ZoWtLw{E_upt2aQE>)1iN>rdbm#M};Ed!-s~C4m61p1dB79 z{{T!g569U^Sbl;`2;-tm2$@6(yMN{+UIfhXlTG3moJ9?h&t{tdOZxm1nw`-{f98x1 zqZti}bex#qO4s5(Mw-lk4AViXP7cUY?cKZGKS09W@)_rO0}23OlwD5{NCZzDtwV-8 zy!(GQ5XeIRtw1I_3zBa564Ai`bFzOkzto-(-9n`kFB0y=DTVt45qIpock>9r=zs#B zhrpfzIH){1ub-aIXBNNI&$XG=S1>C&|H zw9dR(pemQts-z_zVLKI8AOZ7;YV_VUuEu}JZ2fHMsRO?zaKDtj0`7ZImX_!BJtRk{ z?IB+o4>D8Xq_V3OE^s~a6^xl@{RH=}+6itvL6r=~sjZ^-*)ph84tj5fG`v~DvEtn^ zH@7OwrYd>on1v~1WJY4@)~^aLEN$p;^JGtZQj7l}ZAK*}V?iU~WvqxRI&Nqb!Ulhm z<_mGhWd}(GvP}j;NIekJzz`BH=qcE1h|`K|n-{%%;9q4~ZqK16? zVVVZlF!wCA{eI6*aU|EKVEBH|!hRp`*`d|}}+$NT6yL#SI4~`Qym1B3uXVldk zyMA9iF48^kG`7D|5x(_Y7=&G3=xjY?zn7%H`pBp#q@`x2@sx!I7 zT<$WTMaYC)a-AVfbICu6AVwdwX82L*3jY&3Il&vl5F2`4KY09 zIUr!T3g_1A-X@?u-H#RS+IB^jDaV2+=uMXPG)ed#IZ;uj4ze(vhUg8bGLe5AI(%t* z%%+)HOPbDQHbZ_DtLk@45EURCZiOV1zczHoSmoxRIk;r<9$Aa15Dq#JUAPj_YwR1e z(MLRu&}#Hf(mSI2kD-5V-y^xtku6ZOtQlSY4ilQ1Bq7Kih&-D<(TGWpB^yq5|5KFP z5$^i5AbTK^)fDFMkS|^_4eGAsZ1vZSvWo-%+Lw1so3#(>93gSk+TWxDO=Vv~FwWQD zN&WjLm8B=htHb1G|G;0um86hoLC=*f@yftpCC-w6*4^~SU@8UY!wJC=W!QZ<(2 zdzA8Ef^X6RF|AkX zXzlU0Cb6#K+FfK0B#jnRlD=ZUgT&WtVTv zk$wNF!UVdzK^w1)jJBD!F>O#rOSB)zXh?2o8Yaayp_uS8+7&oe?FuZ!Qsr6YypZL{ zw)LWeF6!1{{knT`(Qb9ItSo2JK|E@jC(2Q$>M5^Dxc&u+HpSnt>)qo0?=Y81yDx2tYP1iNzLYno>!lEV)NoKHJBh)>wf(^ers$^euSjGltl= znwG>Y_g=9BW6MV=?giOD4Bn#w+Ut&a&Wg=Hl{~>=K8B?dpafkT!0@;)9-&=9)TbCG zl;}epXQfpD6|%#Rn!yT0UkA9enS6zbecc_(o2`H8C^8IH!rj4ODXe3F0Z>|((KUuX z{{jaqB~c)RgviwLf<#7`7WPkIaJ&PjclYcsqdm~P{~agKHv@O{m>KSx^HsDtOYlLd zn)xC$A*M#cjLOoC3drzqTYE>j7@sRg2EzD3~*JU+Y}T%!rSu` zy}o~L!cMeaNlB&F=v5)L#-$Qrv$?*h2)<3FDF2Y?8HSUW^|HK<>2JDFVO(xe`NEL! z+!%x~0AZjE2F~-Rujd&?NwsJsiE@SB%OzC`Au@C0an848y?2G8z9!h2@oIGi$}uz5 z{r9{-7`1;H^pW|rIcSVplJB&%SLIa<-%Wp(DFoguD4vGloHId^OAnMxkQAo}3Q%5k z9n(#k1VLe$()>Vw={z|dFFLh+&LS85lN*>n$0ByMzP_40xx_pEpk)&6$E|CyT;z z*uPvmj4-<%Ww))&go>*MNY%g6V_E~7Y?QE^pn)*ZGs1v7tHlAOWGDs-LC^72Lq%2B zAcwS4H5{a-1}wV)MB)V8ag#Ln5H5e{^rcx{U-BcE(EV7pZ1F(MbV)Can1q0Q-T#jS zHa_SoICAj%sX)XBB$Gb;bg3eVDfp&HU`BG;C=ce@pvVFdW_DI6m0KN?Dm-l6xr52` z(YNN^^24HRVlyLliV}s*A3iBP3D__*Na+-&uorzgC8aO3X#PC^@WDz@LBW4OA}%kv znjKXpEE(SakEr5!+8txTkqE%%L7C$6o2cs?|{|hj0AthJSZPa37Iw# z=nhFS5#0`XFO{bPGTWekMj|r52l(CWO$~%L5+`B@a%s)))7wXy!8DePG;0N6nwRCA z{c;Y@{>fq{V;&nO0fZKcy_q0TDqy`LbtRc{C8(S!6(Xm!HIrDTM2^U@%X51$dzNCg z3}1V6*_{OPV3zv@iUNPntt_TZV$V`{|2W4p5%^Znei3&C?6yWAcdaHa*p2Zmt5ACb z3Gk;i^#m9houLnfXODc|5EF$CWh9(^EOt+FtxCpDit8iVQ8GI1OebUXQJ6Nu#_r&b zX}%J*5VRbi1|^FYvs0#6&*J}?=&qYk%Fp!8iTJo2z-7s(nxB7ZL+w`aKq0z48Y6PM zjnhTYdfdrmJ`}z6Xfhx3AyVE3%t&&8$%oPa$x>x@!64bZzeT0@k!4roes?$oqE2c4 z_^42!rs+1o0JG1XgsABeQgm~R!3eR(^dzic6Cnv%yQc6s2o1);WBAL*#RiwAml+N) zAtRZPI>fUK?b&}I|IB0XrHFQHvFM?(3A@F%g`$VN?nWeGOT|xvn9FA+t`?C?gmbpY zyF?fxUx`b^!_B~VH*3A80i-LA0dPF0V*q`DDv`jD@ov*yFdEfXfZUV$S3 zM5RKjoVOuAofYj@`EmYuz#l%3shPV>OwG74`#4rU)rfVz!#&@){WRztBE?TNMWyrl zX;38HWLm>9dJCg8oNZ9gIQ%q5qrtmp8qIB5w0=Jj-d;;g>>|x!U8bJ3?mlpzB|;u_ z6l6d-x1WDg`?a`Xmc zti;SDW+OEP`C%tLVNdFpg>ICEo&h`jXGeT=vfMrA@RQ~1VF9>QamVhuLsFWc8O+aG zjgCz+Z#8%|RWdV&KrcKC<_?jCJPSE{@PGsbW#)emuFRm-%nZT-Uc3OVyqiO_GDHkP z_n0!{CjX+f z3BS#*(Ti7GHZCIDt_(U%KVF14@q~#!A9{cC%73?b+GscEEOJ*^@MtkYiat;4I zaQ-6C;20K0H0k=8xU$Nn5T?4HaU!2#9-o?7-mkyMyWdaXe>Mlv#(w6XonqH+O|j1_ z+m>Pvg+8|fihUJ4$x-Y;Fyp-Fa+AtMptqF=TYdd;X2 zrQE9`%Ef#97j1!bwJ#*ytqOZ%DfbQOyY`0UZz=bA<)D~y*}^mUNPd5P&e(_daFw)? zOgk0$BJ%wPPawWu-+`NJZD;8+@a=zt)0LCUp3mjm_tPI1xU&A#W!`;x0SzM89}_tI z=PhgqKj6;zUVWqdj8DqmIOx~c<<^st0C*rH+F)$rD6I7s`({w-rF;Wli9|l1-(N4i z*S!pHqI7cMQ}X1Z-n1J*-Wi8r(C}`F3n0wF;sV%&Unsg1wDH{TrEr@_aoK+*yRwz? z?FU-~o~EW@67CsX5#M+Cmo3C#zuO z`>%+Dy5~1k@g-gIY0r5v5BGmz>HS+g@rxq{=D33^+D~?9IlLd^=pKdng3uL{C4W)& zaid)5M#tJtRegWfv+Da3kj)r~RQ4x*Is4OLq@7>BHkhtUXT24zApUsr(^ROxQnWw^ z33qf1({@9A2^t*@fCcK5`%SMo=bk>Cjyp@x4Y!O55?4}hB!M9Y(F1=5xRRE|N~$Cc zCo@XEwl^Ry@A+kwe*GYu4ML;)?%K1Qt@=<6Eb zDB|PeG`>0?>W34+iWR`xB>72RaqzY5%G(5hMfYNYxixws_V8>Y$&eN0;BMelK9*UU zLSKW^M&v&HVb~Roy{>hxQtaS z>J$k}6ojtvw$bfz4_e&Rg^O;#`mTEP?Wlcmynqn=bNnuE!vU=_TMLRWFL2|ZA%3Qc z4oF0?e{xl&E_Y!>P+T}bU9=XOgAq(2=AWwlbzX%$#aau)>e_z-ZSD3!6`yLKO9Knz zP6Pd6D@He5rD}LVRLw_XzEB{^LQlwvhJ27ZX%zb@V!}H3TZIUBw`h@6Q@&2`{Uw$=B}(Xqm77@lEue7aQMr7mn1q zm(nu&7&ol%q*;HwlU7HsYtahbf3Uh(Az(3R9AX40S|dCghZO|%pOZ|9Dh7(SNE_Hp z@NG+y(4q)Xek&!UEBR2!5g4JUUz~NgH+i@N{7ihRAfB8`7;9QQu^|dMD5q}cmW&0P zvj7r$~U_A@XYQov!gXKF4%7!><#F*Iz%79_HCT9 z@%$@kPG5#QS;@}|1jjYg&#KN%xUGGe!LV`Kom`RE=_{Eg)a_NjHBZch)!|?vr!uDF zSi2BBDJy@Q8d^}`{+j*ve6WaCG-%{PsLOW%k{;GwSwVW1H)PT7NKE zIuh!-SO2Sklm7L18O8Y5*U3WCb15W$T`-+kegTtXxCbCpcH)cd=rbHd&%{^z6{0MP zOr+pPWgLWbEbK$e=tc=c_~eQ35G`T1&^$Z_Hj{rjdCZhN1~_q+$0Rt&_UA$vh~$hI zvy7jxfFEQD)r(7tENV43A~4DiQ{>9E03bB?*kF(c&5pF(!b zdN+RyXgOi}qmolbQro9R;;DaR zNIr_TfrvT}K&ztxSEBkg|5Ca>dN8~^4oI7-=?rDa{(yMh#uaz%ex7pt`>W~^GM1h$ z;hXt#BJ&>OLT*6R!_dt zUH~~E;A_hOIC+E>e8$jC8)p6<6m5SNm4**xXSF?lFVhDmZd@?qkT$va+BQS)Y|a&n zA7pGK-TJe`%E4j%&0*!quzr2?V}IrG&l^8II<9p$EBv+beCzSfaqao4{Mvi;``&Tw zq9s3`ZT*OCzljebfc@xfu(JPn_wmjz$F&iv;-{;6Q+bjpu}Hi~s$qk2iyME_R(G&? zBgFiQ$J<}O8xI>mYUU&Y-epuB^m|u}-@}^@E&vN>-CleA-F+63L-4OS1S`Mmu{gw& z`$L|Szh=+L$_xKQ>OQ_`oV$jk#6N8#`U-nn&|4OWi%Aq3xO(=$+6N2GHeKgV+gRh4 z`Cj`V`@M;OBA<|9F8mnuUW$M9wb;&H!>gI!|{{j9!bMA)L~$R!pA< zxjy&8C-#5x<}_D!s!s|L%~}V=a*z>D6ig{LSU3xVk%EBPCQI`3pap;Tm5F#h1$GI% zR$|V)cbHfX0B(ITq+Fa?vLL$9aGKTm8c&DReIgh@=W<-p#m7G=LZ@ly4pa2F5)OU9 z`xx_4awVS+dxHis@Nhjd7-$D#3V_iIwg50BwFL~pmy9GuoWMZ7BJ`v=#V+cntbC4B z>_Y0EOWiZnHD}!}{eljbInwsX8usy+o1btpW) z@<25(JgEC#>i)A)v91K$_#>!$Sb4>#qY?fxr{f~~R-MWWRn@wSi{ZDB5x;e(;TdFQ z9)`m5alfNhX9zJStp*T0PAVzF|SlNdNY+7|hVH!9IWWewL6 zc%cwmSA10LMHVW50)oGAkd(Hm8Jc5<%QIE(dOTIq9@?%Wa$AZ1FfT(V%mTJwFMuXS=4h# z>e+UPVXx{3ro$j{&ODupuxjkCdYo~aU_+v1k>7Q5x-pBtjlI001kb;4;$ zQ>z}~|MyXAA4C2qYQ@6dj#_s(j!Q$WJB}P8YBeYNoU5N(U|w#*^^Iu0k)nC5EKl@` zJ?~xxf<I#3O_n(E<0M{tqG|df4uTAEnIm}%iFJ@dG&&}oWv)mcGWbK(|aIZmrOwHKBlN~p)D^;q- zTGyA!D;V!wcK~IuVF*d}wW$Lfkh${Cu$s^sihFwZRNVH8Z&>E$soc23*;B83s8z87 z&&(a>nJ&(I@`7iM7d)wNlQV9DJ!CkMGa%^v;o{lTNh6D@JePXUSM&AwntS{`csqY# zftS~}m!2%wc;ixkQ-71%ugF5}LIVpWfu*Dx9^e`iJdrJUNiXc8-93W=o^#L_ZqNmZ zJ3wq#j{R+d+Ysm#e-uIbo+;xi!|WBl)EQV+R5?o!6;6;ceph)H^PAKx#cJDDf;WX*M7i*@e zDGPPS@|rvc`-Cc=GeBN+5u5(SbeYXH-ZfwmLrJPZq%2uGnpwR$ZA?x(ZfAdWSK3f( zkCt9?0IK(66~lrT?_Bq87GEMne9h>WTXom;SsM*W+Ztl6-GEvOb z(|))Rx&~0U$@C0*ZPUX=zX)1kq1z{DDJTpKQ9n^z^t{u z?W}zJhpWdeZWjPj&^isiXSxFC1XHcBN2e0s>pB6%TQ{>oDIh#^N0@(dz(yScIz^|G zXKZnQuN7uMx~ZYWHAI4ovww*!LB^OBCz@Iw=Ra`d5Ghm_a94mhz>!D}2+XRuebHXF zNMXUMrB!J7YaledEz>wR`nzqa{9MwnoJ>(3gfhR-VBOxCZ3IWNeQM%d^oFHD&M(fHdLo~#{E%}$rNQ1ediVPuqv8v}7mcnLu2f1kP z4(s0^W>(A6l+cDHrS(h|p^R+~8LMZ7Uj|hIymAwg6=f-N;u@CK)k}wSBd;s~&>&>` zc-w&^P;D`L7-;>o?nv@w?2%LyBr0Gimk?bk&aO+0rZs=tCYayOO&#(`fgHj?-1&wc zH3<A zy+anV>D7jM3~eH%@}{#*o>#t z(?&BUcq)U$FRC+m_lSZTZjE6w5Q(vuyCJV$ub|}OfwsH6z6HXlZILK~Y=zsE!|>Wl z^LKyd+G?78!Hc!OkUe!5GF4FK?`2;>&W0i(x|g8|>^FhqkqxLDb18)ZmwR4FEk|YN+Pz);^W0Cvg#OruFcnRCcETYm94TP9h%Mz;QQlvU%92I$ib7L@3k^kT$PLzM~ zA4FaCAEYABXi+Yi&Bxben7u$zm8nxQ{)WywjVhbcX4U0zmtD%J#RAj*J{;jfek0oz z*@|ZAcZwa|jAEKP9?ka#@PjZdYW%&jw5V?X?wS2-w{72o2~HsTfRHRP!+UBGSk|pg6%w88_sfBog z1G^z#xG6$CH3azm>5oegD@{8!f&&vtFJrE8N^!(lHX3JJE z?3l8Z6sOns8oj<(;YoW2%|Z2I&{uCbw7dAdzzKhMA1!=Og$Gh|wkm(9!QD>xY_jm> zLfA06Ea<7!Q}DdXYbJi1&zyfjW@o4*5lo}5`2%YrtY31?GX|iG3AEOEh3cy*u$<1W z?9Z%bm5NQ-#DHm|=u0sP@fAMwMX2nTgL=RI{oB@(L#r_W$d#SIn!}lbz}vtq1b=4j zJC8q&bKtPoIBj?BlRB&wjb*Mct|5pSnn*o^cF3z+O{Mlx+k75rnWW>Ao%@ekLq;HFe*?ottNR z^>1-}bg*m%(R?z+Rg($7hS@D31mi**$+5oZ_O0I88|Boh>Of+V2| zQbJ)D*((ijuP=WB$p4Tzs{$<;VR8AEIgaT3haJpYL+}}5N3g_)505bdzI3lJcSaQi zxNarghf)ZA*+IRP*X{OykiwcAW>^Kb(bkBkAebPE zm8yT%U;3{vEW!McEqU{w%P*l$vQ2U?AW_-4?LT);?0sl?qVG+Aa2@ZDw{Wk;aRcS) z%b#2+)YLCUWo~d_@h86)m0f&jMY7~{1!xq!4TQ5y*m(Ly1al1|kCr$!_MVmvhg5Zd`s>UtP9e1E3;a>Bq9wZ|?uE|M5RxEN zP--CX6ubU^?p7!XLf^ufTmP3Yk=E*OAr0q7O~#&@EJ;>6WqA zUmx5^hDr<6{-qd_ElTQ{s1WOCR~(>s0E#y z#)9BEZa=+yOKVk#Lr3t=Ij&;~VbMH7CRF(w_!V;w-)IV6{#J zoVjuR%dVTb0dSo#Ussqcl~|#Fde?1DI*XX$fFip`12Iq9(nk`J3^+as3M7FpGAxgw z$I{9%W*hg)28>Ras5{puv=dGS&xudCi31XUvK1b#Ai5Qz3s@BRQY-%6%b_C5f;Xb> z%}ab9X3U}zYgz)XR#6FrP9kzRXyT%yOVppo8jd{GZR&iAp5CrTG=<~o4)CP z@Qn^Vu5y-n;c8s)g%R^jjjGUzzCO>qM!oQLQ<{}F+3nSk%A3Scn2*YZu?xenvjesf z68tzx@Pqo7L|9dV@72cztRi?0LSL&kK*9quj9V}U_4>;*2FNjhZboq89-s-{=1TYto9>rYBl?y=(9`xn5B~BB0 zmBjBnLT&?7AfM+A+@ScID>zf_5XY_C7yYbxd0Vgo+jh3O7+fR*CU9bijhd6&w8UmJ z+HM(v-O?!df`1k@FKu4bw=|*-7juNv8Hc)EwD;qgXd_6a9 z$Q3DZaX&(&_HpV3|8t*+O4dGqlE0qkZ6_!%d91p9acQz24-KNxd-+lZ#wdbCP|`WJ z4OxtdbQzC9k$hi-JE5Rv=Q_>zzhV#YpuC@7n^H46lEH9L0FQ0N5Cj3HISdEOUkbo; zh=wyC5JQJR3=D;rcC>ey=t{v-G;dHG1}|$m4L4}Uv?}>qqxY!VkgCpqKGG|V(DwoO z{*HVbV71Q#i<4!xK95zgfj5HJ(79{952AadHO5 z{MA)ZPQ*oVVf?n;gHQQ?Kfbvfeft*WLko9MfeV=}Ya=Vd{3U-~t~@=c3qkULNvPVX zbbQnTtsr}YK&_~=3l6tT(G^j7V_JT6rt?k0;9!1nKL6kz?jl8KFW3BhO$+CM@VhXf}C|e~!y;L-xdz1Hs zFb=NLVbRO8P9ZxewwAe33R&S>+e%8v(Fao_vn)a;8Vs-Cga*Q>>}yX<(54zojiZwr z6KuIvh^{?AO0?jAP8{}hR;bxpi05dnYf)7GH)3mpnN6&1fBz;w+X2u#hI5!34l)$q zeh``8)#@4kZZ=L||GC3cfkZf7eQ^`ZA{~Rr5&cXWS9G1rPr;qfNIgZ3=7(-bO;Js3 zr^hwN&zvuhC&edzzaU!$7DF0o#PCtE6}T38Xv$X*WATcSIbf0yXgyN>^e%eFe3 ziw}${G4aBGt1*LOtvW4FYOpkJ>U0;Uo4N&fQ-=n73W$5{dgiw_rrk?;(VoxpqU}q< zWB>5^aBpDL!ASXNKh>2iXEyQ&p5r_-e`_1741#bYQ&-a|v=5-rzF5X6`_rWZ8bz0H ztj!GKCoSUm56)zR>h86{8VPDz*+TA{FOj6BT|ZcVu|?Kb2*|R|WR=L(^x?xxuG+$1 z?p$vneeE0QFc5)?;$7TPwaCL0DCd{n&>@;BMoe4|%W$1sDTe20LE(JNBjP`5J9O6O z2N22YUq#({xW^{W+VZf@AYZMAnBSlVWD0>}hxyxo91-#ioIzdpy8h4IonKZ&LB`i6 zfGH|}@veQd(|iTF6{fQIU3)Fd-@+JXZ|9@R>5|8DSzd zc!1k<7YH_XryYI-TBlu*z%>`Svgp_sLTQFw6FbxE4h8eynC`FYPt@}Z8UlaIXT+}v z@-E{IGILrIoFL^YSlPvp!N}&Ve{J)zo0&v^O2a#h3|FbPF@~+8e{RZz9Pt1mw7ZqZ*d&jRDAOaf|1yJxesk|Ik=k!%kCw zlwM427=pcL`fsLq9VR?{8@$X3sIbbM!chZWzCkI2S7?`l!@ab_70d%c=rFOU!Em34 z!=*O|#_2_{$o z0j1CzX!hPzn4o5{DaTH=!E>j|(~IGM|C@U4HawSK5D)g$IpyvaC{;%|BCk=28@>28 zhc|kTxXb@q=YOy_bodSD68CMQ7C`h!_RpxyGUAsNuG6wh;61-5upM;lVG3VyWN+7h z#uZyfW-!wpyVh zFF105PdtRC_QlMRqY0EPbZoVMX}FX{8SZ3U>$b$TPJEz_zFB?SInMY&UAfD^gG)&7 z28h<{Z|+<_Uc*Vh7~cSJeSx3QRt2(@Yqh&VqPL>v$(2Cp0# z^bVJ=;N08J`P>b!VgQWBGwQ!jBNEG^jGUieo00?b`uw?BNak#$KN$LCAI2qSZ7l-E480HI#E5061I^{Nu9XamL=*!%-&?cigw2n1KZir-=ID zq{aaW4um*n26QcY($^Vq4;Z^RPrVC7Mk{#`QbzjTLC_<-R?I|yinAQO+%s(?9);a0 ze|>@K0uZEjBl5G5Qr`=u>T*!%d15E;xx*Qh$=jaAkFd`A{!RT3i5IgC>V+`p6C@5d zL#Qw?X6Qt~n#CSwpn+t!+Kh?l05-Ah0Vo_y#~pd>gFErgMm+IM2sJGf6`liADu`Z? z6xY|`eK4JX_3HC~N{g?gsmY|iPycBHZEu|>PoP&qeKqvK!Y+AmbrU( zI>CIn!@7;QX}4UhJYrdNnevPc|DUG*_RFo#-x{ z?}R1FLFqR;5{256mTZT2UMe8KAr2(VE~cwB*HpfLz=hLfnWx3mQOx`$ei?^vah1rSZ0Vjt=Y%c6D;&I=R=jp1NTA3C&6t z=7O1jDC6Wog-}aqP(V_meKWvnFPLK4OXgRU%x$=W=#;H!Zf&N2$7vIUIV6N|S_sjo zSO}92_|yh7Z>F*3{yqb{?Cs}C4C7OJxbz*)xcoc0CsGeIpi*W?LuA&cCd=Hb$IM1B z3Ud*7y8*Jfi|+hy?lObBj8BKhW_YXlo8D@F_%o3SkGD2!_;pFbD9%dC1+@a_v%A7R z3w4KdegZ?U24zyb%^Gii4T8wb{70sMjG0&FcNVOT2;o7Vt?a5kW%3FZ;Fh+U%PvEQ?dk` z04nNSczv=lRA&q<)qKd1;(~r5CxTT1%i&+9gCW~CdJh2U;Pmu@r_2F9V&)+JNGtq^ z+H?v(BHZ7MxFaLBPdP#c49N&D`2CK5`~G?9_y5@ozVDBY7~eBv_~3`whYQn(l!`R2 z!u}zOT>B@u-5z!Bq_ltScoFmsYfdZk6tn?)u?fPl+P2f4Ct{(alt z^}~ih&93D?v$C*3e;Yrf1uDZAR3$8Z0B}zi4vMC2pZ5Y@A?9BU^*a zq)LlK?I0)+isEE~uhR-5s5an#-*GjV0zuCF@s1tG@n9xiK5oqd<*mW!Yq5!Lwb)8c zEiE|CQ+y2RjuS|woL8Vc-lIz(U_?EpW#}xKlR#DEQ zxh{}F=!IcjT#S^C<-qSiU`hHK{crZZwX3ZoS^M+MufW8|BQnDGgq0ZxT4pWMA_Ty8u`RNZHs2 zs2+?AAP)sSWt@KE9Kr^FpMe-M9K(bxz4vW9a!FbX6MyX~XtUFJqPC4ZGSSfMZ2 z%RFDO*4>OR*eKi*1P><2;jJ9^Fy}J&kB9$5hq*DXVpw&a7v0cH%uNW#?%jiZ zQ5-J_@q#tt%4igFk63l#+-PP8XQZ+KWfaX8(OtAPEPePZU=WbceJI1BubAV(AvXC> zQ*Xu0v$~IAhxM?3bVj)cNSa#YXbOHah7O8tqI%@;OIYFleT`7p81H9~pMDRIFfof7 z-#fhD(`upCA=rlIuBSx=^>yJS0Y+f*X|vk73%UKA;x9D*mWG{C{U$x~sf%NPN%{y^ z1t#g*c#E`PQ3ZqaduNb7!p4VGN;U1KN8IrVT@V<7*7wDKG)PeEZ)FNSI_?3bFER(# z${S9Rdr^JK)66PPGZ$h5U7chItN~YNtN~QS$UQIUURLqdss(dM+BAg5cF@|_m_b(o ze>EON`({?*1YUNFM4))tG>ay{0rLi9JPb7@@pVqRkW1Y0d-rP4#F*T@zyVwLqOg;W z(xXJ^>2GL%EGCua*@_dO)+3I`3dUn~X6|$i_-2#rg7BjYCKVKoOIsW}*Nsp!UWw7Pq`x+U+I1u1b})GueihZkIY8#8lDKQL#P*bF2A zn0Q^~*{aa|pm7Zl3aD-{r9@Gbygmjhpj+MlvWRUOgK?XoG4@ofwerq&7)(dlDe6v zGM7hxwW!+`Ba!tHOYL!bbbTl4wRdG;tS&>s-FEnw+;5&EnHUpQTt%I1hfbO;eOwK} z#=aCx?5+c$1rp9$nT>SrW6U5HQi?ILq6RDk{rvelY!Q_@OpwmtKbb@ArRXs!1CacH zS?7HD60Ch8T0_Hl4MAy#HI%VFXngZ6%mvEV;4k~&I%%(L^__Q0K|D4}abkCL08y+wS!a9Dw?q+3UbSx>XD}cHEXh!0H zyLTX`I6lsK#tF!9ehD*SmO}4SY;%0|<%>XgC*iyu9{N|clX=ylyZoLyh9lAR87hj3m!VqgH5VF}5MxfqO7IVTw6rl8PpSI)jM zZEB!==Vj3jkX68e)4v;M&@dB%uBAkOA@r~(^q%Su*Woe@HQFZyrkB?pBTRbX(_>U> ziUFkPaBpX=;(?$lXanmM;;uujqS0Gy-wuBbCVE_;pvQrJD=bKEi^ju55G@$rA^ca| zr#;LvI@K;?+llY5^Zph6)JbB3`3L>;oh$GlzyRXtgp0)m6q+wx(fNjEr$ya=pwK@= zOw3fm+W-ORxA1yiQBX(J>?NB`YT~zW%2yv&SubIr%U98h3&AQR+HoIJV}w#b2?Q0( zt|;NBV!bCTEbahvXgD#y5*L5l5+xAj&&&(>hj64}MRbJT0*p*?m(&2jMkqnpmk}zG z$7meYRb5=zMb~C%>q2M0XS1(=2M0=Vc5X1R)hohf-i2h6lQJn7!}8?<81C(PLY)#9 zXnXKz+j&yaukz47C`aTIWvo9&SB`^jR@ZmsOz!kAD~I@D_m1#WitpPG(*{)5?K-7c ztn7WY)DTW|m0EPcvm~;v7s(2hiwWXDfIrR^C`7I7e1sx}R4TAtG|%aOB6Si)vs@RV zAne1YkN~2_{%uJhdY%(Nl0F>VjAG1jXW`E#pTG+%fG$c=(*)wlhBhRC)y2_tOaw#) z#};xZA%$;6kV!A8wEvoeijU&^(&-Vt5m{5}UBUS;&-YokfGeO%SFYd}7Eqj#iPhUE z4peoG?DW{x+P(AP6hkb3K>vo_ejKZ|MXi14-gwQp_+;sRru11*f~$7BtK`9SQy~)7 zyMPeaGzYjhPGp!>io@06rjoU@{6*8t9VxnW#+PNBaxZ{U2$B1iFa4B!l<|D*OmAjUIu`%;$wExnjmHcho z3l8DCDI4=SHs+uL59sb^Jj0*y44=k#C%6vN77L`0*V|ZDJXHW3s{#OtPNSU6#CNx( z_o_Yg?`}f!a=NQ}Jc>+HlY^Autbb1)f{fmUq&ovujv^mQ?3F7Bqq>@$p~u!q9zF&# zHqxgW+Ad4dSf7}Gq>)M==PS~=k&V(o>^=o`l!_@w5a8 z&YRQH&;Ks8bofnZ392XHPe=abhbd2ccV4&Q7uSMf9(_%J%VN4nVlRk17Y@gz(j1HZ zkVFB89(SJ(?_)a#DBH=s3b`Uwv8MSU#_WI@_dhuJIf29J$Ye?8*~+7c{`|e%ZNaJF zp9j&MSHtfgwVs4c9w*4?*#kcF(7KP!_}QrLah)5q)7Cze2swUdYiqiCL-2B<+b&^xUG%_ zNjT79wwZun3SQD|On9tJ#RwZ13f=1{zqjmF<$wMc9^JrZs7!u?v;gBF1#MmJL@PGU0 zi0b#7L3A;XE{|Q|i!=1G{wI9#-CKOI9io5#7qdIhGmb)IA>j(JpE52=uq{VuacRgg z@wv*r=@WBp^p1{@$kszrID2EF5=qzfDbsz!O@u#;{_wd~VEW$29-l;38>R2K{mKP# z(CH6C)5dd&@n(;DbKKt^qDej7J%NkZ7!fBo<=GoNrcDYa>zS8W^r&* z=sz{Pv^5+HdIwk)m%9MHkURrXt_I1(g5!7!6$CC(`L8mggDN*2rze?rK<07c`j2;$ ziR*J@KzPpm7|R8DOiWc$o{Jr*S|7QdpjU{0L_L=bzeaC;6ZJ^TNEi~+hQrVz5GE0` zVrh}qITO{6svF#H_wh*((D6z8@=2HYq=ZPW?M#I7N+Hid=7mp6fjs{_$n$VF!Z88< zM(1mhzfs5-Z>c(6z_(`WG+R27<-O;tJ|>(3tB(mkUZZv~Q=yNO-4ywfW^@Q@Ys_SS zG7tBEBM*92G8(`xLA4MJHz62Os+EwRlR>F}P~rzA1oOy^#fKC0SC7A|HpWm-ag5az92^u@U~EdSB>{T6 zfoM+~F>_ZIrOq7lA`{mKUSA8$(lTCuEBJb4is4FgQ}l~XtEVo;a4F|PpU5RWFcyQ~ zsh}a{MrX)&0&a9RzbMI&6Un8mzS0?Oc$)n92xGro8kCPTQA~xucXs8%u`1Sw47QR+ ziM?|wD#rDw(QTeTi3(5uN%NhoZmvPO1D7Xh%waj%CqV%n9SB zlWWn1(r~g7wsMd#+$1Y*M&_k7eN@gf`jmu@<5klBZ=v-Up1Cvt(5Ti7qhomP=;U@!tKGfh*o z259hyp(+P&mFAy5h7fM(_mUZ~pRaB)VCwewuNbk{NICT9k5~`~op(8wUd|x?a+^Wa z(6T=m%=@h#>cfA>g}1067B;1bpngPej0fkh(vsfL(+Fc1HF$z)5p|6GTGD zZv%mWM9BrHM7{QAAN!T%OUFO?y-}t9Q;L8O&}v6hDFV zFvayTb;Yw%V))X!rnF3ehS3-3n=WR5bN~!zNDpP-K4D>Fbu~``WK$%o=*}DAUPSf9 zXy&s`d=}~JY$|Wyg5dImF~}S~1Hv12ANQYs#9$HW1W6f6y!vmU#NTo$aVZZ+L^I0x zLD|eFt*ut4**n9eHV3pO-juY)Fx(VD6~eECMZlgW`wpdObYR8f<45tA=|hr5Lh(pR zxJeInC=eO-`V77gXN~*Ke*dQj$B**Zb^+IA)~pB}&$}JuQrmXM{d+4j9gbjtz>=DO zda8e2cs;(;_b}xT&Xi5!NkEW4xf5d@X@{fl!y266LO1>F1!tLASf&UTH9YV0q|}P` z6lQPAe2G(Av$Mxf$M|mK^zvQTw=yNIZ=m%d=H_XVNqE(`Gc5Z4)c+$!HXDS_Zp$9ND`O!EJZX>@I|Vcp9KO zoy%y^z!+S{;4+m|(QWmlz}X1`zk4pL422-^1CGNQ+IK(p;(n|L6FA~T)j-}wu!Gsd z5nuysj5|z9gFGTATlbHmIR9{a(5zdl4zOHea1-`>0n%qX zcx}bSOzUw3sO5yMm*D3<93)(S6!RMw7z-%sH!Y@X5Ba*xe+e+>Bh<-P_eai+0AS~M z^$u_o=KeCA#;|6hxtGRPU1qQn&(lil zE~?zWy=`xQ`9foSdwAA=9uA)m2EBocstZL=iW&+#xTMhsOTsFzK7*eeYVe)aHk6DmMHk}&Z4}6hVUocJ7FC3iiygOf7h7n&Q{~Mf?nJ0m?6xF&KCy5^9E`Oq!3|$1L@&Y`gM?ZfQZ}0m*U^K z0E@Q*x6ngyu9?=0(u(%AjKAb8GxJy;{c~gjTN%xOZv1cCYS4RRhcpIR=_5M7j7#CM zxZ1?ze)ik3j1-6nRF}GUIm+zgA3>s>7o1*v8)tKeSa>6v{4Phk(d@ZTsP2e>rRpLm zG1nGfK!-Vh$1dHwhp&;2PYY-k*dyj@Grr$okL_KKH{5%21rhWhPY}udfV3d8f-r6+ zD|NiZM}a_czC>sF<2yV~61Pwp2ZEHwp;#HIXJ6nFpaN_`(3-~~fawYMlrNO`TgUJ;Lb|s%EvQH@AG%$dRixH`GTH&^jiIE;3<{ywV0&~S!~|Z z{`}jZ6aam$n#hajQ>>jb!I4I=B3BBA_t|GC8M!MkS_%oTdIW}N+;IPiT0>`D3u_e@8 z1hnLtxtE>NvgOms#Dhv)ro@7-f_ZB|fKB93$Zi?Uyk}!R_z_)lN;pUb3ldj2L=qvX zg*|xN0^U;OvyLktG>C7;mrd{=zmk?Q+B)o4niq62Z`iYg>C;1EM3EkHW)A(vpwdaa zIl}P5|KsXVJlQApg(-TvWe~~Ouuu?xsHQL7(r#|_U(3IQap4sm^2(Y^H*Ytib4z0vVwT ze6Pz5^sOMPSCDR1uiuG{q_Rk)49E$U-}r+p-%g=J{0@nL7-0uZz*4INw06ON7r*n! z63DR{+oR)_kIkx&M3_!r(Y*wHygL~z0z-d7hIUNGQ; z0T`EPJ|T1giqPK#7bg?I&82XY3Ld$4;_mhOa=oS3y0^(4(wwz%w#cOg(xo6C9ldJ$VfO!W^ z1Pb6-fG!wwBK!fQ#3vXTEK-gSf>6+m1YrmTfn0pTw^8-PH32rbWNeVZDHNH6&p958 zwRa_}=}Ok&L>}wcB`d!>s{Y2xf8kbmS9$C&ahkXUkHs=YKk-}_JJzUwZS6k&J&tvOIC&`X=jK|h7U}&`y@z`IC$8O7rcN~xHxgg^)Ja&6BkL`_8Jocqb z=eF=zH0F6Mx|HFuFK^0Y@y+0Qd_NhCYr%ubV@dHAf2Og4L z6SjYZGvTVNMv;a`o&X{86TD%7XqIAjZ@~~G*AOll6v<~Qhv!CMQI0t3HK_YEj8kj^aNLCUI`; zMHn(PuS3?;A=}UEhYs0|Q>+*EcAb`QUBFS!9AhU^70}>ud%Vgsi%Tg26Lvy`s^= zhQ@wb#hCdmR*b<%tuImQnf$`&Yg{U}b|1;h$APV4Ci)~Ar_{r#0`tTLkD?So-b*iK zufz}G6xb8xn+m%cL9nkvW#IQT$X>(~2~r<~uy}NTPHc2^XmZ9SM_o03Sn898Mdt6N z^b5B!K+Ce%zH~)EvdJ-H{Bv^9DE@$w5*;+f*-j|7i%jLOV-x+<{$-LTr|ncXar|*K z4C9|OB+22&!BgO)Ns>XN#j%yq-}0MzJyc+Khj;sUo=1T@ZKI?|ZZDMKR4p!$w_;S} zaYnvN~j&B=-G(BKgS8>M9WB3ny(lWv@8tRbA#u~4SvBGBP$-4H_Cux{I2EA zS?5@DiaF{QpCKck)QH|cf%j8sx;!U_VG>Oof$9 z43c&snQ$s=S8S}ChUDP=P;Z!@EcW*rpQKEG5~xYSv~0GtDf(t)60gN|-v_@BNy9>- zylCeduc`OZAZ?kV*`);(2OjQf&cjpGd7Fd6HF;_eaIGw##d3B zfqROyMH?gyHWt;M+Y|U!r+c!W>WRxw?SmXpxjPeHLNo3%%n@{enZx5};s<^Kh4UeQ z?E5~A_#GJKF0mm%9}pL&RE=6RBN0~F`Wv4PI};h)7qxOo8KG??zKm-xF(}))Bfxy) ziaUzt6Afr0a!I9&#Tnr26Pa^gs^^VHTzUVOgGz7^29OY}tpHvpH!k*r*2HYiXVP3H zCpbkjMlRuu{NO2_aS&LNaE*o=9D1aGVGZbWX?Avquz>x>VD?k{0LbCY+cm*SHQNXE zAA&1m!p&00Atz-l)cWu?Cix(MK^#lMGh)0htKW_6<%8-=?yU{*a=<89ycxV^@E7=2 z00KmyPBGkvWA0FLrh|FT7w{{qjw#}S*q~thWjI^F7;A7DJb&X*#M0EH=7WfT=sM&C z*r^m{LfoOTZ>R}tRIfg6J(0S*^-M-Kael>#v8Lu_$TVKx=n7hR3$x(zK+jD{>=;fg|ZTW#3jk0tCA_o6t>)em;bZts`fehtc49 z+uB}dAPSrdk_fIN`n$lP#R@Hd%EyEA(RC`IlhSP0z`x>zb=qq6S(%txp~Fy{UT~$+ z-W{m($!Oplj=%$H@A-&$f7e>V4dq}S&JXkR(!JOs=c>zXo95Wk0ej#&$)vzgc|Zs7 z3VTP2ep9bN_C0y-Z}guMI$?kgU~<+!X>xh<+w9l*0lh^;9% zB%vGudsa+? z`?wA%Mxp%Z4Td;5Fj0nugM(7(Gvqsd?;g0kxRifl1}qoGTnfYZX&Yxp-G7?+kqP8d>&qnKD*$MG;G-g(ZM6te|@5ZmT7Z?Irs{R z^JBa9iAQixpOX1dvmm-8eeEuy?b;)x?Gr#p{KJ?6102z7i0={4+7YHz-tS$^YQW$w zyyKDh2dycemx`XIZn_E|A?SHt9GIZQqC;H*`7CWXu4CwPuPIm1mRyl3eITM-rWDLRUMS|7mW6uQp1a=I1vs?NEIf_1cqn^DC2Y(?qNajW+e80 z2DOzj?=sjz2dW;8c#F0qux!@;JVw=i&PdzDcwNsB$PuuZl2x9;u2{8%H#;}Dm zG!CT|NY>aVb@=r5pno-8dC~B9BZtHb5!cEi>@H#KI*qH#N}~!V*y_L_2=5S9C7HUd zJ2Stt>qr6}QpKkYRxeu^Ui*M7Y(jWtdMk{N1W&Xf&{tt@9aekEgwdU<3FlCrmdWmI z#89w|Xoc_z%d&%(VSSU2(LsEm5JkADXDAb)T>J#vSN&#oia zFe=lSs^g4}O>zN*GIqyGU0)03PQ9%e@qX8x`))AzU3>033E6SSSVzvOY2g8dh;9v} z%$L4kQ-V68gDqlEX;-gn7JC~ zo$JsR#KHb*pV0hTYmpIJ#rvFn|qkl{qatsJh4(6mKqS+)@cXc+zuow0inrLC|HW``m5s!7tP4M@2VC$C-iK&vy?l#twLWA#L@ z7BqPM9e>!Tq%weKFKEFA`pcKreSGOAG4cI?23oXf3S|oG#|F!SR1jPy`E3_5KYmHD z?~-~F#3m~ZVZ!%YG!mCSh^-g^*#tDknjv=gG;k2Fr>7X$LX!Z|7NJKK@JX9 z1E3!Gq~E0w>7{WKn641u<|KyIT9wqukEnF3&qSSIA5{@fiaCaO-8*)Ih1-ECT10t0 zMVN5&q$RspG_JsOgpU{(?HU`wkcO9RUAevFxVnCMhFI(pq^S#>bWZpEjrI_T=j{> zozs2!n=2})nm1l$;&8%ULhL4?ts~pOoU{ekbk9jz^EYjc7K*sF0kCB8&-Hc1*O2=r zcJ{b4dj(@O->t}u&*L6l8t}6sgA_sN#DA}@%8cGeQxLR=cmS2%!8wMKCsu5fy9C>E z)gx0!NiMc*YVD>~0x=jT7sf0?=)aU9Bn3y>4wt7zh5(HCv%gbq5dZl06%h&2zsDTA zM@Sc3{=75Vtq>)T0((g5kr}i2J1}MwW*{_L>0aY~@`CDKy=+5WJ(8b?I8sCDUVq(} zE0?^!`cW=r9IJi%9W`G)i$tZ%6r};7_W4Dh5*9Gi{qCT1mIb3kV{jy#f)P;S{-$r1rvN@Nbp$&t7?@QHcTC?PBu(X(^Hl5# z(k`TQ4F3Qkm~?f$UPa#@?9^u8?|(ihgKK@5z5BU~q%A8*2{l-NGzTh1js8oY%al-J z?fMNIoX0VmFJIE~?pJ)A)|K;d-RR?tg0N-EBA`qSt_)AYb%@|I*A=|g-D&M!&wZFt z3;u_{!co`cb_KryWl6I1OS z&&Nl+%4!YgH7BI{(?P%KnC%SCa#b{M^4pA^7P@wp!DPEE@g}1ZSAPH}Kg_xbVS#~T zxZc*Hx^Y$w$Gbr#I_kk!Y?L_Q;RZW_=3T>7HN{jm^ZDdlPELCERf}e5in~}i$PeHU zZzrc2R|J8McFU%`L5n#<(~wXl9y9P2`pKwxD?k86vPPa(tb( z277xmpQBe3{us*ucu3qhtvNYrP~}9zuqb&W+=S5GDlt{!FQvZ3)GeY6XA0gLi8qu) z-5b||SZEnx5RP?y&;p+tj%pJ1h378@P@gfSd-{X(OL7>HnS|*J=23HHY^~C13OIgf z_~LS{YJYE~Jz?0*)4Zqc@}nPdVCFwMbeA29G7fwIPe8E0>3yG9T(~dw7xZl_`~1Zu zLoeK~Feaw~w5IEzhe!#%ee@38kstYnb>5n zSb@IENTq~uJN7ZR2+kXPPSS&_8yo~0SG2G$+p?>l%Hzw9`?`DghT?KH0uRR-3y=pM zF*p>uFK@y^QOa*ObPY}C_ujgOuIF}5cl)pC8D9ivH@5n|?*$3)k_HIN&tgTW-_x|l zNoMx~?%aQYA-&3{xHrDqazuQ=!xAqQkw@y2#OSTkd^yxw@IBZX)%+8E)=Y&UD&f_e zeV~5Q&q#DfR<>BL@ z_Hcasg18V>T4heB_(QzLG8saEu;a~cSx7K?G$4O2jMcdzVkc}sIA^1J+y4P)1QSrs znM&J?O3_g`d%SYTP8jYA7kj6gkT{&Y2Aq<4q!rG8IK;ySu!e|4W^3}x7rC%8@f%hU zzDv`kF{1X&G?gCg`;c4XdCWqPUOA72IPLY%Jt)o_P|ZXvC4R-RluY>qGstfw`%=Ul zavFchb_(vLIo#qreM<1!wu7(Xy$9Hoi#Sa*NAu9~i*kp^U0^!b1ZzR}3fD6nZ4>kF zj2c5cDR|U|fl0g>UZ|fidp(uy^@D`p@6Tz!Ux``}ACm!mOkB)=quMtAlVSA*m%H<< z?4n2Ei(AC1b1Tx=D?_AVZx-i_0mK^Gr=ovS;Pg-jo96^Ly!Z8bH}NaVzZAPoUZuY) zas$I@qV*d7FNXKGf}B*}CBMBn`P=C;s4;P%hs?Kk zi0H20D}L#cNqhSU23WT6;U|s5(R8ODC(&OgTCCQ!r9yn6(UsK2;n^d6?eCH zKIABBOqytT%d4)IwAw+2iOzvhUG@HAFnrWd&*r_u@kSi?N0VBGST_FYw*x5z566B;+5| zmlS*wbC?o>NDXP}ha`~@ei$i`l6^>HX-S8J3m1C}>WB}HJYLTu&_J+6G#N5?5X*&Z z-i4Q(k$UM;Jwl^C2MIIKjbwkWU6*&j%H2DTamO+#{qZEI&-1wO^w46$Cby;ji);>X z8S|I$P^>V~uOzINtqDmxlMHgn7$nWegk@_X-cvkJf4(fi`f)g_%o2scgUmUQy4Wtc zIkAqSDkNIAUNtW)jZUJ8`M$(;3SZsQ4b))eGuhP7It=;>iPs(cJn(-}UA>5LlJvTn zss|-+65W7pszuXwT{q)&bJ-Ta8c%#AQyLWe$0VBluPpc>x1dDGF}Z=f6O~|srVP@& zC9G46Szh{jmm4IRBt&w4^KCT53Jg{I_(^VJ5T6;7AAS5Jg162A;ReF^KSCS=QiAd` zlIYpR(BpvQq-zSIY~g=|G6cv7Gq3>Qy!QzT)W0D;eZ*$c*+V|y$d?)a@%bcd*lZA( z@h>^R_8fV+T{f&)xEE&zQpa&0ojb+*NX(FdM0Y6e5AZN=(30t3P??!P6TKNTl>kal zmQBPfB9M%glm z*bt<@n!xV>4QX5`!6rlbd`^p;-bgTNvOC!X2QiVRgFfFE#Rl%UC~}4VfdeHYt1IUV z<->NX!~EBuVOEE^yWbW;N&1C|^0j3kFX5VdNChyNeb`9>ohoHjZnPLN|H``DowD0g zB?%x$Ou2(NnreR^%BX8(HB8@HHCK;BDY)A0bY-=gfT(3P1PSJKiF;??#qZ1YDAg7F z)ZqeZwsNK+vtlcHC8b`ig;ILxv_gw=A!RPsu6JE8`wcX)((4{kN59cyp!f>y{Pxxw zA7hEbHBB&J8Q4oa7Cjy34{NK-adJtG15}f%^l#6lz|>2$D>6;53DC;ltU5@x%~Lvi zmD@wOq`*wWlX9a&*LT;gmti>xC4Y_M-Z`jaxeG_9BLqsODjw-$a&!bD zT7iP<(h;4$raB%-e}+>Qfil%Nl`=Y4;8+z4lu68X?LgK62;41xN8f2)gWC3)P zq;_*cf!qLwOmtRK8=lsNudosnjMf@^D`lq6QAn`?;MW5h3grs=o=M*j7Mnf+`WNyT zVSfOcOok%`#!$$5i%#;LfXP$;i1gd6V#wggc1sd{lico9Vf*YXQuyNU|F0xcI5 zycjk2K<4|6{Wei*{42k1ERg)e{i2uQ7k}2ms$xR&=+)?M?sr@!zT>jbP^H3eX&;f?Wyz?I2jgEq6f0r3d6{|tg?lo-f`5a- z<=z<%s%@-7!sa;&f4e;u-!6J}pJ62NOM0WIIPhoSu6VHLcGBoYdo*^FWfk@{=~-eG z_9%adLIdwtKy6xDz<< zdkItVClpmeva>8zpDpRhRC2QbRvj)a$P;79dYEGe)&Zg)5dTne_E6`ROxoj+)xu)7B)NN+G+N!=r7(UEjd}5J+Q1`tqZOzQ^R&{F*YrJJt z@WD|*7xu0JBn1m`fp~rQ^U1X*0acJR_*e_0h5O!h`ue&*yno(@*?+3_N#+-Oy|_1?C>w^-epZM2Xh1I?t=Y>VUdbXa8hy|yegE39M5ve2k+ z^|s}p(W?_?paGHz(|`OdA<{?k{w)2pJ$r&YL{XqgF7JrEV$RBN%$~Up8Ks!M2EFqU z-EU~U+9O;yvwQ&!Wse!W@ONEcR4yG@A`odk<3vsZ@G`S;om97I<2nhL(%bd&puDZP z(p#(w3msw73Mmfw!kPQrdjQ7*d?blYLh2s;&H-q$6w87VxPL`7!9@XuQl$a_ngq-c zsJISD5tu9|z-0L#`VY%03AN)8CTzoD$!hYR#92FiVnEfSiH5+#iDp1Ze9q2BlNAbB zH8h~yR`8KBRP)o}u~ekLW8ItqmS(f+Lhpv9w@6?}t4%}7mjDDTkTjS42lJGONJlt3 z#t0DF8-kS1Jb!EWyMfFYVTP9K<&MtJDj#0V%)NM6TFsdO)Q^V>BY^rZSpOPd0hR!$ zW9xZ*h~cOL zHTqML=qhIe=2rfbX$a}ufT1s`2Ua+VOf&^kz66 zmAp7X3LUj?sq7vbx6p09sfH|3>!*!eDq$Id<&go_o#Te6H|@G9^M>{a0WL!zCa>QB ziYWUC8gfE(>ijW(iA@B7C-{RzLuwF1+K>Pj9DkM|NE7@bR3;7(LYl?Ue0w^K?*vDi zqv#^HPfG6y@%k2m*Qjzpym?3ym19L*bqoH23*JRjDcs^?z%2s5#S9uh(kOAGyzvg9 zNEV&T1kVhqsr>XYC$J>WxvL(YTGKAcGw2y>IuAR{l>o=X+Qt`cCca34B>!DLsdxKN z!hdwdxk*+4pCagI5KmxE1qpL@k3dp6n4I3bM`%DHXN7nqHEavZKbb6cl)2N*+!^pr z*7B7~!I8lSOBk_oj5E$86B|*A%qgJkJkOdmoF=0k5Ur3*(nu#_2;JBcnyq#Ci)S#1ZrSR?>=aJ0U*v1Y{k7>N7|{@QIG_34#K84Cr>Y2OjtN zOhMrBxxkrIyQ!c*PiPT<8?q4y^0#3F0d>&Q8CW9#u*!!JbU41aC~ zF4c~BOsM28*#~?kf%WpG_|)J>gqyukuDMq?s$I_A1>S{Rh<7i1f`FCsnz*#!NA&Jy z`O4>%skZp;JG={kNxb{crv=ys<3_0y{D|J&!akcA-9;H)U83GBjkRh7DI>jAUYrC* zwZvh5=kh4{oB+4!#D_wtYGE^iE`RL^fOnzVXmg{N&gc<%XyDaiU-WPN-vIF_fB8$$ zk=Wbz4%O5jVaXN1cHUO(W0>I|NGcK>qYs2piUuWux<(ga+z-}4jhhcJmJuMLbJ#Nvh`$n{y#($FLttfKh zprXJ6z`@2AIKw74wm=tdu@MHS?p2}=en2OgVd_TM8qNXka4U>Mp;O-W?wFQ0ly~5N zc^i~MtBcw-{&5LN6}-^4?x8R<-Aq(0M(~c2)IqfklA7xuBHK&(ml081iIJLs@H2y= z?iI(T8fHt=Oat1+=n1l_2Y(nnp8coO52%|2Ah@F(_p*7rtz7D+RFnYpmJ=Xy{sSa5 zC*!@7o#2ooxP86DL(o)&*gXLr&_VktT&y@6Fs==q=tG0sfKD~sl;-VrboQGPKmqD2 zA(rKy4!tu(#SXu~-Jf-43;)bXXMi-sq04=%01%=(N^DPn3!o9~9)G>idG*l9o&$Ec z^Q3=~i-KtIiKtIJQ`)L`bk#-3{OY;lp3A$@QxB3jz7$at9iAmD05}8-brE1v^%`{N z+&aZwgzDez;4fm12t&%mLkN}kBs%;m5``xw{(M6cjR?%?C>|+&QmOp^sq(*wDpSaG9^vs+lg&+k96&jXtCrLZem>*~Q zAk)b|$mDNBUju~ewi+=P=0MywWSeoZ8fr!uRvk<;dvh*Pv`rp!5GO-oMn0f}=;kqo zL>#wT2U6v6wMT(RL6Z$n+_tbI@kV}eNN?mAO;%LfoUb$SAAg4DG$Ik19E5rjyzHS? z1zus?u9Y#(09eg}38 z%G^sMkZ>$Juz%tm$3J!}d5Va1nTW~gqi7&^BUMMv!+bsM)Xu%V;m4!=*4;Cw(zY8F z@W0ZI(9iePzX<{TZFdI6gp_g%N#jx|pTmA%+2IP^t%w?0rXhJNG5pC#s<=pkK(`g} zd@}=h&U3C%PB`cqDP1#uCxT$snPR&I0MQ=gd~kb^^MBz4{9WwrNmu>mAIqq6xe=Ri z2{616Fm73-ba-48x%0A&c~RiW&mH{8f^+NGo7eI=lzigHSuhU>KfB>PG&v85Ws446 z&GNbEVb`b~%CN-S&eHjR(=5Hc)hyAY@sFRUm50A)os-2waxOGsKQc)}o&2{XbVFABUw*j3XrFv?02xv(qnnbG_YOqTtxX~$Vo zd{i?67@qSzhE3C*sx%FlQwmm1Leq{ZCiy$4wSSr}pR=f1UtD=rXx*gd+>)uvv#D$V zT&>vF3N?JElN>UgwVV-f1D*G1t}|vdp#PpQ2p*oLGydyY)5MRKPws9QK!j-IbF?T- zl_~>&4!vD+Usj1RBKue&mq-Z0`Ya!aus#>emyqMGTzWBh#zUs*_xdyi(eZ@;!Dg$L zT7MMSZ$sEIPG&yZvyG2P?nHrWR^be1?6|x04-5p(oH&Evy5MCGMmVeGX5!!&lLGyn zOAVLFIYr|DtDRO!(k^0=DcHhP*dqg}A~66ov5>MH4x&UPgSnLwjr=w6~Tsc(|U$vX5iLoH0) zgd73AAthm#J07xm?(;)rj^jfJym^nWdZ?L?|M^4WIn5-Ya`+`?A4<*WW3pm>Ce`BE zKYvK=#+viy61#Df%*M&GVcSUM<;mNseV~8t{tQdf4U_f&IBF!R9>W^lE3dmXdVg6x z;Q4a_i}VtKRwp>N!G}QDLCw2Y$lAS#)^27sLfwwk7k&vQ6i@j@HHV;uM9iK^EFNSV z9YsBrE?^W_kyeDF1l@~r2jU{}WozY4_hnbYed_qID>>=b3lf*C!TM0FHWx7j1~2vr zBLSIlg9C*3_FyI(FUw5GHk8rGAAhE;#}S(K?IoQng&lAvY_Ewot7_`uEtT?45c1NF zYtdH^@z*Ixlx|>3rcwzCJV2MuBWkvH-iJf59Ju47d|}E;J;!G~rJ$*lNK53*$*WqksED>=(yS zYWP z*iCQ>_t3I| zCp)cYigVg>bVTxFB3GD~Xn&`K!Omty7ev$ZYWC4T=ul-H3>0U88Xeg^o7g?!2xF>k zzyC{4%!JqjYdIdhLJliSl6j0DMM?-nksKW{Tmc)pJ?GwWlU#*7yhu~wCGv-VlydOP)kYZ=&Sa>ym?y2O# z7lm)&H#;sgM5t~$0ke_uPF3K6oCgUE4xrnt>&JS~7eK<8d4Inc`31-_eZKoV-;p(I zX*0;0Tnrko^Kl16b;GA(B=eeDf6Jeeq_XilK4BqGn_R9X8@RaTcRJ*tw|^cDzy4|( z{>OhF4X=LX{48hQ%OS>3s^Yr=S)Tq5I(+rjOG&S!1B3iwceR1Y%nitt0|{?y zlpp=CiIo~uLp0L1EMI{rHCeP*U7;*$KJeTCf&CG9BUNuI?_k|KmSKmKs{W$Xg|G>-FN1n6(X^r=to{viN ziGKn4?0+Gw+Z@#qj{NR=hFFIxrHccNg`mz2kLkTGF;0@kA+l?7G;k_Vt7QJdEAYyU z!@|sG*}MMMtNX!m8G&$gD7LxWuAUHy@DS00Q8WUYKswdFPBI8)l5i<>JBe;{ z?;hNed7=moH}A?wA|*v-!EnN_rSlkeSCE7ZHVMBynj(rHea`T)pAqhUKAXabJEpEytp@zto^2oo6BECso?3Zb_ zJBro<*NH8KD1W`0s9psz!A+XfYWRZl3SWbuo)m!3~FbOHbIv?PYD=*7NsTww*+Tl^i1xOUy&s*xt}ds9OG=`fO({@ zTX8dy>i|iJ$PuE@a-=p$TytI!2~or~WLUx!dr%0CrC;XkVj53NzroL0V&pOG{60*m z5HddSQ>(l!?`*gD+s(5wk%Um#D!=!YpO2~+to;C(V z#yr2eb}ke=Ku7(}h%uUY9i4iEoMTd=hUHW`@0Kqm|JWrQR=c?XC?JhDtuo%0={*>g zrERt_FHPLL_Xe3&nQ%;)U!RH5QH;C|JtlMG3n0G!sQdw}|4mCp8`I=!Mds!GK@(V5 zFuLANCu9YSfXL7)qw)zcdB6#OKvysej$nag@W~C_cB}fD>~6aiM5nhDoz|S_v?+6m zX`}Fj26Lq+JVtkPdR546m8A_`0G|XfK?Pki1^`BZqOSA`^8p|Q4#ROCkrYw|nK+2z zG(i&>c`bnP7ASKTc!O4Pj@%!)gJjIm%OIF%HQNTuposDtAqHusE0tV-N-LlvboEk6 zr-QD39FUroa*l6qTFcu`x*! zNX!dlCJHEH^aJz*^zVLuj~@Ll-wX6B^qgzOb>A{kuxj+^?@}gv$BrF4VnxJ?b(!;1 z2cL1IGvJeEC}4m%1LivA3wa+%*6}-M2DCb5JS_vf0~Q><+`j^x7@hG&Hv_h12JFZT zK$C;*eOqTh@a1MI@D=!QlrGG^!~kI^N*hSp9=8TxQ!fw=~MZg6SR@X3Peu%?|1 zn@&gktSvX0Hg)yaq}30yOv!{Z#Pm@R6d zNHs-wSv?c>Evrg@Ua-$Mcq}#=49o-gH*Ft~UV{?B{qyP;0<&djC=uvwu@P)Dnc7K# z*8w6aSor=@AO}ss5V8;};J8_0(jA<`PVFQDQI2gx#Ggs!=J-p2ky18=%^^bGxq}cg z#W%CU$46F?3YB=o;BwE-At0_Y2X&q4Nai`w$obqpY-Ndm=bX=Tb{7VS3giBQC*{n` zCtFAdOFXHmowIw0qDOw!sl&VhAO^XN;9FJ?8XRfjK}$oI{O&v(3ZfI?QZwxuJ*>9U zR?``bdoX>%#xJ(vR#W(ml4U>|kJkhxE>ad(2>gA-8bF6n;>rhrSFz*PfSbUHX`KTK zbV8{7!v_I>iGq*oNmzw{I(&fto;vfh$Mbh+YuRRSXHP$Ec{B2f>pevx%ILkt5qfW9 zXzy+Pzu0@5{HScoj2O7aUQRF~82XIE`@@@Vgd1zHA0B+oeYDCuVs_D^L%w4H=`XNT zgT&u~VuV!^_q(QmrA&dHQiu*qIW7+wEcSkRtTq^b)DT+F5DNU!*|V@39u^)CgBas{ ziXIs2!pZQBiWC&!06|hl>?R|{-`q{69>G|GO-_LCqkdxaHhPNbAx*GIwax|gyGQV+ zWbX;U39vtbU;hahLefjp^NlkC*e9U$`x%{;WRKwgzmI}s0fCkSbOcmh&~-5)CitUf zA$bLVxR*b2(0c6yb@K-~l%Lm*apg3)JyRp0)>wqgOQ2j;ZZE2}Pc_6qE_CQanrl&8 z@t>>tCKrZp5PQO1hoAeRo9J|`4cg1Fjz{>nOXd|w$!ItGjVZ_}s%+Pw&`8VHU4{$J z{y}5HmKgSd{`mS-bI-AJvH_L#vK9KuBBPmqfGt`tugz1PA!sOp|HOQZUwzs16bbl3 z5o0}UZ|M&tY|vrc1-u;QVDxpB63oeE^XWweO9;41bhy0B_xP~xpku{i*$(ZFqf~d? zCdjex68s63hN;oCvwRx+z17_vf14o2Tav&ms9*1_odhJz*dpXzKOF(?n&;BR>iX+{ zWkZ_1vP#R#->UDUKHItdnN3^3lgRQKbf2xR zSRTJA@KQ8U(OPK&Sk{+QY|DF}NVVJDJC6vXx6m2{|3C$y(ijyBS)x&l--7i42+RIk z01!!dDl0BE^KVnw=|p^>0jc;brNqa7Yy$ft9FP~tUrJtdf((@y#tw#4G_QMAL8GHa zgDVsn=3*8nUbUBKn@R?)55I6UA&zJ1h`vW~b24ob>C0rXA1A^(n5% z=-I7m0JFWQ3)&H%n(Osy=g{}%Uv%@tQFTiImqAQ3zU3gjx1e2irQ4wZlREN$Bfez} z_e)lA-~~nS1!rE-13RV3O%y-C$7xsIvueUc|PDxBy`>VyG;!JcXhb_m-v(YyI&>>0c=}5G9Xn7+v#$(p`dJ(2|z?Y@YED(b-#SUq?BNo1DyD$;Z=wK)$C}LyzOw%xFjn z-mzGIue%YxC3=V2C&JH*ZbQMFMhUn{>{nArjCW9d!ZqP%^i4raF4QmRAiE_iO(44^ zz(7#CjaZ*uhgk2AF4iZ3SnpqlSbO|HdBbub)?42s*1gfhdhst4>y4|4HNIy=v34a# z5o=wgjaa)Uv&Gtf-7XO86(iP75o_NR5o`DZ*$~0^#v;8kgdO0J78W5$1!-r&PG_iYV9ynx$cg}+sN!jnt$S_2tYsms0vf|3 ztzu8+bFvp&;T5=ZVB1T(jRE?4+N~R7s@<~V2JHsSYeu_&VMk1~yX)F5_C-rMYZQ#5 z>i*vNXJ$~qrGAxM2bQ#GaV8+q)=L1a#m5`vcv?WC`Z!?gz5Yft^zu;j-q!9Qlh4Lyn*u*Q zf=SWXpL|AtO$jmsfxu9KPYH$HU&eZ5|IDx670G)+Fqra+aB$;a=+i8d<7SCSQv1kFoU>}8eW&G%|*tY37+m=ITtJ| z`TL4#VYD+usClN&6kc9ae0qK81x+Bs{fu=|gNImu!7Pjx*eQSvR>JD#z>APa)TM_6 z{-z+02x(?=HIZhvTiYWU6RSf62>&r|xV>b)+0xOt>q?>K3UZgEsdZ`UDVkcBe8AHj zv;ZQZnB_7|XgYE(1mzfuv-c5XBf}Joj_EuM15U#-jDD!ygvr8wc+V^iNEN7-VQ3&M zKG!3E39XM;B>C5r`W2# z=zG)9_mWuaJ#<#CgIc$nH%HZ99{xHb^^Cnbf`tLufP4M1xp_VCa$4g2*r>h%w^;ua zZqD)d61*pTM`$(r;_~>6=W?xZ`v@)v0B(R{_qZbYuch*zN7bJn-o5*;d-wnKOS$o; zTAC(E45;Az&klb6EWdjAwF{GhG^qCGvp{Rl{9xVA16Z{IjD%}&+jFCxn8}1?XR#lk zYPp>kascC(UWQOy{@|ea?eovOAP$$HTL~9`e!&0r!nX3US!zB|9g&U$ay$TU)Q*9Y z0tpm!5_VGhtv!9K-VI*ZW8YE|YJmE$H>jTuK;}#nXO(W|h6x$#y#Z8J1D2mb4Y!FoSs(OT_(=#WpcN&5 zA*|#LgYE%rR03XQ+Nuqanq9BiYnL-xUZ9u~Eu2l3zLmI83Ht^}T=uS&|K&Lnb$5^r zD{#w?X<&PKNPi(BZICYb+8#+gq>9yTgr9~HGQLmbREa{2oEi{cSz-}YT{Doqgk`*>OVicSGBZxK z9bqmt#SIk+BUjV)2lD{XbeIQ!Ksrj|OPkm6@ZX2$)FJ)O)^QN65J}GCNr#%$>5%!d z_x;zU(^1!@oUzSchcdB@EnK@$l|kqb+Yun<-oO%dIHb$>zkin>j?m?YNE=ns)40#= z^}J43=n31o3LtaSU3{!v+y;V+_Obj5JGuS+JNbBoPKI-hAg5OnV8gM0XSTOV!<7QCTLY83JH`PU+WY6dKZ$G~iKQ$K;h9>09$u0#P@9y)~p1mYZAAl*s_B zPg*8J^=TNv>{~e%BcX*T59MQk%R)jjO^?9NvfwhAkoI}VGlfsZB~n0l(Qt;^AC)v5 zPX#G{QYH}LNHx%MxI$NC6aALS5g7Vnij;4fab_ucdv}NbJAHhAwxb}p_6fB;0{vEN z8&+Ij0P0fM_|ZY(r(>?UgHFHA3%^+18_f6zRsqeI)w{Q#)la)%!_n-N+Kk9-DgJrg z2oVpf&<@QQ+v@vof(IjPf^OwXD;vSByggF7*ROs+C(}LiMiq`-?Pmt+nt9ipR>Doh&Gphr#Xv{=SKVae2DJ6dX=8$Meam$l|eNIvbEcx(MXd{Xfu{n33S30 zL0h%zL~S0^esIpHwrJ=qf-6i=pZT=-8(}}EACZ+*c(4OkCt5l_!GC-NUAOz8*{C9G zV;fxbw^0aZK}1o(OZ?M}AbP{uiR*tJ2~L8HOSgJXAt8T%D{OkS@F8HTUbcNXj-dzH zKp&Az8OFd_#wWJU#W<-pdT|<{fjPoP=N_!cSg82nmG^!v^(N&vXmjHFBv(b=?C>Va zAifjNtHInzX+1^BrE5Uq)v5t#W_thQp_O83>Rub;#<}?@e|)t@G03H8FyYt!h&YTT{%`^eG|rKsWPPOO?zl0Fo2#!I^JTRqOWgIAFrm(oXZl60i?DpL*N14b0 z>V`GN@CjPJ4M!nskV)h(!0^Kg(sLGR19OS&Oz(n!i7aG9S|9aw7KNIRbG*sJ^MtGwZ9QsmI%)i%g9wc9l6@_QI5ne1uzhSSHLi$qTqYGIBUn%L%|1svl{}+~%Ota&y* z*s98Bs<#C=kgt4NZVp4o7C$6 zntRJ3Ax|b|uswir+;sE4U@|x)p@7b19vY$yOdMSiaALFov7F$<$XGbP7wg3tKhdy% zUO;J@&xL>XEEtZLqKhvv5K(7DCo{1R5ys|yBjotk+9r_|VJsomnN~=kY6_e4zkQVP z9+_sGoH)D!o`U2v2@7M9g(nOIHVhpausO$W-9Wb@P5-FN;KwBWm(x*Jn6_O6YcQN( zqb@wU#RMCnZ)s)7VeQ%XKNhbP9gAguMqJ&UA;CcC>>IOE+y46ScTgQ^KkPT!O++|g z{=|`ZnHpSUXA})iV!3Zne{-Gq{BO{S#fiXKo!B0!6A@2Y?==P0jS4|&G9^@8zRPH#n*0@!f@DEzU8 zygn?gSDM8}1q_00!@4tf7M%}&UA2j%$vial0|6Tft5tnzwjgj<_*kF=?lb)iR(T^U zf$PCAd1VPsj_jv)Cd+$`ovEF(GwsXHByAipwJ+G24$I{E*b6?1pWDXgdMfQ5b8l6F zv2YJLfb$Z`*A1fd00#qf#;%RiGhvB9BqD;AymR4Ar2JWGw>a)|-Y#5!a(QLq^Blov zbfJsX?nrrJ%Z%=X*Ma;Dw_f0NCe><*7^6wEl`{xtnXT;AwtR*dxya{XRI-c7NBp16 z!3@Tb=i|IJ3`aHALT8*>x8OsSRZmxYv5fl2*AqZfM{r3S??l;P7 zQs)}M;KHGEfNu^h5}0$~Krb1?C=^SJj(4PYV;YqiT_Bis`K-emd$1}c00ZnEO_GVrK>ir!pwD6pr3Rg~Bb zCiL$dzH>G~rnJq6#fmnM%*Z_RzahExn)O+F#S5&GG+W4ovD>;e*{A1D=!fT?p~jT5 z+%1S=gg$VgaV}g*VS-WCC)ssoFEcP|S!JYRO@w-g?$jdwm1GM7)#Ke#Hj?d(4 zhEs0lGT6p=twU2tK)g4kpAj;fGbUk9y-#=vL19 zA7woyLre1IxFE1L5Gi}wks1dl&=0o9?p#Ow}~ zm&y*(S_5!6QD9iQ&N$l77-xQ<7+Piz5n@{*o0<=owFF|6*r%xzhzl>Ua9tiki2!b? z@`cv#njr-I>>10~oH@)B;NF z4em}|t|uVX*7Wk~sk5{`RZA9ZV>hpmGS$@*5*N%y@jL#~Ed}pPs0mJU-RLA2M_!&fNi_Yun?X(B>1Lg|Vz-B-p z&q9J09gn5;I?DI(A8XQY^Bea04KO6OUBAR6Gug~+slKy}T^5PJ`(OnJ7^#M2>!mTV z9t_TZVqgY`-`I~$0#w0Ln5v}~y6}fx_(=kbtw~WV%_3K4hto-7-+uT>yU?`7_X|=P zCBi{h45Lmy!`zx@xyzIf+G~YK{I+`SZuNrACohTzK$+Q_CxJo=CRg+H9G{24q>#^J z=JqZjQXnt=%3IiUn$SgX)&wmQ&a|a>qL8(JVbd?fa`3{4PJ}Ribtl?EGgD5)YQ(-c z$>fHprs~JXKn0w}GFtQN@a@#9YqQdKqcl~<`N+o>ymrmi$zWe~pw)K9MxyM`K225Laz7Ge`A zU)PAmRcrSNp_Bj+q-K@_AgJ~vfe&OU%cM#;j44Exw1K~7@i1n00sUZco1i_O3A#uO zqdsM!D1q|C8p3-MK%PYn8EAxO7Bg#qrE1;*ItT#fF5_FU8=OtdtRPd8a9k@Pj33}; zlQ4T%uc;354t_@nDz;-2<@)9ue^ghkUuv+>INS66m%688%&NmxD};=t(F>N8N- zn6-Mj`i5)uOFRmW9hgI2%7JP>VFxp{nfQ$hY!I^UJq#>Yj2yz^g|&%`7dYqcjnUJ( z2iG@3i%t=0aKO_xwx9Zk$UGDon>GVu(~)BvI7k5bK=Irxe=gd#VNun8ROh4?nx#Hv zlmc9jND&MyPM->N*02`l+DpoIa9ba5+Q(&EDz?TXplqB)axZ%%1j*RZ?}^orouAvU zM?t?DF!BHeiKb9Xy24k(BE@&t@$M7arciQ+1S)|=4ED40*dhkT2w22`JmHXyU_%ov z-72`C=)@QIaomdl?kL`WIF&WZq<<(fS9z4BBSBdb*u4PTh%b``2Rxm`ToTlCgZX4d z2VZB5X5F+2GtXqn{>iXdenbs0AEMcW(hyT(PzTs5J~@ypP-rZPv!1n(Cj&TH;2Lm1 zSxD>zNyXzmtZvBt1Wf@53CyE_yyW}ARPg~+21-n#@87}u!Bzo(b`lhw8}PT2k6lJ$ z`^JFE1at@}CeBDORoGl)fcyY@fb0x=W$qc~FWEkr7=k&`1f8NS6<#Vc8UF>5lJuVa zlj*M?J-Y-5TDiXJJ3uS+ij7I3G=(z?G%J_ok!E*#PJiUH-Hwu@R95lx36^ePOLaR7 zvZGb@AQZ&}4r?hG5dZFaM(bw9_yc) zAD?gzQRZ5X>R5@`XwV-hxR<3_g~8TbxG|W)!0$b_+W=F`o@7kn)G83!2n%o5I@pf^ zrmaZ25#Bhg(SnT;b@bGGp-SA?MSRj{iCd_YRJ0-ta6N4XF8LHyn!<;zL4CIsV8#m2 zm|j!Ru^1ZP+Gzyy)gJ5#kA^`d+mB((1UF4J3a7gbg6HL4jgvCt$ zZxoJy{d#`m+M_gMwT89kn*5k30)pM*0-!Z5E&viXvDpmM{^hKOQ>NGKE4yW$;#6e_ zr(tCWb;m3(?o8G(#)@ZZtMDhvp1Hx45>+;kQv$zLxKTjeQT3Ask;uxU8xywsq&X?F zw3nOuprK<=IRK&ryy;wjKpdp)GJNysN+fE3+xrUwHhAAHP~r+K|JL6Bv&g-$K=4Ok zz%llnr=fKv-Fe{);rIKz3O`-0_HD& zsnk8Jy3G}yx0p1i)h0{}GpC;TulEY1e`Q{1gM_3(`*HPc=T*6ix(9>>0NlfRW9K=|kf!=HWVoUD+bst|IWrC@12@5aV~-wKz;@#1Iyn`=h)@Iu$jZ z3E$E-Dm}>8>B5j3yTae-js`pOnQD=Lsi{Q<55goP`s|#M`nR7Yr*Y*a&Q|~-!fuIi z@aFb@xo=V}Q$BzO?B8X5x-;*dcHp}DJn3%NG6bC#C__{c8TB$`KEDMBaJ4Ns*t0FL zx~pwLH%DX5t#z;T4tqaMy#Ti3T8|a@1KjA?{e-pWXPVj^&#r<~_{af)!tHz1 zgaBO();oorWDZ+!-PDwZWWa%c2idlz{>KIk<&zKg9`2n3#*j>L$SjHFhw2{JFQygC z0s$HU4*n^!gk}3iHzjG+fLLRfl4$d7wErft+URe522ni}aU*u{d`;B*UbEKfBI@IY z!`>x%RoyYUX&8f>?d7aAj4t<-oHPv6GhYKM6?n`TE9s`i&8KFZTm>0_`2T114$JB_ zGH~;0y%HdzO7`fxL=#ycuGacgmv)LEES%hLK87?z-SY9jLlDZH1bUk)Y}Jl|MNSI(9xeF?84~B zR95wQ?ZN5gkV+)MRYTJRaO*!$mkx3XcmYY5hjIxb2UY#2(sT(91Oc;`;dlvQf8F~}|MWN;()g%*z0*urt0rj1Xr8oicMqvums z=JG8ah}6%O)*uL9Ob8}=p201qfD6di`z9{DueyuyWT^Vbt|>6g9=&yqr-6 zfBe%y?bAvgL_)GknvrdMzm46-q)f!OT(R#2r-xio|LW0DYsLe?}35)}}=agi5G}XX^Zr9NLOZlEL^1W>+%3 zEQg`kYHHA^43{wH6->CgXUYD$N&5>oShg1lK$7HW^sxoepF;I#LG%Ee!x*6y=wl=3 zIkHD@M0+%KvBEvtZK+2|J?sc`A#gj5(1@XEw|Pjz)FeibzxgcrV;VsCg*i|Ye|FA> zcEb_6fXG5u?tKx$r6L(ju)lk@bsshuo+n|8utKWCO8v>WB^L3c;G=bAQwvV&^gttx z?+#;5bltI;?2gSc1F_g0TV;4Ea=QcK|4pdJnhYpthlM*=$mVgD+L&IauDrjh#t0_&bBrf5yh#TMwrICy@Hus!`$)N4_lGK638jf2=Z9xh1#t zZn)b>QaWjA7#;g<8kfVQvA)ONReg`NsYgmzw!`p6mcx)X^~hmpks7Il@qfVYmG)z~ z?TY$d(c{zB;dw9iWJcb|*IC|3TGdBz0-o{NBr+pS>hYOo=m{pATqouCf11t`WvT(+ zuq)d^8|GE6BOo?s)cLFpKd+RYwdIG|CWf4Z68Ze@Kt^l((8g=K#lgb;_QdSe*luCV zFisRX&cB~O?BZxPh9xZtuN0+_>c>n0IEx<+gI-)zGDVR*YQyInd#Zfne`?4v9s6^2 z<%L-Fr(h+)flBhNF5w#Zf7k2c;2hneTOHKAe1!-5_X7&X!^h5&{8x*AEi zJ!#?02uTrFrg<=Oej8IJ`Ys<7!yqdTQ5n2RcJd)yI#aj_NK=^Gv(;E2#0Zf4Ki7ZSFk8Mb77JZ}Li(H<^dHVsEnBxFpJ@v@S?OaZ>e~oLIyj zcO~yBTCwO3D_3g8LN{8z72ZhvKH>6ZL=6QHdW-d+_pzqnC}~zSmS)7sC~Y6=+|=_Z zKW>-iV1vR26-dp(KvBh2%}+D-XQVh0UDY3sR#`;S{RN(te}A3v0ZEI(18WYL)quB2 zD1v~uxljZisYZ~7XMr>Twhl)LmqKRZQggxkvQAW)M~Ko=qj3yWCta9CN~EKU4iO0v zLDP(bz4(+ftR+TlM{C1yKen|RLw%cPaHoEv)GkKhGhD_iK0 z-+2PZz_|oMfA+@~kQPY&MK+?BsjX>Qx29Gz_A7TgUB`XP1r?;Va7O=8xR1HzINrrV z^SN2Rxpv2e0F}cS=wKBOz5yG8F5{=j+0*hZC|4wEN9O35{6?sBJ?X(uZ#KdTo1&7) zZNnxozQ9ch;>r$!u&=Kb=uQ1R2}22>QQ*_5V;w>df5C^{m%SU~fHi9FnJ82(8Hq7g z04F&8I)0g>(JCTK;X)TL@s zXw90)yru!dQsl{?EAw{Q-$&YIeKtSNt=J}^T&3I&aDJu&u3gwPH{(7G00bSzkCA)| zz0ldKf2ZU8ur%((VOUyDwAmkAKa=5RBbrlR-k>>kAuy+&za(gzOaE4*Wy%U_5kbF` zrBMPp_5nEE{p1A?DBQ?BGvd1R6l)fe=Go)lL~<}%j8_Z(lOda7m{7RxW4r=NpaIiq0v?1UfVj<7bCL1j zY-X_Q*&4sUtW#6)P ze>(R3MAB}b??P50a&-R|DG>0bF6I`B@u zf5%=FBuA?dv6cCm(a5(N^eP1Eo0Q5O$y1Pvdjr($i>5dCOjqv3Tz^6Y{ayQUacDo{ z)Ih^*PCr6p#Ikfec?{$g?hVW^ueF*7f1SxTa#mhNtMTiWt?zqJUtj;&siMLHBfA&ld z_M+~4-u&*}cYA2}^}3%5)*91k82~O}4mQzLc%Viv+vBVS@GswaY~Wey{r)6n9@v)e zi0nT&EDwSwV86W4p;=0u^N&(7@9ATN#k?_pBEap}_>?{b?S9#u9Oa~n!y@kSEDAuH zsi~Nou>2;~oI-4W8kfT$dU!{he-|>M3O8aEx+EH##aZ*1Y7sNct5i2_YrC%RT>@6| zXX-tT?c|j~>PjbdrI)%=OI>NEuJlt^x~VHIUP+6Ge44D?!mtnn-~QO z4_X9|kDtaS0ToJ;sR8IZ0A|u6T%eS{LM=evr}*HzMBQ;+APY$cqE1KA80m% zW}`pX>($PYvD=@J(kM%OwhFTmVLJDsdPFUc?wAWy_Afe9Ji4CcR^&~1E}%VP0yrwhrj)AEUle=S9)o=B%YeFZseAUR0p zg~W4&8BR8G)Wn}0Q?!tngS29;1j#(CWfQdkW_er6ZVS|XP|N86`0=(Dz}>SUK)e4y zOnX)Wq zNb!6Im_^eve~ZGYGuJ3@#-g(`@UknCfg(F(1SlMNkQFevYhXn7V?k@u?>4V}Be^-k z1ArIK?DxkP2gpcAqBdBBgIx;efoY;oS?;)Pc?4zEI=hHxWz0L0$s|NtmUart-99otXCd?Ho#^hGTPv8@Be^#BhP*j z%J@p7f4msW_>wMz{PZ! zC-%IT6#GEnwPC z{6?g5XcHuo6(Yq^T0%bQ?a!@&Brll!cqGY*&1Ffsz>ruV?b$gXBDQEbJ5UW7JK5Kq zMa@yXu94l9PsM=R?9Mr`-q~%wsk`ew2MwbvAA1arm(SVEDWF!@mi#7!EP4mT0>U^spAA2)Y~nT3AG_KrJTm7+GEmyle++f5Uotv>g=FYC!Yv7ZwM=xOx_Bro$bf*c z-OS*F=PDR{zDP!$+K(ab)AhiQIyBL1ANAf}G3qbL+llb6o*vNtHlsfH!_ItV7QLa7 z$5|qp_WCjzeG-(J@a^E(p-0Ud82#GSNB^4!{s{m=)LHlUoAQ3yZ?t#!ZfNLne@u*q zp0ARD$3fBz{G5C%3fh6+Y+V1qH^1}1Zvfh1_q0_*Am86+?y^4xo(Nri53U{HW3QgevDASe<;KdKzk&Df#vEa!0y#gfZufZ1v_F(AbF!3*EI(-1>K(xZd^joz`#j?iRlj>oyEKc;U?N z+gQZaeghkeX;Ff6S;AFO_$H<)tf*$120X1YM`=ej5mzF&C~44pzh;h}e}3mV`ui!0 zh)?GRjfP)g5FB9|@3QGTbU&`I3GL z!9@AfdM}#R<+l97%vQ@S^>UrUez@Dlv`UKm9T=PC6K-ZN{^TZk@_lNXkyH9`Uj#9> zOvZN+jD*KwK~}rC_7uK~f5>$DBBqL60^Tk1944`70@C(2I#+z3mJ}TsgHml5{vjsM zqc-~4P0cK^1kW%_FfhP5Aw3cG79ip(TgYLcJKj7izD_yUAdFvYpWOghL518Fni@`U zwrfTj6Jx21bx{-23&i}-*`N~zQ%yy~oNredwo#@Kf{+_|j~X7Me-xIa(r#2s`iBd^ z4@lZfKzbn?n|eKLzz~9FEE8K8nd$;+^7+`5WzGDZ!@Cwop4p%;$KaV>TobWoj=8h^ zBo!v)6XsmDb21ApFCNGMM4)9Z2uK|#CVe^;a&`aLATzBf_R3(~Nw`-WR`f|fATR$f zKkqN%<|za{O+o90e|?kcmSS|&$FCJ|7P)(4ztzza z@AsMS`4GELM`XKDoOU~A8s!sWwTBpeEk?#5x+s+p2XfE=-weexxS@{C*ev+ zwW-ry3qcQ4eIef!TVNl5U~3XF5rWd1Ci-*%hBoM0L`a?af7xg<%(c5w{66N|Wzbky zlA~NQicj3-lGrj#z8e9;Lbx#bE`fqFa{65YC1scOTbL9exJryjMhc!s8ukfz zUy0$u47@7>(1Z}pm>cSZtqUfD$xhwpw6TaN87q%?YcWNeozn*Jl}Ezj909Jxq5go@ z0jdkKb#Rc`r5o{RT+m8v&eGC<*wnX<7qJH;?be`Wy2B95GgA zh`@bMz?-??J1lZ;Jt+bz**+&zG*px$!JYNG9YkTvf1{WgMA~hBH>sSE;Z8MUnfNLM zrV7tp$Q~3uV?F?pvCwUrQpjw?tI?*o*~VNaS@Mty9*FHQNZAi|d@3Ixb zxw-(->&B3YInO0dOf@QQ;@Ef)V>F*svHTXXZF6ashK*u%296_cH3@+a3&>255!V?|-DT*JLWJT%!~wTkBLZ(Q zPa=ZTXOyiZ!RbC;66%r}bJj%F>BJp{58V72oR>J=Gx4sz>DXxqA$?)}yRfijj}&<7 zLheX+(<%!IZeryb^)FA~%V~&Gnk)LPf8(Oxg+7`=hM%L!Q(TN9FIVQPWYgE+aNgsh zhq!RJ=y3-c0o~}es(CTi6?dRfn3LxCuw_o#+I7rHQvol&TyZOHip~h3`#l4Sgf5T7>=DXa+tAL$QqZ>89czKBFdBB_lOpD7o(3jm>}A*G z`8jpgENJs^AAi_IvTb+}3Wg`j)Oo=!)=V9oNiY*|D1k&869Ah*ZA<=wey0aDVto5= z7!6dM+%5j7&Z&kMdDaw3)Cp5gZp#`YoeUWF$nD0#I|M>#{nYedaTjAme`AAp@VvKt zhrrHC0E1#8l>zK{asH0zm6+Ef9gvDxee+0tH;X6)0u3cZl$!Y5IUP5Ktp@s}b&3<* zUiP|l&N%6tqk=St7h6WY&Yq30|T&au{=)vNY`W1 zv|D#Es3A(7v)eyceb3mQe~sSfY|&vKNnec8tEw+Qr}d-ftRJ?Tain+yX~s0s!X*Uhs5j2c|1ia(NC}iAf9TNdVDpp%73imF z7?1-y@-Gic3Y9M5O&+l?eePe7F>@;W%Y2o6IjOSiA!ktC14Zz~xj^HGzc2U}`hktJQORo}UjA@Fa(dnIh-ei6ZlbNl|Q$ zM)Y8dh24l5x8U@Qf7i2J2B1l@ubjqpB};h0GAGle%mm9o5}ts}Q3tE&C$@7i znXFr@PHQ$KHAm$7N!oaXTny8|f5aebH4NqKr`}pvtrN8M z>;zQFt2rSq9+`^vozkBnQv|Iq0#Rs%ia%g=D>Mug62OLvmj(Z};l z0c;N|+c*$KfBMj5z!J9cZ1vg7i!WcypL6RA&sLDun1Ww~Hrp&u|KhlZ$|na7hEc`! z4{jCKFQu=(z4ewKjivC^Tv@VLlwMxWNES=J+Ad51C&6rH5_n?crB*L}zX#GB_I(|_ z-o{KZyN4VGU^l>_OtuLY!amW$KG7EF)_tQAomx&jf5XU@v3nG37ZI!lF_aj&;ZQ81 z@DjgY^ttzCpxdd7osl6NY^+I7BOkl58P#@y6@VAQF@u);1dlnHV9`61Vw_-@1--$z zk?nH`3>1OuIriWyc7u0vUuZ*!3N#>Sev4vTE&c3V{l}BP>g!A|4Z*#zKxP6kg!)gS z=z?R!e-{9bp^UZku(>|~TN4t1Z42xh6I*%#&X2RuIFug!3fpqJxNUo)>)Ft^26|xn z7l9s#0Akdyo?A~|Z{W$GFE-4ViVMzEV!#bhFR`MWArg?VAI?P%?gAM>VZEe!mUKPk zaHIIRuW=f}YTL%p3fl_+I`hS%64}V?5kxq5f4pQJn6-&lWmoiE!McHA%jek}7Qrix zBxnH}(O+9BtE$7`PsA=5JV;|*wd!*U{C@b6beMDpfg-xpr(fb?H4YJpMg-JktVV#J zl5U-C5UjM3#n?WP#<2t=#JBL@00%{tBx0lB@>w4zub2d*4aSIdB=-|Y1sk$Z;wX%Y zf7g=YC(Jg5hsM{ZsQW>4T!*I_VA?S=M~T74%iT{fTGtQ~iNyhG!6{DTnrj-}gQIqD&1kq9aZH$z-rlhhLJzRe_1W|nfH^~HfL*iJfL#1mUBG{T{BdHh zF}pPdfIz{?dE06zM$Q&;dr_Rrw7)t-;tp6pRLQ@*w3VX*Q0|RT^x_8{s$J6UJpnxMI6V35_63VFKvFjpLB!uQMy-IYil6okq5;cR zlOw;V!%2x&GZS(SqB>U_IobJ&(WVf&AUW&UPdbw#YC`WX{zj6#4-jmqgNoD()4b)7C@##*3TT?EWQe{KW}T)+lt z+BYn5Kw2!nAJ=2BS>*II%yVjILeIpmC1+7fh)Io>2*rd6{gAU8Lq7n&gJys2JOYBr%AElb(Spu+yvAJzu;gSQcSGK&E^?-9HT+aL*)G>nL}v?HMrmLJw03mr}E!6_jcpN%P2dw5VCFmQjgq6!pc4zlP6BF_1)ot?ca$4?9*S>*$Pkjxz7T^TEe zSx%s3+?@sd)yYIfL9nb$VG{Avh6P-q43-fWSGLT>!MCcg4gX#8_m zk5XYhZ}bY>ohZithUP)|5OX^@lQP?NY;5et7meiPf6P|lOc2l;F8^XPyft(S~R%N*@#jP|sc_I8bXV6xqtoEGBdON0~g zwaV=xM3+kKV*DBK+Z(*d+x#>$lVCTTgWV98!O>eNbB9rXpsNh3wMzqn9xy*?mDk0Z zst?Ywf9u4S)^n^Z)lz{vLs$n(@%{DoUTJn7PLT@D{6S6;1NNl+DKvRsUiP}u>;Vj- zl>>xG=sNDqq^C{`ZU?=yq*+j|O1M|(LHbR{*en@5dm^$zZQY`W z=h;|R&{Ak;)s@FwPug6OyrJfzKF%2CWWg9Ie;=Dw7)(9crePKloR|0y7ZUFQ_g-l| z=)Kyme!lcGZpq9z>yCSc(?FHhQmmu{Yl(Q)h5=;`_*gWz0m`-3Db1#C(i?@Dmw0q> z&~9Zu#v6FVoT%D{iuf?)BN2XH=HvrpA^5qqy$y<6_ff6)GR zceYWTY&@>b-mTPrY*e7A;&-jWxY+^H69*NfMVLo_n{M2n=vQ^<$j3xCP=D&QBZ~-j z5~#H>%pYSbY%o9oaTBz)&^0%X*b{e4hNbzNt#$@=_NMxBt66UT$hSn*g7P)47KN%P zRc^>X{<{Z#osUj9U6$pzbcwxCf4+-S<<3NBINsX&z|D+!9i&j&IFPk<1O{1{1Tar(&4I zzkGpE58mPZLIH%I(heEM<^=2Nv##dEXIlk`1NcK|=C?8}V;M;=<>AIoex?!9Rr1^{sOKqQO*=(l*i|p}f|4?pD z%*dGB#s9)2|> z9`cXrhj;ncg9rB>J>cIDe}4J-{(W9~c>mEaa^)fNuYN@@4emUA@ZjeMoMQ4LeMz31 zo}Rvs|DP@Wpa1>8N)?SXlDWXi`jWdCJXHQ`b|8^~JoXx5${PRa?Y{^A?)^85aOxuwXU?jKGtgg0D-`wPOZSvyXPjHykfAq?~_x!cNpL*?w z$$$Rq$A3>wKB~^*=Kp2yOShZIvNeDAeF|HZ?XpT?z{Ze87@_L|vcQl9nKmXtIE^ez zwn$kr8o*<%evN*;evJ?ZkpKDr;+?m6U7t)(u99NDt@rQ7M!e>Rsso@Yio92AZ= zc(}9@_HPd9RP%!)8o zTpaiA-(7*ue`fdyKbCPF4o#y**+4Y^YSovkDYk;gRx|+Em*QEiA!HnwH^Ec5cI4I> z@oMV~=pFp#*XNIi;K~QQ`Wf8@6kn}XTZSr2*e5ie)aosMDo^ZmJnd2QJ!+H(u+3iA zqXrn0)FQvvuQs1=J>P!1`}|)&J^$D9t#|GccZhHtf1nT%eLWQ7JoKv#tU_pIy5ED{v;Xnd;ki))fbZ18~}fpYGY3rAOd!VfNP^Y3)3BX zb(2TEe`X7i6JgMKI$*3kd@S7n53;tnhW#{B_!{|$dMBEGY;g+N5ol+9fTSdd5uNlX zwpNbYsBZS6kG-(<+lSM^A6pFH3W>T|KjU{9{u;7C2rzp?x`IGp<**BZ4B3TGCUtxm z{F98Mf%uf&8nd`CSXi*0@Qf`4z6N!mU_$Mgf9|#?aH1-~4A#QQSi{M1<1%>xy2}^z zHQ)>*z!9_3i9?5i3E_l0cKb0@?Vw8G(nk*++3b3GT%R38?V!!yD!GRpwpL@Fr>N^&kbn=zou43%qQz|K%eo=-h(b2K ze^Lt^*UVo%uTSqw6sd2VtL0id-BORY^8b* z?NVF`#sh16U~>Mr+@%38hdil2HUpl3%8O@I^{r1_>-sqe^{va~q*ik~4rJ1*$(G=o*Fo{K7&9`pt9(0ekC=Pyd3SoS&4N}##dDd$Gp)P_9 z)FJLVZ#d{O7GJCZwO&ekX)6beIO8Dn?kXdW%lOc0XuQ0|1mI3*u7PSB^n)zUxrYh%qcQDrRGa zihDG@k0!~dc#;qUXyj;48f9@;f6g0-_B2AYuyHHwjkE_(QGid2LCjUHn!_M6kkn!a zY>^`L%jWcf7V5MF-m!|u3k&O(0214RQ&FRF>2)yZxO{r%@ROu>VP8d1H>*w0^rpA1?B|dd-ZcFoniTdjRloNmx$19+TKV!T{qQqT{|O2 zB8^W{jw&J82TY6DTkaJEM()6gjt?v~i_}r`6WL@;8z_KP9Ro4db9N4XZEa+a^8gfK ze2%5$%3e*KUAji|f9M+w+JTCVad1tq%R3U_&atj{C`Br$Df7$J6zFih*ttV~;nu=Y z`I%fnz-&vdNMp$Ae}`CXKJ*t=H$}R7?fTtTt1kM_8u*#(b^nOMkn4@`Xt}YHIys}k za%vFj>r9bqdAat9-cU=pv+(1P4i;l@7`(&#=niJlqv7Dde}Brf0-OM;Z*T02U?_xs zpy9_5X?92`dcUc+{5++5q{8Xt`x7=Q^kq0h-H+OWFiG7xe5mr>sxEbRxEI2NSTM9J zRpZD$`-;(6^2#)Ut5Opj)b+ps;M=Z4T;EQbO?#qU)1VA6JC^NvEI&MWznXQ8HN?)$TI3Ba%_n+D?TuU0Sikh7cMe z$d8fjb`xR|2174Vr* z8-xoMZx8G9C~KLwsHfgyc}~1w@H{zA3T{_d8v7|y8Z4saJTqV6z1$0`!eM%d3g~d2 z=E@@De+x?lI+RbrRrRMwgIXO_nM3*Vdv|Zz?IIcj&B;+>FZz9mZ0tpkxRIcX{s2Yf zZuUccvmbiO%gSinQd&B~A##6a1!lfu#g@4;0}+v6svE>k1+_Bmq0E~Mv0}=lv>;AR zgAbb9LjU6`Tw9^ff4#Vnzfc*;-}@IA5T>)!Q5~+w_?7K~ zWx9)df6q*Sd|e+*+|2$#1Aw=NZYI;1+#fsOn30Go9`wGni#Jkj*LV07(F+v80F?t9 znwP(*R+6benFHk$woLXrUXDJfTvD_K2>qkV(`q`|$bZl_ilZ+uRUMg+wa<~`N-T=L zfAsx=&x8@L-c5@r-HWG3u-OIn{y(zChtV4NB;=$6Aq_hB?>gLkR5$N|MD{%**ONGM z9Dr<*MGi+G!GO*wtET~r#|vGJ7rI%FY@}uQP*(@lL$BHpcC8f)+)4zoNN7jw zXFv*q6ZAkG4n8EK)mu#^gv?r!n+B2de-UKR+{5%>BQaQRuRm=6@ym1wx4p2QW4)eZ zzaGbX@t!I~c4OIkde+`w2`VkQ`xHOxrP#NK@u}u_aG@u2zUy1jx)aA-szYR;&T44j z_O9q%0hqz2!a-9(yzx=y*3#Ty$$7r(8`yjfET9z{=*U%$6o`UTK$K$|=! zq7ZdPPsd2wqTzd2!}snr&#Mxl#{DXo>qtofyuqx_%{f!2ReZ`v8$8oZ+ISq;HP`=%p@X1JwijpDvruYQ->_RplR z6IlA6^^)`ONXfjI{gK%>a2pFCQcNYplTQy4!{`uj!x`4MEkGu(LEe8V-yQ?z z+vdI;S?vDMZKS_F&+3%*n78^8JyVw`yVwSnHno7i_3W7p2h6E1!jH?BW7BD=e74FjUrd^1_CU0hD^^_p%mqZvwn%%xX$sz(qql zK4BLfV4#L1BCtc8$xU9^uiU_A((Re{kCOSm;vew{j$EPS-5JpWa>{=($CdJS(kJwV zirBOGCV2+0B7y8r$y@p|JaN-oAB|e4w|ZmwyZENsfE(_cDohJ3PNMb18x}U-?7#q% zFBR_TES?4vh_0giyGTs!bDVtb)VD~V69FwOoOYU9pg`Vb3XRe6cBjt7c=4>h!o~V4 zrJ0T9SCcX?SLGe5yz76Y?@;BPRPl0cOnn>v?wCzv;H4-2seal?-hxcVEJ9kU#=G=0 zYBk^Ps7+?ctOa}5mzVh9tqwazr&ePR-7yI1ECY@XS%;F{g$01{HAU36NwsmvWN&zi zZ;`VMMQEQ8F$xzOWlr#G!cBunEC~LR-JacOd$tz|Fp-Nt##Db5o&<1AYPGiyKRMUT z&x@b9ed#;REDB&(&$pwiZN3*)whcDOUUj%(d_8f*@V69>O-9sy7OMJc)(Y^9Zo;ao zEkxz^b#N8<;?RF2O2fyrpu8<7`3#(qLp8|@JY+v=@&<*mJoQ=KKrBx*R6y=V<0CFC zyMfrL08;OmyAFT2Nuf2aItM^NOz~KCT!8gwa{^W zaziTA@5{ilsUCU9N12Skjw+T29x%Q@VQpbs$+*~BJ@=^U7}`&+RZ2^%AOp!Y+pjr- zs&+@NIFrf3ITpa_1lP_Z@|8YY5tJBf_G*Tuox7SFlC^)zC6WPK4?r<#BQJZ8a4}mH zO~JoQ;)F51NyJ#?VTok`-T`XlC|Fp_IjKO-4GP&=nL;fr)=U)g5KlvZI5U^|_-k*{ zJ`|l3LQyQ;OV1I?;={12bxbtE1VenzJbNe9l{}QbYaFH5=`U&=8qP{M)#uRTex0y`PC9u_| zKLqScx&n$gZ%FT&gEV-cIF=CC3G)Do$6<%O5kx^37giz$&YwjLbBnB1ckGlXoYMs9 z9SVPl?%!Ma@xj8vKFB*KX0ER7KkS8LKuORl^fpj|3PFe9taTK0PC9K#fl@~ni#9F> zyaT0RWrVf>o-P)%c9Hu@jSaVzd1yXhWn$0ne$|35hNB75GEO+{>_JhEsy1B|y_;NC zs_4KmPOYnRFVw-}ACe-qul!K3hJon4RzH7Sf^|L(-f*U%I6k-a?%%t27bAgIR%dSR zK`P)etxK}hcBj{09Nb>5{%tjJBd=7~(B|P3i3e>7RQ;-lV-U=@#*gJWp(ZLfzm=wwfJ~|+xWN-4frC) zN&dm(7{X)+VFbm6&cdx@+(@(VclVx3O{?ERuM8n6Az=j$)BN%Gzk4f!btcR+a$zz% zsM=V*pDx2|(ou_h&`m&$tF#73Vg7&fz*P2hA=i0jC}bCW6oF`uhhw9)#{G+06;_kq zjeTqYxCZkY#JAj>LAq>Vs0&+$%Ugekt?{d` z11Cic0P!a0e_=ZV!{87WW&3p)0r>;@Pc)iT7m06qsZ4;X>>U7gu*use*i?FEPD4%M zv9ZpSilD56F~il0w5Qz~FfkV-Lr;f&lvE&r!rXg|8;bz42OPx4rxl5^(p58j>u88V zDEdV%b>5mzhV)p4uhu%ui`;)Bc40Ear$}G=qNj*nE6+YqFxpJeM&kPZ!nnRD0P6!e zSd<|jZG6eE&c%a;fd8NPdmrt<6{!OG_xYeZOhNm`r9UGOuq|~aG1467S5nA}0tN4* z0{W_BL@F=bz_^0NP?N>pgaZwySka7N{}{S3B|}uMys=R3J`dgD(0P9*Ogl=Cb*a+? zxN;kE3Xi|Yl5`|1%-wn8NAJ~=#SIxR_t2MkFJMCIdpm<4E*v@iA`@1oc?p)y9AE;g zP$~0v!%|wM=+QtJo=@@YJ$cg4;kVzAQolR(F5be(Fu;PHfn+>mGl`O^pcPzjpG6VymNpo^3K9Z}#tX0o)rE#Iw!`f=9RUar$s~ zDXoU2Z;;!zi>sJ1z|t2St}Ycm{&e*h_i~2|^5df8)-614N0}poh3VthXSytZ_WFy@ zG6(OqIe7RJ4jMOY)-iira?CbMju`~(?wGOb>>+~)qUem7Vt0SU`V^!^=j(MiUwz1$ z;=}dY901#58)YiQ!xp}fO5Gni&Qu>U_Z*HFOTyveQ}#GPWKw>f zo)n&^{m=yQGct#(zxWDgtIX^tJ&E7RLbu#mI%-e^(K0?qBsGYNY?4lD;2T;T`-$HI6awzCe_>8M_ zI6xfu6c@GJenW#I+KJ)z4f>(l1}qA{F!Y?yBzOqNelHBQ<)7bA9nzjtdz*#pI=bdMCOtwkRLiaM+1+MlTLcW1ygcBnxlyBs+ zY2HzDjVd&Ys?)9&vqz5?7e}jAGsE3UVvULL<_@K%*q67Eep*ZAV*f0TkYLxYKfE0Kjh{NHN1;FY5El$)`!OJxRXedk-8yKZBjf?j&fGI(4k& z8RS8h^E~T#s1PjdS?9LSrJa7|XybM&EMyYYV>s+sgXtb8#K$L$6-GH1G$>i|Ue zCr0322Yo;Pp1;20*Wy>64S<>JQ}d=#nlV4;;I$K%Sy!95u&{N`U^+GSCywLwlOf2< zTytv)JDj(~1_HtNGb*mo&?MegpC*r1E-vzKy{nq=t)DEM^d{Iffrf1-A6e^(1-3KP znh<{^dH@MZE+(ZJ`paHf`$LY2DryNqvbRmq4F=g(m@?Ocz%V#0HBRIri|O|!-sWe% zV5)vk<5vMzuUSET?((V@hVuIoIW$y_z0#!s@ccGx5WWr`Zck`E_6ZW}F=Xy7h5rJPrev9*I9qxubUKnAF|Liy!097rGzSl(dg zX2PQv8soOLfre~_N@8c50@0Xx7kbpRL`*6YSDjQdDK*W?GE3C4~-JM|U>iN*zC1Ucq&gpPu1Zaa`3Rizg zc!xqAn*~BrF%K0w#N6L@mjZvTNtejxGobI#M^km@?>q>ROc!PZ&`2P@;!%B>x-*Tw zSB7wMRBR~ryx?ZUBJ*EK+mezn^OsQAzPHGriv_G>pU`pGCtm;18R=)$UE6&SPs!=^ zNFILNX1VnU5d?t6M|eiW;tVh`GJk*J2)*qzqR)k4q$aG=@HZkG;`i2eVRAScex0Kj z`sru{3|V>H8o;N2PJFoLK2~aWs9NRY++w8$37p+RLb6Z$g$MDVs8y;d4$lAjAOCYa z$6g?BLXN&QP&V!h$O$*3MJ&~tQf+2c>Ja>8b|><-wBSQJ79#9pW(XP_{M3INjS+`I z-FQ4Q%B+Uplj6(kG7 z)uZcnVuq*(^jtMl(2(pK`$?_3{N5) zRdGcL05d?$zn&Kv3;n4{irF0xjgxqP-~N5^!>I9LaPeVOy$C;lxP6d7X;wZh`$d$g z&v&0$ZZ_J6h%g*OrXMdtDaGUA7zzsysu|U9VL>2HkW_5M#HuCWT8#tqYiplBxpc|R z6@kvt`FW9gdJ&>kCFZ-S231XFHFm-Nc92etSfX7frbt^gskziqevp*dj zQ}STQx(H3d*zzVb_G6dLk;1Ci&;?Jtu5h`roUUjik!#O03;ZwDT(5>cf2E7W0hitG zgdDG8bLXE4{pOtvjK>S^I8=TG-2yJI5*9aqkrTd!8o>(TI?A(~3hofHYwiw0HTN5`A@eOz*6I_l>YP5`nIeHf&vz%AU}LKhrrwY& zgnW)_#?V9?hkomL4DnfiWT5(go#s@RRc6Lr7|f{2!dRA*4b}7NLuqFZu#S*%vy(HU zb4%S|-3`($uyT=wOX!8!s?bUU#zo8b^>Rz*Z)LwJ`iG4Sj-u5ML5_OW=XgJH#0;Qb z+f-jk16@hsY?)3n_qv_h^-oL5-s{i{-(?(TEbdQ+FwePi#CJS@VAhP-$hvgCXD#hg z^j@wFNpVPc!GRm+C34Q@m-Py(sOIl;&3gmNcgc%ZiW*EoAjb_<^o}GPJG8P2T^U-i ziTR05iM!m-bs4O2iWfb}weXfY!luA?t+*lF$+J5w0S9#!uiTE9ywnAIv6t)3My$`R zHUYwyXVn^M-X}&G~$to>eQho7kGje9sv=ZKu!KQ=a z!Hl@Ns2BM0VG70xudvJ0-1?P~RdJIqxhB>YtE4`;xwyXYdPU#zWxi?@l2Tg$11p7) z2%?uXR(MW1=`8S^j&fiP?=>JYNVT>y_eSM8T{EoiX;dD6yT^>G4e0`=?q_0KH_}pI zQ{=jrzM*G;T_siIPFGE9ysA}AGByKsaWQ`dbzw9GSeA;_zVNp6ZI0A}LBD#lc1AN{ zbb+Ey$+wQRAM6Y3b$;eb$Y?j!%91u&2Uc zw=~-vC3ISc{0D@BgqNWZc?{ttqZ+~Z!x^Dq5~j*guMGzRP#nQPr2EI7|6A!2W96O6< z8-l|GJ~1;1P84on7&W_}oV|p!lS$%*{e?2yJ<9B_WMp^f86&-vZ_!=`=fLMcVl;$r z=wgh25DSG;kC03U>J1JeoCncnLG~TIIeJPY2^xm(~qmFaSbh zB^~?|;Rw2!%zE#(4Ry8&=h;fmh5(rOn0otHZ^K9fdyb*3l5IZoLzZTfk%m$xMS#=+M83m zH@2fq0}wr48rDw^3KbZU*cU);&-FWan*}9f~ z7+5%YMJEbIg_fkHjN7a>H<;R2gEp3bjGn!Vo{EaFvp+YU?zxKAZC+f%*Q#7!t5K`< z9wF)>9Q6>-um>+DjE7swr^!-tfdiip+!PiwfV)9}qWO8?AbTutb;*1({`)-4bOwfp z1U!Mh0zb2`aJ%{Y+=tPJf!jP=gCKYN_vVMm+|J+NvC@<(7e7Gd)<}PcrwSjJi{1%n z0XdiS-U<8xikI=<32OlYw_V@~9RmRuw|nCWUIHGkma~9lBpk9|;~+m?;HVt2)U^%l ze)%ukO<#BOub21b3EqG09DsvetSmwc_4~)2DnPhaS>#V>r*KUfVgLaITfn+dFR@`( z$2B5q2e!`@QjN$Wr_zFp*~RVOKVEzc1(Kjs@cGExKV(;P+DxDI%gc%F z@4Ti213G}Q1wF|Q0kMYh6p_Ue9RD|aU)$c)k)-{3_gB~+9>#x)WQdJJf{f5GKqe$4 zFtL-&j3JIJ$+jkvMf75Du;;fw_g&T1U471xY#3&*{jjqetkb7YzgBlw*UMdk^2g4| z;BZ$J-U<-d?nLU+If#ILd8$UB*hG-vF0c$3fYW9T;v8vzNC<`Ec#d3b2c2^P)-hpe zB7bqm(XRy^s<3}gc0*pp4I&uofbacjlp%$f^AqkxhPo#eeFzHeS`6w}IxE&IhVHtkY zY;xkHO{I6~Sp^M9?pQe6hn1GCn4CelRudDauwK>1RE)9;!jREwT#5`j@Z@3ww%^P=8iFSq0^coe^_U zCL2}-#&T9|Br{b1`mO$O-B!=JjqrTXvq)J z7Dh{{RPfd92QIW%Yx=O>N6XZFT2)EO_e(u!`ZlUHeHdlmbm@qM1I){P&OpH8*gT6M zt{lZrV0E$q`q%zJwxj)%AMBs}_<;V+7W7ZraYcV80}6S+Txrxc{1Qe>4RBFcZ3PyF zmaLV?JGP?+V_n3qPA0->Af4~a>w=)aIDl%L4^p_5Na2=I05+VDMFF9rY>aNHsZp(( z1YXERzufQ%Vhb%G-HrEBQnR3C4d?svoNg>vQID#mUT!0$zDTxK9hOJBe}o+soz!7! zbJ~9(bOhbUsI+7Enx<-)rZ#4%iN8%Q7i8337KfD;{|xe_AK>yP9~2Xzy_KaCi%pzV z;v?G`OKGx7ioT@{pI}RqA6QH`Z_WvUl!Tnv?a~85S=g}Px>WRAGH($s&gwi{F^_nE zEX;T38f9&l%M$)xk?QAih)t|WO+V6>|9+2WEB>*UN6R6X3P(pj~Kd^nkbouLv?2^SsN* zxizgi-h+KGxPhoX&IuBMiHilnMlWZ0ju-7`IV=}8h%w-;;}$XN9NON%^zd^ucuRjX zzkh#^%PY?|4b;qS1GR>YLn^J_JPxWh5B4~$?b5yh<&*3XSn|2k6?l7B{V9AYN*WEgEz}WcR(CW5*ROBx zh^$;DLb1}r=u?qU*?M*9qUu3^iBx}K>agvnf^EN)?TogE;LS~xKHacJQ5qQR+aY5} z;##*^%eqnf(B)R|junK0AWp6z3_I;Dk^PD1ZwkgXHIQO}9h-;Y>ot))XfAAa9ibha zJK(YtCpouemN!l>BG>E+7Cfy};bFyiUyDD3jv7ki{h&K);0{KQe*Exw=74{B#Uf&= z{d9N&=CW9nOCrHJf`$i9IUdwcv2Yn_tc`kazn;D&ob8jLP^qR#!dp-dd?e^28h!SH zGoJi;JeUxk>a4#;kCNmf=teXcqPp#OI)-<6RJ%>%WMWttq@>oa7|&*bVhppaAue>u zJ7Ll8rj7r1O!BmZC3~1=xQ2f@-m`F{eBy7E&nj+|>`iX)73Sbdb1&SZ|Igs-N`o(s z(tpPKl{%$#&xI5>Z9vUr4Sg=dLMnIO8d-JE|Nhv+hKLKWX6 zVKlG*=504UYrRWOT!>VMX%xWjC)-A9+fGpG{2(Zjo6yw@LVEN2 z?EsDbUHFlZ>7OGd?#<1o2r5HZ^l$ZV%J!HE(^(T2p#+x>#>Ro6ajkXlZc+i-FMrpxNB(NhiofwaY{Z2AgOx2`Q*VnF<(XA}TU34~Mq%RYL?Z1R72)ZCBppwHKJnD_RxNH=@Gh2iA{?KRJcTPI=wekK%jlw(i zHbR(WUmmP4{>=h?D&1@reZhD3MdideQ;ximw88k_-bQ*YeGnz!yAPuTeE3l*VKsK( z<;(p=O+b`p?@)i*Jm_YHK!KHi=++Z528AW9>0QNtD0J)(h05KSn^BIs82&ePxWD8d z-%Qi+hld;gpbqbP!}-TTw&LQ?b3>7oqaaU2qC#I5oVfM z+n~X@qHWdl@JTkjEB}Q7{^V70e39wHn(xX$^NST}J=K5NH_F*JO8FO#&aH~d0@+ko zcRx|k>g~4CP(BLPc|L5-u&_n*WgE}J#eatcARberQ5h%8tTZP zE4{sj74l?-H`Z{kkGK}8L1`Rt6DWV)nF!)wa&f3hlaNJ#TL$JoGbL;Y z1$^3Xn16(runb?RmJ+zaXW|5Uv8d>LdcRYYn9mW4c&bJB$mmZPm^jM$5wxtn89!24 z{0J2&+DF7n*+&_5i>qn7@pCGw~}f{P3@Le!IN0BE?S>su7bF&Z;v z7BYY2A{Zc6l;UWj?~)&Oy%w@YtQT=v05f}W!Cy2WhVmfYA_yQx;qShE#NK63)wtXZ z@ev=>fD4k(^2j0(fQnUP9A4aHIZ7vSl-B3k-Mnw1&%G$Gp%Ndy4h*6iFT0z(v7J!D zQV`kH>Xs?VTaHlUa;XQkh|aGFe<16zAx03|5W*b4#&MJwKs)02Xnch<8P4?V{a0MYY$Iy6u9dMVq}=MO z*T?1c1;B;2Id_54M%NbAiGY-Mc)~O3_xOuUvkr7bn8{bjpg4> z4I)zr-W@bFLA-$BFzL}I6)aZ7W_Bo;m8OV99)_68UYJvc7j-@xP)i3fi=(AX zEJMDv(Jq9=4u$rCcGYRDjx!g%XBBcdJ0^H6j{JUaAB$Eddl`k`Ag>p#tO0Dap)pHiCwyCXY4=8_mnuF

aAWfaEm&F2afl=Cx2|w36g*=O*q^69;(-Tv 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

Xqjq)GqCtp(yh(;LRr#k*I!`w@}@KmGO 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%0DnWACj|2OFofz{sU6^_-&jfUTh}Tqq^GpZ=z}diK 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%0D8&ApaIPok6Y&S?xXHd@}v5p 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�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 jx#?45Clv! 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

Emol8l@;(x;;>beMJqarjON>7T@ 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 LdR|?cR1r>yktoBKV!OI!ildFcuS^ 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

37{u^x4^k3>;$0)O67{XqvI+rFOf+86DZ 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⁡*?Y1o%5=6O8uB8mI=@+GV_ud?p?xJuDEP8xpPd1iXo=M#2IdU&hu^cPs_LP_je#{rJ8nNxqVN%qL6($acKz zG;rYS(0)(cANU|7oY97_f&{QZLW3f#RetUB~zg^KylBhLwZa0tXX?e-?JWGau4@h z56=&gFMCRMF{>emQN$R`0Di28LL_v(L_`1cb3t~n2-=Lj@|jz~Cx?CS|cWV~10TC{RV%$oW_{1A}hsIFyvsDsq($Onq+B;sZNnh|eDqiG;o`RCyOFIo{3;y_I zJ*yg%%E5~1Zn<+7&U4c`0GeY7+gl_%J?FhqCI7$mY2&8n3UKwmju(Ib8;=*NrrsUe zQG!SzS@d|WUXNnf4A-DG7$*+o?Vu+R+Df(rPBA9)uiHMq+?G|vWWW4I_SgCBuk)Fm z&lWr@{Ck|`=4c`^`+a0CpC_r@^x$#Rqs?N{&HN)x)sZDD6D=-$#d8hCGpOLtqHm=; z#3@#=S`ckO0!JVo<2l6znkOVp-| z?*L#&O=cxI(=L@pV#7`3P)Ve0E2THOnceX3^`8g9kf|hqNUnccFcr35`6TR@ZfItf zHrxb}{6<}rhcc#&X{&+_Tc^2GX~QPgeFYmfBA`S1bI4XS#rR+)d!Axsu%a~&TWAGq z6x{j*J2?3VBaeMZQx|k)PL|7u4RQCx;CxfJ0n_9aV(CDp|Om zL-|fR@XPvB491@O@{!uLK8<#*sM^~5ip*NkC=`%N)$o7yc_^_%C0_Aoce2K&Z{Cw`n^o2_)k?Ecz)5}Pv&#ocUrx?*a9nn|K zeI4yzd9;6DBkxxw)0V|NiFA5dpwky~==61lPFsK%0tM{Xf5mX@xNm<@Lj5(;A?mgk zza}z7vrs^4RYJWCCD2wBc`dg5ax+vW)z|djuSBZc03y|=xVws^x({k@?1R*eR4;G^ zSV^k%{tUO*@DUXjk1hH#FE@ZNjcmpicfP&Ya|)CP~y1=iadE1PhZXu!TRWHZA-8 z&yg<_=38HYGY4Zun2-@7G^IvkF7#eWxNu?hoM>@l@j)GStbMK}Ir$)IP@xe)T9`KX z{(yh9P<9XsgB1erlnjQs^<~pz*W8@U;aZ=QI69I4wCmGE;y7(SBI^%ck}%YB+-GP4Ym*=8QYOAsb2@k6`HW5i8ESx6_akQs3hG@@9mG7wHm+d%AO zm)J>I?#H~`jh!5lR|eL-vm-eoJCb9vBf)=KKazc_6uxC@?%m>bW%-C^7jl}1avwW@ zi$`3*FS83cF4yfZzg%y;hDr;?xd6Ss`BFHgKc`HBhHcI+L=C+;cVB_#V;wJ*xWxZRiHnP?1r>-ZQ@`7tup4N_L`i>b z>RF(qQ^1BaPT|lKHxCSdnD?zbz39bT5?f+g|fv*snhxzpej-pD)Js*Xw`vN9S+r zKYrIdcs8!@uh)0+^bmRIz)yQ5LjCyN+qe+ATeU%qcu@>LixJ1QWjva^U>kY~KiZ(! z2v<#b-ElaF0YU-{B=%!5#KC?C-(WP?y8@b{n4E+Jl9olJtF*|5R!P(4j?}Cvtq%~o z3qIzrFHt>5XdWOSmPFExO@4otYcj>S3tz-M<4j&tT+Lg<<6DCjG!}hr#TO}PTy2Fu zs4Yed;vmAZQOA%dfA_QnmE6xz8jvDNaSgUlyA%=!1B(y*+#SRB@%a(^iH|VQRuy9L zrg;b)jhhI*F^O<&%LfAvZHQ}?PWSCH!nz)V3jqg&z06(Qfyc_`Xo7#He5@pwJBy(4 zKyuT0!jW?J9cJoi*qKT34JHK|f3$7{MTT~@sV6Zl&XUy89}NY z01uwD0|@PMfH+9?*4q%^5i9`!b4#ssk@q-2g~Bz#i;aMNC1`&|Orw|{I!Ci%je@$6 zokEP?whS~niuE!oCS${jp|xV5a#4C1m9?~iF~8WtmVvubvD<*sEtCL;$3>&1A)wyW zXW{ogxd9f2aWi6V_n;z5#;=fzJ$UK;9w^Q=ZDXjgY1pP4AzmUqVerG<^P`I%hXuj< z#Ud)UV6*U1USog8%5EhCNfGpxX#x~LHimN-QAde1Le&DRs3l=TZD|&u`gjoAeTr{b zz%a%jS{yAJMEi|F>@{Bz{~d9R7P?9X3*6?+pP9k4mp_%jm<^kkd*B6?CHu{ty&CO* zW7__P5TjzB`fPqv>JxN(fk&Ys36J7XT&*KQ#hf5U&ES77Hu{lIm1{4_X!#6G2_lLO z?p~0<=+gV$V@ci^LnZ^@BIlj;1|WMZDD)9u2YBGEUPA_Onci65;Ix*daqXHou|%{` zlSY=Lw{jb1@I5(&MF2;;dIZ}5M8cU4AX>Ih84$=vvB7u~63C?at=m1nUcdXTHJb(r zpW=_|*A9O$#pv1E1k;NFS%ubIQsfz7%Jg|PmUznzwsz(#S}RnvTB-;ov?3m?v>I1P zUt1eVN_Bf=e6MTHYM~z2^S5p+L9vj#6jL53JKZ{04`_Mmb_1k|W;a?_&4F@4`ech% z30F=yRK|AQ(i|6u(7+}{M&}*_b@zhfZx(^$LGJjB`#U(fndg91Yg%$AgVDq$o(b~Df~1nCF2u>Z7X+-pKQw_bQ#oO_*`-|tcpNQ6zqC`+V2dG>+O691 zPu;=vE{W>U7yNiwPQLZ&7XRLz9+CNG;YE(aOF(Az{XNe4@v^pjgpgu5yG+GR)W}-fNEgHHoCjn@vP|y*z6^m>#*Kr3$LT{HjHgFyF`a=J z>dPmiAs|il?;0WZip?X;pW446j{lk!2nqV)2qlLhSDrL$+(k255MuSCu?cKKw)_@{ za1n&NN97obMtd|U-6N#f5*}L*=@>~qgLeUHoXYLdr5!J6;*f~NGe7#4a3kRXoGlBvYAYgI~lS<*W`P5MwY?8dR zr9U19Sknmxy*?3{&0|<#Qc)XGuf?o<(rJ2S5JjOY!ks3vV^s)CSEh2fW0il2d|ENm zzRYz)jJ}Sp!N-VQZ$g+Q9EMH}UrtqJJ}eaUy^GAy)&fO_oLWXzIHj2ki?vvWTNcHVz)lIszi(txGM|np;Mcr&4@DGns42uq+D84%TiiW7e@UPrQ{;RkRFUeiAi)7o%=wehRfL5M_Cf-^M3@}%fmo?0Zc(7gJNXg> z+=1^{5_kofP8;AmJ&dt6Zf;_COF^Iw?LZ$h*a%1csYbS!-sgqwmQpK zz@w}@l2hd zAc47}qQEh&c}-$yhpZZ@ks~Yx4=R>zj)=dRZi}NTf5%=1TVB%}2g%_Z6bp%wtY{m#zlgCjUAjvc>)uOtc3WM zj+?0G3xJ!n^O(H1zjv1~hp~}BlR>RdAY0~9pT=9x&u#`Bgrt84uvpx6r7_O)Lllmb zn_Ht1U^0$J!!xke_tWlZCXOS+(H4yN-W}Y|k5gt&uiiEW!%6KRfslK<@@{3Naq#x) zD<`uqxO8lTO;M-4u#sjbFxXiPMFUCG>CE$*J9nVb0}xVfP$h8dam6TnA*K9>C?GtLFCoGxhb>kyZpyQ6L&TXV zjKlHmbrn1^Q)G}!c7!urcrcX;#qI=J?Yx4QKzz`_@nnC&brg`nuin0cX1v!i$i(s@ zeiE@|NDgUFMt$^w)a$K2O)dR8g9{LTvSte%cbWsfj?6MN84+`Bqd?xGvWHZG3#Q$3 zIMXbr-PBn5#CbMa*v0|RI<{*V3@Ck>40UWA7wy)aI}i8bogY_&g-1xIMd-dCzblvP z$1AWp?m&ML<4~_MX-{8luVug>lFW#*a0ybFeSCxyrB~9lq(HdXz@<|tW+#@Luyw^N z;O(2x6%#1Kn{8scByX^n(Z>i>^AU080tY9SuG!BFDv4KFIu3tGax$?_5UG%Ob#3N!z`S@Jo4DmuwC=GeZ1o(ZKP(0>`_0N2Up7%;T@jPO%2KK+`YG zlZF<9WQMKbJV<6h0^rkT=W`tnqbMTCTqGUZ*Z?^|#=l;QG+EMrgc#O0fp(muP576c>c#<)wppHM+N0C%FJv;G{(p3DnlLb;pbJVuJZm1n53fl;F7l-G2nn zJE{vEe75jC8|nqlhBpMuu0}4*a<~j9{8JDPN7r2S+{P^{Zpl=C8}59NGvfOQyY<14 z1gI>3+(KW^rRa?U`fSDE-&hX`o0Il$R*WC2IoOS%Vxd_oCU_?G6Pnd?C_d{jEttpuhhUQny-*Tix|HARThz+ z7e1}*Ywkz9)}wg#O~ksS7CAXEGCT9y>xLVDT#$q|IVwLMgR%ZrI*G}C0tgKotlO;CR9p;*KoH%1$QI+7~^iO>N_gFcOe#r`)d!|UWE6)8Djr` zJYnk!!@HQAuGjaKz-HkhUpAo|ZwvuezA$u9q=ljD%^$j6a<5mq*1ORFmhZ=|xdEGV z&ZFzCl)39U)m@5~n6aE=3#Rgu;k12filG?ZB_0zY4OuIAwx2q-Xi= z1@PfIB-*}TU*!BPZ&7Q(Z^m9A{ygdWMu-0e6bwOEmde;)ba(mE;xva~xW-X`_t!<8 z)Jn)}dCxU-QY(1Qt3$m>g60~p4)uws=77f*gyt#wu$hw^`@1>M`S|t17lYGVyE!_l za(ZJ(t*o!RI<-q>WiR*~lH3XXIU&R+-;k0wJgzdQQS#~6+lj+mhdt0v;epms@3iA4 zDpo%=$~#2f5j&6_&ha&#s;}{XN&N`6{b#O@r|O_~$wI5*&s9Mm%PI|sF+P%$~4 zol?hxgW3sv`5Gs1u8Y3LaKH~9mv62i-G6?0(p`+;9CcOuPmY_d`J|L13%KQt{vCYG z-~3nkn1{(7A5{k^5u?{)bdqQiXWT_+I%h3s(Mw)N*gds{Ol=}Mz#1HXo=|i#QlJ+= z`529Mf^p#(Cp0|Z0_AU&rd~ZudpuQROjVDEa$JcF3;&a_Dt?hwA#$E94E^ob#!!dv zOZy&|+4>E5bQ-k8dm~%5-urlc{>)gk+eKZIkLk~G6$@Wl`aJ(+)T&`dC{JN)FqbED zmK{6zVqT9K;o#KO@ry2hJ6TjEf8Y~ZcA5I!vO5bEi=QvmZOiT$+XP@PPTjKe4(>k| zJ=yEs{g9F};l$0o|L2feW#qqdXxl`VD22JbLG-`M*nx^*S_-MG(52<5fyh(rQp9$~ zF;l_bADZvJbQKV$e+=U|6Kin6$iKy?gSps*KH6_FCUK@)Vey`SHMc9Vv@6#qaE4ou z7HAEg#5D*~4r@>;Og!-QVb(;1wwD&w?1D|tUZ(IsE`r+$!j)yC1fI=&QWY=tjkprSv2t=aK&6#Y+G<|}5qJ7BvA9mpyB&DWZTKy5!#%!r2s$B8R6;n>~g zdx8CWKNt23O|rQ!(s?Wdb8o`~dswGxt6G2O&ifjy$TTujpLFYZgF;FW)xIy|81e93 z&{Dw`aFz>4)lWjtX*{a;9FOXC9o@aE|LRAgyYEHJnH`RZv2o zlfhe)g#ddAYhf2Ok^G(|D*vQWHK`&JRuU|Mfd>G$%0<8iy0|~7hye_^9n@a6Q(^&3|92Um?KOE#HLv_juSLpG|GoM%2k8) z=@Us`0(nznAUP1Z5KKCaqIr(UW!JFmfVFT`g}<-@-zk3*ne5-}B$C32XU-rdRH&dc z=Xhcw&mn7$2Ce>~io*PX4%h*0J8P_Wi;{CUo;!1Yk~8Zhig4DvEi0|4;XVg%#LmpY z8^H}GvD)lmNRWf+fQ@%ZXubY0#4>js=cgYiZpg>T;-Tp<7C&Vc-vR5IGCL7oS3V{6 z>(EP7EcPhm4n(A#6Z3j>U5P09wv;lybWBRdS`Z;J$h;MTX%Kp|Vr>w5^AfX4y=6%| zEA9#iQvXfm)tp}Lm+83(QGc3b67#`fC*;{k-u0by@@J>sFI2qiawCs3E+qe6g8e$xGzd>6dCE-ZXB3ckkN207?%H zICvU>fQ+xLrPGZ%-K5dIS?-~spEOO{wr%HpxM8ijH&JWebRMK)=YP;~AQg_WpoN?& z(;#eOU5F#T>5mI2oFv`<40PtsED1F3$UNfnMeZJOKJz?}GXcnP7DJ0CVV^CK^B!=m z&6Q_It~{3kkh4NN>ysRi^RocRdEb-kjt6pn0q@()$zt^n@392W%o04QZyN@ED9iH- z?+%SXdyvCb-Or#o6Mr}wGGr$u*(xw|EZ821V7py8#3VcqzTAgcOSx22c8Xkzrfq*; zQ3^$;Vzg)WCJXnR1(6PJ&KqEL|Tb34dl+ZQqPI7setZS)MJi>~RdETC>=r?qy1xvya_&=M$IyFn5^#H}o#@dkHE4gWoG zRQ@c!j^zQ%_kSuRX6O|@eAq#<0t;BqY|irjgoi8NuWtg3v9<{mM6Z~H*~rOkU6sgY zXuQXtM;I$GWD;Xf(~n3`H2uiOAr!|FQedu>Z#bc*SMQb!HASXL#!aV%n<@X9is*9c zx6Po^vz}G#L5&{5AgEU&q8DZ(h?r3?U`Af3H(B8osDGQgE5_-D0#N=sk$1azcOrzV zAlhkF`l(T+H!E`S3)<+K-J^C%vo)l+Y>i#+j70mvzBq9WE8aHSw)>$;yzQpL+h(@n z&WziKxt$$m(O3+^yM<$+C>Fq;oR+&hof7p#J)Mf&n-b1V^SIv&Dre}4>K?@Y@9wen z8b>fz?|*xO<|N`#W;>f54Gu*bHC`63b?YhN9(-yKGvSxYXkqdTZ01u~ z&~VO%rsvagR`C(==8{7SFh}^WJ6=A!8MU4GOYhWy(AZ#RWGmyJKnz zJ?2-c6u^E*5DDy|&?-3;AbJ{@n-JPC>(m>4v+RhP7DGaMw26V8b|G zbOuP*2i+EUcdki*U+4_@GC_L{+a3;xOncjHMk3`K#2N1!G=+i|fm*CB4npuEKUI(N zW{Wt6G*>bXB-O@y$;J;08#f`5`I2#Xq%(b*rT9Tc+$H9vq2V%H&Td76?Tpr z$-?TS*P1{&9w(=$43KeZsaEV>C~L)+K`U;FhuI~L*w(PQgoQRt%eCYdH^L4zGG)nP z*%AriEOoZI??sag#>4icadk;PrcQlWu^UQOL$x(XTQ z8w!A1BCwVQ&Q-nL7!oi;#<~c=zcd4QoVi*8a!{%m=F%3@UYYAuJZHpP5qidQo9JQR z83HUx%7H;Wn^}P7F5F5qvp_E40L_IuGsP29h-8By(d8qKevhJI;(vawj> z1jDL4+j;!U-lN~}2>-=HW8=`8!7tx*Sj1I-`eU8Nb#7SzdkH?eA0%Z-@C#GTBUnQ2dL2#&L&TTg8nc zW*de#Bu5u*zf#7*EE1dxng0MMe2&dq&~GjtZ{6W$o6RzCUkjiGqY>uhH{o(QV8jdy z2~RL9Wj&QV0_Mja6Dufk{^+Q2Z1piuT1=&3q_QyUNKcD(5r2j5a(EQ28pbb)E4uX_ z;ovfm0>Y*;r~>lrj{&dvI9O@S(PF-n(e@EEs4PUujEb^pQL&U4&f0hD_7A`j8D8l_ z`(y~2=stNi2g1fDV6^+gGDf>U{5O>>vaIE!HWD z{#2+ke^{68$$v(zdjr0<{E##Hb{e9(Wx5HWRgivjg(6trf9=V9UU)KZ3ksWDHqL_s zx`1#3e02&yrD{W8qEKUK^iXDZ?8wR$4=^fKs4%o>%eB>tT_ybKMpL_{wj57}jTW;Q zAoZUVFh3vlTQwT)RNsV>#rIczTX=u%Zs=nv<_N|>4S&ir(^0d!GF`v%_EvbW42ooL zl~6ziGKDYrJ+J^WkG`9EZ8O@*)U^$INvo8!@aMGk37#yBG8enNf)^?$6Gam`%8$OV z6p87^*rLCJb6i0K@)g1L!Y| zZ!ULiS?#(y`YP6tfxpS|$?U9VV9U&0=BkTu?=S!Jes65+WwU+K&kAbeP?{$*W za}dj#fjSkFGrX(-Zfjw6`K6u?g=>kN4n;&T;(vS`blUBniKejAmY9Qr$q7aY^&;Eb z8a2*8Npn&nNo`(1-s}QnVP>zfUBo}Of*9{7SwW0~3y9`E#R9Umk6S-; z@ShZ`8K+Hm@}E%62uUDPGdjKq$wXxUFB0U8idH*%F$4x}tKbxHnOwqBv*gO8PB83S z27k8AW3>4*BT&^9y21EkAcyUfQ5hN~ebKRFt7i~gIvr&wetKQxwMG3<7v5|ZiZo*YVo-fX!=UN%kwFy8*-nb z28vE2HWO^>x)4){7nIv}xpcv^xa*hndw=Rp8ow*=$#yGbDWI6%25#?!vQBtNp|84V zsZkaYRS^r02+BN*`sSn(CoY!`Rj*f0o-QaGT+DI;_l)tF%$!;`63q_{_lSlBpJpk- zB|x~Im)%QC|Hez8#%;RG*nz1K&km<1l*>6+#c8BmiR|qwVaCf$L156+OJNLz9Dmqu ztaZ!eZ(P;08BnDt`?nr#jg?# zgr{EqQKEu5dZJ&k^0x49I9rCeVt@UFI2_f?NX%L(eQ}*7JtSu-S-I$zgC?Te0C(Oe zk{Te=TcP1FAv9#}Av1&qPu>4!0)r}C=ad*s;g1s;Oy&7y1}wn*BEt`I+QydEe{Ye& z=T0yJ1Jgg>;&5NJ5ajd97p{VlOlC+2>Wj9V_E%HkAnUI7XGjNc3pL~opMO5`ZF32t zLQX>tqMIP$S0oouQt(1TR(n2@)bRyEfxJw++=M#UgLd~LDsABTFzu`qF1YnlDn3Z`6waF;t;KQdnjh4`j5Mdl2=L`5{S?Ad z%!!$sLIBBO69&fnBDWr&eXX+ij`bHSjmq^9oC&_Y%&A53^~Xj^%71oSBl3?bBn!nW z$Qmq*XD3gg^O!sHb^c(YgIgzqnUNVmI~NP3Ucv*1%w}_fkATP=Bao!bxNjR5kp&O!Yv0{V~<+i+uzI zEe5U3saKcQbUJ=$cN%ZIgHc^GFhvYCqKtg9pV=ifX+k#1A(BwS%2={+;3QZbIEswh zvzPayC$Df(Khb>JxfB8<8F{-nA`2PJm)aW|ZI}yjXf(%z9)Bcr?`oc^r#(^sboc(2 zh}|>O<|H7!XULw$bf1$wLtpT#@&Jb`s-z%=h5-&4*)vi?QMoC4D9BpY)5eR0SW5o` z$BmZ)Rg5Q4h4}N`LiMC#k|7?*x}oZ6p5zIc^^A@-XU+@tOwmmn@d2~lh9bayq|F2t zjh_a)PsjDnA%8F1i9Qvcr^^rh42}i3=~mV0wQJ>r@cf>?{&FRD3Y09!c`65<2iZvC z&^2#9`Y25`mgIfO5LQJWN}NCN67^^9NY7fy#A?pkQQ;Yz7D##8HgMW@!_!u|^n8to zZYdF;lD?IP-d$z%ZJkaMj$f7)in6@$UL7dZajVw5^M8!O?hfv3Ccp9t z25a7wXGS33mfn3_P|-YmcDJ0*?#>rTrhaSAfz4fLzxcv2R_4kJxQp|*O6!EoE!Dm+ zy`cV~ls{>?JvMBIKEEfD?d0O?*8lSn(a}G{jcC z|0F`&jN2pvaQnf%CR6}_nRo$JFXRn0<=^mPT7R7^-*dfkFa)E@+P47?XvP_@pK-=> zK1t$k2Jx2*dt*n?s8eA~Z~Mmm2TTKbeRE; zIDbHF44&5oqe;Brdhj^U46z}})a_WjWQQ5+R!5w%a71H_Xsjc`d*#!rHMWcwi66H;kWzr)$M=R_J0K+j7kAToy9+35SD($ACjtl`v7JQ1fDtQ zkVgHAyU6y!?@8=_E9}nG;sBJzV$ea1RR$x`qL@6O1hzEz@S#WZ6w`Lqsc&l(z>C1I z7-a-?CXF8gJ|yTb0S;>_`^#`%AfDSLE^@$L9R^3^3TptrVpLxPyPAnuVu8Qm)_*jA z>Y^Z%jDA?ZlW#Z={}bdaYI(FDLF~#Qn`Y5|1p+wpja=@bY-WwZq%}5|(Z4!b(V0OD z`j;dtx|km}`25pT?#JaV%H%8Re1?2QVLp{>L~B~6E@AO5ugZm4xzlvIp($4mIag3( zn$C>UVu><*=ofg4{~+H?38G=vPhOfO+bbX+GKJeCzWJ0=uYpx)&%W-fY6n&}FDybaZJ zHj3GB7VEIDE!TR0t@QMTNcec%S0xz!dH8d%-}!cTP}R*&qrUHw-$V;F3Kq&qUmP?R z#Z8BmJ6GYsx^WM!P1fv5Ad>#UO2H>Fb~MxdYvuppruRG($hNgVu7k$Qmc}dc!cd#Sb+r0BdXDR*SH!Z zv-Pv3rw;s@!2MG83V*ooL0MX!*Y}Vdp|*#7Wjx4Cg_FvzR=B|R$X76Cp7j&lyJ{!6 z@dQ;e7^k+1-e=38PC4kk8Pf1(3CD_e$K2eiESsw2onscJkdYaQsawA)ys)&P!_AXD z?MW^EgR~iyl#B(9gqN`*uIRX-Q3xAInlHp1mmMS($Tk@WA%FEiNCQJixS*$CuOUt= zu5DUehfPhybz~C3(oTam_KdjR3B`3OE*&_dxSnV~5Z61dVbV#Dlj6kn7A{G(7VZL` zK!CU#Gt7<8gSDPa`FLwk_0;J%sM}}`D>Wbx%;1r;yB#qNw@ktTS1HBdYl0ZSP!6ws6QsM|=d)zK>pryT zqN`?hoT<*_5_7rBd=@c-7uf5b_i2Tcp7jB%1=9dJXfo*1 zR?sEJwW({8=XNLU3y_ncyrW}DnadZA9$-tiz`-=1zf=knZNWf}8uhwbN#Rci&p8r{ z2v0CP;nuRgxL8ArHz*8TNwR&%HN^0Y=YW9WDu0|?uX~$-_H;j1xNF-LS*9EdqM$cf z+S4TAd*nn#nL5bAbQ+>Jpvpx4ap>@+=`ovTW-Vztm)Q*YRjjJtEkRU(aJUtcO#a%? z9b=W7gXZ9p$$MliqCz<6Ky=|sM6a=L&_*BeG(xM``a~lpJ(g@Z+5JyZZb!K5(}L`QNLEvrzeB!w#Wbk9lC#xcGs-Rw z{A*v{F>Tg9sB?tGQEPvb4m6d03BfpDgD3UxpH!BfAg>OSoBacS30IOro&`Nuw!|v~ zgOxZ-{$+b5e9m*7gJWi;;D(a=IIMd8^M6Ul+*aIG#axiknLX{yT%VN=X1bmFsIpQm zc)6VHSN+mv*wq`;#%Kg&!0uT7T}sthj_*;*gOSU{@!;2Ur4#!3^N6_lyg?r$;wJ7% zak8L6{msd(Gl1Y0(BRdmAPc@p2gI~qsiU>a1CVuI!Met~1y+mq%sEpA4U#E?n19LM z?4@)0SQ8&RH~Z|Qer4Wm%DWA`+mv0tF-P|Os|pk7?gnkVHZs~~+Qzg&87D+k|4m%V<~NRJALx5KEP3mGeTDBiq)C4!WpYhxP03#YMZ-#j>)TNeA($X_Axt zrT-8vO{BN1-!8<4Yq)9{hq8RK5`TEKakyKDbQ>Do81GdW_D$db{>piVLL)e`fd%|C zR{$=#uDf^dKDDsCQW(oM>X`^iG*0X?8@~FN5hOVd0#3>{&qxTvX}y)qM|8mOT|zUi z2@hxr(mN`Mk{Z2-gLzIcRo1yP@3m{6h*b)1z}0aVBiKWYXm5Pcos&SvrzCiZoA zC~vl=qsTB+33msBrLc|x27f?lT}Ia!`uqzVtdvB75E3F&%L@`2VOrQffx+<(oZj8D zzl`=k^Zs|7Jl_o5(PL(~YtC2E<}ASnrE2Dj^hmmU*B92K#?UbP*&Q1avfYjA8kgA3 zVv2g_K`}Pz84C)FKrz5og>F+&^ayXyPxSh_2|LkxB_)+wqgRF08h@8cgw5vqrXu(@ zm7@GZqGuRRUe?R7v>&&YS91orN<>S>T;=xuoPRn0Qg>|Iy&z5??6rWN zhj}-m&Ij2rqUSjOtm?%kT>4b=m7OdK%VGa=?J&aZdX(L^G7~DU8X#5wN{?v`Y_d_p za)JiJK+gyR?yMFEl#-zsC~ltKi7N>!$({ACOG?@YAJ=B&Oh-B7qsn zWurWpXM-XOM3~uGp;T^lOsep(b>|Ky&qv>ycgqipvWd-%*eOaBHh=h}^dw-z%pj#x zn8IH4>6Dbd%%b`8{KE$;K?MZ^iMYJvYIanauw;1uKYyZ%<7sz{1xF$Pn+Iiz%aiYA zrvFqNTn~)Rib{7Jez8CdM|~S0y$59lO#+j_^t1zuKoIa6u3fNcviBLk)Ir>HOzKhS zEVY>Ilu1LApP{$`*$i<5Yf^vU;Who7e)tf!=bKB533u;)vHu<Qjr-l<5QsXZ`QxKPg_@?@00YcEcM_teM@Z4lEe0dR9@CSs zf=z@ZWbK;5;~+E`2an+|9~T>3nqFo&z=VusLh2CDGPGxd{4_75f3*5-`%YBo(7PvI0nG+oQ?tX z1*${>L&n1?dgpuy5#uGBGvd z#_Z!*`BWp;`40Dd!(4HbdzZf$LKAL(r~sxJ>&4x7>x$+o@q3< zY0>)qKzMsCF|ms@hjp2H*1G$^eU=D$&{2>9<=lQw?bqUljqgv6m)JddVSnF8OvJuD zFLE+%-YS?cbWV(n^4gPVg6*v4=P)yGZn6?HlbDUv6y%4U^n^XBUlzJi7J3Hk@Sh#= z(aCc6oWoC+uZIQTQpFv+>kdh2f@Uy3Yc)DH$-LFz)l|vM90I-YESNh)7V<3Q?7;&P z6qK1ixH5xQGcyPWc<}FEsKi5H_+`$6Q?hdIDD(7iw~)4r8e5 z4?=Z&Fmk*<_TtEumQNjcwS+gMQSWpbn&&la){`Fu@1m_n#X7k1g;2f#zKlEF}CkyGAcwZP~bpY`Ze(F#UKD-oz6o`h4ig zEC1c%X`|hsv&dmZdVgZQMH=m;SIag0_rUp!JcDCc7}2EbXX45#mqM88e#VJ>hIxEy zW_iE<9`AlXf&bYYL>v2=e|CypyEVl=uWVb2Jrw%f4k-3j@FYjE2LZ)mx*f^Vm#~av zw=kIp)_b^Je`99)q^-W;q}dZJx^(F(PqYmzcto|YN~pGzqJP>erP?%Y`P{J%)@#go}RJQs_0KMwD`|iYOQF@n5tB($&6@bhj$(jiuZ-r0?1r zlE0pt=A3)_a60ZR zK{wnoCP-XKy^#cl7(@>k;7VE+E2)w+oXjZs+JD}>u#Lh}xM&QF6Dj_-L;UhfwRGCw z)v9}CMsEiu&&@PYun`5cIQtm2ZlJGgfTM_ykJI?-e5fBz04r7iYm?+BdBwrkvMX;B z02bYg3Fg-5iP*!ljU+=>l!Lp0Q~6kCX$pM}P8*T?@P}bnH1@iN!UzyT(WK({L_#|= z2Y=Y_lcmM?)o)gr8lu{%TBOt#8sjonv8YodEKv};#@j}>$319qQx`6}{p!2w(YK@a z#qk0{@XztPybTAm%4{ttzP!MVe}?#(Dmow$#s0}vmAc%85kYa`0Cmw?Xbwg&g_wV; z_Sbn8@)T<=46ADkw6)s@ReY*_E)6VL}bdtPjO<6SsX=Uz(7=wsZlzLRG0PFfwku0< zpmB&1plFToY#de))PGJgC8`)G+9GXWGr_klNkWSvK>4kdkgnuIAxB_@qJDAK;ojuo z4)8Pase*WNDq*Z?@x+EG$hcs?b+9*}-|7&30Nb~5%Et4rq&a;V?qnrDD-aylOh2nSH{rJSWd_5> zX?Jo(UZ<~Qnoze_{nk7&6IO?Vg`CQmj$`dY@T9D4YG^@$`)l^w^VLp#8h<cY|8lkwa0^px3mt6k@0#5qZ<7E`%UtcE+NzbK_{B^-} zV)+G3j^Q4FOxcMqvZK#%5IqxL?N^AhC^C_PAC++s(y_1)Eu$MH4B?X}!b7x#-9q#5 z7}!ka zbc1D<(=oswGp54^N6k6r9>shj0}Z$$mt`z7+q0j_$rbaF30+Bv(Y0U zvJv97ba--j88nhO|9@W<;WK<#!H#~w#v_6+eWT@s>5ocI8A)xQ7Kx{lA^9lU1|sS_0IiM&Tz`q`*ZfQA`sl&%@;D%E zs-`oPA^QX3bsJaQwflL>@$avyN61)ux`c23=gF5RXnOfLZqU-VZn|`%i87gn*YXV; zQV*NeDnVBgTO<4gx)HajyDZTSwpl&-N_zq1gn+Lt1K{KlR`3}^H*J{tdr-7lR2n{% zoz?dIy-XjNxPNiMj6>Sw;%nOsy|X!2EPjx&k#y_N4l4(T^*4u=C&T*n(U1L=$3JiU z^ys+O-K_A}#`CSmJIA%>tMY5_(eHc5wTqVgc((N;w*4kPhyeDZv%$*#P_WIro z+>mFbAAcU@KHSKBcn`-<{=3~wDXeO~(AahkZ^sMoy1gE|02*RK;&zK&l4y_xnK2xA z=+}ajy=Yu5;2O2?ZZLW+eui*LzgjVU9_0Gm3!m8k$(z$$*{MD$L^Nw16w5(II8iXA z*kIu-3`Pn9W}7U@&x01+S0>{56xb#3T8TOH-hW|YIRLoz#gKAwX32u+Lc?iR=W9G2 zQum2q0G-QmMHe6cpa`9&p*u{`<4QR60q!0@2%d#U@+M#Z`kY~zoh?qTH>pN>ZO z%bbpj>|1pzGgMXUE-r@OLPq@7orY(Sm3bHn%g6nWTAd-pn6w%|@HnZY@Xx3t(Z^E7 zzfdV9ALOhq7qq-ui*qn}2k^sE4mOk-etAYm7CXQW)EV!pUjxGz z{Qp3_V+sz4!h=IN@)LgIJ=@1j1J8(}3s$Lgrqws&cXknO86Y=!y0?$gU{vFQCYg;lUC9IBl567?aH1T$h&s^1%D~$kZw5dFcftAP(4_l41qv{{#BOt+m#nm<3*c) z=ZT(xual(*qztrr;#g-NZEfOi2j^IzZ_wDewZf2P?+4m>6uW@=}N(x9V#P2%n}K z;^N}XOOf+pbovf&as{`2T;$^`{+YdtZmKJc-hUQa16-qc(=<0Iy?-{Di{>zQdAyi$ zc|13l$Io(S?2ez}zF`7jLT9!yvLnMB<=+_S`3vrW9wlf*If1G)%87izc*GDSI-n?n z)2OiVLsm9f8Bq7a@r6*}%}KQ~@(l~i%-gHg@D8WFahn$+0NO(LW-dbSI#_mp`{6s} z%)>1gleK4>!Mz6gF@H5<3r}|3#I97S8f#r&Ca++;bKL=y!G<9u)z_vDa6snDJHu*1 zYbfsN-BWSfE52cwo2PQ)4rfoj?x9x23OqA+m}j~;@5u|EIbQIjzD>@!3HFfTM9zSq z^M{LPPbZBms`6awJzve&<7@8m_u%b>1zuj?UV5@z3gP(uMD$S_>xPW zaW2U-M3z9Z3}t&QrpYK{TF83fnbzQTObhmK4@M31tMN4_3IApwp3Ro;N=DT|e|HK` z53D8w_5qjNg?}cQ88P8>MlZtAO}#H_DP+HJ@SgB$`Dtm0jouhv^-q0v&#@Sy0Z4Fl zJ%Se@l7J$ar#PX=SKGbE@PyN(17EC}rlu^^9m{L-9PAUSe9i!Q(M4?f7t>`n*Lc@} zMGPgW29dI4?PzB8=Cm<6?YN!QU1>wDJz9Fn0jS=OReuZ%Uc7VNyIFjR5b-smUvAZ1 z(`RioByDSmwRQt)DbzI+WEmjr~WU{jG z48EP%>VLXO3k~q9v$M88vsN%wx(=uDGEDp7Lg*Sm-6qpB=(SA`7yTk=g@taPprxQN zFhu=CZINfVRVx7;0sk*w8Nsa0b+Yf=x3#nK?H{flx42yZNI~l~_@3zsoD)p7!XBMU ze6Q;S5O3Yg2Bm=T%pGCM0ULD)=oFn!p0UOKy?<7i0qLfO64ww3F3$cXvIH4pR-9;R zd7S^ikwc_VUBF!d;s8e?IUq2r;`T***&>AntCm)w;je+v@U~3j-01JNsq%A4zj87~ zc@WC{LW6aCXSNX>&GxB@`&DIUyCq8g2!o#yAUl9QVYXNB9|ZN9h>#KSSm4BtvwbZ5 zOMgkTPvmy`;0o_DuHHDHTLPKdB3LSr$Co;F{-|VW>lY>k<{NQQ4;^?78`!S@jN^5Ek}7(-(EQ*j4{OI1E4m*5&KX|yt1vn z(spiyHKI?+ic$o1r9`s2g|b0!aM(au-hW;K8ThF=!_+KcCNQ4?FXVHaVF@lNZvg6m z&^>A4&Xo3OH)H2!##n3}g)d~9r7OG2sZF~>Emq&jzG1=>|vnw&$=VYm$64uQIM#BpYm!3+wa~O_hit3L_8| zMmDc{xfqFady!_%`B-GHN1^Oa@N`oqwyTAOm?ByQd~e{2rF{R~c6{Fn>Sz6>gB=LV zdh^g*q;j<26LgW5c-9}CxrWS?L2T1;`={OjUOh?+47xD^+J-agqWIQ!7=QPLDSiyu zc3V&ul&$cml~dI@H?>=2faNdY*y}m7Q4`fx1Y#%bHcTT zRzu87u-c%DxZA*D<1Z=tExFEwe!ci>@VXs2yNd8$YT+^0Al0$(Ch-b432P&LWn(j*QcoMrnBb`l62GX<;N2q%YPdCq$v`B=Uhamx zdcA^@iwD~7^7#|Ca~WGjz>12Zp^``c8L#(^HrHthzZV0g}YYCWc^4UWi?2iNn^EQsn5nATf4b> zA->R%ypzXEXY|}Mk*L@c#FtdVhds{eqgA8=S=2keQL%izx=QP^Xkg6mSO>!baFGwp z&$gJ0J+x5-YeroodVd+op=G$wc-p+^8kf41y2WO8&AHBDtEuapNEyMkpMkVaV{k(yV({xQ<2cj}x!s?cgPBBeRG~OEeH- zS}jYcnoE)DlyOw#1UcEY8^903w5aj-%F?2` z{kv!OuidtN3nn;$=#M)Rkduu-p=<@aSJM^IDR#*e0__R1jPe=Dj{@?W`});`cx}M9}khubVAf!LVb>R#Kc^-)r>xUWF&^88ipgi$Pz#;n42l z_W~#U-F>w1Jry2E&DpB_p$2z5-LuKUmkVLT=(3=vQcuD2DzBONZ9a1bnVq4ML@X1 z`uA^JOAf8Z03cU(0&5Ou3IcBfvk?55weLLsG|qv;UgNag8T6RqhZQ!)uW{wO0#afB z9Ddh6Q=?1uD2DZjo0{al}IRs)O#>ZQH`OHKFcx+cLx3kq?s$&;Wm}uK@6-cO^iP z%7#%*_+99q;NN)L!du;zh_28G?ynw5 zP=B@&1Vj+RzNGuQg!q}T+||^52X}6s>D9l*@zKGu6-4vN6jx0q{2F2h&(T`q;XuL* zD3(cTDV|K25lby~B8h{gwK9|<5QplIk2nTnG>4|3Dp?na4k}C+I=MH*P;UTDeX)XR z&9BNczRRx3a^+4B-$Vo+cMm3?%n=*qQGc&3c_Ih6*%D2n2TU0Bep{%ec53;i!#hCO zE!I`QM4Vl81EfZ>kxWqB36g{=NC|~qWUn;9y}tYjApb+=tO~SXgvI4s<~XABA9gTr z4Z&xK9l;VGK0L+<_|m?p*a1;9_Dp+=P`=S>V>a=_F#t87_Lj^D6M$R-1!COBS%2xjzOV%IL$>72e=fg-I>|Q4y?{hz zrBGA96qUKbfyJNvT2yxNp%uxJ(-ojm z@HP<6GGXKC7ZJ=gj67Q6)YyA^3Tb;ec@8J??+KXUp6nq~rAI@JHE#Xfm~;SSh7B86 zyB}A%hpP>!Q!PI)P3i*LYobaw_k#yg?}oE7<$NPA8hZvNf(@}J(<0qlUCurKxp9B_ zU43=gehq+%c%>i9R=>Ibzy8Pne7XD(?%VD3n6fo6u*|pOv6X)<`xMo~A!bMg^D8(xYzjoWA_rbL`dC+itdlwr{M9}L&NszR0H!}8;iUCA+#kRKN7Zq zS;TpH>PddL>7un686adssyX!rz>s;3^~6l9$!>348^@1- z#y@aAtpSC$Gnn>TyAYae(E(hIU~B(*05*WYK|oTD@MJIy9yDy8!Pg?r^aCNS=`6~? z!Rc4m9MH`@{NI;reiBZ+?HMI`&lsG6BSWcyz*Fq{yLX|{7gOE+|NdX&drN=S^`rl4 ztsH;3ymW-$$M=@;@XmcVckT5f@RD)+N9aodEpxPngQtD;;P}Ib#o^`RaqXy&^9z6Y z4!i>QttezttzAb}1B*U1sYAC=fu>u=UVnXXBN-|!Q2Uo+NV)(8wp+UtRWJ_dwnYJ9 zdShD++H~zzPN5M1zVb^`g@k|Jz1M&*NN}B#%=)vt_FJ=ZS!3&!UCp+ z^GpF1ZA}XYoEesC7M4OYw$!}j#2K>SM70IIVm}NhLyjYe-%BU=9;`y|d2f94@Xqz% zhVM@9^=^ij56w(eL4xe3zG-FOpl|x7!#6tgxXM}Pg{yJF7e;@~H#Mq4C;Iw4^BVQS z*G*|w+GMv^Ln?0)Lt#ED7sf6O!_E%aMo94EB*72rUlL(e3BFe!7qE)pIS75N+5ia; z$S`if7}V=8&ln)b0J<67xpTc%J;nUzw*LUzzjK3!m>Y>J@=g&h$Qq6jo%ZQ#WQ|8a zc&iIf5WrkSdK7OOo4o!H*kaEZ?51>wL=`YZeR4X z=H+d{3T)fi=3;P>2$;Z$AvS7GZqpK*&1k!21a?cK;0yj))V#ELQQy*tI$X>VQfD0M zcG2FCXOjP3)!=g9{c7bK@fJLh_o@|UkBm~-gd#~o^=E&gwawS1mSt0Nt|N^7?p@?l zcQ%_{>Rr{Zj?Dv1dwmzC)*2l|Re$<|dVIzi!wJE-nt6-GunoFt3Qw6!0 z^RFf5Ji{id#Krvxk=n<9r5kn9JnC37XEPp8g&mkJld_W8x0x>WYUfR*#WuhwuOVPYRaTvU; z=``G+8PlrdZ;jrgYD20z`$(@eLf;4A`#bV&fYpCK6D(5N1NMP~KC@~xv(2cKMyAf` zMFfIIsv1^fjIufi2LMQN;o78v$ee!F8pTx--6!TYCK{*i@#f9i!opQ~jXC zJke}V-n9Ws6wQ0SIHv8CU?LBkKd8=L^eKO-rZG=(smy%;q{D`a(3yl9?+Aq>XJ2l~ zP>!|U=O)YURf#Fk9-?fO0QFMQeC|!&6T&#SN{2-+&pL(dpx9dGMk!>4Z*40nAx9rf zjm)wLnP@P)f)g4Dqq46(F+rPZEH#c!ZcMP{Rw26f04dReJ8{_4S)pcYA)cePu0?-Q z`QM1G4Q4j6w*CE^{A>q6^BB%yZaBzLeEUIUepjn!_`BISef{SSPX!X;c=g3iEQ@pu z9!K;uX}(ZfS(Xnd|xPV&(6l*LZhK zb{P1t*mO~%qx=Dq^J!<}j49<%jCDgF7f8RT`55D1ZI{hJavvBzYHUXoN1Q7;31$;h zA0W1eh9G-6P;ZIuSpHq2Q|~(dBQD$OY%V@9s>H+#uf`0Dwd%Aysln2?sndU5oNnqC z;7uJG>?t7bwd1ow ztTG6~jZ9rlr_ertLi=JFqwG(Y4rmlzzOgnlh@Z5G<3Bi)4XV4>25Tg!X=Mw!Z@xs5 zmUjJM#THp#At1{-lT{*D(}#Z#FS%+9f4OtLh4i&=pu<1}DvEb;N7W(^PoSJ%dP9e3 zrWi4CIV{6O)sPvoDz`Z z299c2wl@YKuf;8%v-T{}82>|KX$?C~QF<}8VF>n~>A#ucb(nwf@NMuiC!oSAa|%Zd zc=-mU3|^sK3J&+u4p%S_1fj#kq6Wi#9uAk@92nD9fddD&l=upe^QXKxBqW}djT^^P z>$A1RU5g-n6p%5K@z|tU=-L*#<|de60R)snZ=l(GQ(=Od#ikrP)dtU2J<`a>$BxpddW1MHq9#nQv6as%r+TcUi7L9H#IXW}2AI1HX z*bM0S!&ie4)dayH1X=zHH`}l1y2}Z{jwv6c3=anehKI3`^2y<_`rh5vb1e)QC@HrX zFt3_A+``ClcFoU)A2~oL&~1x6)~^4+k-y-`0Y32%n%WmLM~)^?w$QQFrr}Z+Ww?`Z zt=kgUI`MyjI{IeyZRa@S2X*Bx0}n1Cy&E7}ufMr-{df&0{bGCr!1V=wLR%HcQkIh; zuBQOYVrG&wlWvUr*&^cnWDs#cpcuSzV9-zCAPm5c?5PB!vj(Uuu^|e_G%BRPR*maw zqT0jZx2&e26ZzwY&Drw?;6c)=xC|Lm_{|=Ei1~kk`FwqkRJaTlMLM${#K~lB?>SPN zlFf{i`PBSK@x5%9Wt91RYxWG!A0XKzY({VI51}0kuCsoCu!JNu=t*B^z&&8>;ym>(5E-rH zK}Z?tdj~;}@LDkwDb8~Aa?iApcocT0{PlkYstZ7n+KtH1LP~uvl&Z@?q34O6yyp&Q zP$qAC7C*u|>-#tLJ0xDrHmDcEoKKKA+zg?@z?h*E0c#d}n1Ke8-D)!?q665(wg;ea zFdcW~u@COVI~(!DGa=NpP*ivhOsODxK~h{_hxfsB0@ka~D=of~rY4j6KK-W+w7q|I znmmDC3H9L=iJ~~;CKEc-lLYHW+Xt21%5ZWl{rpviH$l-RLKfOfzgqOP4cinP-6Ew9 zu~UXn!O2AhJ`WFvouwucUrA6H4vLWWSSzV*^VffN1ydP37pLI`69It9MF-?hJ*efrS-5QS5QjH} zU6V{|Qa|8gw1U|_4Z~BITNhbZj%2w^lfB z2zBPrFf-RT7L;SL8gA1nrmN~VN_YGScnDE)sso^i`H z{Dbq;8hf#e9_iJ{us+#rpwL`>I(DMFaK00kC_`-9Pg=4a-g&8j0Eak`EW7v= zP9uk`cZGx!2(qpzTC<%0YJ*o^p0Pj=bSG@Z zSOOgMr&0br8>rnGCL(b(QUHH>r!`9iiE^Mw%m-WH7W{z+!R5FulMuc$=N_Nn8*zh3 zogX~6=O;-jBh2H8eM=cPe(R;)ND~#6@z4ENbkdR+`vG!sa|m%G`YdPw0qz&6g3&8m z{+Gtv?m0TJH`vw5jqBuI+j{DP=_fQRS(poEqKuOV6+$hcK>EY6M zIOFo~4}$05cWD--aG8JSwcKS9J{r?b!ZMWKpys%$^*;=?cjqsre6r!NLs#qe0Lr z!!UCD7>8`}R%5h?Ok%hGD#pwQ#jKfI8 zJ!n-KLyG;4|3FHC*S{$;{(kN5-A&07YyzmLbK&*L#!#IxuvGIQLy8Ofg`5ah2`q_GBWlwr{D^RWGvbbn*goY5889Rxyx{jc?)&GZ z-~VSX_`W|nVtjwkjNyYHVjnI{A5tpPxC;A+D01ze;C6e|xs%fVwc|z5gRFERw1}Oj z=8Qht^6VjUzGx43*~6w_jCAO`m+#hjE9jQ)k&;fC(@`WvgmDRY-3$62s#yRZ8#^VL z#mR{U26i_5tt7t59R1&~t-suZ{#WxkNTD`Ps>1R&)+~QICeT<9vB7XX%~t?A%E(+S z$2SZ7W$Tp|MQ;|F6afM*Gacm0y7~8Qd)E&e0yVpq|IEt52K{aPkQS&6Ur?2>^Z~#< zT{tM3wte0Uc#&T;`e5Nb=-t{(AdGAcGLtGT619V%Kq!in3BFD%h@jelf5+8e3IsXx z$2)c$$Af>Fc=@tA>w%|71mSbCfFl?iRL}yfvuM48oB}#Zl$hR1?)<4W__ws+I8X60q&rR^ zm2zHz@_3Iffq)V9@S2QV9aGqISw%UI=DI)zp%;IKb#XCLI+g>!1A!&!YZO$s0k9U3 zve5*n9*hkCo4s%UYU@bW{rQ}~0ux`4$OymU?=KAPTTZj@8?i!!1GZV1gXp%5e{KE_45Q z_*c&&M%f+}b*Aq}JduwlR1ka0Ae?{Dk7UwGCgEL^@A%)m`^UUqqWpw8!mGKx zhp!9!5=D=Ec(jZ(cG6LLln6cj4UNU5(mY#n0@QlU@mPPwc&yDW zoUQ}kY?^(168iOf&^8VL2*L>(sN={s{L@1Qwd7!A+{8Sr=HO#B2O};O-DpRvyRWNT z@_t#666Zzza)x|(!Ns>Zx3K&pb9RZ%KoWq7*Hxaa3e682*8rh_>IPFv6h+DFV}KN# zC5SWpVkG9^x&cjUe3DW`qMm=)93?j*r>>f!gX^i$C4VybvCP_{t3N~X-2MP{T3BAu z{ux4-9^HTR_(wYIr_;gG>o(2^n;V3~00_ZA;<`et1ZD=NsgSVSKZ{a!>+&pEg0ywm z3baIN^^nJe6Sd5VLY5F%%LCjzI(90ln|Ug8c~pzKZ7~vAAFL+ccNZX>{ly+D{8S8__H{Zfs z;O!YAMt_}FezLJ)x)pz5vN_@}(D@geZ#;tL?aVi7M&iQBV^>JDQe;{{Is_#$;kPV& zPVl5y{9GhbQw5H;-Yf?*b7231jHZT%q$*v{f9~M&!_3)XMNfg*v<3>Fb_4XE^IMAU zxe|KA0|r4@$IsWjtZa;qC53ebFt;DgNPPDW+4mr(_!uq z&Z|cZ4B!eZA(=53gK;Y71Vh{u6dLZz**9iQ4V3S^EZPCG3OI23cjF8iW?W|Qi5L5+iVx2-w}|BCyxk6A{iI%RA-@%;_nzoMTyNlY;Rpntw| z1s((#KpdTL@oWi&7E4!jzM+=3E-vh%YcsTUp|jt&+1G;ur8qk` z7})9+;WB^kLNduonG}p+`Emga_x3!YPKgV2Jb1M2JgMkcd1xP$Bl3wd)*quQ?Vy|0 z^<6oWJA=#05q{XcWBioj2lm6X0hJBAPAL{E`(G_JgcDt*7G3ZxiLC2IvO?uziZ~G9 zk8=eIQ7bzip-3T>3Tzk6bGk^KMA0nQg(wL7uqA&afT*#5TM~$#=LC?X4+l4+7<1fN z`m4z&@WKk9i&E4yg?O@|4GCa%aWtI}0a3xRg&ayq;ad@8(n~7szviIgqximbdW3I8 z)|7fzasJEmebz1D3aHYREBJ*46lY{&^)`w_Rb3-HJ$AKD|9mvV5DU=1VYjzq)wZa$ zkKBJ7uNfDgEIr7SJ_|~4)o%BcJeY1OM51~Z5aOEV0Qbg;46{mcxH{ZavUZlgXnMIL zMVHR_vVv3Y1uzOBa^Lc$pOcRgei8E$TjSCcdJ*gDC>$3VtL`cy;PWl0+AQEnDwx;Ij~GpBz9 zVUdza5}g9|YjYXqWELj){lqcXxQRo|7s9r-kc4+4Ts`2HrXleAgo*%n1MwVF=Y@Zg z3QP2F|2FhA_!jhp^?gfvY823u@Y+A0mH@$db6Wc4--VWrz6mWs^#uIs$e;Wuo)x2T2RcRuW4CK7fI{|k>|qEq*Q;J6R{tXDB#fJ9?;=^V#fewJH1ySSA;6oG(W_I z9Wdkm2M0eVa5x>AEXh1uc@)u~zn8l$I2HW!AiDEv^!=mO4`GwX2{L;2fX_U%?qf54 zHmdtv=LYSxeE=mwj^Ek(x~?8kLWHHpVNCT$gA5e37jS?M_zr~KAz`C|QC@!oXGIOj zmc%+kZT+O@TGulh2^0yRhqn58Z9Ok;t7}0L4s@7pCLoxCm-GaQD;Ix|jzKZ_;B7po z}`u%1QUCg7)V^{d%41H|;1z&vk7GG?K z=s*6&?9TIyqtHZ1xB~2_jEfR%%Mn^!8gfj0uCj0X#9W*G<6|VU^^g?K-k7LF(sg~x zbl-3j;SZxfd~Ow(z7Md+Cy~|0={s(}azPw)`U6*jcWA3|I{yiE!X1Bf0?<~Ve@(zz#9Gn#TPt7hJ4ab7s0anG89zZW7&p?!`K{B!6 zIG#cUflE~WtIX)2%1y`VN#3c7J}gx1Vc)-67q90 zEDa7z{Gfzj9=XxDmI;aYlbiwag~lkQUBrmM-T>5cqcfKrti)O0AFMXgvzR{-pCU`W zn+fRZ@psL}80smGv6_N|gTg9|P3g5HKu#%l#% zugox9X<>$bv1xzx)WrlYc^G^E_<4B1Y=jm{RINiyU_a%rotbVeJV zCOrn2% z=6BVQ`N53%~*|h%f-838P z7#LV-#Wef^Qg8I3DL7U;8x2r3gZN^mR%aHahTq09VK1w;I7P$qcR-88K zS*3V2uiEDH-eUEdX8pE(W;*PNRa0chGejzJnic_~dFmGg`~ zC86VJ>$rGt81u+IY9VCE|78y`{kt5DzXg>$AD#~X=>g84gNG#<>0N-{L9A>!VUdiG6VL@)hz~0 z-TwX+Bla38hyMBz3*w;jF2~Z#8N^?2Gl&{m_9ugRztw|XVJQCDpS!B_Lh;{n(}4|O4{<1hwrG$))qdR0p(#pgLd|#*Du|EgUD#*r zc#cH3Jf0t-LSQt2T%q;J0xa;u2q2v#sjKv)V@`j(AM^i0fCCh2Gyt7~a(cM*nrNGwO6wGAl+EHGEDpoE%nskv|=^0$#+1NVayHm67vITfsvnQBO5PhK9grAYCHJ1{XSv^7**3 zvhGrb)E5mS%Yn5UGBvC;8s}Xw4Sjzl9`A71jkAn0u5UV0vMc5lzUt#C%l;FwJ?R=J zj7g?KEi2WbC~Hfwowh8Ww=g8wArR;1X_AstByfldZ|LQ z%fY|PIj9)zH;2ui-R3+L!6p2OtX>sdAG_7{tMba-Dj4eXS``bU{Ha#`@nL`Y^e!%B zEM8@dCwb|5a`xP*Y2M>anLP6lY#VpZhlFX$=2%IEu1wAs#z;of-#>Og4jZF3HTil~ zz^{=++%s&mTMZIsA9nz@6h~2yU|jiOf(}h zATn@RPEjfs8Vq%hC34bxj>J=xg3?Iw6G#s;Tpu%6JS!!JFRg1z%LHf`eSyB|V*V!w zz;K52Q1IcB|X$pJ7s)Ls}DWN?H>bZi=7^ z;a9>UU{8~Mhf*{;u;Ow1QT%24kYtfiJW>*F(nB2zL`J56`1wKmQ6Aea z;JVD36`|vKw}V`2+sU|pZ)c{%5eyJmQd3X$uM4loclsWt{K0>jvPnD%2=XU)Vyq+W zaP)mxgHv4SW}m*`EHews48fvC=L4RUTG5`u>`j?3acXOJw*6#+??z59-}QVeGt&Ad zS|4F=(>i>9HW=dop#Cw=r}EC781lb{G2Cc^#ks&_2G~egvWqVkXBqrW zh9TnyJXoM*u$%43-i-)uyL)DLA;i-F)$LwJiw4HvG6sK_sicZ-t0x7{P7wIrb6I65 z1c@JT9M;f*`>`MQViNXlAz0|e|h0987~XQ6<^OpjgtwXs%s zjk^PQXB59L#ZZNmDySqG7QU|Z;C-eB@UTIU?WH(2$Y6-N3hl1W0V@jkMUF{7QAY=< z;qEyCp5#O)l)dHsV^i*s`nvjj?~P^~_aB2UpYI*+SN1c-4lN(w+%* z@2!Dp6L*a_fV=dr3TnHKXC5f+V!>WPyh0+t^&R2qKjUd8?iim6l{233w7e-<%UeUl z$dkweK-Mhxm(eVSH51LfJhAFBgOzxmR$6ya<^Js*d;7~58sj^ov(9Mrd^qe6T~u8t zdQyMXP$;rp*cWS9LVvNiGT$r5!F%`iTNdX}4G>2&E~SOyxTS``{=+eb5#~TeM*;9X zERX8b1FnQSRZzD?!H0LA$t!3Gf5P2Et%*%G$HOkdD8GEc@3Yppf!`Q+T!fHw7PFx8 z!&xb4SI;;_e3}^mWj;a}4-=tRbRdvLIV69MngnJUW}0T{gCq;)yxAXAkODw23?2x% z3lQ;vR_wYqzQ(GBgT#3c3}F6EYrZ!A`SdP`_GkKqgVUY&7E3EI;%nr8gEKN$IR|Jw zwOr`9Jd;_%Gjy|jj+9++0UbId0AR45SJTJ!y;04w0OV8eNC1G5Jbk&rDvitrYi)di67gCAIRU(IL3=0a~sfF zC5q1hK`u#Im!K?+;(a)w;v!aW$z6$f*H~I z!eDsbKrMk3B5WW%d`iC#@(vJjd-#7+{JRif@mAp$dIZij*LqP})xMVTmz-s85zAw6 zj!a;y<2lfc|7}|hdXMao#vm&LMCX@rDLfWeTbSI>emjE?Edza%4_nurq1U<+TL~=hMEr_flj9bY{9dGebAds9d(OLfZ4v&+>EmX#VAf<6A zR>$hu7q|qd09z2W<}g{efv=*J#KpdN-!X{NXBZ7IJ>j16h4MkG4NoJadwbJ@iuCfK z+of4WYAvH3pxzjY3lyc)Qony|-13D89#VoU1+YY5YrrRjovctiMequde45x=ZlGpgc$YBGXQkh(fS-OzL<~{AtzYj|R(C4a&yof%<+9?wpX#^{BrC@lU zeuk2fy8@%7knl=wF`As*UoxYqW)L|bCe?Cz?rSI!m9%6UlUkW0O)R*c(#iPlSgu7WnOMQl~Q)g4>}CZn!V{2(IS7Xd5};_(l8jMcWtzdJ&IB zYyawDxwJekzn5e`?}2|yhEK~!HI6Kpz4D1q4zx9{zF_4*%|wDZbgb1ZeL~0b{k&`B z-+ZpF%(b3$VjZ36jLSz->Cu?K6JF^P6QD;OyE`ub>NDRp$JJGK>`I0PG0{)R?y6QHs*sL(IuyZgH*62afKr!5t3TigSRcI z{vgY@Q|Ji4Ln0tX*g+Gp-0A|YUGT;4JhB9Gtj6}}xaEJgS=EvSz+yzc#&{@P1;!HJ zh<_=a0FM*@!g~fgI>(3zPI$xn>O#W{27EXK;}Xp$gf2i4`kUb5WCFOk9BxvXNT9U1YiO?fQ78DBPy$I2LB zw2jB=u#?AThCMr&p2uQD9goGJlE>Ct7~a5Rr}YIzKsz9ki98krs>^XpyE%==o{WWU z3xa>0V6tUd2#_ntW5M$fdxXbgJUoxZH+oJ> z-V$P{uz?}c8`i)9b!UszX<0UYK#23eL$Yha_K$ETT$R-*((uR=AVi*A!W~45_hCSk zE}2~(_DTt4U`mJ9A$|5!d>rSXEFZ_s3?F~Ty#yb}HTbwt37DQH5>GSjA07&UNTK)B zNC_f6Tn2IOsm(1ubgw=q$L2Oo+JcZPOk0-ZB~mHk%!@yeYoi>pwk=2|G%xyZ%t0B; zA-(Y z+(BQRTVGH1D0~V0`g+nTzENB(5wwS41+6g2;F!N7Zh%q7juV9THzu^7reyYw8gg`E zOYI3`>+v_YJY^u*l-wHRE0E`9LEv-Kuf*J6Eu*l$ILm#^@^$gMT*xI4DpygW^ zaFjF0SdH4kp<{RHiPf-$WI8waB4S7*kLGQT1m%vNf7}`SXk5h+NGEE!RlR@9iNe05 zViIOol12^LjF0s?n}Y=*tFED7@Dy9GXtc1Qv0qj(W`3I$WAIVyOVoNMzcBh5mx`_3 zNAmJC`dJaNIJC`FL>(o5MZ@k2NT_C)!n!mdUT>}yaN_&p7>7x6@b z)CVCf9-R{#9UYpSami6vO&))i`m|w@`Fkn-!fg!DitM#7T@jFMa?BY2oE$WYKcJ*U z2TgId8;b2AQ~B%IL_c$InWV{CJJn4ce;f_N_~#5sa`V8WDsd_Y-RMf{AOMc z71-V3-9Db@QQ%J7DCv>g3uQP}iwoqf7!`SW4xc(|!jBSaM=5$X=I?*caY8xKGE$Z1 zE5-z^2m|)q;JI>xUopnWipS-RGT<10XnAwiIo6zFj=IHX$jB!(qW4eW{ZyJQ&&+Bh zIv71T`ozYuNAa*dsR;H$?0Qq!57HP@VI>oTq+LiRoXXl28|!8vIe0(R8|EjA{k%Q%YPPvIU~?HPmL{o+54021$dBMYZSl1isbjo*bll;__4b zAO}?L&V-lHjJphT1RY@J@c5bdfnPx3d<6TxPa}Q@M!8FD2+)5A#DytUqZZ9bgjKfj z#;3#1LR+d7}|m z-v8yW5*&m9Bm`?KfY-^5i~XQAF`M(5G*`(fPSK2!OE@DxctU3!1ePRRqu~aJ9%)zu z`dpfyA0aH@pfP`(|I|4IayavLO>t7q_CfuJ;L4bAv($0ONf`^ZKD>=dJ_ukC$CB`j z7_TepcO!fGu=ED4EN!fJCvO1V4m|O{K~3hig+M4 zDA;}(&K5An8e9g?-#8SpG&QODAR@XhIRSPmMVSzHXzYI*YQh@VtB+ehNZq}9CL^0T zzv4vN1ntvhu>%5!>)9ASsk!d3=KK2S_{sk~IfIK>l(cQAwYwa{6I*a;TGG`Oxsk)b zk@TFhZ>t^yf?b?V=q5!!A40~~ku%N1Xz;vkZEr9T1s>^Mg=Gf99d*C|Bq`**lKnL&&fGy+xP?x+V2^#?=m)Ioi-LbSk3MTIh!jOoTeAuf zhb}-IidPfdoWU=19p#g2On;(~-~6CMZN+cDS+&V8Ct@ zRx4 z#VC{?{ox2F2PVp}aBxs6eTIC;@7)8J7nkx+%z)*>czl>oH{P55>wj%@8-DEw3e^hu zrjL|Jqrf3jFRmgH$fYohpLTF|)cvQ4ADKWdwZ6;~&wO5gV`sL+N@4tR;MOxSUZ9a1 z;y9i&#*3kJVT*+4saq56YKLp$2s6``IPaspIB%IlN$?FYnFyM?hVLbE4;6O!QT(yv z_W9X?hv)K1aLqs2xqlkV^ijx>@#b#LRRHMKNr8YOwZ%ziNAWtzcL83z4RFQu^&+0b zZaRNk;z!coMv?a{rKo?tlX^b-7V9mi^}H4{>oS3`C+o5qtxGpgDOy(;z5(Xm2nKD*$EG;G-g(ZOTYeSe~ZmT7a7Irs{R^JAy= ziAQixpOX1dvmm-8eVrbn?K)$m?Gr#p{KJ?6102z7i0={4+7+f%KImV}YrxPs?QYHex7P zMzlisgcaFA%do!5$LJu)jZo%X#w#j=5z!(m2lVl-o=1O!dze4C-9EWP#b?)%YZ#Sj zOx1D5#wNJ{LK(YbrLM1qa%bMwjCjB6Eqpgz_^z|?orLVTW2__R)U@z`LPWO)Qszrv zuqiDKTr@<9@6FK@TBhG-W7|dLa^Uif> z3u5dS1iF7Dzk1aU4#RHkBplr_aTve`xXOZ-9adfB3-WIBXuSf34r#GzC+|hyj{NOo zH?HWTc;O& zPwm_1;7ej1Ma()EVW#gJv-p6fmbr-`>M$g)kXfzO$O z(#i_31N=#?bTkZqhtAl&h|*Tr2D8hMdetQ9(*~qmh?Cc@d!W_1Yf4CNw6S`kR|^`v z{tkcaQ&Jhgvlp~r1O4So>ps48iG=(yS^<#r&K`IC?ll-=am><6+*mp@i z31X9#hA`p#EgFeSAH-G+fNTO9W6cn|dloo|*RwMWY@tbjXp7LJit>QZ>?5vcKY+V9 zj&?2MApL;4iC+ZOgQGLLMn`n!Rv7Mw4&HyLho2x7vWJpQV0s5>6LFWrYjzjNt^rUF zeA4eyi1gC92~1ZAaB~vFTCGZI$Yj+=|zb@<3i^R>~_EOFQn+{L8|C^BcX{#WMj|oX`gqy?LGP&?VcXU z-&|2a)x7a46NeM-5@I(AZ5`VN=At!42>aqMh!jT$E_v(LvT)E`+ z)sJ#1<5(To@2L6eStKf5rYH>vwa+gGl(2xA?so^>9c^_EvFoX5GCMbJ6O57D8ZFMk z%1R$v7Xu6tSQd;Djp4Cy3PwPQ`f{8NV|~I zG5kY_VA9o%dKGU(j2H5HTo}oE>l8@wdXf* za305KzI;i`yI=8fT361;^`eh63c{8ti-0mUxH3EmHz0z~U03i{Z@0B~z3^d9E%+b) z8;+{}J3iq%M5c5pX!u=zkWjWf3xoePihYJ4ZQ0r(Blf%SWSWJL2-AOEW%kkFVis{I z60WEhgT^7%M%yqk5h5y@KF4Pky@Fmx8}I?usmb`n?vPHM6p2& zUuCw}mpl~ET2KMEt<9ot(Q6Q#1&&q@@a(q|kU1XypE>$C>-28cZ+?hf`WGK!^$bv} z-}C^xS^rNvz+yyG2Uvfuf?C}sXV9#I(a+LFX#NuyDpObB0{ik=&Lg#BeH18Uwswt+jxz8u(a&pqMuUa%iQ{2VEL4F8_csn`G zxgrR3v|Bdi4O+|@nudfb@tA?H&`(CiTLA(nk~LB-qz@C>5>oeHA~>9R7Tq&QdkY#l>< z&h^6Y=dIx-KCs_rthf<^4VD)P7LAPI@gr1CDb7I!g%cFNGqt(+YxtZC8z zg&Rs@^7H-yQ6hM41zek2#$83lCeIp{kZr2ZsG$Yr*2{nE`s+28yv)&>%u(Ko0vLwQ zkzY|~@rv>b&YuLswN5#+I@&!>ay;)~UYz-kUt!UqL04F4Yw`+HG6A#oe1xs0*Bynt zsVgmNvS_6Zvn$Q9^v<_gX`zLpl@?0KO4D%ifz0Y!U9=P{weo4L{Hg{$Ayoe|JAnk_Zs^`>BILk zpa1*6{%ihI>)^CwhESDLfEWdn?VZkXO8s4GWDjWRS18t#VpNu+5Y}VX7w8HBgfZiYq-BZ z_c?ks;g7KbfQQ75)0&f`hE+}^42zOC!c7R>trAlu{!;2oOx+^NaHim`k$6K%)V*;X zh=rCB2H{xOhb{1_(YPj2UwHmv2=y6Lx~D%lza)nNnMs(wU=cM}Ce|vQrhwyzhA*zv zs`h_Y+7pJ|Jk5LBDL?uN2WI}GLwDJwDC5AF-Vb=ih5J%}LEpA|z+X%<^uqlLV{#fm zYkCfPh?LN8C$+7u>azpCQn78B0JFI6?^Z$qC@!JbS@qX6D&xkBa3e3pQ75ci_rumM z#7F-~_LdFtivZ{Q8xdD_MejK)0-WxevwMGV;u2M;ZhecTv8j`oiB0y3Rp_gXR7wc9 zV;^&i;Jm@-Bt59Q!9k#LMGG6UExY=uJihF@ue*0|BraED@Nk^50D0gMgF~VF@+K@4 zrTlh7*U)r+@2zX-07F2$zj|)hbhrPCp7BL+c4MpW2VRf>FKK|V{47?4`aMl+oMd({ z;LaU?7}BeJihJX$El0!`JS_225qYFONsQhq&6h*11>b|MQO!TmXU$azq7q)c*$3(; z{enbyWM$9lReosrfOm3Wh!#<#v|E>>VQ4UZHiFGGk|)B0RUDno&Pr%3s6^eO#2${1 zUlJFhN~_H26n}`umkA}p5g|Rv}MeKwP2!FIa6ty zQ7JkKXOCCz*a^d3;bQMr6B37$*ML*9h_u4_4@Y>|0M-zZ$ZSo1`63rKCVs;T!gp!5 zG(ps!o2Al&eIIdaJdarj(kth&5U0KVr4Pk<1FD&brNpl|mXax-U2Q9r%wr9+jjUhy!Q~BauKJA=4cUGeo^iaxeH9^nqV#HUg3I%qitgTol#?i zCk2l>FffTX!wdBjX0K+hxfi-@1}l5`PX8%$*c5tMQ&g? zO|)LazZ}CXep(CXMvx zHFo5k=qwmrFzZCB7cV&l)zktB?j3SQ8V?t5I+jcE@&EKOp-0OKKQ{09u7C4q-VMTNog&>A8h>aqg0g?n)+|HW8C0}*NI%NO|W^9beQ2NLoR>Pref zi8)LOL8OMX^h1(J2tSMzNXb5=v9zSa!G(*x1$D#+M;@;i5ojP-BAN`DJBZ~%Ht)hq z&PcsT@U)aQ9zczR?pVbj}E|3x+jxQxY1 zcqmqw=vNX}%hrUXok<3{Yz&fSWWutw5br6Tr@vg5VEs56SLTVr;6dgbNL_4~+?rZP zQ56y`Td$fImPRMh#C%`kI)$%p>jrAD@|kSvXI%z;g~aO)ejfOLsIFebI7xclOx44Z zH;Hb-Hr1kOyRMsYy18r%V2vj}k|_;}{ZkUn{x=r0VzTG8AaNhp}1?u0Bo<3qT>FgmNaOBI3|KxlUHf%Ns%=nia zV0(_d+%6l|Jlu;j1F7S9fXylubKe;o=&OE{)WdXHV7Ku2^f&zw1*r(C4(R>nr_uhH$b6jDicB5<=L~IDs zUrpe5fQB?Klwgygd_Jc|PH!X_HQAkPf`gby(?Or_i(&(JT@<-O|G1cDk}!O+eJL8iEA#y2QP+@8b96dX(yled=fl zHCs8;kXf-+y^>O|)hbXuWjav^0d*01+mF9!`YvD)t)Q%AqqXQ22h?fmxEIv-<+ z!!=DXU>Vp;JQh72=MQVE$8mB=jRRDZtMqTrrNGR8tSd50uL;n~->f=Fw#`#IdzCvQ zxTL^L!;^BOOV@YT?ZczmXoZloQCHy@I|FdqnFa#-^--!m_jY4+`l1h&IS9&P@e>`K zt&L8>WpN0L9)bkO6=4y9tV~zE7%O1L(hH~C<1jn)gU$$k8lXg*%oN=c#L7rcq9y|k z;DN`Nj5!Grf6aFP9MrMWgQL?i0wq%wkM%J*Isy@`KtXlsh)!Qq9S@{GqZx}pnQ0u! zb{EZk(Nus9z3MdAdX^_4@zou0l|h>Z8EPw8039W%-JDP$H-I4%ot4yvr?t^5tONz4 zwZ`5`nVEAGQfvVD^?-&#xq`lD(l>;~rcZ$Wg*-+We}E>F;YfiA6tdAc8!!dAk;uk+ zibTK)@QDpblo4Br@8vDV!^<8FaA$*k9EPLC@(i~zyjax!{TVAUu@?A1VLC+PR9sOg zlvfwRjrRjv0;u{-y|^H}h@yh)`313EMFn4hmJ14AjGOx)^Ml4ghbT4vmESg(NdDn| z(aZ1)e`{e?F(G;MYIHaEJ1!I7aXDb9QsK8WF80U$(-w6W?t`!oyIZ;280iL_C@da- zBT+mewRQ05F5&8o)>_RJt-+}bhTDC}1mpd9q44eu@6No=?~J_&`yv_$BW!Q_+j*}- zaSZVFW-IfuWYoul$*&)Ym9W>m%)I}?J(*m=f8p?Q{|pD!4pt#y^Bjf0-I<7jZ z?_UTe?b27)N*$-!lk7H7h%cf0>0Ji5fzCs5m3ND`7~`l4SOr#yT^j5&S=q4hX=Zix ze-)!9^R@z46@22rd;P0RaydhFWmaO_yWTV037q%6gsJ!wiYg)5S(d9$m-S>Sxmf_K z4wn|>iLqoo%&`OO0MQSKe<(S7sB=pu?Qux!As(!>%u_ksqeNn?E|;OuS&jpsO3URP zEwa13SKWy+W(W*Qr|g@R6Ej{9)kXC{f1##$@ZyQZ;qXpW(LI`X)K7+50)HENs?HfS zMT~<8aY%7xF3#Zu27G23EzPdf`zz1yuSPS0JD{OVos{dh0nIDCol~jjsJcEcYHWDKX_bjw5mILZ^z$z zR^6U&w2&hM&7{<9&nD~Xu*mXzZCPkmS;w+vp;6!J9m_$ZS0~Is10)lsfB9KPq>tqN zS^jxv{sei5qCk^e-Vu4loR#62J$D^4N-=#6dgmj$-_UxsPq=Po`2rfsJ~MdX?}osr zTsp8sAkuoqiJS!BWoF|#sczH8brLY8ck1O~c}H=jw^MwCQXKGwbN9LT0FDLt zND`Zb)IIo}1JGnCmIWnnf17B6&jb`ol?ni85->xc;yNHjV6vP5ljVcxKP;;x)Q%&V zunmVLtI7Kz&f4h{1F9ZPGz1<_Gy_87b9OeGtWdzJp#kN#f{&D;TAU4!r6T*frw zG@DfydN(Y+X9R|{+BBqm89=}SNps16Fi(kybcC~Gi~ym%DM;zef3t?ao5+k2W@x!y z?&|!k@!`eX!i$HcwVWA1{dlM_0;vCj^{?|4U z{j`xwB`ia*JT}0(bKDU1rd>B>-q0Q)z-0);Yv56q?1b>id zNDX308xr7xf5Q?4X@Xyb%ESReNV6E4Z(oP;o#1G56kX)@N$DLSUf)9S8dna9HxFr| z(pJP(x8N_h;9WG8!Yw`q+#>K>%%JfTjS@G?8}AT`WYM`y@XU~!%1vl)SP8d6aJ=^PfJH@%F|n|^&r95K&t zC9Mdz6XG*ZLDmtdK7#}VpXdsoASj^6fbL{_;BlYN6a*fh3!FK%n+p2#lokQFAsc}p ze;YOsPzNoYfi(gEt9%Gi7ws+g&vYu!(uoYtf8bW&QtgPxgi7v`eZXfD*eG9$PYr%V zxYVrB5o9|36j!FQUp6HS%EIhqJjv3xKG2CKm>{e|Qct7_Pa^ z$S*bCM*4cViM>2CCrKelK|zIfWzs3qPBZ4inLfmH^A9ok+tAm5;JU3wOoch{whh^4 zT%3lQ5Jpu8(aheQO9X9`M;ye+keHDR=rFq3#*m29R_jozY*+gfcoZ<%u*7W(I~Gsm z7f19&j*(X5Bf-laW>vtIBS&b}@k(+{GzSG5pj?q?ECJ`TA3x#pbR9j;ACXOd%^QL0+G!)KzE7MER!6g zdndgolNx#_S5HvAVwsbxfer^lIKvL$k?eP1$Dqu$Gy(|6vI8sLe|7w0uac*PNSBG2 zj6RA6axYSIWt}Ou zTL2F20nUfF2RI*1f5G0x-kx;RZ~nQADwi9v377oB3jvdsMM{6iMUgu%E0`Aro&4Oz zk1Q~^j=gy-pF_bXKAZ*ffY7rW&O?*)fH=13z|}0Diw<_3nxPC!yzMNV|8JV5x3`)l zdNcm{^R)W#kIa(@#<4Cn8*tga%?wJo8+0aXBDFHa?a5bXf2WA+fj$}lAzk7JrXcal zodp-)^DWAgs@F zfe7n!fqV%$?#iVWgI7Fcnn8a+GZ39l_#f=GYNbVie}fK$9phx?pFQ9Bh{R45xaJkg zaL$gqyZ^vI;LM3L2(AlW_CSR5T5c{5j4>(D-?`LKnVeHJ4zSv3l_c#V7MX$_Oocr% zkSdY_Ko1Kk%V8i&G*V815srB+ocHF50XolgZ;#_*G(qlF^kbwNTDLRLla;umSyW7J z#l1;Ye`C*+^_clHDu(VQI+OY)d7P|6KQq+Aq)o^V&>v9}c6s9=o98}1Le@Awgut8k z_^OYZ`S_ndCZ5wo5-NvJV)mibj6NnS)@M>Jp8fO3)NZW#ZZ5GKM~Q5lEE~3sR8F3} zt=b3q=kCw2BHb`y4?v^FlIAh2(f#sm#|1L5oC3OV;lSjgdNnpYlW=c zi)ig;RwLByNPFRzU_$YfUsUr4S~$e~nZ)5iw$V}4Q|S^$aSbU&C`!<^D0d((5?{7n z-f~}dCETZu54)0+ZoMFB$vUhL#cFdALtyM;pD+@T88vC ze{vilS>ImLxl+ghXTJ8Dc(bUc9^O(Z?*t()?YI_w^$>rZf<);CW@IXrpuhuc=^`R# z`{x5V1IvLsKFSxStJHIR)=LVSN{O;WzMLFQdj1hM$FnLoagJu$%qsNY7?Hhc`cUwT zTdE+HzeK9dqLa7dqe$&-Q@2;4qBpuff5LvzhGOGes|tSj8dU+fnVZ^9!NJCPKP0s@ zx3Qv3_Mr

    su?Q^Jf1KYJhJ|8s9)){OxJ$`-nd5LyLe;Dk1 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

    UYW*Sg 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

    ;%JKVP0eZ)taE*al{2Hj|< z?16*N>EZ9#AM}T@$v_{P*yiC)oKZvI1J_J*mz^Op-D~8X-)v_~VvR_uQIl;nM@G0Y z4xFqegXC21zqs8lSDm_c$DS=h2-SZYF?#CLdisd-$6D!DA)}IS^coXe+Dsa+L-57? zn%XIb7ciFJ5>Z`vR9=tf3tY>8^cq;n*(*FZ1H1=1x&JhRV-ZT`5QI#6U@6v9ZRYSt z^3C=W3dxtjq1YO=x+4X>lP9?wg-_y6~bE9^lLNsUc+~6Z8rRP9Qg#sN?I%BIt%RGctRMUAJG8)$PCcOFaGdQ z4A5VO0s2E4ppRet_2E0|vS2sAjwnDo{~S!i2Lu#qZo+rB4~YIyJcV1j(dnO{RD`T` zkM`Eku|cHzZoj2-D6V)&w3U8)mN`=Ka}23J6Gi5KnZ=KsT0ntEHb0_I zpWv-x`A$B4VyyU2pWw{)iJnRLpI$Y%8ZI@T5V-iO-3R~QExz$)a%)84Vg3dG!)*w+ zAT0+uvPpE4qI=8LWO>d^1xNs){11xpiCGHokgxo0?Lm-uM7uM875=B|S@1@>|DAls z?9w~ElVXb?Joq<%Y$fPL6zCO*A4U<2sDkcm14s|XZ+kF&lPolK_J=&H9_H}Wx%u6r zJ%uhh9GZA9FjZKz6{(OuH;P)Mpr!}|s+1xguYMt`B$SD`NoKa19=! z?*tG6y9R==5klXasiLpNi{N^=H6mS0yE`DeT3$O>nBs7MD~leVEj+o6LZW%_P9-?- z*zphd%v0e}tK~VQ#5tB8XEtZ0r{_VmcBbF>a%Z`1EF?cZ6P&h`;^LYfX9#DA{0d40 zg7B=9`8EFR8#(}e43|uRiXDsafi=iGqDL}TB>(aP!dW^9abBP`%%7pCvKS1XEh~n3 znBjWD-L6D=l+`JfhGm%om~9v0SbZgid9NK=^(hrcyr`$Dj^S3A0d~3 zdDt<$|0S5O-(4Bt8J{irlINkg;*BgJLJk>zF3m)LyrlBC(1mQq?~@c;#(At*d-m?t zZz==Lbe=)~(fD_R40ivIq+27!Q(;0cB&5bJ@h603=^$jM>}X`;>Ndn}fik|6>37yL z`p)2$Jq+ab9}Eijyoc51&em;7|61b~jJf5GZOc7*@rTQ@n|Hlu%{@bs=|MkC^huHUg&$j!`Z9d@-_ZzNe z?S=Buzm5=*0SVfEU2O|_@_*W9DTg-BK`XFLHqU%2x(BQM{E-WsW<@3)Q{a5X;kQV{ zIE|HldB?C6#Ta#x>JTMEelxK^lSU$w+R?E zE)NQ|jpQ|S{QnGj9O`1~f^%SQD(1-Hg2K>X7Oz>mz#!P=QVdmm`+xh+XJ>4Wzy0#x zfB(ZjfA|~Yz4Qt~3&fa#8~$|i`uOcX5Pw2F52wm4{L_E^1=&r%)pYIu$^MLKCi|d& z6?ycC2OuoZieVx0{^gy9krR#}66E_=w(bjq7k*I)L;TOkW!oFb0aV)Ou@vx7gdB*N zfaq|Nv(G|jpTYB>jQ@?dgH)WXoQ0Q0Dt{|r|FHt)i4;3=SK_dOm$ellBEwgH{_d-7 zOQ}dMcVgKp8^?aa<>SPbkHZ&#xGu|o$GccQu57&^*f?FmeHN}Ruh8I}M79S9LGr9CQjR785p zp8j4EX}-pawzcAP@fmuldOH?>Bvnu92+{RA0)na`UA`1^8b-%?I6f;N2qq5kpFM%o zGjN9Sv`U5~P6F?LIm_`ifChi4==!3bE}%Mv4*u@?C(@Uf$Me_I+dFC|jh5caif4>7 zsNYja%Py`Z&NhfrFuUsC!RbSvtXo!qBDhLJ+l~xZ4WU}&dJo%%-{ygT!YePXaHg13 z0yv~g#|q}aMt(HpOv6xBumV+Kc=I%&_=jVJ*{86CQc+f7o10Hx!>eBj))E;|6b=bu zTzU;|;U>oOS;5Sr{JlcFX*T{6Ix-AjeZhj`*@u%SyL7g^SRx~7v}LyB(%PsP(hbqD zgmwtyD#yueN&OH-i`}JvPcLU#pkPyPBkE@aE^%TvuG#Ib+0AQiucqhA3FfLvX*5Uz z%lNPZWIUZi^8l%^!dVU~Ikz{_lf~^5|Hu}Oz7CyipCaIQSgX~e9T0CGV0Q)7$M@ED zgaa`VWGf#{mWTyY5iO(wtUWlPyu=Q{#eilNfkAwF&vbk+39zSs@g#Ez)xZN254cpD zs?%X@Rzb2jkI;uy5ef~R|>mYa3^Q?V1q2m zJ^`c$!2mdB_?zd$yd>7^~l0@O%~@}W{3PnNv!4B}d$n7@Cw0@Rg%O!ns!R5T_Tk^ux6>wlEJ zNuW$CX%uaVUQHk_5lP)~DP87Q39a%THXF~&vjJ1rhrW(cA9ZQy(1X&n1Q!$VyZU(2 z+i&^Kq+0`Mcr((uzXkXKd!bfE0p1H%^v$VJWovS9-$K+Fgp*e^SH*b6AWYxWL9|Tl zfLsR?NiN2J(z3SFIAMs)R9b+;LOxaU!SU<@`MY&U9pi`)_4EatlFC{)DATe|y`Mo` zLW3p67Vl`=^tBKJ&Qu6Py1R@|vgbVI!Z3e=?mLFjQ>-OS))~L2kf|=A37e|sFQ7on4eMOfcLlTpi8$;umJ7rBO(c z6ucG*`{U&WOhU7uImwdVQ-y$5>O~a-dO(0~@&qK`?Y;ICnpSBxAXbJVGz$SKHop~U zPpWuu-co^n9c)#zV9-=cn;n>zSFj25g5U5;xlUy4rSI#&s!SI+sJyIgg&YjS0$gg% zQmYGp`|HRWWx?$nbXmQ~V!`V-4-r|T>{daT$xc!@?qI79lFVw9PbT(Q7X5G-Wm`5$ z*~_AUY)lWBs-Y|Ml^n$WSZT$4gl0!&=7%{z^J4>&yYRd2gL!XoJzAhrT#; zz~&zxOU1;~h@Td+2K{}423pfOEJgY9`6*fM<&&aNbFh>8Z=v zH-n6lK=?z=X8yip49m~zNs)zDDl~5eg`;uv#F2aTB2syf-m`d{N!qai6Stgy080gS z17`jkphqU6C`dNfX`k=;hcW+D4oQ&{&e0jgQ)5zP2_UU3jXuFhA3!UY&G2rcy7s*js z#p15K)FBSSA($k+?N3Y+=n_qT0yYWz_n?(w>1f}Nt(Xm#5m&4p2EZ6D2?nq1I+TXS zt!&#m%h^4ajjmD2Zy4G3b)(V7^Nwl{hiN1(jpK_Du5~ceD8o6R6glNmXth{;l7KC5 zD`PFxBG9PpU5U#8S)wC@xV$Bkn#ifl5Xu8-Je*~j^q`E0nHV#$4ZMAS!pz57R8b@u zGWM;P^|ZY8c8{9IegiP0O@kLEVs)a*IT|?-x}$=r67!mr%*PQKXql$>i^yUuYijGZ z`^iil3lXnMU9TpU~nsP7*sP-VvfjC;mOTv}Se`wk4 z#ayaTK9)+-iQLK_XV%3CwhxRS(P0`038ZQRhA; zjwCDFh>gE8SZoL^eff3RDXdvR8qOiEG8Nj8uSGsGKu{pttu-WIFKpEO@(x1uJdqJ# zR>cCqix3ism$w*y_xEC;2d7qC!I5jPY(*W;KrnYy$f}&=+I}^+xdsUBzs7FydOH6N zouQ=y=ph8+-o7P13z$6|y(e>MwIHp`&VX!n^~y>)_)u;m9Ry_$k_>(A+kvEZYh={0HHSY;PHsJH1%WfWV>8{e`3q+G!?4x#Rp|b+lSqI zkMU61YNDBZwZeJHfp zg`K>9XoaAHe+mBDuEN#a8cnRN?Ym%LH8b)15Bs$*GKKvb(t{5l1mWUr6TD$Iam@1> z)Did3R)3s-0!3=sVf_+ZJgFIh=^;tXjyd`?*Kw>Vzml(goJvQdBgo9YPF95sHyoBgy_6Ngw%+@YA3H z)WY_+|EOHHqIC4s%g*4yvx*{e12BIt^7T&QXc?cp6o+5gVX5rO@D8{`xUy~hJyz@M z#T9*js>wyq>+%JT*|-;Lcv9S|)W7WPY-(0hvS`xe9*-lIH78;7TkA1DaumdRK1n}A zJohNI4*IzBLCdq%f+;D-S4sW4WVRtI$7X<@r>aM3i-|zaiHNrrNTG)u=5a_?J($Q zc4_8>)_BYuaa#PvjsYW(YpNMXqXyXktnjOck~(47Hr&q zO9Ly_8C&u1{mm()GSAkD$B$adsyJEGfJCSqbxqpM1;4MfW3-Cq78#VBe7FDAm;Vhr zk^9)QDjghPbnk=49ezAF?k+kortjjq8!Ki|wF{FX{|O-+%PDJ1BDpmJzRIAenTj(U zm@S>-l*qRw^u+*xZWpr zx7c0?X9(uADbo1O%JKqM<$9q?ZoS4p>k32Lx8`CB{Z)4X`l7#&wMS!h@fgg1eh9Dt z#au(F?-$d(@Ym^Bv#ex$J|#L)?Q(w<-{`=!c!a$SIApJHa|T>Y^5cs~se1gH2;kh+zrnVV<>W_OyQs%|z$T{6Czf_5*dt1yxRfo*|2poINCZkLdM$IrhGSP6(>4Y8XSjsrN@ ztUYXHS0-23H4YV`ord-JpUGDl6N2N4dT&Ay;QOVdh}1Hd{%;g@?wL81i_B z?I#v8K{>sQDj!HdnQBJQV4fK~j}QvJZlt9RJphK-UZ(r|H(w^ zQEtb99#Pi^)DbWgjfC-k#B#GkS*9FTwa0(b6$Q&8sw}*s5pn{v2K}w~*`tOK>t@@} z0`YGUqzk7(!tlGsR^x`Wo(j(u1lNpH4dj|-n08Y{hm0*Y_3x1?qz+{yNr(;E8DY8X>X$r)4{oZSY{))i&VfsIgEQx`+o!Dkuy{2e=gkn#V&Ps&s z3FIq=x6PWe3G@{aY#}S~FjIoXvtl>Na%cb&(7B@RDm~sITQ15q5L7)#5T$ka{{8#WIjWv6AIZZJVP*>DAI1MN$dmqNWL-$H&3dr74)kZU4nMw z{W2gp-qa0_tPoqfQDYrdtqiMO*ZMm|xg(5eO#S13z!B{5{7nn(YSI2Exi?i7P)hWA zsx^VoL!)DhxrS1lQfmYaYip(EeOU|41j7X*K`kMlSf+B=QI1a7cQoKNdW*5VLI~xs zg}5Bj`SgO61_bnRA~A)dZJZblZw^KWs=Z?s(8Elzi&UX+8ka~?5ES%f66xi$KR}FI zWV@+NngM zjj*Lp#W0u+;M}$!FWN~aslKkBW&p}uu<*}+j$|(z$@z#CrywE4E>JOK2DDn8FTm4v zFFjOO0l~=)Y%QYQP3=eWAB8*E+q*Q)5XJ;W|+~z#DGG7 zH)9zMCd>e=)i6t_e?#y%RTjqP4SUQl`zb@`eD^YZz3<-##wAcP;0wED{xg@+$%^u= zXRkpzZny$icfu#Z2bz00_Um7Q1HLoyfwkE7inat>wRRX5u~$QeBgzyL`t^CHVl__` z0^`UVI2Hz3A|M82Os@{B24T6reg)xwq%r=CQ451Kt3&xLjFAepKc{p+YyRy_!xulA zP334$3=565b#_PADpx4buv{}^;YQTzTz6gZpx=do2DA1kbM?}%wGf5o zSuJuyp-R-Z8Y{_Y2Stb$;nJOrb8G;L?VV*bYaU;;k@*n-wKIz-`45?Y@Xdi0 z9LVcE!p19U`L`FU90__PpVW(G+GuA+{eF$q;4;h5i6v3U>fx+$Y6 zcsA2Wgu4rwh+Gkoy?SN>03-9S)BY>H-vqahhcb4@MueKis4z$q^?nY&hIT34g^kb0 zQb``APER5DPAjMqsJrjH>%3Zjf{x<8(cq1BAu7(y7ijP3A3x@)2ouZ37B*~J2CwQt zb1{XF?*-lcdMceU3O2^xVcccITw_y^JOC|b$WeY@PS6%}%1aV>w0#4OwL9ZCxMRKm zjHF_FCD{y^oy?8hNKk%uBpt&i%C(Dy$>}SpvXzq_UL7=*_&(b!+${co1Un4#$Tg|&s}1EyU~NkR6O1J@cMh-La+{PO8Vx0X)$J_P=w}c_ z$60?9O-Hh4>*S)frM7K)Uf1_i8niTG%V?6lce2Zsj*mc~axf14h>;MxLE4G0xLh~E zzi^xTDpmJBhnz*~!5FYCo4Tjb*u9}2H@3)-!QN(|8q(c#ld>a=(VpL-yT%Otd(1qy z3#MT-+%E$UCJmTVy+=t02Gj+Fe#B? zvOKvRyouvJwS9kvmcus|3<)V}+Oq>mK0T3Ys37zT;dUf{Aa$8dI&*p{JuIEx^%r3| zd<~rZ>0#yrzpW;? z*Ttc$-TEh+e?YQW5(CTVGFevN=I{nsW@R21tW?%ue}ti0dcIR-)4>r%yV-i}5yTld zPRp|I`Py=SGww{4wGntoL*wOBEbHAWqYLb?DoNG0Cw0{dTZ~mYs+*Y{NHUgg2qDWO zI-N6c5&2I&6Y-kPa9H+wwBIA}JHV6%rI>=?O1It0z%bVjni7}cHO+!15PvJu>kPWBP1a%B&<=Y8dsVi4}*Kv7`dw@!G`w2~okn_*yrCsPQmw1;Aj?Q1{W|u%FM` zfavjm!E#Jqpq!dSR~v>+fr=r8+cY}a`kuW=%J+WJRj9fs;!BRwn z6FHdWjHh5Ar21cx@nBUa2d954W#F=)OH3t)EH+S%rx-_EMchxCF@;=1-d8leb>cV! z4rRNguKRGdPK|wE?7)FgWgA|;wAC^Gf9pVh!w{r@hQwRBe*|1MONZLF>_Egza0Ifs zi^d08E|?U$G%Tbw+ZR-#qz;SiFx6iZSAg z0LmD!8*KF5Q?BQCI?cL*lvI_Qg66s%#oCc~PtaaRX_3NeA616R|Wrj1^^NWX0DuG_7o-(rn-K%jY4$>IUunIS?qYGf;uGUSN#QAnMQ&_C5K%T~VzP z9qM{d2;#=oBcZUicQmp$9#joe(BxmiRysy%D4|vG7cK4>jX?SnioK)Sb^8-Slc{Vx)>;lwL=>NTiN! z=_p$Cz$&lw47b&)$`<(kefhj?6`;i$G=|+e15CD=5aA$U3qDro8&#@LAC$^xYc(Qn z<^3>Pu%dQs7;&jRd?9hVv78PR!%`xRpHhS{4-d9?`l@Z+QP#G95kv^c&i1-i zJjkJpKb+`RbO!g~d@<9?uYxaCQ7$W$Vh7thcyYVwki{6L7mFDnp##DC2S02h1ADyL zramn7t?~0TUO=TaRj`793c+AT2>q4H5%Yj%4#P&}@zTf`$paW%5?n|JV45(4)L7%M zLco~>C}Of9+uOIc|IuK7zv)$xkX1jJE-Bt5p;6wOClFSrdK_P$Frbj61*RDyAcJuY zg%|zXG^%_Zfo6s}+_aymD&LHAXFP$0%3xJSs#xC$P{OBvptuVvLHZw;%@>tak67$Z z(Qc#7c-ZQj78qOWCN#rMJQGN#;teq4SOumf*GurYYedGcaGJe;;>FZ(I{hB1W;wws z16&g%I!vWW7vL1KU+rlhpAj>xdi4gN?MgF=!nG>#%P;y$AT z8IY&+fb-U&QCUr5l1vddXm;uSnHW>98;*&!KIm_?86F-Aat*oWD_r^jE=#esFqWI*w2 zrvNMq)dc_~I5~ZIE4lj8lvKeLbs88lH8Cbcnw%T1aI8Zk~BTvT9={|N1CoCl(URO16Q}<+ei}mni&WNI9k|K z=wjIR-W#X6q4F(QH9D`D=HH-VBPycf7V&!9?G+MjTSaFS?ii0c1L!Sxaz( z$Y!$|BvF8Y#X{SFT&PLlbncdfMmJ7CWH~n?j6uTv`Oq=+NU!vA93iEYWG4~ssp+n?b>HHA-p+SXWX&&2vukzfY4(EBI)&P|EtPp4ej?q)kKE5qTDB zP!n?tn_k9ur4s}~q?$NAY^(r7UY4g_CMI4ko|KfMc~Ggs-irYw!=%+ISE)CIId(07 z$4^HOLb6(28IB^&FQ^e>%0zkKoJQ;-*OtF~K!=r#m^lbk(U{cP1f47qMej2e(KkvFD;U)<8MA#OKt~VwB__7ALWWKZ(yRcD3d;zi z>PBf{yTa4T$ahK>m1N-|XA>y9)bUn-D$S!eK`}QqOx7H55Q-qP4PyL3dy6_lAarz-)y-Z!v3`R3MTWF> zgaO5jtft4vGB{F?5a5t4wRKyLavTwZZjS+h<<-9(WIoqe7d#kF(*3s!uvkS^Fcf%+ z4LPj9{WumRBhob@ys{Iiin0WMQ*euCaBXtC6XTOZtLb%JlvI!G!WF&+F%J;_Nz1z~ ztXkI8*E6VnbfaHSE+>fBbGhx$vHX!2vOPL6tbxYnh9Ent4!QqV`lnQxyrShuS7ib4 zwpBgB0UyRY5qCWBq1i;kVVKxI7*lx&1=~b!}Cw%s|;(Tiuv+ z)=T9W2%zj)$i6UDWM!jZf-J#)6#WS}W^-NIrc-N~8oUH^B?{a8Sw!|>WLc&Qp%CFX zwQ;-Q^8u)yU{GzK}$tD zJE#~bXDlsV^eM`whxa1(^)EJMjI{mx=rnlJqto_bHN8{x)DgOWqbnq9!1@iWx7GPx zbdkTs4-g5^ zFpi?Pj!&DwMOXR%P0O*k4{r_>Q>MA->>NS*c$L0u7$VEiO)~()$B?f^E*V1@SaB0k ze8o-p%p@pA!}@oB%O5+s?FOjY0zU`UXT87cFL-~q`6BFVo?A*cJUPo`H&Pt0{_ngT zf8u0)+BaB-``cs&v_R3q4eS}9Jt5w$yKwXV1!;eqxdli>|EN?O+{A22)KwDRUii>Z) zROGg=f<<@e_U$fL%2?9`)50PGfkmOn!V~fkr>`p#(#7N>Qo|_`Fw=llvQ$`R%~_Kr z_iRkr6tjnEoh>qP3l!5zzF8+x_G^zRlK?e9%D=(~GBFloz^jnZs&WqohCbQJ635gL zv>j{KknY-%&_-*lf5y_v579PW42{DA85)tb>I@1n76tnJ7^ab|8bC2z4Egf0fP3|7*F0hj>j=`-&Cq z^lW8JM~+_+v=m5=h)7eViwcRd5pGjLqBJ(ds4O!XOsP_jwcDjpa}uEv5MUc2i!FHp zsc3Cl!Pf6W+;?l161Uq#5tA%T2XtfJ3D+?bhk3|AeEWWtCklZqkhWRQd z%_yTgUY{LNUJ<0{2Cm3YhrJ(Tt*FWs!}0O6zXM1?^FEH=$_K47GUKi=2v48jKJvH^ zHo!h8RP5Vg$^p0U&)+sSN#)s9l*H@meMP3&DoJTUD-cDweLs8trT~g=y@Of< z1LzxSr=56p8ZKg0Xpa@uuI4uA9D)Jw=SXkff8QWDH#cW&r4&F9zD0z}vqJ3{KMv{F z9o~a{hbX&IK0~xvJyC?Vdz3Kdq6{CC^W{wES5i7r(7vF@-hfDrdp3D zNtM_e>|e?GKk6VIt$MtGvf2u_Ncvu-e*q=G<8(Od1$}b;gv3gdTZ>N;tFTp`e>ihN zDwIWyNY)hz!u*lex%f$S>HecUeo}<(d{e|3u!6arTDdm>Fs%4s8h~C(QCy#9wNRRM zB3qnh(3*q81?KTC1Wx`}Noo>4f+vZA@3#s2zbMwF-=WRaFQw)Hher9!7Hq3kd8t2I zd}TbUjEhsMPMA&NnWvTboB>g6f9|B@zgDnhc#2Dtvso22y0#&~d5CE1j>yK!bo^lw zvDPGzN1iRLOG0km-vIY~0C2|Sj`lzpzF<%fxEe=a?b-F9vQ0FU*$lsExCPwKJB0Ue zSbgnc)A9*m0A1G$DHH205iFy=F6Ismnoyw}{|0-qR78&}U|SvoXdAX8f2Y=W8&^8s zU5fdIapu9y1}G(TZc09=G3nF*+5a}7%I)s} zES~-0a*EtsX_|I0$hPmjTG%p2+MwtGe^Q6pw-`XR8@KrLI2K$(kdX75aKiz!(C+>u zAt{<2jL=a|+E8@cwTm!rtCf9Y_P=L1a4?--GNwiiOdlBix%~Aje~?4jQI{be?0@G} zeE?YljaVtxaT=;17vui(Cna&l|5+fp{b zw{rp|c6lWur?W60ehAM4F4wcq6v~b>Jg;}Gu)4t+CURo_3w7%9`Y83 zhLrb!Dps!bo-ixvoDV@)o6HoXRxMJz2$K({9$7fvs|}-k z%L}+P%4NYTe#A_ScSN}icu)^CX;k^dV&k#w4&X^~e@~3W!r7`^=VW#(Q}$4C8HPN- zlF1dSjadiiGTV^gRzsClwnHGwAvU(Fo+jC~7CJ)j>Z87YAakgYt`M4)Y zEEZ3t55hwpo`pyyJ(!_YzP2&L8Gi+Gj5Anm1oF(4;iugXZk#y5)&yZ@!7K*TH<(e~ zHVE<>ej3g`v^jr@H-0aFWu;P!)3$fz3^lQ9=99NniK3;5 zWBAsbYRKNkh#)c2OFkcTh9>_~% zndwGphWxy7oz>l&fC+`nuH1$^ZIVJ3d@w_@!H_75h?IYgh?Rj}FXnIScLLAiKP|8o zDa+2`rI&FH%5f+qdA7JqLEwSRRN{L;k@sOXH5_qu?Dt#eRDa+@4?od56i<*Bs}xHO ze=-)@1`y>|hg(CzD1&N^G4q7vPcDD5t8w9#2%pL*1|N%JQA0W-PM@GirgSm}X*|JT1U{&yA0#mU<=1giqBk!R< zw*xcUkZ{D~yHpc>Ok4(zfX5yn2xY#m`rh~y%&>J+(ZTV>EXfP!TMyf+uu zdbERX=8jTd_L*NZa`+Ci`vk#)e_H-yUhpdz48c5{v)4aioTI^XDg>nhBK&n!k?di@)kwXejcNZW}Ar^rCGlT96u>%peW(^j) z6w94sRn{cG;>(BsQ@pt zs-w^O#wr?3h}PZ&+dltbx(O$T_;&)a6oG6GsAQWmO~FUqYR?1O+|tuOlDXJ%P+Ad> zzN|WVgvstnR{W|K!B^~B8^|qYZ2)ggkug3NbMw0^%XQ!>^g923i=nBVeMg}xrdA@lqQi1{ z>i{chH9p)NvyO)wZjx2m{P`9mBs=-TeZM0lC8u%%|DT4OXm2)1{+JSnaVb0)SK-NY zE~#aS+!@^8+Di2Xf3;EmisXY}pu>7{xj(!{)-2bC<*vq7&NrL8Gt^wYu_yQD==|kz zE#r)m#UvzUM_R>zV%AK;;%=vEWN*GtBS7Y0e zCY-cqF2I#Y{sn{Dn-K6{N|422|D|+T9QLcyVHuqsJ33jOf8Vf1-7B6{orm#-pkB1E>j8zpr`G0uAdV!ooJ}D4GB+jb+xmVhu=|7iPiH086OPMRP!4z&tZ^5mbif*J6F&B0@giYyfK22Xm`mK z1#}I>e|<~YH(F=F!OUtIL`=@8hl-P8Z)agg{aI&4{xsaEeo3BA;B#B>JYZfv0{1lc z17AyDpi>I-#4iw4fV5pvCyuI3iv7s@nVSCe(#thbnrRaPJLm{T* z^O5{hf!KX*7@%?dRAGW@S19$-dSV*t&o0vso~ ze=m4K-`j36-B#Z0zI>T8$Go}Om_@+##YKc5EW__ zFylNZdgLE*H&q77Cz%AyOri{L0k%=rf4_hqz7O9GXLE`X8;Xta`?ODUhB6A1DEC+y zKq!#)D)d$FQ* zzIGf$GyExl3_xB0x%?VxM(ZvOI9U(K7@sIR-{wY#L&Fd}eWREiu|vaoR?iZOf1k#y z6l4KWd~QPK%k1#l?^x^VSDyJoX1WWgzizOUHzsyG{m_?!pD(+>;>~vMwC$FygX({dap5c%R{Y8#N7SMXxr+SM3m6T4X4Zk^Wsog1~HsA@m*$@qM$?( ztpHymg04;*9;jln(nqis-ZjsAe-R#IL5%J5+)sI-_p^~_nHmKi=6W6JJ1The-g1u24jUd z+tbXseF-{ezc8M+U)f|6B2+6++Yl{wL)@#lT?qqs`vrS+JjR_4#z2-;z#Zf@=+%+v zVc|i`fBVY@6v{CuJeiPhg1a2rV0HiE^T(b4wD0E{vdP3`lk|H$z@1V>SW#C6m01(F z$}|hb6qFE5aCijuIN5Oje??{<=j1M73@y+vC}>H@3mET`k=QVDuw+(yB)>wSKBzN% z+M@t%xQoO**zi+`I*eKGtv}&JGvv*C1Kkm%KX?LZL>(+3JVh6ppyr635NqBNXLplOxx!A!)nZq;FWQHa$1kaVSiJ!T=^Tl7Ly zv6;_dDu1I6w~Vy5&+uv^L#@Akc98OseRhzRfBWnpy;khAz`xL)tWH5sY)LqEoW*Fx zANX1_>W7B^V!en@aW zrbof??gr2QF@gY`ZC^3Irn9CfN!p~+=p zkIWZ7oa^nUiy`;P@qaMI&WYZS_soAIiSd}a3C@3Zf62HW;8<>g{E+XPQ!Rh|jL5`> zL#WYyVdhd8wMxiAedWi{M+Je9a8)(s)iI40Es-mEcT+pYQ}~;;V|6LPhGh8+njuMcC3#3D3m+fd ze{u0zM>Ev1CeZ_W^$;ip#1enQ@zdGZ1soslf9@XtKG`B#Q8@t|`NJnzddebY^g@kn z4VNhAk|UD9_SxWMYsT2l_`}f$_kVsfxnage+w<7`kCm?g`_)(e-^y2j{pu@gw~>u! zzuB}sW4}5db)JTx+t@M_bOtXbva(mPHVb(d12bce{Nmco`*gSe9c=Q=u;~3}b_7zn??d^Xs=3r3p;bg5?H7VrL z=okP-dr_tO;a4b&_OLPYy7;c$b);oMcckpP9gMw~@yu-IIZVV`YO~}pm>*2YWkj(%A~D6JSEz@I(OFoPddI{h2n&Mf^QNEVn=B zF?{yKlH+wHVuucs582F&!_2`11k&a>`_*g1IqSAM=a_$qt#M_G48-@WV)tGaym5J% z7YtQ}ig@g)X3wl+T95XvaniZUCNkU>fzV^M_e~i7!O7w!S&A`nhcA%}Kmm-3Z5F-y zhTveIuhX4%jE-$^G4U?*N@N>_Gv!^FcMYZzi9gdYtA*<6_TX2D+Q8 zpHdMk30r^E(7j8Abg96A5<$f0E)48F;?a1*!Q1hzU5Zv@fBkKFb~1DusK*Q?0KOQ) zX9B*fO1{Jnq~e2u?#R=NGKAW$PB1eL;7VA5&J?f?_moEtjoHov9BKtSILG-roJv$? z&1#1qKe0{`jxGrHWRC!AAR=xyV~oEycs?cPhKzqpj-A^wh;&_^PuSt`TZMan20cwp zUJS)ispjbI?uTY=K}s)5EnQlTtY#wuXGG;U8Vj0gUQGyNZSepVlt`Cuf30&saQr|- zFOK=9tbT&KsT3@nbHU}@;c={fK{K-0vx5Zv1!D5;LrG9RnK10#oox3}2v z#SVWR%zfku(^Zh~VFf_OJYNH#E7AM;?GSRF1FmT9EN*On_@*loiZD$*L1%p@(n_$9 z)OhPff_7mdvrnk2Y!tgag^abZbu`uIf5FxQNoi3aoChqP8J zLRWd++|{z0$`xt^+`)AT4!M<=%~d;XY^#6ybOmmg>Ub_4fi~s>SytjFtlr{UMg5^^ zsCTcH+~`5pw{@4F#j#Z{)LY9G%(sAJX zkn{48K{xY_@pRxxHyt6R{WX4UJ;P#^CvJQ4R+h1G?T5sTC;J5d*1r^0nJ}IEk{EyU z)+A=Vx%Cag>3^iFAq0^MQcUo1DD36&$b#w53s`HO8^d?9B3GTNtiB@C$!sYoU_+0%|s9&jRQ>wJh+h$ z_z==PYmEm!Os)f1+vEXlMOM{-@Wk+{U_MvntWmnQaXD4VrIvnGE)=D}3|VTq}|d_6IC(VXpL~#8lDOWScpf(tBl@w#iW%3gT2Ozi(59 zV&?fVDb<1a>LjYINdT747|ju_d!W62q_@6rB+&UTq4k{WsH#sMQRBi;vqWtCwqe)C zTN`L?gtej7#+1m{cMpF^7hh+z!PQ1p8%`qGAKHj&L#d4+C#`^NvTh}GMu**gSKQ6- zw6!&s-aw6ImY&A`e`B$VV=24e9G$%PE&uQPYb1l5CqQ>T<;M}swR+@WZ0-~hCj7?f zEssFG>{h|$cR0Oa(w*cip^DO(n|j^>V<2g~*hAW27NUls!zh0^I&vgMgKO@R4S9=o zJl;W@7vkePgbu)Ih@K)h=^`btu{T&1GShq_sWg4JxxYR@z&_bS7M||~jZf~#`fl_1 z_uwP&4z?57Y(n+_ZhABCT8$p+&-$T5Q;yiQk-tR1*z?4gF5!c60Z@%oT2Udv|L^;;?$=SrEwY6FtbE7B_7-4ufw@0PprUQ26Yjb-wtq zyGM!F=o8RWz)+0cr`M)UV0DORYk8L^l(XWy!wv@e_yIU#V7dLd`7yhmzdOL0QJUs= zho2j|SJi*mjHGR=LuhKuL3DETBHU{ulZ}1agy>XmDxx@5>yZKZx;B)kGR8u#;5uv5 zz{%zt;>_>2EbensrN-p7H(W3wT=Ks}Zn?bJXLy;BsnSeG3xuw2M7UVlXZs?Quld8b zmw)dcasmW@wK+@=9pJZvjL|{9#DtBWp<5DEXEcAd*&hR{6~pDp#qTVnOhH=Zlg>Au z$RYtjwp2ax6PPJ=3;5JA*4a=YKSYWkSy-}R*jd%x8J7v2PB!QX98V%@E;HqgcQaq1 zX2={R6yJfqGju6Nc#JyUlb6TYO<%s}|L(vF27V!07eU`u03o@5BL>sDIzDH4z_3MS z7ejv;gQ|78v!js@Eyy5eJKLF^QYx`@rGG?i$)pufne0%&lc?9E%t*+8{{P}K`tuqhJV4}o@)2;Nc7tM0Vx2#1zVG$h3mt2sk zu5bJ~FKH)81caId^5>ZOP$>?e%N(AGh%-|>Xd(TLkI0x~XlgW<$|XF_Lu2EKDnfru z=;x?G;rMt|YegtLG*eU}N}@}laM@&!U#Qg=5zU3SG?OPN_MXYyV#XG>vb{gyT<}8H zAJI$*5X{Rbbr18T)?<+uwXJBP72RcwRL((0G_mo>k3uiAU_amzv=EUylQW~}13VP7 z1#3)@D9(rEWV%DJ|Ax**)6@?7s@;DzB8-hu5heSCfll&QT-StIsIN}Qkd#HAl&*^( zVfje9t>Tsyr`BAtnUQcxfG{_YuYzqY%-Lf{Mm*dMqh3PK1mCTnY7g_tB6p7fc@_;r z#o)Dz9xDW|q^1@W(stvf^Vg$XJV*=Aa@uTCGXGZB_d{Yko5x+iKa(y+w^@IRydRzc zUqn)Z0390v(&=bW%;-@dT!tMv5-O{_3pVSm=3C^=S`nP7Tz2Ftf|eZX_0kOG_iWC+ z?$$z<8E2A~EI)EcOB8^u1kTjlcKaPMJ?3y`^zeSZ(?{LOZUrGl0Rf5 zVUIjoVxF~9uz5D!5&LibT1Tv~c`2w6>vKdq2pFo34nX71kkQmP!&b>6^XwZmnVMRaisiAt@Y5ZQ2jW%D;TOLxPkM zs8cDlX~6W0%kw$j+=c&Z<8;o&@xw8LO8*4oN|tV?F3=BrjxavNGKf3jwckVPnB(Z? z=n9_VFm@wzThstDJiLD^#XOVd#2TAllkqso=xY~fH@X{Eb60WM7~wIiJ_&XNYzHoK z7#FG><2<8l(tqHloi|xCDx;={TC{XlQ?@9}-i9Nl1Kk5p*WUtHupy zabR(#G#7zanIqMP#{Yl(k3OlU#|L(1aE@lEAehJk6XYysDX)K3X6^*v{3qDTdZjC0 zB8>EUKU4{uh`GLpgu_Xxi-z+gWfRmh=WdhL{+sRg5%jSPpGMvTTLrpx7s4b+AfS$xQBDO$zxC!fgUs* z&X0NsfD1q-PH2Cspo3R+jx|u8KvZTy={rp zF^Hg*3edT`Pu5bl)kQ4a@hz^+rM!~DgpH|nimgLCr*68L0k92#11(SR?^ zkV9)3kOtT%L}1_WT9Dt@Wp4o2*cc4etAXwAA|Ngq>zUx7sJ6d zr1=xbBM#X#e?UN*Wo3fGe?=RU@YofSIuwO=!|#_24G-D@{+H(s4=@;?76)^^#{U=6 z!GNLzy~pA?z}0VJwFAfhC39rgI0Gt(TeSw!v4i7OSe$dngUM>n{xC8b9OWMr_ zGFIxp0P-EBZwdKEn=UZdsK1z(p$-p5f4Avm+bir*w&9Wz2_e<+r}Ex7UoQ^KoTic3 zDYcf!$*(gyIHmL;ba4$uey4{s%jS4B-VYWNT?UEq!icmJu)gO_3*{$b$?4v2QCi}j zn>nY_@(cbiL~hJ)!Q3I6CT!^+*<=Lki${M#U~<))5R0i}2T&&+F+Br9Z*S3!e~rT? z<=&%c!O)L~AA?zt0CzqZlX9>jkYzWW4>=K}s|87BpamJ)p6G5AeUXrRJCOF$2&f)m zntJ=J0B`HafJP4rAV}UrITo?94ty@kc-c*V_a;G#HGe5_|&sF&^nv( zt?8jf88MbK1ZX&9lx6Q`M&)0_=I6!4S@B~==a&drKRL6?T@{T{J+eLiKt zK~!>R){YUUyn>v>AzSyhL8CXcSZVR}${CufpEQukK_bKW&@jkpOtHWfHKsb*hTroQ zQHK@i;bD7p3vb$-^b8qfuMtsvx`8hakI2ob`vL3ahK=@;e|lW=3Th7*nMv{z81Q(6 z@A|TAylZ(xrzpICT5dt9;>TdIq~s77qNfptiCP)OjoUJFK+KK=GIGSY8?%sCShj(3 zky0#)-DiQrsTe8U`>N~?vEUWAcJZtBiJnyV&u#YKKz%y(bTb$5@6D@I<)Fa`B)nA> zHozRNVOsxHf7-Ktpa;$W;)r?Y&bW}%&G*eWs7vQ2*9(O<$UZ3y$eh*Lx{p(tnNE-H z(Ld}kQYN>YB1+(P4{y31RW_$D_E&f+mYK_cZ$!NBorakb1Qhst&V{G1%nSJ;ifuY? zUdeV5uRZ^F%UJiO=evCzVUbu+j`nZC zJ7nPLAGFLZ5|4-$!h9G7)syr0p)}4@u5`i8(NcgaN{7Tnte?(T7Lpz;Lo%E~lg`5) zIdiJpe}eYpIYGu|AN-4*vOl`-nNr25DNo}y6P`D^X z47q6-Se~01VV=qeOqCZW1C{@HId6_mCm1dn;Si1?lYB;Uz+I4j*{A&sd?f6l2+wIU`&?kz`*m~-S@G-=Cd)BX*N zrzQZo)*GPt zTxn)PIh~A2MRNyp3M~}mZp*?^D;f9~>78DMz;Hz^h??Q_1Yan_*hT7KPEk#H&f zak{{Y1N?U2`{obBGSCd(uZb=EK@!Hs7N zbUItYc{W|){SDOCCbz_+phTF&;)xS%S#4HboC4H!I&ITNGOl%geSjaq6_wwmfAi5n zZM`+VJ7*9XSiK!??!MvmY0dgMPI?pc6Ba&Gt&RX>UrgAj6!SJOndOog9$z zv-b?p(GniE$!o9KEc)3J-dF*6Esz0;1vY?{UtFv59c^uAThLJWJK$DXtRSs5&ZCVS^BnQS5%s1Slk-$DDe|JaActScF zZMBhYTswO}^REWpe%W(94PC>0#l}ZBK>6$jwEd3eOLM*RQ+8zKKuDI0LxuH&`}r1U zfocy5Yp+Q*6ARAyVW@+Er<_pH8WFFK3O7yex{S=0E z0vNdBVnNd;E!?$pA}V{e_;Al_2s4`{mmacWEoq&lotn;T4Xl|@A^BDzu&o6%0V)O2 z&5n7Y^l+**TyGvj>N|EddW% zbUwFojrA)^-hJmC>QlH79S@@m`dCD-pH|m?f)#;!hqmny(JhSc@Z&eQ z>&26_U$Ln-$XeWl2_Hp{qZ_!hT~vjJ7YX{!1^Jl{gRtwJDU3b`2%9s9+6$-^EC`|Uy!n+lmQ=5^9I>L zY%i)qgRfl=e>^7jUzfno%6yt^jRx}q=XQlISU=;<8yYst#W3-fpH_>B4q-ss z1qz_+A1etA+YvPlc~1pJYSZvv&x$evXzmUxx+9V9ly~SKTJK4{(%b}!j;2n+E5Ru^ zrP+@eX)jrncdKMtml77`63NQEF);Q0725~l5K>5Ie=>r6N1vEc!_N2<!1j;)I&j!pDQf3j4BK=fgV~uq33XrGKpuxGxR+02Y0*@|N3@d zeg9YtPitLL(70m^ERwtqe1=L1g&I$5u-M!=cD9-?G!BZHjweLV9a?4w(4W6^pKtHi z4*GnDe=ve}{s`j|3&~}=qjo$Bk45dN5;vTRdB<6I`~XKw=>48voHq3W@zfxoY~x_0 z*Q-4G67SK07h4UCWkpLOzd_upYJY_UH&z2Iq_}ngi>O?J(8QXKfpk>s08J4ny1@?8 ztwLXc&?-e}i%PGSSwd$g&`Wj*S=Nvj{>gpef5rWg9Nxww;`34gn165lnILYRav zoJ1#NyuscQMw)_Wx6szIJeJ7f*qn07f6xIfdK_3cn~E8x24sGoZ4&|+SdPv09GHp5 z?=C92DUKh_ICNJS}tzp=N7jUz&sAn-0802F*wHa}3!H~^nDe}u7? z#wUf=j|cq1;FW4kp0D2P1i15pTFm{&IG^+$ufrCcv~Df77EV=)6bDQ-6W2Wp^^WAa zfmE3(Ka(pbEpR5j+UJ!U1kWs!^%)l1bY2B>yN^79VD919k_NK)9fzxbj1BYS#)HKg zwVh*?;H*UhT6B7d#<+x3`wYB2e<}c!%2?w@uF&1vOJ$*0#YW*>Jt8dH=0p)=DXGTg z3S+sXeL-Sv6WccUwFhS#jTNZE0p^zJ1ajLSfjGnyEx&xiU|PlE{0{buaVV2?b<8J| z5t+_aJ*i_eAQ7#A*xfcL0-rimt6zcTEYQH|uA!WD^Nv728oSf?5PxVaf6D$q#m5fL zmbM8S_!n^b3NeQ1Rhf7Mg_1l`!HC9C38cyN6XaLwSc%&S4g zAzIJ$?W^A))nF8|e4T(#e@L2ZXMv%CCFeVxx?LbCAv>uh9+TZ>7akRji}{3!p#1qO zoz@u(M097{v)!LC2(Ke~z zgUJQ@E&)(>9v8k+k^yc?h=2W4E ztK7=C=G{Icomw$%e*;9UH7^^@KYX4B##p(|c6p5OZ_MFbV~kKH<`Ng%-?jt~yM%_r zog~IzLvy1r)+bs$#5%PFjrj9b#%1(w1_;j=uOaDOQJ%CM#fOF1w(4aY1*^vJ>-9=k zi{e%el(@+BNk>XjkTl#lG4lq}Ee}20lF^?qnR>(a53EY9f4f5+x;ffXkG;5oo2SSo zQ#w?qs#g`;yN;oV98al9NX|oIhjXl*VT?+1a5jH93?DF6mn^7f-fk!8N2Mybn0}GH zWd6X9mnwL9wZdcWD`4dg)Pgt)ALcjEG}@$*fmmZ!iH>6thhprF)gvf81lR=T1C-ad zct!Gz#U2`mf6az_RxUv(DzV=95|ynPyV{|(1LKy(LBD{ll#=?!I<<#trs??hcNApJ z~*s0ax(jy^b9#k$LdJtPt z+z>!(TEM>Nwn=Q#)dxKJJ+I;=$-`Y8OPVVZ1Vm(W?BEOO!W2-wZd7A$(U|2A?NkmZ zu@Of;Rl>OgVAonD0VCB_T-Y#MKLuT#8uPggk$qG#8`cNSKfJg_+Q+9T^dDxe6A`cvYj}fy*T0Vl##HQlo7{_?_8++SF?xX1E zs7Lm3*zba?J;}%OS&T;5`V}2@E>XJ7MJGFDz>~R1QSNr9LHej|@$W%~>NWVOF9+YIY}mS1pqEg8-%^A2%vZ8Bwmti)(MzMqTW@Y$DZ~wub`n38)#~hj z*=z#q?U6*ypsmeek>4T9s5dOV+#8moFMwv%1$4luKs|DWJmpR~8YW~It{)FOvo+Y~ zYs3PH7L=QswXKZlzPce-z%pN37_GzkVocwk=kmo31 zI8U5m4BUa?5;m^?Y;IM9tFz48)OiaP1e>rw#8aOS>Ep`kUx^q(Bn7>^-j|>w4`u{15#bhM5xhY#dwbLs_`qa+VA0)F6^*dz~a0rHnd zB@ZqE!4~Y(x}(hYogLb4(}0_Z@Q`=A;QklxcvU)WHKMUbCQ)o6T3H=J>ZQ0rrK z*9Fy=v5uqBw{(K+3F&9kL0&CAZeVI^iVp!pI)_A&CbV6K#R7k{8)O!auImz#ua8?V z<#-T1Xg&dLe!|uxO%P2V$Yf)$ixu>pEjJ84Y z5G41*bm%u_CF+hY?amugw`1(EXbEalfPfatP*9F&0a=(Jft=bF=WA1%1LpOFD9_=H zUXa1eI00s?LjYA~J1ZvS)AygC!oOADCxR6-x(c(=DDZ!Qbc-iCM;Qq7@D!os3J(Yr zaf6LuY{GE`Hdz#w>*sVb&APb037=Ri2?5P(e>KFJ{=6L;nog%G*3N+!*dIg$*ads; zw%ke=(c}T3yKvv(+cJT*@EYr(qm8rpHs?Px;(t7c7xAK+XaGtidXpue&v%#HL5C+g z*xB>_dUxJv*7@HwGKD|o{DhW9B)HZ4NfJ%d?2k@tLQ00FHi46zZY^!IA(xGMl1sT#;V;|1< z^egy;@*R*^=ypF;cQ{9+qPZyk8%hg459_E6tZg5xH@Awmw&x`iC_lz1Dk3rI=wz^s z?k|}{H@{JN(jD-)bd#vT)_&IW2Jq9@15lyEVy4R?!n@BoMRJMBUhcUu)4UphZ<>p1 zf`xyB?Li0_R=kkN_=z`z`AFXdYt^cu?h#;}cK_3|(T1%be93hI_!a$BAef`!#|08P zwTux1+aB4^ba?>n(Ma~CoLh#_mUD=i$YZ~`gBUIrZ*C{Y?{m`vE0Hcgx|2G2WYu8- z2Ipb{s_e8R?<2o~c?`t6lN3G3&jIaBH$A&C1{_=-LVAC6bA9<>D$Y`FLQ4wOmcL8`yvacZe8Gi~MD!(i0c-R?appo(axhCB#+RQeIsnF~?_CjD)N~4|(ut~&hVa(w8BnTyX zJlHJw77r*WGB)-cVo6sG;DmfHGVt1|thIPPxSR-jn*tPnmrbiDdj*rlHwaY9oSksf zIW4gD6CoY;aP;WbCYY*A+u-K2{K^80ovzEK_yq@t$R#%dtF0yE)^G3ok@4HJt)=@mL5gEMHfmF}pJ<_dguAWd%JW|Z z!=}cPOs3?h~ph*HGA%Xx+fTAQz^V#S3ze_C-P_Dg54a#r>!#_B|jN4f-+i4CM$_18`<;MmW~X(8N1i+Y(#nsfPuUxS?+=eIUB;$8 zjYhqT)733GpwZS0G0wMQCn>O_=TgPA{oxID)&5X!OP-1LU)tJ6NM?no?g7X1p%{Q? zz{_Y($7FHrz)R{cnR>I48utmuvVC8|63T@?{4pR!pGAL1YvZ?yMThXwOZ9~hLAC^y z^<~Vwz`|T?Dd!yX84X+-!jADFh_h}=uY#QgB!K0ez) zomJfgjo^nsMw2zJ9%SMBsH@7A@ZqEFPPm1!-o%xK_d zGJ|w)u2UF`#{4n^{OZM}B%tpQklG;$w2yzfg@Tb48lNcSK@^aBm&th0mb}TwlvhM;0B3p7NY1G=BPRXjKGwM=;l3^U9xCVII1k!(4 zjb^k%g*~*#Z4}mw2Y8ZY;xxauQ!omcz1MZXW$xt zZsPFk6xt)xf!eDwe?@Lh4LM;0fh^PZVlrYEmqG=@#kUK@vM~=q2^YfB$j2PphLfA+ zhYOol;;&S1@dk>WUE?(`VTir$1fD0-y(*wYaIgVL@(Ae(4I)oU<*$)VZyTZITy~R0j%7~r#hv*O%) zmM(X2@?@v2i?O`OPKN}E!a^}_2-nhZg5fCZF0uU`M`Bf+_!uyRlW!|1Lt&gTHzZ{^ zJJuk_>@MdXkVl>j@${*QWnX`69~lzbglc4X7YY$%(niEX)^=4tbvBUvIfSvvdS5YHBjKx8mOwW1{yAFU?RC{ z3Hx#lbnVm{I91myV{xKBE!RMUxdsZZYoL(s&1DVD?;1s;gUSJ+IRJkvv!iXP!(miY ztMpy3c*}b|>(a=mV3|a{;QPCNsj%c}Tn)N6$$Fzzz#s1Zh zKzrm(&f$OIbi^6Y=E50>w|@A!K!2>ze+k0o0zN_Oy5ngUsie{nM~#J&ajvN}eYz-V zPJ5S0OxPY`mv#H9_dkD-rc_7EI?4X#hUDd>GUq`9o&fXo&kh3dnYZB>!3sVTX$(Rh zkv>5PKSi>*!)@L-EzMO~B2{}3R+mQ3v|~?z#+jS~<(iIP3%CpdD5Sj2-^B|V38Uq* zjxZuwiSu|7#&7#XpYB941hFiz{}dV#!oGPT5~*(=Z(Rks1B!qAPX=wloB_QRz)$f6 zv~9}p3p|q9;xm~~O`s%d4(tb+&?9AJ80Q$wl|9J_d5U=_8jvyU9Ez`ktnE0#1fDS) z6wnT~$3g2Hjz(Vw266jRExg170MiJU#3OTHJHbe-Xt*FQM%ZJJWwp2c8B0fcMMf6r zmnBhaz?fIA2o`^j;S#d1Za}&4QHw2AjW0)#H^meb_o10kLj3texu_p(6r~q7#`T`~ z52B`-s<$M|Aw$l{YW~EIqDFk1+l0Hp5ZxiNtc!AV9KNQ;(bbq~efbnj^&HhEOsui)%m_2vJA4rW!3d7g!mJj} za@>~~@)>{aML|?rAzO&2qPIxKa$!$F@LHy-G6=U?NZO!`r=nn?Hm}_yHx*J#*#;nS zR75_COPjO^sAn#vQjj?U%9csmHtvnayX68w)?P5P?_szZ!Bv0@aK8W%n-ai^i11he ztASovv-tILbvTcTTo9?)m)0;W)d|H_RkhOuW4V7RE=yyrXVj*3A;ncbMWV0P?yO-^ zsPxC>dnxt<1>s;J<4gtQk4`gOy4g_}6sCmD5*8;=lG_o@UZJT)6lEPv#F6*`B9Xvq zORJHozo!C^go%HGSCGj7-R9f0-KL@<;|fdScqBeZ3$%Y8KXD$2xQGZSlA%UImzeQA zYD9k$5b^#F>*1qeeVXhNkm8K!j}-9{V2?5ughO&@w`|>mhKZv=M7$0?q1uiY5|)eD zmQ{FtLTp6vjZ!KsMww=Y(rqJSw6;QS@JfVmYFBvc)2^_i!?tEeyVfd>PR*H;J2W9Y zS`RYXd5o-bG}H{ztB9=>>4RN6Vj0n7YMa<v0yTuA%Vr%#rjyj=X7 zfakCH|9tK58HFIWfi?O- zHU9XeMl7Tmvr-{@%p0F}a-* zmkJwWam6jpF=8+%$N)y(Iyg9kf)E_C|Mpgw;Othsd)sSJkx~Q7_1LiK!eJ<*x*M5k zGIM+21`QND7f*fr{M+eYj#o4)-0^?$WXB&rjPW7#HFgrY2)k}Qdu$(5dsn=XmF5q?OlCU%1|x~)mPl_bqYeq4{`-^DbYM;cb$;shM;cpzk2m$)dDPsAbDoWFBKO{d1NLv z$tr&a(K_5n`;(u^5>OHe$j^V222C?I+{v&Q^8b*5juM>Bz8pl4(nYfEP8tHIz&rv3 z3`J4}h)UUw)FWC@EY7a0VCX_3D?r61WRW{4nJ45$Yrj*re}>ZVA^k-?!~;7DhFD5c zZ#YeGgvHorg;jhe6{oxQ7sZLvUZZyGaaNTizLE*pg~fR}?1MWxpa*|Bu((L|tWggd zhi={Ha3Ad*-9Hic4d2@MV%i+lsGKML`Q@1?2T-qjD3u~=6hO4PIJ#z(QW;TCRcYrp zUDt@?`0@@t9-F>`C3%S@5JGoEN1y7uWepPyl}V|gFIak5Yqnm$eXI&S+5U)dLvo%7 zHl)Gz`xV z^1<^)0Ji}UmQQ&xKgx|t%CBH%ecURe6wZP1f*e|Z;x|W71d;BM+?$JeamSA+ZJx7h z;8WUk3Yc%-aSD>5jAB(p91}bKL~jFl?j{WiBWQ%k2v+TYlN&%gwD??qKUno1th_CB zB5WV|7Q7_NtAc;42IuB~Ap2WmOtX#34OWQxl6*#E!NIK&hADR;VmRU#t2c$85ZqYf zSD}b#Hh`Dmb_0&L6z+nxD^7$55RyQV)atU|Y?5 zj9RjzL(sjjnJ;0LN8$;^ETo;g7yk5R%1vXI-r33WhHYnT-?XoSg2bwuHaU%oh<>o7 zD9!0*A7e)lj5BPg1~*r1G1FjpFI3H%;|TPdrI$67&aXzDHCT7C^h^&1@hv6TgWx0# zfC|;tw(@_(_DJTOrv3ocN-V59y{WTFrxv}K7S+BpO+AsZs++MsyL58_z*rRDdO%TafLb8=e5R;{9t>#Z;q`o|s zX^~?Zb2NBQJcY8vjsPPyMKx2|vN98qi=v2PZHIprN0CLSP`p|JBFg}nXsN80(h1tD zO~u2YDNcEoHfV4v#$gOyrg0UZ)qJjNi{LvorUvbb=J|CyX{;Ea+5D|&S@()!wHij{ zT#(t-ktnkrKm>=y)Nzrcd3_5fDVA&Hn*y&=N@KNSg~*ZCd{-=tVJ~l3OGccrpKVy2 zgz0~W3QJC^uUd+iZQoHAMU5=ab`LR0Ukrr&MWz-os$P*oC!Uuo2()Df-m9iUULpgz zGlevrI&O>};{h>cfoy(a0d4UR&2sBdlTlkf&+|qKjp#fz+|mBjb~ij>R+!GU$u&C7 zI8*e7Ek7g9IY^kJ7o})lKpJDZ4P2vcXw84bP!r?rZ!=o&$*m@?xel$RMPV%_uY|R4 zEb1DiE%T|Rrd62Kl(h$Y=+xW+({$-JeOeKt#f5-d@LWS&MAu9E8XNiv@g6gUrj*mv zn(i`ew2OqLNZ(*-m79k!QN`?rjbo$lwa~FaV|OJyjdlVF%{`J;Eo7y`bSlRWKyiO? z_A*TjRkw`HcqXVZ=9Dr>_|e9W%#>A3M6DoF?mB*fwAW3Q z;+`WqDsJ}^D{tw%5kg=okmad{=@YMb#?FiN`nDCoG3>1Ft$JXMRBLQ|S_#{qR2+LF z^AJ|;M>ATZ9)g3V@*zrhsLer#W_^D}huBD3+w`nW%0$9@MJ=8xKGVz#xFk$>wG9g} z#`1+6%Bt(OFpC~~m(s?>F`E={v%3o1KN?{C&SlW!DB72&SmiR5AW^i>Tbbb_+<<=D zATeSj8EqreH+>z?2c3l&;d1L7n+}?msSqx&Sp$plPRyf4%L{#Ih|o6;ff+}Us* zaU~Mpm{W@1Hm>6C`pW+1`uE?FKiri&owSMn%Kb|_-TPaOy06rSorisS|5twUUXz7y zQy0zgd@dw)V@*go|I>U;6}Y5SflHAp@ZG}fQ7cv8^O7p?sHO^hxA1@9=(kb@uDodF z37l~ZYi|V7=q}AGQnRmw#Y*N^)Qs8(mlZ0q0+JrkF;7d`if=a**@$lrygI?X6eEA_FnB@tdfeLzXme``sR&~5RBn6 zqn#Zd8RV$&u6u2y!32Nqj|Ijm@|cxzU%5Kb=l2~s@)eu%fN9R)XxX|thAXxBmz0Ej z9HXHUJH~N&Le@6}(hLN+nk1Xm@jW#E2{Vl4MoiF)(573o?c)-zefub~r1a-URSTd; zMF$vvoF;UF^+4tJi+LS-p;dpZ#YnRU?~#5E@!sM^)M$D`k_Ug|Ymsqp_r?D4WB;yo z&rt!Hpe{Yase*EZ>A_3=7!5iln8F)%jbHtAqKCIYpL*|QuT{H>40rmbwUO)+PA5ys zT;`K6VXjs4WOz34P{^y_U^#Y`@GA3ew>*Zl{OzZ{V>xed0yFSgQdtq$bA?BHOnfMP z9oMKowby+TnmT_OMNB4STg=aCIBtk9?~3|?)kIP1)gkQi=~HEBbQQ*%#8e^?7h<8P zvCDV4Ugq&)%I#j?{p#nVC0p<$T5NL2xA8bqU}`Q!N4 zvjGIcDa#|P+v?d4QW=eA8-phqdf{);zT$0oe5QZN^pfmdis@DZK|UJf^%)zr~GU4Q#`YW5J2>@ig?f$^oaZq?B&zyU6UugkcR;8aIq`BY|5Sm(_QG z>J|>A6&2(&YRk6<8PvDciB;}E{vCG}q`XGly9NifBynq|c#FYcu+WQL#;!Z%XiuMx z+a-Uo09$3hF&uh=uUrxnDlckPzjf-ztY+;~W;lr#SZwqOf-3SAUPRU~84*XWvTC5T zIC*2M2qWd41wW4@c@=C(jOzkj@<^SkOcX`?3ltT4m7umOe2)SXVb!)yg5Ss(+wnto zC(l?|SHs}Gx*OD1Nfg6o>iFQfWZ=$ocSL_z?JM*ibnU%<(?(OW&5M+5M)7cAwM2*~ z(=6L`dR`}-G_s(Dp-A-qWbcG2=!mrf+89PVvJ58k~WkCrBCG!6#SZepHHZen_dP)61R2rv}J*aG(DZpf5o?^^;GG091BbFv>lGc}UKKC4fzI$E(!W{1J zEu9kh$JULw6ey~+9^0^z0k?lx$*3sZrJ$v|W$XnK^JEVi2+i0-+N-&Oq+N2gy@POA zz%cTIlC?(=B6?VT9f%brvEiUXq=O<1I0xfMEr^pqi%K?VkV5c}K?1_M66Y6T zm}dH|T}`X1WCI*64Y91<6B`#tcN)Zq4;-Y%)}FS*EVB}Gdb$iu@~Nc(WN%o1ltiCC zc*jzH795>(gQ8LE_g~2DTMx%rO1m^}E>Mn=g4Ty$9p^Uy$aMp7B@-SRDzV7H3PS|w zjZk?Rq0*r+`Sh-!?)rbLIpt`ccio3zZHS3Yh7#upNClm)D!x9!E? z3Al_LNy~AW>7@#@AK8`qPA!%h(r~a99_a$TFtNA{Pm?Zb^k`NA+Bc zq!5O%oYKVBEGN6IY8SXaGY$AuujzxqWGPeKV&*Td$da#>Pf^C|-hg6tjRjA>#9ks$ zGs10np^Y?bbE`7ZOk1aHbTB`fAR#Tu&09%!f7O^nt>pF?$S8G~qK5(`K@17zDykXw z%SueE0&fBilhG1gXC4L{i=9};Wa%oAUm@C4_^XgO*s{M06pW>SD;Ew|d5@nL*hj6J z&*mqU{|%|+bPOUgUb?dQ?^z!fPrqdG*4k)sRaJkMd>ORtZAC#vv_DV$$(gp!^k{=W zSHdY(ENd+tE0=1@KrDdQVp}>tjofJh^JN5zeWhJE1u2W!=y;9slg}<_U42T$TL$H5>LS-^ zGgk6xWqnXS&(2yUyR_XG);JA5K7**UeiVN|1Gd1~&8t@C4L;_+4Zsw*eSOLV3ShD~ z_}KrLPk0%2j}R?ryS@E#RVXRZ`Z2p@94%+!33DeE{t^8qc-t22pEa87b0Ub?V;D7f zSz2YFWN**{n4K<&?WAMq^e*vl(u2jV4dPXpKg&cRQpSQiDEmS=0S8!{%DxyuMdrgR$aZ1pwKjB30IShmPJjNEe?)I@(vb+^p| z5=oF%Tf}vOTWrOm>>Q`+qEo)8jta4zi=l~&#*QZv`~)*1tgVqO`JK$3!d(T%rw*V} zsX*T`)-*nt&_XK{A}f8fMTV->Nl1{r7WhK(BKXLK&yh(#=h*ipix8Qjl6I$vc%9qmBM){Ka6>3W1@-UDWpvYH6noNwjYigW%YVIe+1`vHzzzseBb23! z{rK#3XN2!e>2@kT(bH9%+9-rsrsf^&GyO&$vt8 z72f=n-wA(gekfiIVHI5({6!0HF?OF%Uo?UN;ohFw?D6mS;D6A!O09`@|94SD4$b!OYBqLdBf}QeA zY3E;IWsp!^PF%4(MztpTNr-zC#wPP~SRlYt3sF4jUn<-eIpmy&BN=$(g}L zP&38GDnhWZ$cw(rG#m9%!kzdL^HhsL4R{?9FbHK@fMtI@dPi{b@b_qUP2IgsSB50p zVC1-xZY}WFX?&AN8IwlYl^0ivArwthr}JctW5Tz(0Wk$(v@;5usvw0?AsdL(k)~70 znXo7`@B_3yk$|PCY2CJDt+^o$!jKUJnl=Z4L5W^R0*NJtv{*EDH9{>QdWkbr@o9-o zWtvCVyfHx0;&RwJI+A|bCAlD}ik zYQj(VN9^uU62^;TEazk#!>gEa2B0Rx;bPMVLGbbcRz4JN55T&O9%Lo8m z#lWNigHQ;SX-aKz#mXmgMf1W9+PNUxWw_NDFU|Jo@<63`tiJ@(dTznWlfYYG>zSo|4QbM1Tfj^&fT{W#Ytc?Dh)VA2&XIC#HO*jYcLJ>rba7Y4s}Su z+DKoZ)xQjr`ngs!aF4rV9DStn#YuyX1G;8E)XQy0eMH455hJmqW5JF1#f3aE)0e~$crk+ zw`BPo&yYvLG}%E}33|~0X%B~-a7E65krM~MK6VQdDis)$Kb#1J{wz7JxJR`kdM$sK z%0P-pCDF7aG+$F|!hS3~19Pu0Z$OwW_q0JhalE%224Iynr%GcaB?mU3P*tcdfjTGH zJs^ZXx!}dF5b-JN34=Mi)|pEXpi7>LBH!MI_5y6Amn~SVrO}oU(|A!7b?T2~)WVXc zMoDp>87i3ePh^k+_Z4|iB09PK1d4x5Uy2ml(w^c!il99DHj%=Hz_v4@%oGKfT1jLo z~g6`;2)FDobo^Ac10pee34BK%Qy=yWG> zVUcKw5aQ02(%Z`i4jNJ-$RBug!R%@b1i=e*c5I17iU>f_U`0Q~=#)n*s$j8G5|tcn&>l6_g^14mo@bzk7~VXR)iH>IipGN7jz31;yo_CQ$8ZE3>!VaO;kbY2Dphtd)q=7ZyXgpo)krG;v`C|HUp$^=L(EXopd zU$jNu6=@6XYrU=90VDCXmY;m%`W~%Wa(r0L{WY>Rtc-{2+Ma2EY4$D@q zXNHcBn*9darK;|lq?+I}1Ttrj*knXZvB0t9t18*3i3A~L$p5(w;XBC$dG z!Q?OQPthI?`Ek;S0dc&0ENU%d=vLtvq}*F&S6gb`N$S7m1d}e8FT-UvrOjXqEt5`M za0=Gt*KR*21A~7(#N`J4D$$y<%$V%1*+JBmt-;CvBm_PoMe5DE3Ld4A8(&5Oh!ba2QVF=j8O)#hT}Mn z-L@|kPQ&GNkM2PSE-R%kaB2fb9rdyBVP!Z;oLq!&)$M=&&`cdseo}-~p(5{$bP(d@ z+V+3puV0cdNUU4m?X)3vXqG-oFXsdbSY?;M`ijM3+cHAeq9#C!0Nbk+Eg>C<+WNpY zX8Q%l-QShBe&gCD7K|Vwy1c1NJM(TGaa`IJp}1UxX2{OJb0T$bdflcv%rU;Kx#0vQQ<+o+Y-NDK+!$h#zBUTm zPE{*mPx#w}fGm)r5O0iOBW(h))FZ7zfZ~&CnuLF>Dnd!Kol%F%1U|8g#0)w?2;!Qvei`8=K`R}UfYa&kp;m)Vir$# z{T}AQgNzFH$F^B;! z=+Rjg>KGE(+LH@?j9lSF0V05(ZI6q*O=y4d8!4}6kqe=N?Vj4CYH;9>Fqnu?A7P|o z-^NzThO&UyinMYr5kb_=%AnHCrC<&%CU2?oXNekikLoHH{(aPI_>1}NFQ5cX_n!@5 zhB#Ix=Ir=OPgPdBkq_PnoE?X?U&#vKe6DB5EgJwnw4I9~ZAxqat6=XH(@|wO;B9|k z7W4_vyuW3$sX!QR&p9g7j})tAEk=et&_y1XendEhJGuqS=K{1Xri8F$^$a4gj&UnY zPS7f!F%(hd3w(h!!D7_Ld`Ru1qU-}nLUxYj5fL}+?&SubYnl=Pe;cm(jAZnuC7=fJ zGfOtwmA4V*V1I7$&Fj@p!Mlh~ z@N{AJpcS3qV~I|1P@@w(U3hTtWpo0&)%7M1f61T(Kh8Mrpd+;?h>XC<;8n3>%ri?G7P$d}%E$e^vlLapAEqJt} zVA;Ohyaj^^>4`0rj?g1`S}P1qv%wbu%Xy3*x*LS zNGB1_GR$KXzE$QfC4iKu{N9LwnOJB!HlORliMZnNdEJ*=jo-%>UC)5y3*pTRF;*-w zB2Xuy;6)X2s=0!AWE6j-J4{P$WTPWT9YM&tbqyL}K?!!K5Kz!lTSpiP1we8XJd2LL5GWA~i)B5fGfBVU!s= z70C)?1OnxZOT#jFTYR_LbfZ@N-O{&Rvtn=f;wC=QP{rX zhokuhE1&^OlgaF49FNDw!Je4b5^Q*$DGZuK7JB(j%KG3fZa(Nlgl~wU!1I~XDP;{4-Xtq^#f@Js3=N1QC@s zHabCsHa6xJE2zUI{IeGP_&t63{rBx=OtpfCoqlDVpWWs}n}r$7jw@^N{U871Ui;$>PR8vo_scD;rL<i@Gh z`LEuXq}wFCM85b#Z~Xh-_z%7DAA93J^~Qhy+532}M__s7wZ!30I^o`}K0n;2fqfe2 zKN{Glfqfd-r-6MM*r$Pgy>VZ!+}Atz_0oO4bziUD*L(N%;(fh&U$5TRyZ80-eZ75O zuiw}E_tgP?^*~=;&{rSy)d_v|LZ5CZy9+$q&^-56Sah#mjP4bnx!?_g@RwwO>V1Du zY`{4GY|wl5;qA)tc5i8W?>+8br(CYRe%aZszU?9DTb>MoRag@53&<0U`Vy^mK`7vHb&Fc_;9M)u0`a*q;^R!**MAG{d# zWQ;-qLR*DUe9(eOrAu&mg{f^WY5adz1I^`3Zml6Zca)>+(b=PGx^M948hm({V*k^S z$BtQvq$@%uGdFr zo5M*I`_~dJ@O-&>Ua20=wUgziCQ3RoD`?u0|#1_|G74{G5j>%+5xU&Q&bzhgXT^Ln^<`G}tzo?YsAVMHIO zH0DT+;j^swk0+lM#IR4t>{IwvPASKd4}NSRi?u5I0SKevf}^xwf1D_Kzml zr;nsuC>M^SiLG15ZtXZ)>v($Cj{0=H_lTV!pJQ)-b8x+XxTEIZqk$Z3{Cll<^OuaA zy~7K>!QRQi$tlm@**Uo$laia`6^Xd`gjZ5e53fn!4>md2_fVP)ckY~ApI%?A4^B7l zg2o6#@vU)$;N|+_R8N1rTf;k!nXD~#bp63Mn|B`l2le0H;v%!AU*ReKO_|5<@+Xm7 z@NW~e%PF<)wAiafB(7^~fvS*ZV*^I%tIsGL^p~8}y~3q#e%B4__`L%}!j*mfsUa}G z>8ZTc_}g`2L2fy0@7!Euqf6d8;fhW z#|ULec;dITMJ9h*g52Yk209Zf#(r;dh-3r6ffgL}(!Rh$CEKI9cI}k8SAt_Q4RQ~x zj+Bu!l}F2rkR%d)o@=*zUV{IQp(ke|#Lo&vp@0}x-pa=nBX6YukTFNkaHLKv_|{nd9FDyoh zx^7CkT8Ph&KL*8V_8*@#z(2(Rf3`4t-WuR<$^bvF1N_;-gY&P8CHLX7iM-ABdwqu0 zl%Lur5$t~nJK7n?+E;lDZ!!aubG$&Q(1cOwqX@#BQ1_XhQ;GnK#>_bGolCBCNuNiV z#RasAGA@!)mH^Qemwf9|=7XZU19B8rgTDHdjFFUkJ4fY4Kv|s%ia^|kByAHg@NuNW znOn8bLZpJ-P85T_%Hur@P!$DOAbF9Lk2jEG1zCScn9oS+?uuPh(Bm(Vk)MY+P6bg? zT*yl%0AF*dmh^XzC%Op7pP?Epq2aMw3J0>Q9%gRFG20B3)i}%~Ao(L8rU?2Wit-u; zv5PApBrZU`+|CuNz8+q2QNRYTk5D3IbuA$M(7w%Rb64#p1*0I>Vsqx?;8brbD6OCh zMqhunA5kiD?W$GHbF;q<*7rHNK%o_&zC!znflEZ$;PnwC`1shm6bz>>A)2!)+1RQ$ zl1@=QJTlg$GN{FdahofyD)V6=fuq5DPOehjnMtcBw*8om;&jT2Hq95tA zcq}P-kqW&n^qC`Xqhri674cXPPw!}E5PNe}a-S^N?g_%HK!phbL|sQ2f0t4{=Wi^b zt6)T06rTv!&GC~CXAo40Hw0hkpk9_?j0)t#SwxEj<%~#B?GczQVO`K$%Yxa38W4Xb zzXrT68)C_EDbi}d=BS3GhRdHTU;UIMFsc}Ds~01EiGclm{l1DkZgmbnEmA)YL z=749K#AkI9pB*9MP$|im%Um=8qNQgTdwY_QxGVcynr=UfQY~R0q+|YaEq^GA2?U9aD-=fAxZmvbeepZ1BnQ+Fz`|DSa7Pn?`S*H&>f;0+h< zaQ40~xt}Mewv~GiZ_xN7mfzi+J$$%6{~z6ueWP z-@N-RKYn#%?dt3{U;8NALM#4P&(>3B4<4@XB2sv!zL>UL$o;|mKOSye@cs`8yEi}k zO9=rOM$Bjqq_DbC0#V1;-VGb~PwSs9E)lkAOTMvjr%qL*AI*RF`a`ox?_R%NukYxx zzIuI!6#NUW&(!eJujE@pmv4zKZh3tBRzC@?Wz~`Q6O#dTw+a$3tKno%!9xQnuF{#weRw-Qb*zFk{+yNZhFyBTzpJ9oVDBFocU zK-k9W3u4yhT8w|KvVHJ3CILz#1@S#4_eEx{i+hOMrd7Y4<)r<#Uk>N?`1F31yT2He z{W~*bB(K-3Xp^~p#`yl}ow>QWL+;)_k#(R)dqZej*E3QW!ydn1JI|Q)c>UUW#;C{V z-44lG=t{!A+V=T7N7tWD@A4I(UN?QoBhv(5^k}9Kx%q$jrZrrkv;Xwnx#j*%x6E(c z(c|vkd~RLmHg7)1@~fqnm!4M37I8wZ>X^ZoVR5#Txmk*vZcmf`X}E&)N{G{x5%M_Nt{TpcL$gcwWof4&QCwhmFz;?dP5o_eSsTH z0S;zIZ6qa@=$zmf8=diq_{Wo@w%T~mwBn#jmYzwn^eiMx?-ypTT9Ty~MY42NB}?xY z9$fvF=(PRXoesG?qD?m|#9~|5^za>e^jh6~SN(rFB{07I%l+AfUmwDuF0go%4($9C z0>fe3P~nDKgxvr2HZ=6hJIe@K^6iYF&WLK+1-w`9y^r4e`@-yMtM{Ii-dnA`_xFVd ztN+AY@ZZiFwQlLU_$~{~t-)wnH^>m;;V)k>jO+7vN&~KA*22SzqlWLEd-v)wtHkna zmW+R5QlLam!BYQnzookTA@vh;l`Q=FtE_i!`aQoHn#iQCmp}cbn z7rh@2xe0<+2mG{f4_n8!1VHTznWa4M;-`N?5R~$sFsx|F2SYGmX_Ex`9U7p zb?0*q&lX=iF|hXGHRa~4!m*yB)>@ZHL0xNWI(-D<&nwSdOYcPhLO{L0D!QBX2H&9X z;g)aot*x#sC*WX3BB!j{PBDjS6P>bQp2OgO-PEv9WVUg4l}K%;Imq zi5R~unj}Q7^~8E#nCz`5s^wa*emm@^V+`bPWaVI1Qzl)b@3E8;1#ft_%6%c zA}r0?|CJPelZM9sT{QmhLE}Fx%&xR({8FLuE0xB7Sa`7Vub6}vn@g#^GTmHFKbMbx zYWLDqD!R0RmL86KL$)O2YN-fiaGeBJ3N(c^v>9wnQpI4mp{|s5gml-wunazry)^qg z)_iG9tG1r@w%*fw&tJcio(!7k1U(S2gYDBDxwh`v6EnliBQWe|JZgQYG+dVqFd{hm z;OhmXXIEMoi|jbk8M-ow^2$bI`@))kL;;Qwu#Iy>HPvpsxZ{T@n;*tK$LlFT{**0y zLjc#ij9)=jh>KS!C1n_d`7q;->rHEX7 z2jxGzV|M$CjYDJ4nT*R%TU%|T#fDM)>Bj1&>N{JEb}rg{u-&l3g9kCwy7s*-PCuV` zYNKBDA$t_IDC*0*>{XW5zkj$1ONiL9)qV%WD;p2VAnr(PbH|bn&D6>!e!=B?8x~(0 z4(CSG+sq_dseH?1PR)FST8B-mfhYgYxY5TJin&Y1Q&ic6iBe&wO{P zen;RC*eLf}(N$mVf^qEMiU@S$&g_p5H%-xRmJL1WsczYe2seNzs~?`9AYx>1x>XQ|clYpM*U-#?vyt0~w=|XW3HFAWP=GUzpFg&TZ1&{*Egx`K?HWIL z5QxoHZY}R@LT%Pp&~JZ)YVu$`q1Y7_l`f!tXF+p`BdN;qKzev`OK8DMRr~=KsNS&* z2OneS;zMZ~Q0<#WZO_1LZ*m5FoT$(!48?wg90*u_G|*c$D*l$DpF*bV0_Bs_Qu^;( z<;Mq!qk_>`+3$vbI;XW2`}W)jWqt%nF+{KV^8x)o-p;ixs$<*tuh01u9hQ3qBIu6m z`e=+c-3@eTx=CL^BBrAtN}}QhTwCdKfUO=MST+uDA;#{9Gfsk~?-5C!lIm+m7h{(0VbCkNeg{{1Tr2wZzC z0#-Tpi9fG^kCSXg*>IZGBR$#A{&*$Zug0gpJiXvvt#U zDu3=is|AXN_?s8Azg6i12A-#Q9gCoP>fWJK)G?WVGHS#jwN7)jO2Wg2Ad1s<| z|I*mRZhDKot^OW9jI>4_s5qoKJqe>-hR@E!NTeYNFAQ)h$ss7zDu2GQbI_hhmsldf z5YQ2SdSV}FtU?g6JhW6_gA^Hf^r*{gXaPmlJXK&YKnWHo>B34CUlqM|3+_k8bA{pHW#5tkXiASZ?Wf@{%-i?Z~M;b zxVZdn#>?M0UH-Q3+#6p*rYtG2%Mb1!j>MmN{PSH2f8Cbk6^|RxWAg}zCY#*u8*ApR zipF$!U=6{Fy0X-7_-SxgzWuoI1j$(zZ3ztM64*gP0tR!+R5U~iPmoVIa zVzg^~O{id}Faa)C&+|Ik);ikub@c0<)mE{N{vFp*E3Knn@7!yBiK@XOKEqXlc{fWv z>>E)UW}&p+Lq>if$52!>&D=bHjb?!s^=;Evdh+ScDx!V2aa??OoAdM4?E;JSyU>Zy znvZrOm`rpXx8+;Wn${!^59*E0CG`G`kncazPLv zwfnyh4<+hyaq~+*Aivaa)!oCxHF{j?;MpixGFevm!N5hGZdf&pfw&4fdk8uF<#*Gw zyDqql;Gsf)`&|_8XR7yqa|Pdg{M+{Hofn&!TRndNQ8IRQ=@6I#! zrh>{UXK^4kl@5SkbpZV82f(8{tIgs7_^)^XG}8g_=+3?7=cvfSC>IiJU4z7uGA~YQjN%d%;;D>ZI|1Wh+l z3e8+bMYHGhgB9i)cgD7jG(L_SJGL^3FA?R{iaZQ*&PLu5*Ykw)v zVZ<(d3USL!{w47jY#sYG!twr0bkb*aZG=of^7aIU1QT+9xsrtRWL0I88uY8)T>jG^ z-~Qd7f6={^r(Jm8c`iMaO;5|GfMry`a++`J__S9R@@un`Fpn6ElDc=4LguE)R+(I! zTb|b{>|bYok;d9w6aip(RI9EJHxHKNax) z9tARheHlN0iak6!K7*>7UgsG4y#Fi3pAK(D9_p>CRP?uXt@O%G&agUI@=wsySjf9h=m~hqwRghX zb|8nM;JEWaC{CY#)&PL-g(ONNnE?utp2p|Z_OBIx0F+$Le?I>3sI-Okcv_gAT3P=3 z!Q<2JyUCN~f6l)B`|K}wW`F;y>&cWwoVlV0U;d-`=49jgua=+9)>j_?C%PR|e!lp- z!{f)(!{h7o+jVyiBgl7@M>?V&`4RQwoz)M;5w#VMs1NCg`ti=a4_|agDNZI6amlAa zQ0%mSAG>fRcx)gGj6Bo$4Xk}uqN_sne&)MP)HpY$9vFOsnpTvneIU;Mx;Sf8w zPmGziX^pd>+W~_+6caF%k04==LahsD*Lbi4r?)ttF8YBgY}6(rAIUO+)9jM3bLW}> z!SKcszKk+~m%%8uwmFyapp=zGLHwRvinix}fp9t-zwL85`7|rCBDh1hbWRPgOja=1 z6f(B2k@cO)YdnMEoxC6fnxMkCg?6%Db-?lM9u(a#2kIuzM>f5g`J1K$lrZ)`kwDE- z5e}JTbK71R<|xCeIfl)m6!!7K_hv{E#)6q(orz4Ft~%~MJjdm1#FoHwEO_gD_|lbs z;b@L{x8c#WMG{uz|8(6b{7&N1Qdsxn&jTZ~ed%bDneBDXF8**V>| zkR$w_$BHGD8CF+?{)_0}7^hW1QG9$BYfnt$oZ!56%>Njs_#xCmD3=?ULB`r;_i1;; zs0|%6ILGmIHZKqN0lENQJUzzsYY2rwjY0Y0n1d;SU>$bIJdg?4QC22S&)gG#6NT_< zEf{+1M|&?0U#UnONY+@ctiZ9*;LEeHG_l<8MI{iY;3HeBX2Lc;Y0ERWOc9O%aAf&Y z4EV9_Ot`mLHN{4{?j|)@r`1_`@73is>Mu8a)#Jq_la~H{>eDW=3BqNpg5?kQzyBpd zFvtNnK7IK8m&#>T=+tSFX+)%d(F0Nr{d!F@jcE7=FdoU>4#bgvZ{Ym~`RV0fzPs`1 z^!Mf4`d#_v`(IEoLe8!z>F`iQ4M-a%WcS(PL?n@(r2hUJ)L{9>r!(jls(`1+nvc1| z-g~m5nvU+L<75ft&s7NkbE~F8YEyt;*{odp&eRB(P!nAGUUBGPOPG{@gk}caX-R)y zDfuh=in^7VU*$MFMB-B98-D-%XYT8$>4siNRlx6R@oWpUgCnVXezk@&R$cWqej3re z`2o1`Dd}_|>}bXOQY+?Vg+M*mm}hcIfW^I_IDI=}qH7fPy)0!1K1ZVc-+Z~?AXL&3SL~B z>Fcj8)3dx^D&oYVkuQ=bKL34n`k8W}zM?yQeFJ3%?Z(P2a(>Kz4Y*3Kc6{yAm?Jk`j;xsuX{} z-I(3DT}heK0sQspzYy>=v1x$O{N?#)4K%#F*^L4S!YsRgrGLdMEyp+lKWPMh@)7vq z&T79HfrB^#{WJnU+_~5PGCN$&_D;7y9t?UTX)NvTO7&5SN$vH?us>}MI~Ln%%b|fn zEZISSquc9@j8av^jb2s6EjHNhS_nI*+vCBmLW9;st6r&{N1b+e=mCA>q21)^@Ks>9^F+VW;K2pu)jq*y@a?*3#~OPaV~hQl-d+a_V@Xz)mRAQg=+p zexlK}5W_oB_#iZU+}Y7PJ$g+a&^?It0|oZGePxmz78b*>wbk8IpVZW8a|~T+eFA~$ z$`}2?aHlEsvz9*C*a$18_JRe~9`t*f!rB{}OAF`I)$GBr>9fAwQiph`gIn8ejnLM1 z=V01@g0D7W=!S!V#?sR!LoE=%E-P}go;n$Iye!h%2Yu76j&YlS=?-hiJ7I~to#BSM z+i!I$nN^T2&h4I>zqP&Vtx^-a?dJMmXlu0H(w7>mZo9k5z^UMFyRZ4|wg=nx7hu@`V`G+wW#*ggT>GiY%#+^qh&R5wiFDkfFGDnCtE$4~2{Uzdm zZ_OQ0h#Fl-YGcMK3M9HC=d{bw+viFAujh*F9dQ;7s)Pj2tL#^F(O6ZfWkI;-h5munO(?DmXk@=IflxdYQEXYH{p z%$22!VZ(%8XM0m}x>EFwUWChN@HWJMm{(0UCH+r3p-j5IE^z@KTCqlPF5??j?+97C zBcZ3TMIRr2h3%-jVrd7nPM`baJ;tUEZ#@CK&w5SEXli}30xgoT&WrRHMOdtkgd$QR>tp#y8Z6R zcnCRa6iJVA-$4wbj2Z>o5=5hd1DaEElEy)-F@_Kdx!0Cdw6m59lIefCWncXuZo zY73EASLcIK4?AwiR1b4pScdoAB%R_Z_?9_?`kG03ft;qt`n!{`QWUc#5W+Seq2Y=T z+>)PyLnpw-pq#uG(aCt@+rJw^7*qCL8%5E5*}tpiKr3JKm)@4)qG*e!l3*^Rwu->* zx=RZ8W0T(;r$NQf-o;CQrj#J0I$XYKc?PnlCy2H$p9F3pkhJ!z7xM8RBE4RwYF6U% z6RQaz(FUxC{y>NuY1P>UMXdN>146Ipn1RA;DS^&jw#2s5sqYU@*_HyzhS7Ed9hAi0 z(`V0LRX&tA!055hQy381t+3lq#Yb>nd0jw_9w!m7bWhTr?4H&Clmc%&SypweXr!p!&ESR8hXZV?Y@Cp0PAaWdk5@h*l6H%d z@al*J`~}qhr?%9KiH<=VnN)#N@DZ3&5I1O{a0nlP8c5jQBpkP45Qb)$Zka z%I4valZfYmFdPPdUL%*t*gfPEK~&c96-~Euf*fAt*oKtyk|*b!zNo0sHF;czyGCE* zDWQ}&YXKy%I)BUUI(tEG4}?PGVetgP*!FI>2@<1EVp0#$1oQJ=OUH6Y*ehd`s4ZTN zWLz8>p<}y&1rOc0e>EE)7e|%FphavpGyA3s37tMPSs5&>qgaYFssEq*xph|!uv`QvoLr;fMB51hddtj8D>s!Ruf}luP z`#B{p^lEB<0Q@;240TB8nl%*o&xWlW!#Te1O+E=PaW2$ z)XFEG6b_~ouNUm8m4X6Ln7m1Q%@MD?E>IzWBR@3ux|*wey6<&4LQrij*qA9J{dxMM)RG za5=YU`1$sStNJ{H8)?d7+873dB`jfBwMj-e0_1{c{)G#;yuc5H z>o-a((68OkT^Y*nzK*3!iXI(URSTwXTP*5-Ui%RhIOk_?OrG=AzfA@Bjj3X~s&A0% zNAD2_oi11zRHd!jpfGLAF4{DY3dd1dIPMY;xIWy4IYhVX`-fP&+ri50V!O$6-zlMN>+YPLjw zJTaPV%lBbS3&W#@r;^k#zT9*i%%xZXyCs%wc5-iT_6FKyLnwC%uSYVOsBRsOY*n1pp^PATB&Y=3+9sD+uH_tKL%$5^=wWIijL_b9XS47m5on^EhK>xz>fQC4{6D?zZ*Yz zC{J4m!^jQ3Nj{k|eCn`~0XDjS!)Dzo*1;`YEV8@ajF$sO%H@XN2QhvqC{dcy1%prD z`19Gv@b1}1mqG{Ty*C--sdT2jl<72-Go3~Sf$3BSkG7JOl$GgWwk$yqzY%iTW07c2 z;-Ldqy^R(gA37oSVU+xN7;QN|%+mf3b4{pQnQ)iJ$6OK_F8A+zN@KMF ztgOOXnx$Y~#%YHkCcjE$%5OqJG#^utgdiX`m84o&))q$PS$?lE7!c~&fU_oU1-8Bv z-Gvu1KB%WAT^5Ur-fk^_=Xmu%YNd-hQAyDk)?R3h9-%P`*4ko8=Ex&%#OQJ;IwlY5 z3jGlrnh^{h_;c+kc-FXU96)iXcsJ=c_nO^abKR&%Bn&$+5n&BZM-#4cF%70A&u+gD zpxqr9FVtUk`+-A3xKxoU{}K>B$vo&zqn@=tot28g(A_2Ck{45j1tN z*N|c=lGP+ZvoijFw4R_+>RKjAb;1=SSYCijSBpu3pfVAZB$8IedwpX~;EV|02epu( zR$eyVD1bIJHU^^_dkVIv7Uh`1cB(R!Few% z%ISB(E)5TV(vtsD?5L&*Kd)A?$g}qs zu|gge;zm`^iP!7r*YrXvnkjz@o(|3BhRa{U9=q1!X|i`39N!tYt`Qh=!FHxjXAGe| zeewD!&hqp=xKEDE#ERNXa`x?N>L9`2e1#Bd zT3)gOi~Gf3mi6hydGI9ZreNJQCBtzk)3P9ZGS&Kj9!1xaAIUtCTVH2 zxt6py7Lc7et16>Lso0(;Q zf#B2W0ajl-Padz`eDWZ9ed6EZal`$VB>b4`O`z?XGH=TRG zeHmR~-u?NF<&(!xFKGJZ>|bvmpI^$iHain`;+qw_@L#vQZF|T;_w(6q7k}TnsGH8& zXU!V8cEK@2vi#h=9@p(DBbM~X=DI3>Qsel-B9tHiP?_jMvfEn~5@&L0pIsQ$1#IT6 z5tqK2>N^$DL$(&w(fR+9SJKT z{?Y0A5rto1ZX8>*GNtx{Dn+GjT)dSP#KzG({2U*B1XYt`WaYpdr~E_P?OPi04bX8t z9jnUsTIXE^eEz>YVlERCo z=lwA~{s8{_;RFk4Zzyoeu%2rUYf&G+6h*^NSDxfP*<54W=tn?dWqK2T6gob|$OnTO zNLy8s?H{<7JVo$HJIF+zB4m6c$oR$~<9TOwr+|#VM##96Ame%G-p)0UG20d2$`GqHcP;<1PLEvAGRvJbbXkQK43J&NclKUSW$$TRvO&+Y4;1V1b z3z(B*pYmz0AB_Ln;>wt)?Ny_|`L8xo41lCMX^uq>gV@p5vvV#~ctw|og93k*&#Z>K zQo&o9sOIQ(8a`XOE$3+Avs@UjELn$>0LxrXMfELd3saVW2DFv)k5;>x z4q-du*CEoB&2Kz^lW;D?*I1g$AXx_JBL>%{K(0=Jhii( zF+;*1un74<0Fy}UJf0IiI|(lCGwRPWHvC^kNutjOO|jwMPEq6mymi=`$>WFzQq+=ia&&gi}CtVk=QP-aZ)@oIZ^jWjYL@IrSIm zydknVy-oB}p;e{!Q*iuN=Se*+GA+0nRFsr3C$~^E^*Z~Eh2of~Ej2H))dH6PWH_35 zK+$DvMoiLwRxiOB&?*M=ny&b&dwlmEm{9g{xTqN2PIF0$rNZ*X)$G$Rw#`>Mpa^PQ zbp~klmT*0ex6qHosreSbr;lTLQF*R3YZx@mFrQyeaSb2)@KI{@pJ9q-XA@sTp80R_$qT!Ov`-Sp6j?h_v7|yXSH1% zw~yj++fK*r)6Tv2b!t}&mi&VIZFN{MJqK|BEslAQc31hlOq=HCKLuACWz|0e4Hs>> zZ_7gPLR4KBRX=$TVUDjiN1Yj}88A|z_0IygU&W$~o=a+x@aD?1J8^^~ZmLBdw<~qpKG3 zuK)hKsCR1DDX!u5^(Vg*4Wxy1Ud)@-dwU{(Aq*MSyUM<$F8|+s&n%-Vnr=FdA37yY zmiyf~6HSJh0l5l92Cm52*@>W>PT#;kE3UDIUg$Q#X--i>%dz6@9zOU$KYuse;mi>- zy9nsEf}1P36KHVkoxNX!Jqp?mm^r^(vjfghOU0z_@-aqKiXnQAz?~kwe!FJpxDLBUQnwscjMLEhB8Y48pE>QCAgfaeOp#$fQ-;h0{(GcQ= zrV6zrlQ}VYdO}MyCh`=bRw8ClT*5Ayu`%vsjv-YW)?F#D}FWNiH;J3)%hI*bPe2;m7odB@3Er;8YVF*4Y~RC zO8D9Hwa_-Ms}>EdkyCrEop=uc4+8;gfNY`!B@EXQVY@?rd_%DxK6(L>>?&M;?et{r zncZvOoUPgA=Pj?^+iHDv_Li$n7+GDSev8Pzx}ZT?yEs2udjt2KdvAzY1vx6mES1O_ zxHV%Fv9uFO_H)HQfA@@5DdTJQ5Oc7G-k92SY&*wid`&#RM1l~uhqWSQ@_k^a?z{81 zCu=9jO0ouJOdYS8e*bN<_f(+q)IsA#XSG*=#-Ac+>?P26(Ye?A zl0!8+mXdok7tX zsWoj1lcQ+0iu>YkqrkwLE~zGY+7-0N6p8zWkT&h`O;UZwp zcN63h)Fjn4kwSK-vDa)(COb+n_Wh{Q+}uPbRIgf8WD2Q-`oR~VGD-5?_m80bqK{+bWvS7yRp~p>^BA!(nKkp`DOeX8_k_=k3k*ux-A})b)MFC8`c5! z3@7}ISRp%2#s|$>bYuw(>6nIT%)oS8qsC~mK57lShE+9OYtoiZOTJPH^ ztn);lwZU9cSR*QbdpE`hyNtJzcIYr0GER8A(QKhsK5Fbp0lv+`9kHTE3|X^3k`Azk znm#CleS|g|;{i*GA2h9PFq;!T9d>{6R`^;$GriS8R-;282CCcZvdmdU zK^}*BHQ5@C0jp5!p*!Ng1Vb7>umM;rylD0s>=vmvv+*dP*VR5pvWMB~Y1iq`zOf(F zm$gka#;7iTH)s-4)Kr2s0{yZqFj_EbFq)fz`)cH2;knE5eYzvc``pi!e41-`B!+uQtJMDTl zT-b|bVapJ=EjnU@doirkX4^oZcdFTD9m{$KEn{(w1h={X1^sHh(jcut7M`y~jEw*a zG%(G7-hT6d85O)`zJb&~H~D1Lkj68*fG@@P)?1go1L|@xWyj8l|r@JhT z>1ey_r-#Z>{=lDM2iuC0A&wkdKhUBc_O$wQSa#-?SX{u6fEwz5s1kM- zkvqrYbQJk26)0^4Gb4sCG`sY5lhc85#P~rAQxaX22=|; zfT!u0YK&;8j=}W_C(;0Lf{72q{z%<#`pMyEwXm5!4L`cSwBDu30s-THHVFGh3HwDU zV;vL+;lNN-!h{{BMNfVnF)D0->AaCGq|EkgA(6??P>aaGWqSaw)Uo~1bwmwxmAdUg zGZ+LNyF%tdyZ-9uFyO2q`-t|l&S}e1Vu@^Oe6ZjGm=@||&wqmW_B#ihyF0QdqIu9C z2P*qp(ATk8khgRYXENqin=uQsi&|eL~st(n42g z{FA*P#B}OJilOjg#9=fv1ZOuOfUous)z7kHw3sTb`3OnxcJh} z-?AuA$nCL;hMP8NgbD72AQkyd+P?BB8tk)@KreJ4arc|DRt&q?jK+R^A_Y>BHs=I4 zd?6rP){Nrn;BhT~P=;BnCAE{`)FFfwDsAD^g@7HV?-CS8o_-8&9h#DpIp(ZImBgZ@ zOW0yrO06Wo8ER+1XkxcC?j_neVDOG22e6IdDlVKYhS~-J+&k(4*a55~sym*dM=+QI zqdCgkhA5awzM+{@Ln)%#feJ{968So9xPuWED7BjEv;Yu)DJS-5{M^*jG+g%WdYW_$ zrW+i$x*PTfmRC=;$$^*ba9!OU1_hc@K>Dom0~vbrL9y8kD1RQ|GO;~CT|!?Ox?aB7 zV8YZUDroh(w)G5m#|jnV*qZb%6feEaw+c;_-PviMCtpr%$tfwvUZ1`K9ezI9>*iQ)2LectOtO%J08Sa%&d zi5kYT?ScOlBWBAl*JB41;}a+;Q}&byH4!7R;#l;5x*iP21N3R^;|n7$#SD3n z{aO=$)9d3`e=#6&E_WiKfshEhZnH3Sq-g_QSzw+Is1AVe)Yz2cs&r6;3Aj6p43OqT zu)O@kk)&l|7d2TWq$!JY#B5?!k2!v&95}9LNeJ~Baw_8SXTRR)#%9L zUfRD?I|g^Upt>R}7bk{xjp)?-K%7eQqG64HxOT{-jZM{#D8{LqhFhc-x(%Cla7Q=e z@>J<{`kSn})S_!o9PN33?|Yu`P6#smonbukT7gT^up=^5kr!}yX?Fk>X7_^y@KdL_ zrb6`bzG%3`yLGA>9@O8iH>n)bKigkh*Ea%96XXV%+3}NS#)iB<1<~gibNi{O{3{cG z4ZE02bLK;tW;nHxqL@H>Jc-+x+m?v=Dk$Pf8PrBPSdkPd3`J6)wohdzGp9Peu}CmV zZxIi)9N=wEOW?&W2#yIXJn{TZI6j0llyvNM!mX`J{-#-@JO~F4q!qw%s3fadvYMxf zpya48l|xa78^b+MHd5^XGj^AOy!o1cY9G{!yXqrhNDKRN)d%X$RJ7!|&IhCwAnDsC zV^cfbN1FdCI&o#qbi|M*N35%FIIIQTDiabe8UjvER`f}$A#_5eGs$^s2W^RMWO0n*1IzUYVNs^Vb)dh1wl zS$#pf1wh#KvA}9s{~ww=*ECW7eUcZz;COk;7ltd&tgyxe_ezXg$IWnKL8{$8ner>Y zitNutjY{tpuhDR=_o+x96?e;j%B>+XT&wu~wO~3CxT`mvG#U9$nQkI*q1z^n&Q;cK zHV~m%2#@^yobo?_I&m_~s)}49=tEWJ_F36>pzVE4MQhN32JIy8d`LTMDaSL;W%Tx9 z*otE%rP*-lhie;0`M_z_x}$}6>29A;2r(=ZGLY{6ncsX>&diYBA5u?$02PKYWr{fK z&DcDm@w>`<;9%y2ggWOW=ThW&Mx=6D;6=A5PJy=esNf>OiD)??v&vIasyrt}&Ts*h z^2@-o&I#Vs9CuQ8j)!J8cOV~629r^2W==>=$Vs`sIn4`BTgE9kiT_!DVWZ@X#2UO? z@FtGSqIU^wFL*aUQj2nbg^j%6jU#vqUWBDoywQD_gHQ;P^Xn?dVX@1SrFd~}wrReY z%Z_jFbapVC5Bq+AQS-imia?ft(^g6n)DiGtW_}(okG)or4nrQ5#XCncCB!QX+*I#h zxOp>-hGLC4CIa3TGVoIOA>akj!m$9bd%ND)5-~Xz2kX%yMH0n-Fqp``Cp%+ggmeI{ zOp#0IK`h(pXbW5a0(PyTq?vLw!Y3Oa%IE5zmI#;|<`jc4Mubt2h{ClZ?P~E}ihZVN zq}kheiK^)+f^OHB)`{9*B1>v$FgXm2pn$@nX)4tD@vZSS)u3Wibc$6#y z6UWiIi)az)$q;;h$QMwrWSQS@mF2sVy1FRcq{J$3?ASNJxiGcF)2cagL!E%){71so z@|}ECNea8jrBxQZm}`BwNru~@kZxm`hJ-~~!+oxN6E59`lLXr=_CDjgPx^0yL z#ux<>EJJQ;Z8eB584I(7h)q;-1xj`$EfYPRDH_n#IRA5hudSxqt4uB}D4)B%-A$o* zzUGXnS)fXR5*!+mhQovjoGY2omdH^GCHWO$FdR+{o3sfn;!Btd$EAfxfXI?HntPjK zTk7^>PYMvL(&Gw(TY7-Du-bnt+5=k^ROxV@nq}$+*NF0j1vmLW~ zMC1v50e9WxRu~Esl0sx*2+_$Q2^_l^Ow>xzkD?KOA=vARSg5(q$+a#ygbo5G`Z0D0 z{q5KRxF@kl5pD!oMfzrP5OPE5)(D)m7UDBUl=+K-zM zl5QFSS0OJ9Xaqk5A)VL{K?socBCmb@)wMfjsezOhgAg?*qk86b)XKV{g7 zQ6WKpml$L`L<@~cE+i(YLk`jk`HP;2JSg%Pf|g8)1n#=s#=51nwzL#QGYgL?d(LGn zEk)0%iN(bTvVSnlwYp8{L|d{uhK$H$Zb&4^TL_z}(X$$M+JAG2M2FADo^uvU5?XO# zVS6opmq(%NOOP%nXx0T}0(+Lp1xyGtFC!*@n`2SICW%RgD5OwE7x?5X>w0Pw4Kh+{ z{?w%>jJDVqs!#Y~p-=vq#MQLL8S^mQz%IA}8eIZg!iNGe56q;TE#x`GjPoZl5?WK1 zU{56o#)^y2)0n(G!zNQ>6N^{EF~}B!Hl(!3z4zu>$k%drWC&%a@dLt1T-+&`yGe|H zz;NMwjj<$FvD4hPt3$^_G2JCANHD&03Z({AQ(T}ym{fr^mf4Lgv_X3+_u5Jp2^etB z11dZyNZ}!;B+E|~K)?=F_O)LiwzwiPbATzyUvoZ;OuD6Sr!V4mE|v|rBT?XBf|Qwd zybG@gE=&~)LMlnFBua|7j7W2RorMB_SrOT4V{&Xs5>7uH)d*Vi!?eRp_c%`zSJYI; zcg9+lfQwTZg9Nc9Ksu*)QF=xE(0^#5_@Sn?5M)DaEhR|;-L!;V3S9QJNliZ7vKuno z*xdr_MNBg#?042(V9yKnMEeDP*aF@6!4yv{WFvQU^9wiUcS>2ja&1?4Nao)QuQfuqb*BvoIRFTDP6 z8U*aJo-{SNK7W~l7IIOP{3gd)FF;UGQCmVGM?EQ`tB}rs_$30HQiKA3!sIj*-z2v@ z+oIHZq9oZD=8i8yPs7fNEm)9PODlVQ)f>ApB2^l|PL61PD_yC^b2K-9F3GNTy8-+3 zJPT6N_d)X}jD=YsH4!Wwt2({(!~vT<`AU!003>uIPBtYX$q6beZ+#|dE!7Oa$$-QO zyR?YFl!suv?tqV4xCjD&VNtv&*H(xa4(Z{9G*+Xr2vNFnjYDpv@W^7sF{QMh0?z4i zM>h*Ojd&qS(0alRQB0MQ*Z~KQ*oqwCn5uF3R02T=!60%fY_3A zxy29`XSN8sR*lC+>negK&hOEptaMm}xQRK7cM+*4rhKvfLnRKGs+M9>r%{Kaj7+;5 zLHd>O%#pN z5etA(z&LsXyEqv>-&D+0CI*N)*uzLDDInoZh$vt{+X@BcJwn`4JY;GMYz9MvBHP4O zwwC^%$feelzR}J_2^6ADMb+C=%~4$AxHw1D(PX3}V^e`fbyeI#=K%yg*u1U)b)^7XuS zQdwTzq-HvX>RF7}NtUpT>*Ekq2xo(#x*gzuJ(JcwQ=uFTobeB4^3RJ!eTeLnxjL6k ze}`@c{T+QM0$M$rNDMQ(ja$*CA7`E!qu6#Tt!)5FK(@cn#Aa2X-d2<00i>(<5GZSJgO)BY8JK?kZRA)nfY$zAdj?pV zTL&oG@LJdUPP_IlZhYR04pr~7OB&6DdO*;({s6?`RnGbYePUr74oBP7+quaQyJ;3= zFqL-nAV7<=b)up7&gleoAW|n(OT1`c{>gAslAw z3l_rZiucBjn0f=_a9NI(2SP*UR%?JO^hGUSkR|jof2sjwUjN+K`3&0BGQ0`#{n(lZ6qp&wP`p0cav|ED8sy10#*bvJ-oNY>#Z{W*q$s$1o{} z^3l5HW!d#pbR5rQkf8p7tsc>kct{>{ZYP;AyO&nqrV<}f6|RCK&@tChu9sZBW)k*q zQ8ybte>HG!CDV0-7Ftab^s?O>7FexV*B2Co_02-a_p4JUM&-OyxoN$RW>NKyoeu|u z<(SpT3EHtT<20HZB3lAket8!41!g9KLplH?o>~fv;5M^yx1zEw>#&5`vNNY%&4L~- zjpz8TE<9I>^cRKotB{_Z!)hv2m(0^#e6t+1e}QL7ZE_Z{zuDt8S!}quQaaP8LD5iv z=^C5EXI)2US%+SO8CX=B8gaN;x>3I4rjV7gT ze|xC_zD5TK!)~U2Se%^H{*iFMx;gVt=7?ZPWYvk(LAkL(`@tL}meNf1On% z_GaQx#~jWhMxZ5qGD>0FKMQ6s)VSo1IhN|RW*Z}At;QFRIqJ1Sk51uY&6!Q^rJFCz z=K!k=+j|vv0la$`{1Mc@@pK(S;2QE*u%I7$7dmltEBJC>wp3W5L(&F=3XZG&Tv&o-Vt}O|_e-k)Rz-@RH;yu3wV0K0dFw*p{m%}HR0Hn01Wm%<7 zJ?^(J?Do3EZPp$iF|H^NK$k~~%6-bKcXCYkD?Wl zu>ABxwEVP@EI*xf?rmIW`3Wng&p*f~8z@4s`!7sjMbR5i0LM@7XAgnVy3^r@f1Iox zemFTP9k}I08PAh3(bBcxf8hf+{2y%D<;*uRI_d9jE-+lMEad?U6f(Lh(>BY)y$sPbW+}T(c!h5CaWcY)%$%oust8D4+^499X z%Kh&@9o#y`F#4^jCGTj4?{7W+_Q`Cv_4p2hr7z?O?wb5x-M26P{O5yP*cQj?uB9#u zcAqeISHiyB->e`IyUo2gX$AQijUxpsFL zLMG`Mf>qCS5~t!NuP53v*r{-4@vzq3r(cCmfcTOqf zp2rFwvTh+ehhhdZ0%G7jpgy$|Lqo>2@ zP3#CSW|khje_a;tBW1waeXM6cl;+Yhc{~eFEcGylmu3Urd|V#qkBPYFOb^Inyhr>K zj_T;Tl5ld&8N6iTqbGRBB%j=~$q0OWnxDq#u+8hp703pu91WT!$n1X8D$R!93(tV& z_fQcTHutbk-X+JLyBf~k*iNyMX>VoZ(Fa4mfaC*Ie*YRC+}(s zD3-lfmd-1a@5;h)CqcuCqC3$DBC_Yt=*?0-pv*gH@D%JVmH!d^(Uo55;$UOcoL@6* z&L;ZECNdx6)`=$e&EFh%gME7?oWFRdp=-&Gr{%Lmuq_VC)1#ci%B_4x+}+VBW*)5M zyEbHBe}8%$J=@B=ekb~=@>e@%cDw$f#YD@Id#)rp=6B<{LuBDr-*CN`* z{4XZ#pI4ID6sN~=9?B|Wt|B)+(qCM@EHm|Fe*(75fic*lGK0AcXM+@Z`e(!E?{SP! zB;f#daI!9wtQY0SmOKQ<$AfVtwbDyDqnG{GGLIwcMJBVv9S47|$l-ImiC@6%s;{*4 zVt#!TudY}qDaWE^kzQW?*>!1)-r;}!`G-X>#^=wgh1K%OnZfJIfQ+6$|4nPU$TfQV zf2u85{jrCundiqnhft(yEwZ!(5JN0&O^XA#Y*;+y(n8+(keHl&O;N->t z>7M+%RbSzG?HG%@hQw7MRrBZw6TAj(f8=waxDNK4_M#+ZpfASW{ zvEKs^?mvDKc-M`sTO79?cG>c;hCIK;M)LBnE33cWx;*Qh;h(<+&au35|Ni}7AH=u3 znsB6qS1Wgm^x_lU9S(k9S)Q(Be)Y%SSI75h$d+;25AJ_|kccX`ad~%qldBL^m6g>G z_dgXFadb7$DO@RlM=m$&4J>FG<(eQv@JzOsU8!fpCBNNu>2Z?5`U z_{*iywPI&g)NT7VJIyaYO8(M|k8pkTKWGZWQ4WFJ@n74tqL!t*cOj2mR$a?gbyP}Q z*wyPARdk)%+D(@!`KOL#fMN#A_ATADB~xwi-Meb*@2h+FOLr=XLYs*HCAGR)5T15% zfYG~(zVu@C+3E+H`R{7sahi2at}Nk`H(Ixs)AbKWeb>?A-r!!9r*@n3pB^kYP5I?1t?-#PnBR@8gmRSL z-QP2|Ev%J`$1QfCt-&1rMHrv&ZuXelrLAXKl~1PKpWxnk z!jZ`xd3$kxK>V2bQHg~;?j7M%A#u`v4je*x?J(|Z@JZ8XoHZfnTCP~v2Z(ka;HIXO zr%e2g_4f-rSJ9{;8-CEXH%e#>k7Itz#T!CQf0Gp~ zy5b-?d2HUh_cdN!aC$U3aLX^cTgq!(I3{k+Q>^e;8!eUlW(P*0U`zHRMZ3n6b3Qo3 ze|*^e3|(}O-EmMjou6ccmDO~9Lc+T3&E30mkQk}uW9~Pv^oVBCaR zna`MhhjY#0*am%CnT)|3@``ihrWUaNe~vPDaBF5h<1b6rWK+ z1a+7Rs3w2BbC?O~(vP?2`OlX!q$*3_V)27t7 z9^6emcvM^1{ag=rDTfsVXDquTuQ ztU%pZpy#PTquRpr8=Oa#K0VDF9S%L^-UY{v!F@XpW!-0I^wMc7T?4<3=9SZ9a;8Wl z;%rCXh0{~|>nt5~woh?Y$A|IDf9XCrjS-70&O>>XktF&skL6AS=Uo@|a zQ{EMg1*yduPgBF5d2cr-O#)H(t|ncjvkV7sp~m>1bh%ZPa3j)96H1|~f4r{hJbLoY zS(4(`V}VuCGiCqeCjB5#U+xWY#%HQxj;epeNpwIX$Vd?qPq{pg9uwIf8B~pJ(L-f^ zy)VG6UKd`%OmBljc^brRU+*SIZF7&F0WOJRqU7M*1h$zZO8&}SCgj4OXTdEu&dYf) z2!N6obAM!p_xfAA^erjQe@GL2FxTbkLt|4d|ufm`mui`?qc`<(8x){H}4ea>ee;o0~>-Yv6zhuIW zH(HltIpXGGUcGRn-s_LIIF60CTgN>v^4!WzOYHb-c5V>n4sE!<*}Ikyo5v$7}G=jP=$U8?$@-vNbqu z(ExfGRy6fBSE{O+JgJWBaNx#uyoyoc;AVBa+ea4M8YBN0s6||2Fq4HbcpN=uFo zRrvY{=g-s>&S3b|F0Ng}S6)M8$ryKURI({%<#>y6#@G7IwlW#^I+T7#Il*W=vLbiY zffQ4I&J^6{V9y1Q;c5ou^;*tu$4l0G&v9x-leu_`$E+H=U2{06_6k4jG9np#Vh4`v z>V=(FYy4Vtf8LycJyK^qVk7uSuI#w7vT#Mp^ym=cKYpacYdX0SjTDGr>pd4bkPGkN zuw9onrQoIn7r8w;>MDirX0H+pPZEmHl|KgtA|X@M89!21tt%Gp@uL&|u|AC-DQ9Ke zE?;cxIaXg?^ot(D`Jgg_TgfG4#oXghsg+_W7M?DPe+5rB6sE05hSoqhWwdgMQ!{>~ zZ2UcC65iA2?b%8e@*B+?DWftUHMSvnbPGA+Ygre53HeGs|1)WAc%f zo==c#IT9@)e5~BT1%D92#$5rs6JP0l4-hsf?z~)E6Lt#yLcojYRosr0wtw+`k_k55 zk9D~Ve~RwF+Gh<}ItwfQ^e53iZWg952F7s`7|I?Z(Y2hZ>ZPn`FPQ{L|I&b1<5!dHVtni?S^GC)7S9X=>_(}hOdrdqlQvPnc=<>;Ke~2G? zHC6XR(W68?Jec&i5JS&gnd;@kxF=!V9CF61ow_Fw#>W_(x|ARQ6$$f0QA`88*pm*rb+2a-ldw+BFILb35V}HSvh`=iND|ZS&W); zCyS%$&-pPHVRI%i+>_reqFNl^vOM?0tM~Kr#Khn4t2}=R6PJA~a!qG+!s9s{o%Z@T zNgd<4^k~pFIp&zYf7a^s8K4Y5+W}^&a&LbM2^h<}|3ynl1HdKXLs2Fz4b6@cg<#*W z15>1~!pN13gvd%Z#(*wxg{SL%H?-Hi96lKn?+PoK_34>d%jcCAjr4pLe=ctBP81#t z=I=asXfsGIv6(~QvBhYrd@8UNXEF($qv*V!;WvBJT-fWpg;y9`fcdigO5Sd$car1` zL9WKUP{kGMb0RY>wTaC-JMY*EvsukECi@M}#5oq`v?UFxT;4Uq&He0x;Q*etXe6-c zNM|K6)5AcRtX}!%X#V&{e=;>^pBe|J#ve5`Sb>hm=5e?+PMp-Ss4jDZV$>^A+U(nK zD}%g$YBV9~HK0Cnz?$haw%OKB=p_^f?$F}DLf zjr<&-6m_UEV=uEOe{g9!6MaL648Mb`aHHXXc3JJkSZfJm8}s$~9T3ooSpsY2*jX!Q zwfXlMYo!@kEAJC)<*c^w{x&)Wdmw2!i!?vJXthtz40`JE*YbicbY%}_;%_nVCI+^| zNN^Bk`oTkbmb&?M878oP0qN8+Txsu!NAwzQ;LlqI5R8#+f5-Ej#e$e0c4O##GUP00 zl#3RpoT6uUKT_jUCm! z>kz47D7f8Ue|ke&onb9p;DtR#V+FkkuVA0FuHyGnjLBHOCgFT|N!5nhwvW=2;sW_A z-c%vyZm)jc>sg1WjY2A%B2Qzp2ESt2U{f9zM=V8N$4<2&vJC1L^jD11ho`4yR1CBf zDaV;bx0$2Nr4)zp(Ne=Q)XFEz2%+o^VuH2Vpbdy{f4g_AobaZ?ZB?UDGr^gJ-e%{V zt=j4qoY8}_v;uU!>hS0dEdG&`tEo&Kz0*<8((E{Ec<)Yc5E_lMv&!7&w|M`-IDI5yPF#w2jrI8K29jsT(S*<-7-O~$ozM=1J` zr9}s-&ru9$K*sRNU^KiiEFMQWL-fn=iqM6goApw9+G6m@BrWl}3CroQ^o)*ld&@C7 z=m&tV(eUhofU^Ln+xo>vo8&s+#xRZNM5TiJe-D6v=RgO3bi~A;*?jR4MGqPpJiR<( zfz{7ivLbFh-WR?91rqF@h&**qtb`}tuIy{#eTQMuRjQ2QsHF`r9(mbfQM*zBi-%QM zOk1mqFpu72w5<¬MLB4euy5D1)ve0kU*wCWb&syS!I*8cH#7G>tZj;x5rPDxt!% ze`*nttudakrAD4@-x43+iP(O^C?#tkP(24%vbI=?W@dcOcWkS@j_2;tSTq}O+unl~ zWPWNN70L`_Ih7JovU%LOyG(#8)B`@Ix~i))m^ z?tw;XBt#0*?d_EMJ8;-zIt)r%t2q@rdN_o_CqnEsI|d`9K3~K)bQlh0_uZL8w^6$Eh&*T+XFtxR#_^-dm$KQ=G?NBMcUCca|y3Aw_N(A zSXQUH?}rqOn>2fOc;sYSkrfyj9z&%`#c25)*8UHHvGQP_7f6LuGNY7QM6967mu9xB zQqG$iZLEEvN3B0KTjD}Dd~X*ce=W_Uo-%E6Ce#fOR=9m{WzcWOEv;S(4X7qV&?R>& zzCGRT!P$)WM1w2_0N+R(6wXwSJn+0ZVsWx}J;5G3KqgX3XT@KiLir_}W5PCq4Mcmj zg2r_F5+ELD9W^*!Oru6i_@qITVepLGCu3vKON00GpRa;FO*0u$bq2FGe`WA+{qorP34q{WUCukl~5kGc<1Z&02qZP(3GT2K|S^blU_#wQ4cw0y0p ztTUxLiDeaD^hkI&u9W!|BF+=sx+B|9$`tGHoO&B__%U;*^i;e+?-}KIVe<#=eo2dslOD8Z> z4os?mNsnVdL)%s@X$8VVK0f9%GxXloz8H4(YugV+4yL5uDkHNZhj)eXZxc?e|!{Mt>I|}Rd`kCIx`ok z1?(f`=dZ2pw7HR6b=(bLtO`JxtZ&T(%i!e&{(f!#Ro4B(*!{0k_xEcHuWo<~ zMuwlT@}*UchFQkQS%niAw_pHdT7HtuVgy?olEfwcyjig-bC^`E2MsrikzaX+y~+$` z>Lgw*!Sutke_xjz=e)DcvOErEY=|-|u2? zR>p?lp{ozo+ZAb3(g>N+X{A)-CIOf}um37GF7%&mXD6_ckHeO;ty94)6!A57>9VJQ{PNQA&xjzUB{{I@I{X!L*a)2 zMr5`r)^9Vn#TUMB8l?Rj*mwb_sjF?uD*9-%>DHt%tXprjAeh%nCrhFFpw9-@aTk9s ze@w~J%k2lx1zeeQW+I9ET~o<7K+;ddjw4j1d+>1Kp2>9MI6l=lKJ{_jsLkKY#_>@c z$M@1WZqyd;-3sOpP)#HNaF?AN5*8nno1@ePyk}=yKMP)!XhEW(C0f zQ5PE#0!azg)?$YRYp%HGBMqZ*Y5Q%Re_k|40AT^r32#@h3PAFJmvvzx(?m9TfEXPL zIfBZ8;PkyqwAU$sL9ZP3C1yK_E4FWJ&p^l@c@-kg;G^)+5CLsS9AJ-eto;ZW?tBEVLcHBhyAuga9L!f--8N%!Qtle_Wo& zKD0TkXzNf&z(M&W)zFP>?TYjRAQiA`(-9C-rMSfOfs&o6MFjwa^-dibBi#Y=5*pF& zDmqOLH5W**;c%_dd2{%#kbs0Hu>u3e^>&~j^gcxltzlN63gK+%C;Op4q7c%EfUTeI z9RZJ}9wFhkpkkaZuNwY#BMcM(e_^c-$1mPi0RDjPhX3L&m3=T|Bjw7i&Aq`oWU>y% zVE8G3(99$Vb#EL2u1k@Sy|t!zqnF2=uL{xn_93m>IG3i#0GUajv2<~k$E~(Nd<8LV z9~bRr!+PIw6TtWE!NTpC&{M;UMj%9Vujkb|ZZNXD?;0P_q#QCi5`>Acf9PRD$Vf`m z0ZxdC10Z%VX@JPQuEw*Sp6x5@cQjkXggz4TkSU;?8aC{#29C|KptYky)V?k7 zk{LlL-ZgqB4VE-8m(4DSat5JlM9I~x4WA;gNm+RcUyW3DmA5z<+BZ4ju-p`Y^chbE z=5vO$;E}?yTWce_kWLN5e}wjC#bBNaFde=WZzB+oeU(_4Dn!m88hdOU1`W+tDa(X) z#FS)g<~5Jub?TTEs?Kz|7|}@q6J+P==7m69G*2SPtEiEdBp`T zW#K^h0k_0jim7D4e_>{pPn|IAL?U$$l?=-y>rA^Ng)FdqSV{ubd+KDD0GSqN7Z?4; zk=w&Dg06SMz5k9*cn1|^0te-6cE*KMJW_*2!GYDI)9 zw@*GghFJT<49pDyq4$p@YGI6=B5aq)QRF3?iD={Xz&A1uMkvGS*@34}_+xb0tmKwJ zHCS<6?}^=l@;^R1>N8TRHQeb=8+-ZnIBcCeoEPI2=7n2iZt z4#_zNYuVz2f04o_3ODj<1!*6%N+-=dk=k-i4WULE{2>b}**@dtZx0jUct`h;hu_Yd zf5d`%g3eLe+IZ|XzjcO(lHeRsaw~I)=j1;mQRfhfUm{8gCR5On7)+$a;Cb^Xwm=zd zDBK%fH8dEGW4S_F-mlf9*$*m}Wr1Qr-DbWZT429re?y4r4FP7qVRVI{utF$QqJzOc zgDItZLkY|j0uC({-Sq`^B2MnH#uLA!OY8w$RBX%UcIpTI}u<2wm^su(8DdN~0q9W#Ts`*CfN-L#k#jyBv!aNKW zP+r|;%kKQr=a3nHGX>X-b8t6s3{b0@3;evsf58|-G_bTTb%z(zt{|_cO*%BeO;UaQlKRrhH*2Nh@_0Iy-TA{~YHA z5uWC(7>p**Fl@lq-0*kFro(I=3;mmeY%@{rq-~K{)m#@>mcuEVxa1Xg;50*AGQUv6LsT(3tyfA@bdV_WKyC;KeMaJ+`G9~$Lu>I&vIwvO&$ z4|j5&3|hF^TU)M76&is{J7)*oF%(C!$T8bww#DMGSTY4WnL{)sQdGu>u$}~inP!eH zMOFfTBgSjuZRC-)lQN32$V$xhhRYPQOb}z)qZ7})ZlbEird1$O)B8hdx@niXe^0@} z3hvi+V}Pu<>DhQ+PJtDiGlp;$1i_*MV5}T>2tcvYKIhMwz4ezdm>Ma>(LQDo;-GI$ z5t_gifAyA!(n}sK-=QP;%j=?OrBo!y8ellYC~6r1K{8&FLdlQ=k(bS*LC*r|brYZ; zYZF{{fw%htmkvje{)XZB|pX0f)SflmeXyYAn5<bl@9ki^=;fN>~7{ZV(f zXSpkNLtL#5&f=ScqHLEGTF!zRASqUfgt`WWX!Z`qleJw!3gM_93!>*-f1Af#%tl5~ zHs@~d2MeA>=n@cG;y9rGE%j7s(sPMjG|@kG_9z7=B!&MtE_Ql_3}I^2dXwy$nyp{C z8FJZL0~PHMdM)MJ*QS(fJ^dzc^EaE5^5?kmU@eujHb?8oveymTCuRUKH65DjHn<YsqGBe^P9^rAo?Ya-0@~UvFsxs}z^t+-RJL1+`pJ4z;2j`ikpPtFnBzY$iHN!ZDjjH zurQ^$@PvhF3KOFHr5lQ##KuI^;1x`aUCkJG#|?J}aE#ekodJuPf3&|n36n7++QP_~ z*_jN0+=W9cz9V=7i7)4HBG?Ptw*IpH&$%G zFj;#EV%55^f6Crf*laRbEip)-k!aKnjF+&1^qPd^1Gun&r9g>Cm=a^oqa zQ=ZE18oDC$X~GMY4SZE&`Zfp9S;x=0z0vN$Shk49dxLEcd4P)|51!q>pU$WX-FU=3 znuI2OK|a`_isxR1{@Z*`RSDmfe`! zIk_gEe=eT9_s72pK6`ra&(psiyiKk3)}OXtvs8V}PW@%A#@}K??Af=tkJ;<2U-PkO zdd%MX?%=^g9=-lS{NVWK|MzoGV&W_mBsjmh@%ggCQg2BIQ9LOJ^n7*`u zn=&FgZJIJZUJk)%I|0*csE*I_jV7J<8Or*zf7Rei!Y;3jf(K3-sjPwrZ)pNHuS?La zK0?{}Y?i6w%;<43DnW63XS@KttYB&@ToEmzrysTLXa{d|Kv3lP#WsQG>-){xAqjfjCAMQU?Q|g&??3(;#0*BE)G3 ztOj&Ppp(u8ATQ&&0crVwlwP1Je=7oC)bU84ct@@5bOS~Q!&JbrxGH3UbK#iIy+r4H zgTnIemA!XPj$E2o#g%>0wKB;B(JUPt0Ag;0>V$KPOTr{O6K6@dD-N7+WOaf<3BWC3 z0ZNdZe$YgO24$5(gxGchD!?ZIq18iHi_NPKT+Py=0C9E`JL_A!euu=He`8*8hI2CN zb!IYf_~InEjMBTrMWr1n9v1_<+C|VKP$zOSg18SZ42Md9VvuG~Dujh^qj|6FYKV+0 z)k*QPL1&=Fae=yB-hzp(C)%WUp^>T4(7xf#*Y5_nfJn~JQJl!GgTRYJg zZyolk_ATCO;6Xcp6L}DRC=bw`HX<#pcpFsEinlIfDBem1jbzvpq)Ef9cq^5q;;nFb z#ajp6*=LBDc>$g?$!78P6v<{~-M9`F`UPq=b&;dGlcQQ~{y!Nxf9gka^q)kIYPE&` z+=h8pA~k7Gdd`$|%<`a9m}p5*xr)(NGVHJu7ZwUsq8!#4EH|4;!BW@DjTpO~!U`1B z>>tZqaj;RC%onOFWx3hOnv5#i`yUBHv(c9D~s zl~X;#l)@r7E;gDQf3VNZl^9!~l1SR%YY(v;%QpzqdXomW4N@_y`rp3KefG`EShUWr^umr@^Qp$Kl?1QB#dZ-8KGpa?N4 zw``0$?8w=3G=a@+csnKtk<%!JgYzhfC_rk_h_j7Ws!JkNAv^$(^|$$4|!#sE;<_XYy?3-~P_^tpj+(APoA%t;91^rEt&S@f$a2+*J=pa3m*O z0GWC>2JzzI*jb0SFlhE!aLgncYakexTGOVq=9|*X+Wfz>P3d{ul>R$yN-t{*|GuRU{U7D)+LtLb9v|;LZiL8#6cn@b ze;XLJoZr9NKMo%DgEf#R?rfoCLq2pYRET}E*WU_mw2vRQaZ@w>yz!%+No{n+FI3EAc{{Tb$@!9xakH-Jv?-A0X zM+l6@KaKJ1@Xh{{XJ6gpiGMx)>F3}7e-Cy421hvNtUp$5Z|(uJ09CNRbi>UXn#ND| z_H1sj@^P7e@}Nqfw{u@^iOVo3ISQGEzO=D?Bk!kZ2WUjw<$f&4_SGA^;6FANi=FM= zTCuvgUax60ZJX+iMR{tGgXo6z--&836T>=R8TvaVxL{Y&d>g)A+Yx2bF+c{Le_YS$ zar5vngdC0AE_RAlX_gd%A=?Fgkibmfj}qb(m?Oet37YL5^S6lStzg*F5z6(gh=#f- z2nR&CVFh)VcpOhO7H202N`)Zy8@SP&x={86e8K>xhgCoF+eWSNPoQx#Ir@x6I0mW0d{` z3b$>m@q7$M34>?nXA7mls!l1>V+Rq8d}a%4pRIf7e>8%=>sF}S z^s5vIbhnS%0nzT>mjr{KA42jS5kILO)-5_FR>WPISjbNso#v;H>o7M~mQGqa=F*0E zoh~}wy!I(^)YOm0>W~f_oemnwbPv&mXs@AfBcBUzrb5sS-VD-)JK`klLmfs|d_uS^ z*W0lyk9CNo)7Jf4|?o&)x$T@y~HN zddO0vA6Rzo-Zzi0RakTBc`xQ17TKR|#V_^nr;9q%?!1?KP|82vYVp~BJl^{q85#n% zw=z{R4XwVW`l%XP{wG8zNh-6SJtZsRGo>oww+s0B9|~tTh(vjiuW2wT-#7 zcR~(~!=!H>WV<0nf003}5Vv`;L{xm?i>1MiTfcaJMo|&1-}c37QNQ5DYEkXQ=pZkH zQqSD+Xa2S(>}yx-jAi4mlu4CFzR|=Fr^(AvCN zP6aR*wXW)!9#f68B~>C6z$`Dn`HIbP>Cv|Wtu!mM$=H~xQAJX^c|$|+$&T!?qrTwW zVf#2YHD;i`e<3AL*h)8y5j`xF_)2@EJkohEvq)wLONaGZ$c}Rsir%pdn&-990&YM( zN9frvLuJ;nnsv+zkSz216$YdNqv)i}4V!`7WSdaI?5QLPvgcSmH(}=Hn#}-**|#%< zb8fdxdfU3GbsXWDV0J23(5W)ur#)D~e;(vm&IH2@e=yC6#&r98t*h?%A5&)cCM}3W z>>|z7xUlD4EnRNR6f*~frAZJZUt$nlZ*HSR7X0{V{3EBPd#EbyKYS{$2~$gEaw8Cz zuDv;(vVih%cEW%11YGXg19RL+>_5?Yi_88Kb`z;6zt7#B=cgygh@rJ{%;fBWWv=DwSlioRp5o8meiycFK}5IQ~iQ?n5fX%bR|*$+-pviSMoLu)VEcW<9V z@&V^roFPzq56jlR?j|U=Ln_DDr%#_gbAv6{`X!k5v^ud{sKVsGz@=)|{xcY6snsUD zEh0kSTkmu^k>@y)#5ud}XJ@(1{?*V{QP;|Te@6u?Xk5V;D19}SN?4ON#Y!T+BO<=z zM0~k6e~}UKMkL}FiHI-P7A`(Z#1U`}Ub64rUR%mpc8k*e{s5#$){;3Cx0+_sx9-L? z7B9{@SejUSF`iG$kny9+sFZY;INYKtWk28(?+{_{k{v0q7vJxjc2Wr7hZfx-vv%&+ zf4c9(b+CnBjR(H&(2Ob&*K<+QQg>OlB@oV@LniUsB|KOS|DZ2@L#9l!B(Xm36hZC0R0%?_zJjmTh7G`mN(JY>0 zy}aG?1aAoo>Qi5MoZO6p_=OoJFu1q((}oJ} zxcOyC0m5Q5Ny zFUlE{LjL6x)z?!bw4}vlW1LX?+$LD@8XFg(R2JmDQiJ%;zi`-{9|EV3jFaX%ZwuXx zRB~BVa@ncmVr{;gQOUzdCA*1AF4h*h(^Rsw&gaL3NAT$}H`o1B`n*y*f4*5rXlt#% zmbsn!aZ*}P!K$Ge_IcMq(;n9z=UIKm{4#$pX+DzYe?-0Xia#>LB=uc(*I5WyC zD{VKryh#d5(>4Qt*8sdIWXo_`n}LlTKjyCuX5&`V`NypPCF?sNL9Y35u#P3zQ!t2B z8tr*x_C-=m8Y^N|rf+7NfA3YL@_?`XY#A$M`h4AHrp9r-sByjMm3+J7dl{B!lf2VMO7yMoM;H6m3 zIKE(@!ZN+kqQC`M9hV=t3W0cmjTS7zu@K3KE`SDXnwW7YJ`n6q1rwB35`pkc{V5`b zFwGIl2eZ+UL!nS`k!dW~rWP0?M+jnA*V1>*H`Tu}_OL{GBv?<`Y1?k&}jJh1K z*hL=$GJTM7e_S4Y_!~giem7>(H#1i)g^;n>Za3I)k%X55Y2InGxB-wt8>3w$-~e}bOG>$1*|7}vuDAn?($8Ub#4 zVRIMG{X3P%ZNu~#7Feno^>HFAvrh~pnH2+sN(4^7#9eN_u0{C)GYxP%d#Rn^F=XYk zb@+(sqFHgtWHJMgYCmsLL@Thr_=7UF2LG$7x&ctP`!i(0qEXF^dKLO}vwv6fKzR4( z;H|Y{e}=Fpwr zqje#frH4)sD_ z?{m}8LztVMZew@SDDYjTt#@bd_d9?EkvoNIs*c8rzQJ-09gxE+Dwq>x-n=gJIeBV^ znFk*ajeo$~HDBpSGG>11zIJcz1J`UCJO)At2x|CXjshabon62Mv;~I*a-YF+%Ti_V zl$*ROZSt;slLy46nQihu#!X%`ZSuBj3(e~{dFIC>bJ~;Ky=m7l!;4R3>R2QVF)7{4 z`4hHEqQ9r;a|m0D(VGuVcP_0kiR^QKWs^REuz!|l)&*8zN_;Rq{F4*Nd+=HmG~ic8 zy6ER@k63y%V!;nym6MjfwyT-5qfAr3HDt%{jC|WvxH3Jm_2lHr7R<~wQuN|hxv9ak{m*r+WGslh1K;vik~zhlVGF9!3nJNEL&hV$k?FE;caNC+^G9ygi0i%-sIP;Njrd*z*i> z6T1X=P~in1KvUkjLLp5`AN{0+ruvXaVu536y{K-P+(8(bbRl~CiDn|wpmaF1SrOk$ zvW(2Zj7g1>$%`N^iiSH}IFy_0fWBwe$baGOY1ob3g{pG{aTU(+8RO*z1jyK2oDEFs ze+wh!6Z(2nNAZ#`TSvk+ZI3)NwGmB|mm-lV9?KUYEN|s=Valb-HTYav+6$U^a`iB! zy;-s=V^I70Q`8HzI3$xc8G+mufds260=a?TuZ%#}BY|uu0=ZFJXn%$WzRB=p1An;9 z$!l0doan4Jzq7QqzTViXZLe*v6c#o>Yz%I0(OHe!>S}FyXYEx$%T6ZwL;psfqE5T7 z)D+v?THf@?+Q!bx;>yb64lTX3yHgwgBPP9iS$`g4)@hqt)!4>jh%c{i*5iB2o4Xr3 zd6**Y>|%dsB|WiSTimI=T&(|6Nq<;b{B0_2b#ZxTb9*ZJ#p1@wdi8UguWH-djQ&|) ziN8(#P!?_Kr=87RZ}gD5QUmQ5vs_u*(#s(RGR^OQPvR1DzK98wu z^%}01)bS*FD|YO%2Tp&rMAMRpcJgT%3-l-LAv zv9h|hogP+vqxPnZF6U#864w^fXxy%CtuHR8*yj5B;;UFr#kOjTvEMnStS@e-F|KHQ zuU=!IRHp|?RC|lrwzj;swSSnhC*4U_8Gp67zMH*fQ6G6R@x|Jzrpfls&f3fLK)Ef2OB|aJ=jM_3(Z3zWt^R+iwC)M8g zc&sE<2WRcgWM5BwVdj{sFTV1eUcL$wzypiR%ldd3i61Xh!Z`AT>VMCbpTe{#Bh_c~ z(Z5=(Zf--z-|Q4Cn;SJW9M_?y1pugmVX3fj&0 zwhJ{^;r&x=Y+Bcm34a711+>?T+Z*;k!#kPhAV4qIHW;PF`r;C0Wm>2L+qGBZLLnBH zUyx0)y1n_b*xB4!Tvx5OpVtbb^abR$plTGRvAVWS8ThI%9*etg*4Eb+w|{GhhVt0% zn)*cZkyXZ5DW{{2(1tGWtaVjekac`9*DI7X^k50B1$` zWN6~W?d`?icDMM(5~l9Vq@#@~9>PxSSLKIH7(5MRfQ)H?J35DCPhqyX@X>DU`kxGhMEK%PzJ@NWi zR$uyBjRT>u27f8Mqx2d2V3qO6$kQ?eK~Rd*l$5lynI~+<=YP}R%G&Cx?$&TCOYs$J z_<~UY4J*9q?P`x($O~dYdv{xnYvmH?Ps5k5!qVCKO~aniwn^KEWWVcE_Me@d)WIR@WDw7wfCv^MhTf{o)%UTbr+I+p+6dSZLJmceP9xEEGN#^<)gG zan^r($-=4rRa%&PyD!5dqDcCX5f_W?EH16rL}4h>#_HO0ehVRnToJY?OaIpJ^hlVU zOsKW><$rYu0pT}WOY6V9TzTnbBbtYKy5SM83Hxr_{>3p}->NNZkh5Yjh|{lY^%tA# zw9jwF_Abq89SzlB{MsyM(0WNslc>;#YH!vcWQ#jc$N0+5CVnHSAXSAkhe2DKU}w=U z-!sO!QQg`aB!%Dkt1XKT5qQCcU!SXfD{HTG1b@(dyM_hUH(OL?sZO_T(lM)S_aRQT zt(UsK+1e=9H|fpI=cs3B5NV)jXy}g-#M7(lSRcWD{oeb@!jK#dUll{e<&PQq>o)5x zRe=yM61OS!eVAo=WCOdW8yeH=wN>Z>^LU-~mt;*&YtLUm_beV>O)u?iu4|}qH_C-p z3V#nl;%WZ6jl70WHQ!3*Y9@B3a~id|C4yEj@VMH5oazK+VR|)7YHUIP*m7+y`*;cw z4MFSJGRjLKrk>A!WZ+nPc#IK?Pf)^IviQkKON#FNwv|V{rOWv8i?#I?hFh6pyE#kF z66i*66anucHU-PmL{;n8byn}7IFnd$ToDTm6ZQfl5BDRC*#-1Lhl+{)a- z|3iPLv-zsi9L2k`XFh4jXu^JV@feqY6<*A%2O2QIXXSQ1-XG3ahm1oKys*2lHTS=h!KJ?yIJe+=;%yyNowSP^E z?kn)LV|my%hK~Gfi*YkHz6_eCPv9xcbhj-vZcO`++6Qz09Dn!2_;25jfB5_OyYK%w zmVW$$@yVQ}V9ZS(5+@uU&ob}|5Ki)BAh2RaC3~;a&X13REl~$4f6RDI!3%O?H3fIR zrCVf6tawCr#$^U8?zzEFjKJiq%6|YVHV?@_ip76K;D+!wI!4YA!}@aR_t;Pjn6b25 z?gcquiKCrPpx5r+*y>n86T6V#A-l%%9Ce4y6a7LU_)K;VZv}B|jKavKi?(Lv=DPy) zrEK2r!N}*PS{>wFaO91*raoTXu;pon$?A^&mK%M$dmpawkj#auY^&Xu)_*>$-A!jT z@ANkDSEZ+y(QGp2vqb)K{4GBqn9q>+`w-qVj>n zv#()Y>qfuBvswCzDYyX)Y8_XeW>Bg=Sz29&Rviw>$E*&?9k~POze=G->%Ag}?F(}i zWnrPW6*xLMwOg;_H+`@SHGhm-ZV$Tk)$-GMJY)c$-fqU%?sOH#fKK~J0ST7vZcOS2aK@NBL43YaJX8c+=5>M{WFpMHh_p`51?<=wMQIb9_ zZa#cAn7fP0*c=G??t^ch-P!+6%7MA5xx;5OO{B(et4kld6`)KBZ|?pWpEXzemw$f$ z*LcM3?|+SVx&8C6o8+!D%}0ETl~4n+Ke+R-SCPSf+v6AaD}OTe)0JH4tRlM&2=>Vb z5SJdyqxz(`5y!qu6~4s2>)qK_DE6M5bfa*k$x4x`^f|+f*Bd;%bN4HxvwKO-fFI#& zeAWC{kPUD9SbA3QSbSLrV3{Ut`>dNPlfr+`FdwQ?YLwm}wMzVayZhv(Z}i20itq8i`Pl;kE5 zrHR2%QML>dozyWmrq9otX7rxM7-_REHl3~PP3g`7_iEDIx-OXW}HW;rR?g?A(^4!=j^ z`0}Y}I%9_>!UwQrTii^3e;9I+f5qHDKJN1z9sr8b?AQl|dEYaz>Zjd;O7DJdJzzT* zd&QIRDSu+VNi7)m*vQ~L+u$D7x75&qiM_SI77XQM;@9`sK)$Wb;fL zb7qb|k+#XEA|OfmSRNe&q{I82hQYBZP`Vmr@K#`Ng1o|+pZiI`S)`py6c-B1L#;WBq-?I;}@b7ug)D}Q*TD0`KOXx*V>9(`agSo5|&AD)Ke zgS)42uq-~wqnabL*lNSx?HrdjespoObq0~ZNvwB?+kBdC@2FVme&_P`jm~}TL}F@} z-p-C32#^_2wz}aF)n;8l&|trzf|$7&*ddX-d9m=0IJBXlGuL4U|D-2&e)MWGi|zE7 zl7C$*R2yG)kzp(nxaP_S^O1kcEP3jVj;K|WeY-$80dsR`@5pGNBSI7uPB=kuWDi6) zPZ|w+R?j2D-~gV)$ZQOl)~bSK;G;gN5Upwkw{w5f0Pl` zFc|{zIv$3nKpgv3T^~CsB9pM0YR!KVD|6T`lnfHiy?}U^1l@rkDfqJH-jFQTm zmmN3Z7+6)ftN%{G`Nl^qWI2L|mO4X@ii$&rKp@E82HayCSkT(wBqD4GSSg(zf`6#8 zrr|EKWFhxXax!!b*67nG-Ry8A!hu^&D`xBtDw*I>gjrbCk{(hT@M<5!-kWl|8vUmL z)e?m{WMBtSSENDQ^%V%VjCnG+&=!8Gotk9Aw7TeDiSExs6-j=Dq^wAutRnm%*t}0Hhro z`NZI7iB2=SvKb!;gGYAv&c!W^QCL$lzv!zcx>^l$>{J*JUHi3k5EB?vI$no*crgL9 ztL=1C(|VEPaN&+KRKva*mrq`04n-4Vu!{vY527^}LiPdfv|I?CeKf~23V#~wNdYWU zn^!&s9Xh6<{pt(1cXjCK_jV4Bv;n-C`x+u})D*ywfKOW)zp;Fi(;JLC`;BZoK&?D* zVU$(@Q^Y603gcS=7Fb`Bq^(jq&9P9JD_F8Qvxg#ZFRrFCkFA@-?94*&6h@Czt!*S) zaICEVfG&m!08WoJJO}2v%YPjfQG@Yah#XiTbfgDV6|=>Yx#szJ?o^0fMhdW8dq5_G zJYV>3yT4p3ymx`f=+-gdcGzY3NWl<3SZiuE!z9>pnaa3JE~$| z?TdQA4vzX^dW@_^AR&G|IafY9>U2{u?jsenAufXB&7qK0pMdYMJ%6CKB@_)On6GRF z(pEKuRO}eEcRXyFgkY8|0u_T1dnTZcnojL(s>JWUPctKu zmN3cFY=^b4{@@eg{76X6Vibs=dqFF6$O%Hni#wAd4E(pM`F{~B+o&5$7tgn;kZEd_ zR!Hp3Gr^OrFVovm@nz*zc4m_!GiOp9)AOKQcNU0w!q)LDlZ9JN;!ij zaK>`x&(|95XDOaoqV@T0+4l+vCTN+Xw-#7ec01`+AbE z+c1-%6OEm-4f9NzsCHoX4KA!1)t$jJ%uSlz(gjtrdvC2zh&Mn;}U7lcK$iPwgUb<62(d{yWENhOOq({l4JuEwXWV`O;0MC6}4 z-`>0b@X>F7`~_^W?|*ng!h<3B0k(E6`N`9kcz?Oy`RHU`L*eFEoH|oxV{Hm`2E=zi zJpBU~zeM-<-@NW!IC;iT>VtWh zug6%ky*#yNBLmp|ufAEQ{y7%&8V;6D0=urT^SDJl$~KsT}w@xkgqYKT+liXf%noYUfH zH11&Wo$fq-{G-*p_FM7qJ{TXHZv~a5L>|n`by!(bCx*d%k;irU$|7&@pNF{sZ9+e!27T+uxpigRQar-wXpCsY33p0>FAF)`1_~d-v!uPA30389J^X+<6C9 zoz?f)$o=3BY$+J}i*vzE^1ft6Sbw!>*P_0Dd<+U~RS}EQ1MUP0Bs^XP(~F3?PE_%| z-nm-f9@mWNlza?ciHpf+#y+~bi3cdn$ZI)|A0;y=*D-3hh-V_^ zj2~CgTvp**h8R2GLr8~J)pAc8-w0Vc9>W5JgeVP2)2Id;7a$>vDvnA6G=CPzf@PmI zd(|6+(MZ*7O=5nFS}ngLeI_~$=SMuB=A z!31jMcr*gTwGO-*{{=BSrkATf2Jg6}!}BXR6=8kk7>_{Uc=FFrYqF#&_G3zViqxm} zxhN@Un`)6~`y|yRTJ67h+9utRMn{`}hQ1tLSmo*=8khouO^OqudMlJ4&@)h5skzzV#{%x&I()(S8YW4X=VIp{)1;B4hVp^Yc^+$28yJWCv z@5!8$IF8Pb5n9h_-G9aBjz6nEdZ;E7Y!9;uSTC@Ixa64n$wJ{74?MWmZ=mTR^?~#( z*rRPpk0ZrR+Xnazl=kb3MSiSEUO4=je-L1iwDR<)1C0?TIy9{O#1WaAOo;>8ybuAL zB9Ef-A|?uUf}`nZ^b>l{@nvpVl5?XkF$YTYpEnyIzk)TM0S&ki>VN zVTG40JoT?AbS%^sYel5U*T;sSKXzpXo3Jm=6iyw3!$|Cq5fsw7@3D@4!P4cUG^K#$ z=D*_~G@@%yjF=z|zH#5HTcv7#EyLWgsSjEfT`_0rbu3g$+t0tg&p8iC~pk^A> zGo{@7=4SrQ$sFGNzx)DY6oMov`G~fmb`HMO4exr;`G1Xp#D=y8kX{zCo-o7G5&Bfh zoLaOeWiskhllj^CRy^O5JVks(Lw=L+%}$0XuoW`8Zl;5m=VdtoZ$6is=KPyG_vx)2 zk;mFs!NhH;&n4*RAKY*nMuNoUWHyZ1K0xo2qSu2X9aFJIMnX~xg!3QRV;1QBX3(mq z)T8CfcYo1-L9JX2Y+EZ;W!N@icgp(lQ9iq$Z?&l2jJi-#({dgcHV zQZgwFTRobGK|FmH2O~j84DquRLwu%KP@H|7JUn_IJ35ZxT^o~FcBR>~cy@fj<(^@x z#qp#47n|$YoCZ@9FWg_Y%xrc!v)Q$o4W~b8W`DC5Gn?Bov)R~ua{CqPoUd)_bl6Ra?`1v6Q~sDJk-vKG}@z8nNgY*lJ^P;jZ$HnU?W z?$p(xp-W}QLzma*P{X-=4GUo8jyU(~kkR!b6bxL)#p0;&mo^ROyrhfxboXTC?$*lP zn}3zN2P=0G%;hfpcUJCVZDr*y$<)}n8!gK{OVWA`@CQ1DvE2NxiI6*}27Y5oyVIq2!Yk|he0|rcL2q#84 zNrezmdT1&EeGj7|;m8#tcmpvCP$+DNSbqoC{X)T$qJ~;PMY^hc#<3^w5B~k9Hl`2O z()0uu7PVOp9H8ICFK}TxVc z1?*TLGhFGtZfftf!QN}bdM|VoqtttSj^1ljdau3BCnNS=)?ZydJ%0M*y+5{hxkVUz zX@7_v1I?1n-wQ_pX{yxm;?msl;L_Z){rx;FEGd}dM|IiM2p9tL%IA4^Q?KV>PqrthIvVU zIpvinr}jjG$ee$bC1*>yC(?XpuD)QgtyhI$BxH0vmkY6b3Z4BU|Ipp;?0f#9%ljE4 zkDPID6&EUW_E~XszLB3AeY++gUz4B8Tpee zGE5igcXoLwFS`=qMUKx`H*w!e9mjw0ZMN5;t40*=%((X8Cg!JB-{&B+WBht^`Y`@E z^y}_N4bysZkG}B_C1)azhRzLm!{U<{hq-dd=QA9;SWfcyb$2V&g(>tDG7e&-WT6<7 z-t`9+>4iC~yY9kA_ z4Q4-#-YmP5@v9R!zp5&Z_nk4Xx#NLvix?l=ULV1_X?ss;S${daeoo>)BPJ9D;CTXk zi-1K5mkSfZWXNAebaQ?UchQu`rD7I%%JY2p0zYoqic0~J6!dYus<_9$g=Ub$`Q%Ec zh=>mc*fCcVZrn@$^2_QOP2k#o0RCV)fBN9`8FKD8W^!p~|n7RPY+ zOGnR0xGaZqlYd2YU7fpDVY2eQC9nv=&VdW70>U=0X6?U@hlL{|G^l(g{AH)dST$1B zp4M0mzKfcy-K*-_GT;k*?)BQdFQ z?SOz%3L0l?^6u3olZnSnDmzHLj4;NO^1@J4)4)r~Fn_~^_m8M0-n$R?581vjwor~#mWg|!=1wuYko&qAoe*Hk7jr6*GUj??JfGr%@`Jo$9}WAdU1Z>) zr)p8hwn%54qqzL74jMnNWW2pLK$zrI4H7tTtuh?2Ke)MXLIpfS&*Lt&*nMwtgK`@8 zuz&Hg$F;84BHHz~a312|EP%AYMn7CpSpxi~aQAHT`e$5KS04LSDjYSkLtuZmeQzzQ zy>$&vg(b=;gEE8Hz<;!~W5Q^oayJY`z2aNen#L7l>tC?Orw)uLRXE!MRs>E(uqf&T z#tBEqguh;D3FoleAzn)o6r+EFFmhSQ#D9dPPd$LHipgXEZ(oON9=5X~VNN>`brAi7 zZ)oE{S#o0&pC!sDn#KBd8MN=)Lrc%am;a)Eejy`9ye1>+$s#y>2g@3~hh;6f%fR{l zndmmOyRwlNp2AQLBB+*(^RSSoK6hDW|0ITXkD~2_rdw7dKLv}E|N5I)`Lh`MoPSbF zlgO18Q58ya&K@6x|c6@N>s{|r|U+vCObh~XA(kP3z=!D%R_3{rS?-JVO5I!;U!Fd_hRQ$tQHkZQqitVgb~C{L2iP6FBl|LT3`jVN9l3 zC3dP$VOnwaL4!D%I@x3!>%Ucs{%Go%oMwJOr9hkv905ZjbPibl~& z>0&Ty#wL0bt-YB57s9i#mvIARZMe&sVHfl{{CBh~vCkX4`s$}>X2N|*y%W*5E9AIE z%WiV=y#hlxD*S||$Az4W>3`6i+<+K2^raTA#@5}o!+e))#@j*KJoPY z%N0xw)m{dB;PvEpc7Fo4v9iym-HkP)8s~Ueb$hd=u`Q2x^IouGUWqF}C+`642d(5f zT}DC&6Xx&0q&2fh<{wgQeuW7+8ji6VWLYm!o~NMQn-tt19xlp^Mz`9q5G9Kx3K0E} zdmw3lVuOmCM|rxKaHb~cZNosEKS06qkQhiZEMm$W(^3y~Uw_RdEl_lqc3|PoOkW;> z2H@Yj9kEF~zl*o6A%3geW`_bpM1Hj7?L4HTsm zVCbSQm(p(J_J2ZMc{}Rmg09>Rrmrw=mO+kz4gcmX#u zBq{1|hRVD%gJs&8!I*V6SWG%ISWWA|T(h-wT9pzIA6G(txMH=Dls>rR_VK)VDP1Z7 zm^QAzG@T@@TxXa`SePvdVVp6+s~*k%jVhVe0ZeFHb$`Ep(EherP)JpzX4l{HzRC85 zEOrYfaUJRGx4#wa;&fRWp`WIYl3H#HS}A z^_M~~?&iv>YeiM$;-H1{Lap=m>WyrMORYL=>Gz!D|-#lU99T@1NI6VVpQ6YtrrY>IgY&T1Uo@xR+F$Y)rNaKHSM5C zqkCQ))3qqo%hX``tyH@pEpMce(&QK?P4ZFFSARWMxyj;2xwUx|Gjge%1!?Agaz*QP zOL;hm;LX-Mt^Xj)n;**iNhq&Z*POgjQg<^Y@A~!#9i(e264Jwx`ocIe`r7PBX*rEt zD%=3-HDxF#s!Nv_Rj`FiMI3?$Z_-uDHq)zS3r4ZEs8v(PYGZ4Gz6gez-e6Yucnb}& z!+-l?7;Kiqc}wopmPFrHJGdzeIDKA~s+2MJ)5wsI&<>@As18{@gj4DO96U{ekGS#6 z2abxI!nw+pA`29Q1yjE(7RE?}-F*#2V&`n6M)e*B(CXMJN zTTUg^agbg|qW-c3qUV0{Q>}>TNHz1RSbyJA2=H+V4Mgrv zFj{;uhEJ~bmk(J5{G}?90IseVB>FQ+(DAVSdkkeHYL4J)!d*m4arL;@j2?E%&>vKCue1orxM$HGdk( zx!wsVMro58Ly@2yMN|O!&`>|JUe)3KtGL=z(xH}CpuA%=&EnBu{H@d5<1@q`kBjC< ziZpsRDl}CtgKmY&ZHSadEJ7Ze5*iEl8LDga31!rHSYWzy7uUiwB^!1i(>rtZXfmSt z$s)4{g{!3Ec<9@#;C&ymS$j$=BY)Lu?gkq8nULqdxN@0h^)CIwC^#>Xi=#;{Mo zHG7j&`4~_PpeA0qTcSzff)JAN#!8?a(pcvtS|C`Xu!4O?uK%r+7g^CsnHea0t4}l? z!<=KcqaS=RDoCgn2#H>A>3_p7=(U!$jBoOLnMeIT#i+XIhEl!D&#{Nb_kX?IKE32V zozc@7HeF4ytqL?h@C}9wHu&bBl4qDZ5x5uBT!65<=_`a(jFbKMcd)tNJnL68^%Go; zk)zn*jsJ4DAqL*e!*pN8jr-lx$MbI+;&%G7FLEa=@o>L=)OmEb8-2o`oW_U}jwd@z zFKiJQ`gP{L;hupRJp149jHr~iWXba@{ebJ7HP`9s zt(N}q2Qd5Jc`)jKd{p<9WdfVDtE~SNB!>|e{_M>IECj*#x1TN#POmfS{`NVEw&$N{ z{lv&JcW=RY>A5%pREa*$a1gt~NIKW1c~(nH!4z^bJ2dZ8qGZ-OF+YS!+)n$2( zOIZKy_DIn)YmQCoC}F-khKD#S5~OUO!yTPB7-=u7Bs7%v}$fPsq1-jEx@r zbnL=CSt=G}6^w>G{MD^|Dx;|r1o4;PXfC<)@>?5Ul590jYgGyLrJ;n_Th^tU`5B68 zd^soM@|+|p*oiV_5uQvw`SGnv0UHryN{pTT@^IK;3n27tL4 zQ}hMg{DQCK4G)Ji{Gp4d4s$DbDnMnWbB>)J(@*nQJf73|IzK%Bbogb41Ezo0jhir!}2pGkBply?=cayR!xcv4PD?z!vs6-99Q? z#*kjvo0Yc7{plXFfkSHSW{KG`*Ncax`~Tt4JN%V9AbecdF@2H&c9{LZ!DwiB;n4Lrm*?_t zqS0)ih<{`M-`?ia^M`x3{|`gmS=#^iI`;pamHmG^n@`UEN?iMWG~x4=ee}W7b?c^L z>UyBR(R82w4t_?n-MpiHe1z^C4icHL^pAgd`2AnrJ^sHWECu=Bz59QHPWSG|yMO=9 z`*$nv5!c2dUHrh!=VTegR!Q-sefRe$Xb?n1qy1zRuo&C4^L82 zyo{naDMhih`Q+p)8@Zbp8QAD*f8`Ej@%18xpYJkLcb2>>T4G@1`Smy=9&b;c_+vsC zh_obO>k~5So2gRd;w3Q1naFm}WH@miT?OY8cbR5Z%42K@?Y+5!Vv=98og9{wi0r}L z&3{G!pL|l}jLv6&tk7XfS&%Wi7Cv*VcSJbGI}^J;HpEPfN}2v)=GE@RzZg|8d9f`( zHuowHJ{IN2+}Ud|#fWWajuRGL&B|VT)ZL;z;~tpY9^X&z_~1Us+c3Quq|Wq9v{RCSOQ2x- zOLTA2Orn0Vn`UZD$PQ#E*JlJ)~GnQ0h9)Y9p?V~dX{oH6}cL&c` z>jSnh5Auho^8N}E#!ufdWMiTcff*8P4(d-VC?Y&0a23Z!AJ!sl2iT>qTOV{SCXhlII4;mP>gnXBR;Ru zc98dx@1_-3=h!GrS&8k+*?&Mt+_+*x#SlO1%U3TET>KTnQ}1l<@2_nB%bT^GmFE_2 zeuXWxl4(5t1^>-|{Baq5Xh%Q=s)KvK%zv4KX7l|V#GKHymJN5}?esXBs?&p!G{45p zR2T#l0uwYCpGbqzajxeM;Wz6J{`!ff=kQaP^zfwye_OAaLw|m?tAC2Fx#zF?YUI$b zLDP7U*al5MysTqQT1oV}5r} z*t|y1L>FbzGglwv=$VM0IapSY->p7<|09`YqZfL^Ug(YWLeDoJo~B;tL-azYr5Ad> z`Q&u@K={?51iu{p`hOra9(*d0c(g-gM@H^vHu}%6Czr>+W&|9${Rq089=>XR3mra) z*IRusb@|_Ve~;thKmqoq?sp=rN3@dIwZS9#xgz~anzfP#+7@q7FGSDO#SizS|2plZ z&M{0taq9;^&*FyT?6Rmzbgbb+=IEt0U>-`23Mi|g-9 z6vLdzrteW#`hRkK5$P>1X^ymVL~&<&YSGh?eslQ&22G2JH2dIJzZoB1?22|X08_+1 z(Y@upZ49>PgU81QMzujAEFEH}suJ596$EEeD{OMrr;1{)XwP7q89>$|wy0o2MF4r6 z=#-2K0Ci|>G_uf{0gM(9TsI`}U!aw5YHhGyYBc&Dntv@cPptaK>lwC5x1txu;9Sw2 z!!IGOr5~(glIk0olJpEN4y?sJ^gIIoq>KiefDMBD9SFG21_bEY;l=(L*i&8N>f!Xd zzHWhV9tPtz^LMWB<_LyIbcsf+(f)*a=(rYsvqz)3pUQKl*M*jY$U^aK(NRAopO3K* zhZlN%uzz9j^XV!0k^Pd-xp1&;e&P^$sngrb`o=G?uJ_JopeULpFTi*Jxym*t>=rv`|Vj9~3=;rKK)YVgR-zlFUDn8x7-S#!E z@J{%=UPK3_*K>LLS{%EWb3&a8lM!*m#PS<7mE#Q@4XnX0KK|P=R?>`-ibB+%pAWx8 zIDbM)ddi$mbtD0~HW<8!)OR(x))td<fe0;O*#W(%bU0`3{xh7d( z<5$^dWQ{zQ5i*xuB(3(lz%C#s->kiL2@TpaqGOV1iq`?0%lPER=z|wkmBHcF<=z+A z-fO^XF?v*PkMVk_^`c1?F zRxkqD?GcLgOC8#&Zf$dMl00t4smDh|qejbq&X#S-12uBQqcw69)V9;hwc3wldE1?S z3W(SwC@d%DGHe60fChMe3k@s-wGR{EHM7WLXhiwmkQZ(<9(A`Fo6?cx_J6ixDFG@N zmurU>07jA|roO*LUfb$cht^9+A1yXJh@EDTtOpG@22_T$*1->J1lPCK##i*gJ(t1*G?b44DiqS%t;S17W( zBQTAfIa}e;`1i^9S`{?y!GDL(tLeu%UG5k_QrHwE8NJTBJRprGcW0(%pG7a z$Df$hTn@8+KVH|^7MI2KFKJ5Y zK{IMMeUSQwHLpS;CDF&+IR>?u>H< z*bt{&mZg|fV9V*?GJm32`dNPM9+wrgs#N9I5Tsq}=Mw zC2Pbs>dnQG*5!eD#~yv62uS>=i{Sim80+o1(-zeifbVqfxgF32&2bApN+X^ zBOiZQ+uky2gaB&06^n@*BZKUOx-r!H@KLPbHW(-`F`nA50Ir>%s{`GF$u55;=Jn=` zMX*d2l%?7K%zrd{0cEPM3PdDN;#;7-RGP?3?&sHwVEg-SJ}vB3*+MAsHE49orP`TU z54G2B=3dz0hyvvV*%)Tvu!nBl0`0pLd>0baL%8pl4ax^#lXMUgKh+DE3H?JEh)U&U z3mKn(dKu%Cn_;;tdn~fGTNRSDIAD~X;S$FChj}otV?idr4uJ!yM2P%@0k2^v15BIJf$W#xv0_a z-_XG}l!c091%+tv_b7$Ar+s%5_hqhi8B2%b`u5n_F+MO7PcuP3W1IA==FvvN3n({- z*T-k}aDTE`7aki3uV^^8PRU8iD{5%j?L zM$geNYpxXVl(VzKy2F{Wn)S1rYd5jesb8ICQkxj^hh54ucx)a`u{P}3!L&!hT4L{K ze}fYV$1r(I$O;N&Hxej)5WGJ~R|7cMeV|vEsed<F;XhNN=H8O1>J(kKqc{gZhv`E{fDZRGd@8(&sirrw2x-b6qs@%l7YDmL)FI0ywl|)YltyHv(C}D_uKiY^ z){_e5cXDjQC?y<0m2x^UlXs`s@x}qILQu;~Z)OMs^rmZ|{J~ItF#UOYt?jn~OMk)d zeyVfO)d#7y;8Y8g#@u4JE`HsWHeR1$;q`{Q?sE8-%bMzh_SOfZ|E&CW2-ed z&+I}hc{hJutKfa;;GaK4JsL--1)n@K>V)ssizZ&X+kdd2Xh+T^exM>K)7TYCz0c@%{ zhe_dBbBTm6p6SSoMd;^6=wBD1f2&aUY{TsoOWwBkI^=M!gBjLzY{M6&u7A)9G*Hsa zTMAct^?)(oyD|RI2GG^bzBrJ<7fElMv$|)uoZZ9EKL_8XWxRP!dv6tdRugkN;!RT(zG+uwh;nqsmR(R|yxLwgg1MyO)U9;)Q!A%BtXXQ4A1#L75@ zEzxSHVQFzckYa(%a`&rtdEU|ggCKULnn2yF6C{asf{sm`m`b~WMnbWiNQ#HbJ@>7& z1h>ZA-r(Ancs-+=7!uwMjACuq!?*BoFopHfd?rSRU)&oE&S{Nv)o2`RBXOni(e0@j zM3ls8vXaM#Ul3L3>VK?s@(3|z;kKZzcdPgYYR+NFG6Q$fO<_i=E2wi(GB9+@B>fCG z!*HfEc$=<#Hu*OoO_L2M)8s716w$CSox7C0SPbzwtqWMMm9A!@&tOfclhj7`NvdI~ z_AySG%wCKX!-gDQ0dQtT(q)(-s|WvOYYD#JMf63 zwtyW>-58d0_UR+g`~od#4;(Grhi%@Hf>97RhfyU3TpxaN0t%B6jPn_Hr(hQtZsoNw za_mjkV4Ax)k|C+&!2ShS|H}YOK(oJnZWb$ezaFru9!_~i)7(lm^D`H6ZJnvb;x<|> z5q=_%k4T!!jY%wyOND=&kY>g;XA1yxHFVi!4&7a!Qcbn7|9zGZ%U$PV@@Vm{B#o{C(s9wu#=_c1^Eq(Yea(3g7Ze#U46MD z`A=41OxXXkU)a{-P>NK^tSqNmr7Lx4+AqwE&`m}n7G03E1~x5AEu*O~s*K=t6dppO zsV}A=v9OLZnikb!G>z30cB3#F+g*^}EYbcbxxa2Czt?{|LfFCW^oC5EvKPsEj#-8#(PjQj4?__7ic2sYlpBhs5^!aq(B;ncf9!?tkA zQ_UnzhNGDVx%w{jL*0YVD~;I}RJ3NjR(q=F?qYv{O@)f80m|hvjW95#0xpFoi;Jj7 z=HFYO{llA=;0| z%-H5I#l%aj9HHc54IB_W;r+?CZGn@R({ET1QXG;yzCui34BvyCqOqe_uxK#u(9NhX_9M6y7xQ6~%x6_`P_e>c8r_LHSp22I8#@v$H2qHzl{)7ZN1>ijJ3obeoujrORQS ze|0G9s>E3Kk$@-mu;LPb7E6MsRkeRy4GRSOAFnxFT6AaIL|OK%G;%m6G@xsuz&JrH zAD&%&O+@GwPv@pqz@1o_E{NU0zlK+q9LU8nx2u`##vlsyg6K-K8!6?T=~O>LE3@{Z zP`c6>7+%-S9^43q#a8XMa@#KHt@SFE0@{SUGK#-OE_rQZfr05dBPO8e|6a)rHB za2-_>Oz-CYFG{-N#%pyDbufPvB31N=LX@*N57r!kig2^B^DMnYY(Gd_X9jcJ6NMR4 z!b=k+LOt9}3O2g?1N5GkgwWkmFR}e=*6|X?7I_Gyzbx+V15=BG?w z--4vW>ytytq+SLU;k1~e4%ND1P*)|tl2v;hbU3jWib8J@7v@3Iqj1eZ+Y}Qm(6iK&*Ss{h1-YL{VfbE9|z^)RV9#q}*N> zhDL(YVXYFs-rKd|QTTsiPf~J*@iZr{?W#_oC@}2Z?%^d$Ni);EQWWwv9<@Vxfnzu( zpepa_{oUB|f{rY5^~0gh zU!XE}Lxx!qV3U6x)la0AQtKkR!64rsKC z+`G-^1$on+@OJvL%$Es9jYq;}BPE?XVMFNC;)1q6mUMS&Cx)M0lA1FHMnG6=%6L$A z+9;jO@oAQ?EV$UBH!p3ROO7Re9%XG+iROY&1NRgzFqD6uI=g@S{TxE94zs!ul2=Ll zwct_0vD9~g6G*#jC=PY=9f-#*H8%Cr)m&skambK}DUNmIGqY{P?Qf4n;bR(90o~pm z1>%clRTFoh%v5`*R1imNY1VO_sn>@#MTzFzo)_*g6ek)nuuvOMet;HpzBp9V&T4~g z`C8pdTS0&N&VcID7Uosptx3HlQGOqbJmP@#>kzx0O~kZXQ?3AMcWa}*xdZ9@w1aAA zfvbp0!QY|XZ&QGM@EE&HZTwXY+fm9x8LbU~=$^M7MO&~@QuavqnlK?OL#Kt0#0gd- zNVSgf6Q((mzr@&VVL5%Iw^>!ZaT)*9R85#3jj4Yysz@l$5L^9~h>2QkTTfuKc??kT01D+;07`E;|A1A9AlRcppB;i7SNoMx#Z%{bRD-iy zkieUzAfhp1_XCWexnK+_ytw+~u3(mkIW3qB4;6NZX5E-FfY9*VrURa`5T(A>kke(| zp<0<2^YlQ0n(!PKeY3r|nB}Z>GMIXp)|P+9Y67cKEc8vd3|tmHB{c(v5b1al8|%#*$n(4JI?%KuTg4U@fz8KedB3KTV8vTC> zd~q(;Ab|M({mCpW1}2!DKxu8UuvDzdX@22P;)`0VUuVn}>jkVm6FfsiItGf4z z6Kr2C>m(2m1_D0wBC$3>%ma}&y*Ej?PY1~8o`F(~1uEUoWJY%t%pZ;!wmZK??B+uX zC2%H(8Gl3oH{l!xNwY{d+)C^$q?3Oc8-pD0{o0iG81>LaHfr0DGRlr;6ZE_caiHY3 zYvv6Z5#gY--oi}y8m8;|3cf<>L!$lA-LWm5qqN%-J;76q!;n?_x3r?!y!4ozldMHI=THEYUy?Om*^ zq?W{(gdcpr5e5N3?cO&4Vz(=VfiRkk+JMf$7pbODKP#*fAL7U*`o`Z|xO|bGC!iS&}W`F%R~~!&=B|_j!3XGEX(#@0gw2{&K=oAhV2a97%{f4n1SNhxM0J1E6b6LJB387d z8v&8hO|bD5Bbn*@P=3XTGi%}{&6RMC;uKxd$%H6fIrQW8B&E+zd zCfEyk&Ewa+=0P$xbd!IYvE)wmg#LCWHy2G%^A!D0y_J`Ab8_9EAu%Qa5X=^cgb@*0 zVx41GBFUrA-MLJ#F{Zcpq}uOT~sK6CZR#xUerw6 zrHypy!;p+-A-{Z&g}2!LM7P z_Bm6(C!x9NK+m@Twl`eX@h#09{CNvTA5nxZyY>~5OMd~$yCS5#FS3+%Mv+cGsJH6w zQ_e9xk%u*L9W#}@V6kY3S#M8wJh*84{l?pVq>ByIZPJ(hnQjv9Ujq_vpmqGi7YHLnK#Nl?tFnvW@zeb3tBGr`|m%Xbo$rd*(O&gGh-wnXN zik2W_4{H%+6mZE}hY8-uT`=1LX6M(F&pzv9^)r6}c5Xz!1Tl{gF1_NfTj?%}YZDB0 zx5XeO!Acpax=UYD6gbm0mM%r_gp~~CmqKBos6t$A^YfKy=M-cJ@^tOPDP>wem-SRt zO!sa^00%H7y}rSuwjxo2CfSBu7oww-*!|GO{A>R%Oj-}kWICZoG;rL7KHjOqE(eti5Z)Zi)&Xf*GKMROT?Z)j97)R3;!spG! zqK7wfI>8qgTYOLo-(W&P4$3rFI^lN}V%3~4q1%^@02C_0@})0k;fSk8z>4vwspfLv7msBp3pi+TXkML|_1BpI4Lq2lpW@FD7K78*O0#W1UT8C1ol6E&RZdmO&~+#bBV5|l&7#}Dv?{hn zVxL1S_|+2%#8O0UQ)B30*pAiwz@mTgOc}-8k#9|Y9z18hyL&_=`&wX}Bet+nm&Q1r zF?CN4(MpL;m!*cngSROc&|>=c$t!|{Vdr-jEK1M!5FlMC^NeOnn#0;vi2nvd)a}vu zEo1&hL`ns+3jS{neD3`n$>b1@6+V?E!$ngc(UIR+u^@|ySdtl9V^S!{ha!Kbox(Rd zZ9rH)#~SdzpqI5i6a9znyDDyP3fThHHS;}2eEutvr?^W&Nv~UvTjZBhte3g(k3bTr zC_xt!8pyRX28%7#+#P7F1Z%ToXaH4sDQ&6P+%4f=>E5rp0p7g$O=xfP+}xyHs@7&n zHdsWm-Y#}pXbYuW8|m(we;R*XZ%Jz>V3FQ%^O|dAiIFdoF++)A4tP&w1*qq%y1Fu2 z;I$DWUMHZa#Vue>pL?go4ycrR7y9W*HH#z2A8ic$%mL)Y24LP}k&!(gNn3ya1PVn=4FcIE70|+XF1X zT~oaM1HJyDGRr_mH!H09*|mmZ{GCjF#$>aMjFeiKL3hN-kgX7OAm;@Nhj7XQ>2h`s z5j8yET5%;7b&AS}AC7<2+LV|?cAyZL}#c8K9)dyS4pAfwnTb*nG37Wx5-?=YXod!Xt;MYr{Db zRE0ZNhnf-bpbRM;w2K~{q}!BUGVSyh>f#WTj3y>jlT+N{TeN>8FzPcZOVLnnA{%P5 zm%d60-_+p4K)>Wxa+lDF)chuLQJd8VFlus}?I;CZh*#9)4n!Dg@`qyrHK+IYAROo}Ru`S5;TD zx7U9VeLsKQbxM^LSFf}oxcUD_+n27jacpb&B1kgE7U$Z(_g!n%(5)8s-p_X)M0Ztn&Eu*yin@E|LsPG2`pj2XJfXJUq^tCq zNZPrM^kz$aT5-#MNLMP`5Rm>JN@7s(QLTngES`Vpo18PEv=iJf{NUPmWz&>)FO)`j0TNqVL`b*^>2(Gtsy=%&MH~@}s>?n^VmW_cEE1_QZ-hbKn8zk?_QOyUQF3vEqPJ9*5SPC`gG9FdAb` zcZh#Kb8Rt#hehj(Jxn-WEt8x|Qzdc(7Ah}g6r~`v`0P^Wpe!KuqxGWKU45p1TRc3t z=7<%xikl&Qpr)|%@bW1>W7v${C_~T7Y&ZZfH6{~6h;*5Z2Yl5;AhFMG9}b~nXvqpy zi+SN&wvKbMl{>4UA=u5xOvs!93E5C*Su}ry6JT+D6bEvEA{*J{RRK4xp30eH$jvLZ zGR!m}YCF2WP*PqXU4#;ZQ&TzK!>b6GeoQ5L6poDvPwTZPoX2h^#AZnpVzTfvgUHipJj1x;RkBHyeL6 zH7-UT+Klr)xDzk+!OfG&!2A;QQ*IghX-X+M@v||pZHV3Wlz*ZY8p=Zi)3V)_BQE_- z_S|V7vo+DsOjVqmO)4a=g_y_ZbjTE<{m*X5e(|$3^3G9INsfV3XqaPhC>X_LNu~qc z6(<#%X^n@^QvPg{EHpLSLfG`!*&ct5zU0;;JLBTeDW&Ajxzx95CFP~a#5Hgv@?~ow zVVS%nER$1q$lci=d$W0KU?y`7%;Zi>I||ym0BL#NEOh;qHxDyK>76Qgvh`z7?pouA z{DsCZlci*v6TE)af0~m6-P{yHwKLP1*OTDrD5n2ZEi*XhoWmS2fWxg7`-FcZ0a_ja zX~y66f@2AO}W*X>ei zFO;qpT+oNc~@>yDin>Zol2sTPJv_r$Z_?G;cB0bd4uAOwG>xCwAwOnxTb%}nta za*nS#!#ArNJOeDvcEJ#4lQ;yJ!72&R1Zkhaba9A-!6eMuK&LJ<=Zq85n@UAd53`+~ z@=GIpeSB!9B|h9Le~u-@i|7?Eq9b?61&k#+5c?4GaTdB$q0nsDC1war=004kJz}?Y z2;z7Ed{}%Wx{!Yev4|_PyOvTp1Q5~zU6Ky)uuJ-2AsySuBY*&GeAVM_fRWESJPvVv zu3;XOkG-i>86dlh#<&)9%63n&vHP>gg*fbr^BaC8Y;z80r%er@DB3KDeZS*M;SOFC zj~~Oxhw2HzpNuVjQwbh_S&D+96&r=x>8h4Py~B5H?6rShN(H%Ia)AyOHNWrels}zO zroS!J`pbOoB4A#Hxt#~hLuvXD9ia?*E@X!=PgK$eLD?%oi7zz3kPMN}&EGi4-#g<# zf9;F|-K{ef<}RIaU_h-S%phBJM^q^ZaDywJxN;tABfe)X^O z2`tw+ZW4bm#qT^0Iint%dPMuDK*@*>pq})q&e9LkX;TD+Xo`f-AuY>|a9<#Y&f)68 zM$_qtLUh}dqSMVMy5%wh(+85;8J<#lD!_N4sj4UHPj6019dn8-4gSbXpoQ4=#QCyW zVHY=aWq`HZR3vc_lpDpY+j=sW-!+^+RLlb006BlZ>o`Yyipfx+6;mlya=r4K#UugC zhZt1p{Tu}Ek=CgS5p#j~0*n!$Zzw43`Z{DnQ`O0SOI0EJ(UqPJ7ptA%NYK65T)vo; z-!_zVnA=KxsN4TsK%nfU0y3Fpwm=tb6V`d%q;-DX1+R23;7gAUf1Qbf{H-Pm^H=RF z+GBs<_1;n`O;_GgUi5`*(3Qk%D}Aa<>ArD zescPd)csF1+GJr%;cyUBq)PA9{ev1!?B&}h9^bq`bFxKA*iC`F>roRMq(Lg;i7G3$ z@05(1navjBS5C_BCtOab&6K<^Zn|W?xha2`4)zltHvR#n3^m0FCsyDF^GvV28$X%BC-=>t5?uqPL%><|Vf+|V;REoolPa_Vp6WW3z zLR2PX4jjv36*m)XSQQP1c#Junt%*7K7<-(&~JqXtl?o&iH*TkNUW>im7;`F~a1N5|=!06^rDF~z4scCTBe7ACKl&_;?Z(A8 z9Y7J55P~ZY4k6xrLRhw3-wEJxauA5HI{|5Ni?$m3iyz3~!BedHh5%C6eTdu7#78L) zj?)PHn9dvt4k+Bo5Z_(daGM#~;K6?f0V(r>F~vD56Q2xr$c6)b0{zd*#3$cy6$KN7 zOuUpoT}2-n?U?BgsR9YQslj6U>|*7->6@qq1&Buc@w}4&kCawl3Q;6M!XV?U88ZN= zI?j(6uF8aGn_^&(cRR2&1o$?(rRg~uWYG`%uoXN<9vRIvu99tt64IfzF=}9Fi4TrIjE{YCjKP$HLH6p8`bPsi z0#vb<#q+! z5^X4^q(V-p$YkG~SMC$u13PjDaG7NH;KApF@k>$2vbn%ihh=E z!Wt0d6Is*+vm+J&1S4}R?6-39r{-q8L@LOtpft37&?i#)U{}1T!2Bp!7NKjlZ9Mn3mn(^}lw*o0BQJU%mfQI2II95=p%QDDM}MEqyTfe8v}DU3NYd!6os zDG6!pIU}awK4A@xXz0{({eE>BxpuR;etY8O(ke0-OlB~epCW&>kjmPdDK`H6-(;f0 zfHWakNC1iW!qJzNJ4i6($OVbvX$VUAkIU^c`Te2CV%S-3Sgn#77z7TpWi+1=W`Hcp zeU+N|tyr8Z_92J%nbHW*0rH_cEX_&7Pg4yqVUW=A=V*MUh*bVrv%Zkz%AFSw`hw}+ zV@!3w+>WrWPbh!+z-6{3sUb0yFXkjRgrkkBIc4^x8!tA&vFw}-NzuuWz{GFdhkkXO z=Pk9#4#*WNp$Tw_=_EH&Rq-PkHv*mBPjx!`JUw4l#wjD^U#n~0?vYpjDcgh>K7xBf z%ICxn-NNyFTBe&#pN#LtqW-K^dgVV=Eb48oT#Lk_)|`J>RLzS;y{)a(z9yA7YQ6>) z1N&x<%-s~Z_LL0R-^a&C|5H?}?C9;%>fbUm5Pb4K6gHnOJO&Z4FF)SR@%7lfZ~zQu zF?e(@r(QU|+OzMn8(2C=q@EqmG5KsJqF=nRJYJ4?+FwN~xfqL1Ey@&+z?nLLsH?ug zWj#KHEDnFjjALPF9rN-r{=~5H=##}N6_;00hrz7m1(Bq%UH>Jzf)R&Nw5_YfD~JJK zjRxoGnAojx!o~rB_z(~a$-SkJ+*_Rug>Mr0PhprO0Z`n|eYy4~Z8!k=(n=3{9e<@>8FN4?TRS zUJ{f&knnO#1rd~AT0UT|_o2lWeAk9+X@ERW)I@{&;AYATjlnS#NZ|Dy4AKkg0)!hN z1|!}kVN?=$9121N>Q`Vzcvc`YWqd4fITn8+wSlWnU_WuG74Vg|(z2otf}3f>8kn@N z-EAKTFicW|Zs;NhA+j#F*qnr9Pc!Nw=p&Vaz!>k50x(lw7vW^!D1g!FkIoQpfxJ#Y zK+qD+aS^aKk0&yoxIke;Q6_%{usIV*kd~T&gM(WHz}htEt$Zosgt}=I!zM^y(!qb; zgzg3+Qs5U3hh8Y$g-B{ABB3N%X)owDk+0YI%x(jbRY*+0WAQyAo)`{*6U5U-irt!iRR0(uj zQ6%vTUfO7Ou|!0NBPO>!TX>xADzAU1SUxsUv1(k{BBj?<(H@o9Q#79wnDe=b1GRx- zO&K1%IXZapBUXjnZxCU02?|@Mjru|2B3vFoSEU%2~~-c&i2 zPs$@KN=!(ZtCwBDon2#boZt$H)e12>l~srqYxkpG&Ch`}>s%k=x*L(&sm6c8f{eVU zxU~~pKaXY}2ySXybce~GBiPK)G>s$)h z+1TI8G_-D_Kcw$a2lOk661;lrrhW_>ll4+--WzHuA-5QRgkBhU5q_OqEFw+X^29na1ZeGy- zB-n^Xap7p8ay&Qt-J^%UKKp+B*Z;2K9tYv}(c)rtX--~GL&(46xfTM}cFT9lBdPk(YDPyh8JL)Jo^n#QR;bsaGmoHn zqAug7cg1=blwagomFI>$rQ_Eg%XqH+B+sYnsfLkS*N_^YQd5kTjNS$tiy;%wrg>cb z7MHZ0k2hJ!lc&tuM0xEOWyJQ2^2Ot|qh4CcRdFgKo{J)0Zyd2@rc+uYdH zL0zJ!CbN69_T!I!%zxzYY}Pi>_RUSrWpi_b6W{=2UI%|j+qUix(=0W^Qj=?97TsbN z)yoGui`L;;psod!Zb4P<{30DDyRj%tf(aSfJ`q{rOKz$}J~WEDCpsA`f}F^M_=u8# zl(ehQooin#S_GJK9h;KL`di4W4s}&*iy=k=mtn(#t|)4o#9nUR{$~NPp1<5u`>B@E z)*5y@-TZ&I);2(;KNEgw@n&Q0f{jH$ovpQl&e^ErQwovRqM4oq9QwHD5DwZosKSy5 zZSy1YEB(52unr(wtG09Ss&R=k7#)YMVj_0Zt?LiVg)eQb@F*As0MgO`$b*<{H$JD67Q*4i2X{fjyw?9+U8ig)ZXhS+L*9*c576T`@<3d6N6@fQk(ICEO`JzU0f}fHDC}>ZMD?>#a-HDwWdJ zd|heHE0cfmc?VZvy{*IP5em3i_W^ngi$^o{@#4%$sr+I}n(rpl^h)kB{AcA$gt^JX z@@Q?PnlH3a0bhS5k1Kxd3OvWPTVdMe(Ovm%<>+(yW%*Ai zeCXtL$7!}ZHc}*_pvxyD1){)`mKRK^4^Yx==$mPD${Q!;o-b%&?pbC|{FBN(T>7F& zF?vh0X#$<3E}-Y;fq$AG7rva`m1ac&WE}*Fg~iE*|@(vETFd^E|-p>&etW;+BV~y31n$s#pgnq|*MifU$gZya4=z=DH9O zE!xAo^3|}yozjkt))0V{jMxIY?K6Fn1l{8(yrzR|DEWOJM)kth(;k+c&Mt89=tb1< z`VWe$-$94qm(RnylH&9i3S567cjbR$;aeh6$O*71bodqU!P>Rzat^$QLv&{o&GvKo zZvj&N=4z>?M>3Gq-C8XGtBUQsX0T=u8jdqPEDNA&z(y5kc~(U!MMWnC{tn2OA{jr{L?$A5njJwgBG?zu7rZ z#l$c2U_$-^29!$ZnB9<6_1DGeZV_P{6ZCe7A`tbYT=j=WhewRU*r}sw8evdy20rs* z_04#_I$qx#uRkBJZ;jWt$Lp`g>pSE1!||(^<5zp*SBH2VZjW~k#s>&LcsYK(HGcbY z{Kq=F1wcJ;<7pyHT*7~PMw79P%+cz1q}%3xJD%rX{zp#x!R+?}J9UcdnX?$v?k&2- zhVNG!Jshci@ZP5f?+t;5w|s05aSWqVPwrN#9YO{YX`b|&;#({-U552&QWNSPJX#JA z1;{vrcGC5J5v~4sI>qCZTRVmG%Jm^@_XcaxSG6rpH}B{kU0Qz=SpV|7P-I>g7(Oad zlzXN-B!k|i%b-#06r+}M-kKNvAA;=+S)R5r-UGW~>eltF&Y?nUlv{!6ru1WO-}R(F z!r;bzCB1}UIbj|H=qbfsNE)c8)E@Czzbn7-Lw&SRBqR@wuE5h1hb*mc6q`c;s)&G& zXr`g+rKp)tj1+%A@6o9-H^RFiT2|f;gkr$!IA|6gE}+df7zYo^Sr$c86R; zt6Cp`2bH5=!SAy$tseIliZaI!sc14P(1Dt+z0I$-kT;0We)%1NqL3msxQy1nA)~0W zn2}+S-rI%^NQrZ1>b`lxRIUVx z3dkvUqnX&5B`#0>G@pfHtEL|~Z-!Xcn6sEV7tQjluWnj27qNG7%nLN^c`OQZI zH$Bf%P^eWtl?%#J@Um7uj93buJC=e&&r?6$X>T#u-gq9T@d4fAi14o&feP z`~9ma{p^R~_^4Romi(1*nTYRDC2@ac^*U!+(2fg7bEONBhQq@s&GN}Cx6*qI zM4*1);~EwomaSR$MI8YJ&s!vG11=f?%>AH%E99jP;rm*7JsQH#ZV1=?5WcUitWOT1 zu9AOYMF^OQ&@_`h`-sp?1MaI7FUaLD zcSoFE?Aj72#d+ALz!Hf2hoG>qI*N1Rl1J&wV)^kMJ{FG-hY9dC8Z3|1;&L1j%DR77 z8Ic^m40)tp%pasGJu1E%AI;59O};9zmG|?aB0Pw|+X{3^s%?NUJD-HN8$8h|J@>=( zZhjWv+-QL504&J zfd8{r9X*8m;WJ#|N6l?h%Yw@dBpne!yV|qJrn`QsZ5_S1I=%7O_GZ5W)AfCEe#Q6M znP(X;#B`jmWHI?Y)#KmK%y#Bq@4&>t!TRogt?pzEW}(Xco@AsRd}~6Q{Ud*^%975> z-pQRaGc`K%FSs?NXbl<2Wf<{kJEZ!MaB`}^^dgQ-9I$r6(VJcpe zD0naro=V{L@a8?eS1MlwVD6x7kjbCbSKIk~uR#m~29L>X=hjHwAF}Ux$iCM@_K#Y* z8XdC#xI?z;57|FzE7h;TNi=`v3Kl<6?UMu!!Tb4gbGv?G>~r{B5376L>LnIed$uH_ z?>;YK&r=eCeu;KxtaL!0wt+AbepvRY)ppyUviPa%DYIEy1(I(zBJo%MLtI%A%RxxY z8v6&w=MNp9f7i;NqVaj*#^;kCpMTd@K1~OLI*=0rniDWjV0?%zb3K2;tv~lL3N^- z`^GkkXlYi`wpu`du77{w`2Hja@L z3f+`=O*8q^9X1rIeAc%Rz3Qr`f|2w{!Gd0Z08$f=W>QjAlUPE}q5EnL#pivi3{s4fynrJ0nU zF{4JjrfybVi6)z?4`<8EYRp%Cm~mS+0SSSd#He#FFN+0ND=zixnn~E3JvxF<|&hdJ=qs(qezFL4S0Gom>ohjA-0lIb!XC zH1kpU%e}l|d^&lyg%yRGAHn_);0&=}6j`iFeaa#|bjTI9J3jsbm^BTyeT$rv6amQb z`1l%^_hrbZ`JKENdu2ZdbZNy!slE!iXKg6nbA=St5?Ks@R#+$x=N+SVabcNsgKG#v zF5|L*H>!U^B1#Y|MF)Iy^^cG5V)(uxl2v&C`F&Ttlhi5pAJ~mTSt!w+$N%Pe{BJ#v z-_^?d(RuvFoyYtBJbqVO*`IzMA3<_Q(6<13d7*y|z7mvp;@a-F`KGRXaGS zKCg{mAMWmMk6&-@S6|h}hg+{|`}(Z!zNvrhZ*K3t9sj<&#c5Ohqkgbgt8I+;YX`4i z)#`iuyU)iPTh-^dv#n!9rr;V3R}LJ<1P(5z=3C?HE;1c&?82Dp{?>SZm!#&`yW{6u zT`2f zEE(?a^TMDm2u`!J;n~Fc=1bx{NBw7>zpm~x<<<@>yS0hO@2~iQTR|0DgBvymVH>~; zy&=z?Er?{pwY#}_P-9iRF((bi`0sxMWdP@1^|e%TZ@>a+qbN^6#V*fQ8sv_QW zyxd~(2dcsaW*G5cvk!OWvAbROG$Uh(1S)?s0xQ`a z*}k_K4;`(q+72a`Wn>S`b#PdfDRgkSD|M=|#FRbCM!9>h%=to5))y-`ezh}3Nn=b7 z6EMFoVUaU(j6p#fuG{V1=UeMs`QMP1`z&TXcs~xu9Kf*-&Uo)&56hn8J(l@Djz$hr zk@wyBdEdw04cfUpE*AJ|T`Ygl3Lx%F=i-3fKM7ZJfUOH*?3+M61;$wL!_FM76i(96 zC2eL-hR)4(&WMgxP&5aY`8J!ESu31hQwkCjm$7GuQ|5P`GQaC7)43_{MyJeMcgpPg zQ>JsXvimLQ3K6BED%(zdbS=_U5T6>77e!rl!vN7Ar0N4lJu_52&SHPA3))&>!I!B; z5jl*Y^F9F`$D)j+HMl;l520{MuKBlWq0R0OCYHt9IheVf)@7K$WoC5nw&b0>;H&m! z_;BwNi7vXGRYCEX7Cd#EQg1k&mNW4{nT(2d(t2TC21n`|)TzMSJnS6dQZCo${uxA< z>Za<_eA;udaG01NQ$>G+Dq^1!-SLp%SbLa8NDaJRFjxZkB((#O?Yir61l|Jagz4 zb=0Ay&CLq))fGp9J)QCrQBVk(C6yM_vriHH*6ZO}L zs3y)CRRKbcGChAUdymDIsWz+bd-}S;b)@$8R6>zRBXJ4BNHj^R{(q+yc+e9iMno2= zolO`GP&H67n&gV=3=9Fm4Z~I5Zs{t#=!F>1sX$76q8WK4YfQ|m>!JufMnrSnb{BEm zmy;DxE+CSRb>pz2KwA1~>329v8_CQiQ<4c`iwHW!WaxiU++mfndcTqu_bO))XQw$9jzjPI)FVXmJrRz`( zU6GnNt33M~?I5@R-zCSj2LfQU%n z0fc0k_=|t2(|80WJ`uDo5Il%x`P_y*>Xiv%He-^r9M{(@^l^ZfE$~SJ!x*WdpTfTA zm{y})B9^EId#7C~o|QrAap{|Pf#E%HWO=>=>S!WcmMo9BAKVF$vQWH$vQUzlMQdmTMp~lG)@91sZnTslV1e+Y*THz=3A_owJ&d7^+6sfW_p-@X6zp_vas- z7pZ@7?$@9Jr9JCCSg`K2qsU7?N1l)?V~0=lg>PENP$c|}5CT-)iduMni|L_$x-@@G z;;oIKvQlI_!D(bw@?lk|B<{92BIuyT8>pP*efL1_!=PASKqUf^4;@%NG8H7=9d&z^ zGa>Rr34>|PL>`~4%^Zxkon{pP`$ZG0K!ISV(xC?0pK~L!XjpOneS+ZL;}kr&fCHGU zX?$`%s!nk3*ZW)Q1RD&B!pST-E0uo{zC(a6sxDWocSRq?A3hsK*H2}!prkRogH29K zy?E$6#bshZbK3%ciAQG|)z!8;s8sCsR=*u#)FOCyDuRP{M!2Af6FkSw(U z60;1VAf6y1?w%I^>_FzM^j)Pgw?yrmmt?_m{6fI^$_@V41v2QIRTh2?_i`{Z)R&<< z5Qpe7#Uni5R9+-6qc!>I*;s#)cL#?se|5VHawzr<@WL*$eW+R7E^U&6_h_HCfiicl zRY!kz0Mnfo5d_xeUuVW+b%8$geD~br(U@U^ZIhcGy0pYfKynYk0{Rpez?Ju?0!fdl)j)!Oi4?Q8 zv#W^H_us#>CZocO({lp1P(2dhz4QXR9gmtDmL2kVxgSWBUii#R*Iq79u~op8jrUjbhX7D2BhT+2Rtt1%dKiBJ+I}Ir^qq*oI#mZ# z?qCkVy;}LrcHxuRG=t(41_2yw(dB6-q`r@7Gc)tjx7O^Pb}Ii{_I`2-u3`ujP+n`U zB>a_W8MJgpb{>heFc@NgOUHvOC$&gMPt#1ALl4IIysTgZaul{sqQ*Z#yWw_uFNkHD zU~ctf;bN3y8aGKN5W40rypa-ajn^LJ3D2^vds2H6iO*_1?RiZYNnyP#@tC7lV< zfBtsR0nqA|$NGtmeG&vc0H$xok7Y%>9cC*q)bLdE-*H*S%t6V$r+DFU+C7?;}2RN^%G?*x_ul9w7opeE-| zwZ@=3kN$#xJlmr@7qpnGqm*%uXJ$wFG77@vQ^5_6+GqUU#L*vPK8 zu>57O3a*C(oYp&s)vcX_YUd67KQOthu zqPAAud0uoo7WiqK0QhjW31b}YFG5fW^W`VN5Ku$(9|8rRC&7X;B!`Vapkja;;dC}0 z1L#@Ks852Vs)y}38!!ume*#lNCIaq2%_32kW9{&Up}OJeS9p9(+{=^0eB z{{>u8rcukXJWVyngwC=_alngtc}s0B=JE8&&wK$*ivy0yWpT|QXaa{KSu`b!oZHys zrsQ(<$y{IMGX9~t8xuUpf|O5S??kcUm_>Yl5@Daddar)x<_YXwOxeQzyDd@ACfq(U zv+llg8q?YFTaHrvmUiv9=QLAJ%lkC1K$_gXtGS!g+^Ing6_JMa2wutTu=nq(<$nNW zl;7hBi#C{};yi#QfMOnMXyxM+iE1NtVHB_?aQ;<_JQ&{ujPK`)7%d3OD@5?6__FfsrPp7vC#crXaLp~1^xy*hFA)Mo z5fnSHd_m}qi4&T-N{0Q!F>91oqU_BG!sqf5YH+urRIqs!Gb)~Yy%^9VRSx5SpMg14 zh;rRs#t$p!8QmM(m1o=Ya>NtmEQfpv$hUN1Ux3wfYc~RXC!p+ADh|TU|0~s*K3!4F zC*0&iCFA-!T*0~sk1}4hcuqr)1`P#33Bb2}im!Hc*9W`#ec-i^_}$nOD0ZdTw*hlo=B(ow2EcuMu<&B}+b z2%|!`IOcKAZbJP72@L%432S(KV?8G$K6-r!u8!mhW0uzl)fXw8d@TLU=aa{L{`{k) z`9+@iz!$#og-@`82t`yX#F21k=4KM)4rGH)xPvED$&Z?dp8iCi0>3AJqJ)>}NM%mk zj=`dBH+1_%^09kORpkju+Gp5-|mZLGZO$*Q)mAChg*p3NGEi2tUn!#>sx~k zbaP8=Ys1?%Hmw9}CvfpdH`NS;He zELmUYF7Uk5Npxx@&xap>l0DdV#H{f`B&x zQA^8)WTSg_u4!UBp7BdLzPc6gc0qgT<2zvLBL~#bfWWM-Is4$=3!nw#Mgl=s=v#e! z0vkyb`4(Lq$)jTR)p+j}E+{>pGrxC2KGS+)CzmC{Pm4@sG_ZtZ%;RRg3G9 zG;ggMI_L(g}s3%4UNF!7_^g+Jnv+oNyq`4D7q(U@&|!wJi(cQ z1FOdeP6s`Ix^%Axm5!|Lb{;u4u%rcx!~F}KdjgO9^Ut53?Jhn-&JKL9Jj6wzWCETT zoIZMnswEm6=50ODv62}|*ftSyd|Xw!d=Pkr!#LseFs9w)HeRTK-y(T%D$hxB27G8D zdIb~h9voSxNw`SRNvIJA8Gdp%jt@1s`iblKT+ptwW+ZM8S6tjS*{lmlLa;OaaS4}M-IA0464x>U^Ogs181z~;;)NDGm~V#V z*~BSdghLwcBt~JJ7Vv?AAxJse)WKFq)Ui|aRAz2*r6M} ztB@YlHP{6*0fHytL?+92GHiSR1j8=FuIf;F7&1a#W}X@EVb{S{u+?^ z#v70wuAu^ZbqBn*Q6&M^QLl@(U>3>LK;|+VsLBKbiIYG;wOh&A)Z%}_mzIFTElNHo zErGvVlxe`TiD0bB1Xhu;SbJz<3mA-~HPE;Ui?;?0NBLOA5^p3C6;g+cBn4(2E(Cjj z0~4|gDFT_p&=UY)cF*9(FxFh{_deLx*J*!DaC zxv&6q?-%^vLC+-fg0O`ohAqKv2BzLoxeWuKX+1+R&}Mqn zAE?sFF*YtPnlbxd9w-djA|wcf5Qjp4&|M{W#`s7T6TtS7&g8T*=G~hVC#9KZc0mo| zW|+#H`<7-db3FyEpT>O3*Mu*x6~1iTls6*y@(%}JZg}{zakH}VZL(uMV+_7Pv0?xm zTZTj7U{oOzLJU~b$%Ax;Dwm@AQ9SbO`b>1BbYL9ZY8#KWpQYDgq2d5bp zn=8}4;dUqAMA-;VAY-3&3Pof^M1mZjFJkG2@iI5?gLmks=5yw8p1s3`KeanF#%H z;QPmml~{*ZLRYsI8X^fyj!C+I-r`^(7~43Cj3k?a*bep^<&RdwacG(tpLbn{uVUs* zh22C`Pg4}xh#r>KIScB!0fwFzm020tyug_H5pVUStE`f;J+V|1;4xt**aZ`_gwk$K zB_{-=vCuF=9Eu`jE}|aBcN7n{D;x-_$p`de-*k_}#jza89dRS1SITC8&3NW9BUj!( zqC-Xd496#+G2x(BR^61`7*52NG1Uswx3ETPZ~sRMGI8Dv%N64;Vq!7*6cvanug-n(-$riavAA`_ygldu0CP~<-@#rBKCwrGbTsXKqyB`q#X!kJA)BigoRDy*VoJd)9d!Xky%>?W#pQ7?@l zMx3x0nOvv@VdKHvF;Px0{^3AEC!iwhL+%OkcKdiowU?MxSi;>HYCk<1k-U7q$c8)S zDQm}#lZb_I-p2=d7Z{j(70*myDuCN2O?fXm zRsZcy)jfZzc5haH_P&Nwwe`W9$BRR%9{dKq4%3646p zc+PC|$pL0=h;GR`)u|hs`~)sn9Xi)|k;SGg%d6?MUMabMSQPz;G&FkAULvs6l*Q}B zqMD;qktxNyd+HraL8Xwlf;`Zp5bw`?s~Rn;8B^=3YSm0cC)}>Zdx{BIU+AeQ3g}|# zD4~a9oSkI7ZcHg-%6dr1+nMAQkJuiS!?AA?R=$5y#+K!(Cr~ z60Fh_bz1?pr+RNpQl*FF(X_BKuC!?t33_mdOC_8H{83<3DXmVt(8F$a+jHbz%#TZF zLOTq*xB+}K+{we^RaXkVIIT%QG|7C>6Bd{lrvuUJ(-TP4z1`#oP;0;~fgx{G+s`!_ zHEI8U1x{v}5cp<2;bUFeS&9bfYPr;lz6S;fSQr?2sY@OMAWz(KZ$PZ&wqe%31%v>$ zM|K@?a2OTZ7!9>sW37p%#Zp=XiA%=2(lTJZ+v*c95xDy}Cq>huUnP`pn3-m7MzLSunP#C*2wIH;O49jU{)kTU#=67!js{D z40{?~ZeGXs(M8@mL_Dmbqc`#zG(GXz}^`e>Rx z4Y1;@)#KEW@7`mPy#E@j>+;NhdvP;sv~NRfLXA`=6II`b>0LGW2MyVE3e*kd1KUlf zt)&2UpB0NJrOGon#?LEr-_Uv^ZBQ)NN_k# z6<1QY8psZ8TZ=0Pt3<%#xXPI@i7Oy#F`I%ehj=5!e z5K3v#N1!<+s<|byxkKw*t5}vPCey0w0YayOi5kNc zQAITk@x&iR7Qat_aq9H%7fz!Ab8e}F^Jx5d%ud6gnNt%)!)9(BVn1-|(jg9ArcTQl zz_By|w)aI9If7Ifd*L)xUUkqEPEE^v;nbI)F0D=|L7iGcG%U`o(c^(}9<6@>P0XpK z0n3oRm}+5vS0|kzPSZ|uD3eA)Rp0_ZW>4gqg8i^ za>G8Unwx;_!4<__M!l{uXfjjPj8UM1%j9HrTI8afFtF6(hoh3DX;A|yXh#E_QsBxWE zUX{nPIE}wC2fdw9ulB9l+5^8A_{G|@KNOFe&=k4$Vt3;NjA0Nq{Pg(`NE=e&19`<_ z4zaaj@jr>)^k%Qb7)sWxm(~9sh4?cMKy!ldj7M{Sl;&aQNtDQX;TqVPxq)H1uVfyC zNu4QU&!Y!p(=oNHLF3A4%gR}6HKVM9Sm_FtclCO#Aqt?|?WA&x7?A4W*9O*;y&H)9hK0u28zjymWdqPbOqV)eC-5@1RmoBg&} zrEyxUnj_gv4Z|NPOmdcDOzB@%|EB?AS?QCF z?loX&Q!i;K;~0TFi5hlJ!T&gXI=ez|l}`1f_M!9xb~xeniV?V~W>mH5Mo3g>EY&NN z=dX1nSJN&knr1yh)FD43jHkF2Xq7`+>Tc(>VmY~*gjhL&>x@vGih>1-bI8#VWF@SB zfIu&)G)vslYf~|s4i#zIcw1^kMeV^D{oOIBL`X#?&RXdy)S^05b1vW;jsHYYYmTTJ z;{u8L*Kt?YH$(g>Mv#&gc#8X4+@f$eVDv^!hvHI7wM;b818Nnu&!fu*X1MhLk7rSx z=g?fLDKxU$qT1U&^62K9J;}G7>)xh+ixe4fRRRX2P*D-)DG1RixsAMIkh<`60Hp|c z$b^uCS859~G*+IN_<`7hVY4Ii9aL6L^qbQh%sEx3m8w(#F{84)Aus{^R*L@j?vO=< zI`R&yeTZaL4gt&v{A(ds^~Bj?rVw?DPZ6pyfbUP&jg!^3UVJ_N zW4t(C8owLA9dD0cjOR+wzzHT4AsVReN8dg8jnwu)YoFN}FD85VN8cn3{x|WX zpc5EVdr9L0Y^n?eN8t5YgAXvS0$V07M7cgY;{!3F3{ZH*@f;y+1h!8kZ0;n@27c|N zi62CrI=!R`ZgD&>k|yGSll%$-P$C1Rf>8ECbiNSr8gWLaC{0h^0p3V|2nl@T-`c_N z6x`95-?7HA)kEp zdVU(8yk=q)-tE4-^57op2 zAKs%C??=f8ygqb)SOGl6^*-tC;CGrp^M2C9gv39lCZ7mv;D;5Bnb|{F3%_&x_wYY} zi~xS8Lqwsl0D2AM+hc$9WTNtk7-#q~NLt-PY9wa17|PxSqzN%o@J5Sz=z9F$;DLNl zC~(^N+{X_e0oi`U6Nxzsdsp}&7BWUXQ2GczWIAH~M-6;`LFA9!3oG>|f#HSZqJiHB z{6nIF1yWu708fZ9fGr*T5p*B`Q5gOKeRzRF@!wUp^^4E=fo&ZFa@oWWG7jWmzrc_A zv70Zk+u2ZDVusRsIA)=akq^H{iV=Q@D`SIJ^-(`eRB-tqqdvp1>moJ&B@r0&lKu!k ziGPz^AwB?qm{Z6q;K>L7!B%#iAOleJ@Q>eh4-S0lV|86!QTBoVACoJHMhx-W!9P+D z-{T*m5yMOTBN}soga8wvsM{y_hs}jczMmk&+b2i^d5K%PPZKDA#U%Kr0p@MUOrU6T z{qaG`h&D9r56IR{DG7>5h?oQ(H_0_35tZLeV5^va|HzL|aDf9+fk$%vF&XS6P#%we z{2<-hKnSEGuv-tXT@SEB53ofKutyKDNe{3^53olIpO`+$o&WzRI~V>Yk7JF06_th) z++c!aa|xv75Fib064F3&ngaE)EnftZWlOSrsd_&9`9II>?z=MRP3oVuJG(pY-Y+wI znW3+L>LKeMMaAH;F86plQyl87(?c%q^Es2vlmRx?KQZH@jv|A{8dUm}=o#<4XV8!D zQp=zRfM18xYBqUf1qh}r!epI>b%w=1o__72w;=jWlqXpPVEI`H-_t5nT7kn6{m76T zf65EkDYZac7kVZ#15>Y_XiE;EY~a}5VcNleXb^xNQPhGV#zS>u?!SF>%hjb7zy91uRu@vr(`1Uj&fkDtX-k?FC zYm`MIfId+YJ1GIStvUJ>nKNdum{AC|ql;ZoJbHk$V;v_01~dIc5saZyjivcRYC1*r zsG8HG@Sup4fN3I8Po|3CK1CRv>GgQ1+k_$-@VbZDHYgbABBcOzq~}UdN2)-7Q%SBp zQ%X@5fzqfGG*e*v8J}P9Wh8I(LpbTKmFOqo2XYk9WK_b{5@iH{z&YeHSddcM0Zv4f z7TaAHMP#;2C!q<#1Xg6!)eeoN!Z5fLKieyc)Qv4SfQ+H1^py)#5i4^299oMaYw5ukHP?35J z;lrgrURpv0262dB0h5OigrX0p2g?tXTo2x-4%F)^%Jq`U^acAR-@6>@Km1&R((;rrYTsk{W?`C zPJ@Pp@RJ?=)3mI^hMrF#X;uBsnuuACbJMml_D$d#LnAtixDly;tH6u|7Y50zIRUCy ztpefeQRMmD(<})^t~^1MyM2y!^n4lG9C9i>HC6#kp*tVZm4ZlDKuGK& zVayPzYgWCt`apLypy9RAV^UtW6;2dX;5#4Z-~I=TM~CCf{lph(3uj#^%{19hT_;Jm6?P`fbPGYO3cKvE zBQXWQvKZNv7<`MX5#B}h2m6w#Ex4FKD^&?U6S)q5cE+!)Gi#Gn+lj;Rq~tf}F~fMt z5w{a-Lw>9(o=0(|^rd57?2o2W?Z}D+atVgarecJIG}>m%H#i~pUbrE;<1{kL^&=Rm zBl@>>88OY%k9W#TKLHA@Bt@LakCPgcsm@Snf4L-OollN24K-07BV>N{N zF9xL9uyF3`IS$O2U+lw=B|Ao;7&47RvtvRtTc%@97&E_nhd0ywY4$9>^eiFnESFkL zT9jKQhAA_51_uUvrhdz9NM;0hv=ntn3~(ubW4O*-q8PJOgjcd==;o1|D`b{xz>Q&! zPOGq)I;~N8kv7MZ>JB=ejwotB)|;rx5>M)5iAJ2K9-7{4nh8{0i4Pp8$L7VRT5IMZ zbp)=^be7vhd|@z$?xZk?BnFE}NbZ!0QaB|GuPHxo-;%go-5d_rSm693?|72e<^3lpZH99q>No` zOMzq~pMie%{Ha&aj_)=isX~mDmsn;YNa(&5J9-k(oyN{S6uXoyTBHIf(EBVABAmIP z2#eD(xwtor!kr5|*>?jMPj(yNBsAxLXos0Hq{k%C%e-bx!WM;2C8>f&mwH&-IoL*5 z-vP5XCoUltLz_XmCfd;*QgZ-Xhr{PjAqH6_cpalnA`3WSCS$Q02{>j$R3%aqS$x3s z5Iy!j&Y{?hK<;fqKZbA$QLL^aOx@Cpn02H{{i^+RHsqR1J;@Y>kz8brHnI$V;t{Ki z?k_6~WZU(rCUlh@BENk57@AvDvQ}d1bxi(hJFVKuS*8Q)ZMb9a(#>c!BOWsS+BATSSR+?!_zgJb5|_ZmXoPFH;vzRUP`)i$Sd71j*%NR=9-B#{HS#{NeppxfEd#3&_P1E4Jc;H%Z$AP zF$H>Gp=rat+V{3&5uHjiU8)Y4162p>6*qr4fyJTuj7I@1L`Uz5RgdU<ue^;XB-K6P1t#(ppenx2U~n%51* zMxD+)CAg3cOXe8O=`^I6S?Csq7VJ4UMPd-8am*^}9jjC|dVi@6!89eS3Opscn9fIN zF;2TedMu%4GQch8Im}6a#Rj3;g0ZIda%BAJJf{^CLzny(xi@}(tGUd zxL;57p=V>twlK?75xUbKnMs>lOh^{@qp1KY7@B|zQKt*Rlq!~lesvJDbTn6mXblk! zaC|yq<=|B&T|q=cnR__nXCWY7k9(EKtFDH=6IL(E`E*Kuq^xyFnmqH!--S(5QB^b1 zuRQ%JN}h0ZQvdP8y+#6+8=cE(n)ftxUEL|iL9<@yZWqhe@r6f=2$wS4wMN8_VQOqS zt9iqAYJ((81px1W?ELeBYEjX=Mq;!Td#MZrSHv|)bCj?c)5YWeT`w<*VsL~`BQaY z1IaFNU*o58Ut{;|;ZGml*GSS3lKfvuM`+Yl-Js=vKYxgT{k4a_I~rnvEv7ic%4e~` zllrrV`sx!j&se+r(S_2hZ!P+&;$+Jg`mpnht1Ki13*t8@yri35R@~yEiv7BM=~;h% z%$^boM&njI0ZWb$LE^!h0s^l6=2sPTN-nkNhRPT;wJ{hK>2HzK>Vk!K*SUN6v-0-}*`G9%|`RSiWVKFV*=8 zzws*hIj>Qd;-RrnL)a*-QO1Wv)FTmnjZyWVXjS<)LR4Fatz~b-SVj4E5{G}o7pNbi zTySlTwCmxtLX)+1bN`AI(yZZHGDSTdaQpaw(Sxl=R-uIJR^{fp@gpX_q|In(PNmx~a8 zI2Y2%W?QePr*GeUJ^-0-`ILa;3vEIzc4wE1zE`w2pDXhIV6IZ>18R2f^Q zy9nabPHW_oJWTd1;DMEOhKAJrf!ZQ}m5l}3u`al?`+7KeyOpW z3rYMl4Vd#pG9^lo&Nwim^wbbs{hB25U6D{#>l6O?J-at&x9VGV+qKNS$<0}#)Pi(l zB3f{h{op8uyp;{L4)rX*(}Ns&!jf$C;k`)-Eks#;UcPpo=48d;wGgf(KA;j%lU9~;TOD4o2-K=%iR7#1 z&D5MF7sQMDxK|v{ojxWdDijtkDJiy6VXN-O3&q*a<=2A{0Qa@h_%>vNgi`D8<1RXy zyfKRsaO;S+O6+n;yJ+@)8BZC1xo%53y59PK*Jxbo=o+G!iYgQXvgj_?zWfrjKOvy$ z+MlG9_e&dc>4SfQ^}9dHuwuHwRH7oUS$pq){g(_OE#52?Y6A@jgzJgX$JDAduT!jU z<_01tU5g7^A*5Eip6LE`%1PD`_xi@aq*1I*;frRsD@l~cFaKGhYfGQ3^GUdjC3sJ6V?C+jKv=H1f0Nb_QeBd`KnMU4{iWijQcl>Z$iD&%aMb@=19HC+`1N)*Ju9 z5c&KKe>^>VeeL#jj&9ftna!o#rwKj}9fn_{dGp^(0jDJZB>{E7PbJ_!0UDkUpIqUg z9ygk2q{eYu3OJ`S25+U}xux?Zm0T!{to21oMI3W(TK~4R0E)hR^t-o^kXI(9rn_Dt zCD@t#n1Yn;kLwA4Do-~COFB1lt$(Nuxv&|({~faHvwnGr(9c>LYeiDEfcTH5^tN=E zioL%Y^#_qAdB)HghLL*li+Q7mNNwb!?QuIu?^vz^gAv#`){9k*%A zQpTkWHZx^ja*D;#JclUf=@A*%19e|Q=JqzvE;wq~)>{lcu;4PhFEuJ`!c~Nwo!cBn z=!|-2r<);f%;ST>%I-8j zq3ErGo+@yE{f8G4m;_>ikI9##KqE`5#I*^Env&{&=Q-ubADd~bH@_f-orjywB1y5hy; z2FPY0hVISpBNuGW{-rJU5oITfd*;c`9@!=d*|Ma6832RF2r?D5-fh^lMLOiwiE@?z znsP0}9&>giW#Vud_7NA~*+(1!Dapit;1aM4NZB) z{LUVWZFlf}wu<3O_IW0PAoNp0DIFI-(sJQ3P9iXLgH1mvyqKTJAby$lAby#? z=f*j?O$S`!prS`slE5wjv!ZU0g?0lD$M_MCO!RhP^00#4`012KM**De7&r|;Z*XMl z7^JTf+8PKMJFL^>%_p{H>dqAgcdE93rIYZO$`#W5z{t#Xdnefj(>9-BAMg$%?C?LJ z8IP^i1poaWO@E9OOWu}vIy+|a;nT3WdJr~eVf#9b$E25GQX$9t6W)y39MHKE&=W8{ zNj@Gp#~vLvd44kJ>1_+rD-S0s^hm|C$AMg@!{jZ1`~3+ZcLE}S*A~a4`N7_QC6SKi z!?2FRk{S2k_!dL2WRAH@hRM?w414TTK1_L&BV;t{Agus+^N1NlOb{{UGf`Zah8;R_ z=)|F?J0y%Le`wrrxK(9`<%Y5yZcM~??Y=*3AQr*|sZIP2~$OOOWk>&;-g77e$pV2#$ zDFnb|sPNa}V21|hFhcjkj zCYZB{N^>?*-JWY$oontksdCQU*d3dp1;r$R%uAb0XSTw{)5}C7*pm4}+=)B`!xqT-;^7-xni{#&t6M)V;{*|kD@*_X*cCq*oFL`)3#p0)A zNbwzszvC8Py1Q^GBW@Uwvc%^YBqhP&PanXf6X*@2!0_KqcPj&bmwe@yWXhZ1@Q<68 z2E!*pb$Jm$+f(B!~?M?3cAkwC_ z*t6uGh5IOf0FZq0Cji+eeFP9bFazNu-oXG$C$pcy@C}d9orR3L&hDJMT0Qv!OnXpk z0MkJ)f~M0R6dFK(6PEl$jq2^kTx)WFbiT`wU@5^56F)|@VCWT0`nVk9`C(YYY$xAj zkEZVfI8y1j<#J66VC_BCqP5-E zYNTqzf_9L36vP9!9AvY+3xnAe;wiGxhil>rt7M)vX5Ar6wgQ%RuJ!Wl+f}Q|+Tw-ZlhNV@V@n{n`#v^u&#{?)AjmKzQqbGo? zNzv-Ia7CysO-s4g^?5a+>Etj2Txw@|8y<+jz?hFrEnua)$lAxj8uB<33KBr?Am^iu z#&ZdOh!xw=5%ZCEA7ojt8~{&%sS8a8^HJ&2-kCf;RNq6PTAJSomqoZNO(Aqp&1deXp7fFxlb*xeZ#@MjOJU*$m9GF4 zU_em{Fb88G`*^|<^O(K@2poVMl)eJUK53dumbeTPpuXis{e{i?C7WD^%^05SqH@}Q zRij<<0*wq=5@LbE??9`9Pr7vzjl0>wzac;%m^L%YkVM;T=1KFWEk7~<)c#ml*=GRv zfW>Ab*U6;DL%ltHn{1;B*4N1{e)?Yal?Xg!ZSe#=CTv^D4#BRhm&_C2J~6RUK8qR3lZ{%O^{JU#Rp= zRaBp+lGf=|C8|nVWi!f>v6|%gkdBn8`=*0rI0H^E!wJY8q;e%Vb&%r7P;`*uD3G&O z90{r;Z=zm`IXXyj6sS&y<_xHGkjh!*w**87$#4d$S}8H+4$`=)IxO{BrI|ZORZCTM zR0WF;($quKN=pTl2+Nw9VA>$awtE_oh1S8AO+5V(kpNRQU|GB z362iZI5Ol8(l`pFtTm1V)sZ(*FU9N*(l`oKCv%XK$sMG2R{1Rf?jQxuKvgRx#?(P7 zS5=3lKC3iS2dQhRs*b8)?jTh?G_AB$;JPZR&vOTbhwvs*1P%Wa*3OAoUEgT+%w7szg;ut8C^D z5-wZ81%)kl<`Od$e!;?jB`EuunM+XmBG|eN1zzxm8A^U;6EhTFREbn^S5ao%;2Lca zTX2uI&( z`FUHo%$Cap4mQ>nUj-wJmCni%1g~ev$7Tr%Kb@f2N-lq_9U@y1v)NzUI(12aeS%*G zfVH&=2Oj%lwuF;^dCmmMtFTrDL||3JToo|+>MSk+`D;$)5}=HxbGZa09G%c5KsZuq z>IzMeY7VFueLFG0VJm{*gu~Y7u_F++{L`KQKw*-By+IJRkz$L0-3GJIVQ04xf{~u* zbGrc2H^E(po!x<=&Bd^jKfE=zIqtCSA0sGjKZc$B13&G5M;bCeo}mP?0&kw$a{J^y zkI+j!^w$OK4WUEZ0@Q1#F+7QX{p}P|Iie!#&yy>CU&2!R)G;KN zK~Dbr{qBY-hXRvl!yDbkUvT#CbvKH?;OyV+HU5GN{zkXK2QKmV8h^prpN6Qjl$=#) zow4MsLhI}$XB~5u$>glRt+JY&b-GoClhdJfhU?tcS*`O~XR^*=oxM75b;jyk)mgfd zpSoFp8)p?-XRL1DaMszYTRBBlWwLJTgj{8{Zt;{*mEo%05uMTGxHw8k&TVm&ket)v zXktsbERN=zl*8g^(n+~1jtHq5xHw8kleemk?P&5=wQ@vI@>aETpq0E;EgeypywzKN zanWz4t7+$4gzDOqm}H%Ekl?_V$9HyY+uX5j?AW$#8yOorwzXqhJKC{#Y}@wD@BX-} ztE=jyl2r22>7=VWufP3y7*IvVBYo=l~2RB|BHHW2MC)6K< z4Npn@ON~w}WvnbxbHo`q_7EN{?U{d>HcWuWS&jO{Rjm3!uA|sk+N6arQ$1te8!Z8X z^sSWaPWgr&&%|p=XOv!Ys9|2QD?}sadU+#qI5t0Qy5B}36yHFp@uVMM2;)mb1V;EH zE|;=1YM31Qwygv6a^TqVzk+w`eKCZ=)$3P1$aDRIAS{Lhql%0N&TvzB>yo%C^R|I_ z8FLzmS6kG%_RJr!o~O+uw8Qrz$VdDBmPl|p>GFoj-x`XR4dvK)Ql`J!bk3o1A+ryr zkOz|F#s-wwB?ifn!>)J;nX}L?lOJ-VYl(YtF`pnL{10F8oCI?dP4t}-e3Q%es-_a% zLEC2%FQMI!-N;-o)@pdT4-+DLy$ykEp~$#RMMF-f4g968Vi4*m8>pm8gAHmpua5efds}PQEF7!*V+& z$#$>%SAT-di$`|S@NZVGyK|(jb^7YLiMLiqIr|bJWH9SAKl3&lMNSa$IFtgO>WG_G z9rVWkme{;vew>2|k_ZpxKNL=(Qbeo&phuT-@ZU7Q zKhcVi|C&NcqSfn8f`VyGB`%;eK$RoI9%uI;e+6F|`&D3BKkE-p%pi4fZ<)`W)iUPg z*)pEZCSrgoUht_xk21B7Q13cx`?yO|rZQ4$)J{$2|jhtt#(Ru~Qyy?!Q7~ga2 z7@p)&!)9`0eSaZ(HCeM1Gh1Z|DTY@N!6u~i{Z^zflA3^h8n2FBxp#v`$Fn9jC{>Nd z9TAaj9;OrSMsCu2<6e#}2P>q9Xyk1fm?q(JkH%=v-A02u%r8E8I_zf?It&VnnJKU? zdwGo&ex7$x^5_9K999JobZszch0*||=A8CK#TuwfPdHowD^D}xbwOwf*SCHOg4>7O zQfVL@A9|lKSr5gtjYhx9f<}Z4GL+y}9=ptfS+vtw*(eYd7|BJXlfHcm75yPB2}VSC z$s#1!l?o=M$xI_<*tmPK(K^M;PUhdM&H_RxfWw z>#s8bO%o7fU-tGVCgjuO)9ovij%t`{QHZXphWjy(j_cB_duztuQRs!q;^}ra=Zrz@ zi2rQv+h^N(diJsD>FE^whDbEWVOD(dhjt7SK;vCd2%JBfV2LML)pb3S6+yW(-%gq) zg2!nGzhxGxU>j9!npJZ>a#MbN3fQ; zWSX?ga<5b5+a)TsNS3b_&D)}!vX|Xw{PR*x|60jfbx}0wC2G}3RxK7mMCkmXXo~qy zVpDtn&R%BA`v20`LH07>Yq3?MTPSK?{y)jBRPtOdaV49giAUDTy&Pe-2!cWH%jAFd zGX8!2>aW`>b*vV-xffz&jYW;}`OPAb$x;t1o8IN^2My65MGK||CxIAVuWk=AJ8|%! z=0M4JZ!LDw719Jf@+Dq`M$2NmD~Jwh03yn(o?$|VJX5n6VfDEqzC}?$Z;iLMn7Ww! z-~T>qnxOa4+h;0BQbp~G6y{iA7I%{Gm|Z#NvLW>byywCeTNiu0Z-C5L`7b`4Q3euf z9Q`umwzv!w(qJ4`79oiuUZgM+<#*qjsp6>^_4HYnP(euowxeXw&tXK2P+TGb%8-+uYKYszMuQ^y2vmS6mti=H#>)o-AbqNZS{mV z`{n9eA7Qcma%u0`@>=c4F61~5`{jy@R5H~ltqd^MntW`JUB&!P zXRKn@;=KK4oB+tTZIjZg_tJP(n5rtJ|Xz8U*%$IZ6HhP{og)wWsQ#!hswUoLmr z&k-g9=^rVnhK$Ilz_{Jv?EhZyKW6@8<-c=-kNBM0X6QV3fS>7ZyV2meSt3C3`E}#x z)MNXR9vMLT<10@$40D?aK>GTmH|v6-@TQH+hP~Uy=5c4wswW_CjcbJ)=iv}GlUUaa zZ_Y|5*Z$`9wzsk8PPoq40zA7u-#^)2b;P;M!~12vU0ijHUFt!y)(VnD6A44r_Wb1% zi1C5X9^+)p2BD7^0srio^)`d5cRKN27aE#-G183q}%;+gpHQ{`0R zH>h|c)@*K`?h0QT8Z>9aT;4xgqC4DO<{sQs1JJR)CZE~Zkbj}SS5Py>b?lRLT!Te4 z#IBRfr_C|y8Fc$PBM+Dcx>=2mabDmem}iAQwpQ+^r8e7Qak9SgpX#(!zr+UKu`55= zymdS4rgj4}$_}~-S)RC5+6jd<+9q%wXH}BrZ})sAZKEdI&tAW8+6V-i&lR{pYhew8 z*$l)fD}|PrHo;Kh0 z_&({sy%Nd)zMhE9)#J0g+Na!1`i0ZDv&_y}MBS_-MoCF~LTlHcD-$piQQ=daf5$H;^m`4gzQ4N`$kJ-{^SPdTl&5*bsLxG7 zV=#vwL##4*HlsU$+EyS;Tzw9>%R>V0wnBf>b|u%{tL-qvH(@)_RkL*Ri$w3ltkwXZ zezBcHFEj)2hjEdNa+=cmQaFd1*)$|#nUy|DBtO?scQ`i-96iCyopg!WiH>_d4zA7% zCRa~O-@hWR#_hSw`#tVGwj^R27rO4xCoih=^yqZDBGgdqe_xF7X>P@@E2-ah2}bV7 zilsIBpxyZ?F*-Q_ty2^IJ)ym5BbhO)kHZZ*Y`_6CZHz%J63&; zoh_f&>hJE2m%Yc&cc6t}W*G6;IorEUxJ3=IQ;Iag+wuJ=;q#7=x0zL)>0))q1b@fM zLB%!jSP!o$Z5nSC`fFW4BJgY(qafFMWXd-p{Uj`{tiK`iM{*j~&#aKNvP2TV?Bwcf zd&Fucy+)+n6a_I0%;2FoO2B$(s{KKP+AP6Er^t|E{Taj5QZe&rp~dQ<$QTgc`IU%e zUMdMne>{dXUJ@egqGWP zl!Ot#^Z{CP@XrN$hD-dhEjTV97lWa~hh$8x+lG%z!EpGa&cw7=shNc4jZBjgOfih> zq&9nRBD2691(x*A z#4C2K-f+@J=;CpTX`_As{vvDAEE>(Les3|I59^ad%Mggo(8CvQYY5pZ# z0nuXlqF2xa2y^++UFGC6?*W0BAD4ue7xf|Zy$vb5Z^1WCIR=kFFAHMWkE3E7+fP^d z5N}Ub{@t>m{RNa`eZ5h{eS(hi;~(J`MOX>Z+S2rLeLjg*k{Qo!@g}@9C{O}ujblh+ zH~JfB87A8itJW9{-Aa?cRp2a46MRLTd+T+sH!H8cdA3vtBu483VOi@H39T&PNeafr z&%TvMP#$lzi43Q}wvPARt2l?Az^XMR;WILglOaC%1d{Ogv9s)COtkBOxkxSCh6mEI zrcnh_CRS^$U#;>fSA{Kr#wY5ISl1SsXE{bAg>7U6*O!}m9niafnn-rcoCxNCJwm!MfNaar$Jt^#);E}! zo~qMAZA+x;Pgvde%iQ(160HD5Z#`Y8Yr)~*G;*{BCb3tc=MQ?ph1H9W?>Qu%<+P~%U6<#IxFWCGB$M6V(~jhe8PQ!)Dh zS0^jJmJDG)&v+nmqNs(hO=F5cbFnCO<$kmnIj@bF$)c{FF}}mt5`0x#Alo8@OtU@G z{D*uo1(F99y=>^ImVBp#DdI*dN%I1UjgUaM21DB%oM{O`76}&ac8`Rz1PmDx1*di- zkw^dZTi)2>o)H!A{SKw}E|#6Q@F9{%dyWOnWc=b+q>k-K(3HO?N+GASb1Vk!_ExUC z-1I21kIFLsZ4^k2KDQZ5+pdk2JX}2)kGy)rbz8p@xud~O5F#6|LVRwDT!`bHtA&-n z9gUX#<|s{*&K+qbxqKrf+l?NH+*gVr4v+Y?yR( zs;O!hXw_K5fgBr78wPJT%~nogsB76TaPTSfQ0S$GGjU39&Wm&09(p%~Sw9I8H>N%w zr1Z1!bCYPL9-Xm%KUP$!nEz(s-dhW$?Os`TDwaNiR)?S*m4RvwXDbhrCDSa6uPv`Q z&^H(#u0_R$mg`Ep`~!LTWLs#vU_v6jK1cKbfI<)MrN)<`*mJL{a>=q z@JsfOJliN{(%ZtzF2O6iHg)+8L8c&ZLIJ-(VkY1-6_4oWa_#ZAA$(muKOBtVfMUzf zBTW4>DL}1TlI*MNR~gptjXVO3t10wxJ%Jb8^Blm+=Zs_vdJDJ~W10s>+4p-53thGX z9na`5o$KURTx&cv*-3|`gt?I82-1^Bj|_Tze)n&Kk5t~Q6BQ*$Blk|td`cV=dLX7Z zf)2k4%)D#$i=Haj8|ASLkO%QB{T@#S^>d5KDk^y`w+`hS-gg^nKuzYoKTcBpaZAR_ z2;UiFUB#5bae#VA>^HyJt-ymO??Q@Z98(5#34%Gf%?$U5IkFT!F>+J-!S3=Z1Hn$axU7&~emuA8omj zup-&0&QIUGfT$?R(_ksl^S+mi#Ug)0U6{x#z0^rADlZ|L2(TvxqZA!+B_7Ov%mn{# zLG0|Lnm>hxnz;MIt0%B!Fcd3iymtC=6S2DUZ0QkZS};cCapp6{RuoX^0cZYgID<-{;D zKsf~@GPg@=KS!KTQy1E#aGtx?Eb-{gAik_$G^4o6O#(SemJcI}+jmc5do~P~8RfXV z95td%4s`{6=(|5@3_TSb~vL(BVXl-Cv04)&1 zozS0|js6nle6dl;izCekLnp98q`emcvK44_*3S)S40>AXh$ld%8`LTx;0Y=tHcjdsP*Mu|(aMG=*d>e&eRMQcAzD{es*z)DN?suBEqOA~&!_#s?^0vI-UdS?>p;!5{ik0tspD#C2iLuY+)a*GS1 zB!v`Xqk0YPv}!f_3=Q*Emh12EU0nNQ!_rbs)pf-fvDAR(KdwEIX7|>KP9*#j;cw(d zk`bIK;6Fp!e>lb|9`B3kE39hK&J4Ab3Z<8)VEcQDl41}KosJgJxW;_rcAiE{f(ag$ zO)@)=zipTn`H>ah=XFARr+HeW6=$fY_Cxt@X`!r=j1&RBzuryuugOwJxK(EV`F3}P zR=Z#^Ycw6e71N+!@pg<{Pk|6Yi6LZPJFo?3t9oimZyLL{O28JRPmt06@4KF!agdg8 zMY>rssvJ9th;8e$m1Pss&e3QvK~$Y{IY@1R`%fWWcx$%B=1^JrDV&qLi*&}N7wzzf z-=hj?W<(q{rHBWlG0t^AtmCrgIe#t;tEsA>e$(y&sEgW-nsgXj|6!cq!^S7~_Y4AKE*v)k03YyB^HS zg|=LE7PYI_U(Qx=UYxTo!-{iRd4?jWw+O_69YY^SVgB^rTipr5eBOkj zpZ7hY4&vp{B}tBWsT^eOKsAQ~dn7&iw3?8J-Qfc+_|_{H)NC zf#Qbn;d>9dC|6umzI?F0$bRW(b4&2miD_Fo5Djy;x&6>-_Kce%_~?AeyEi5+-pKm^ zPOcMsy5AnI$LyPPx_oY)Ad?U|c7JcM18@CNsbl8Xp0FD2;B7w@NrAmRKkUp4^82o} z6_1DAu^$Y6K7UPf>gjrPX_838rh0(4T?T2K;c5#q(&k>mOj{DZ-F>ezj!^}gfLY&a z{$g3n#%z-b2}N(uO)V|cqBd^&$0KZjT$uqeHTFkP8@=z~$>2SKW3xw|P_{@3i`_&1 z!5YkVuBWxSqH{B=n0efVGjX_xl*}yux(6Xu?~TD>42Ku0T~)r|FkP{nV2&^-O3R2( zhYWbZ{+LA!)TGFlwERKYb~RiXulXAegwQ5TpBX3MB*b?FoUz{TZu z0|maMJUP?2JM4=UgoFZd+B%zj-uDwxt%kSnyO%j#Z`;?Xg9Z?oe9~r-v*0C5XwK&% z_ilgr#qY9vl$-N?b>$O2iq~{kIm(gjOE_^VqPUun1OCnlkFE31hqoi<4(N7&H0?X5 z184Yz2x*>~bJ1g6yDv6oSK7d&nN^oF;XL;uvwMj(zN5X-v(XItx}(0|^Zu!PO}_u* z8Ov&Jk>^gXht7=eM=z2sMGY<@0qw$Pqgk>acdWOwpFQwC@yx&IlYyH2_ZCsz?2P7z z^@NYM*oa?_kiNj%;wp`^g)`LMLE>QMV$`W?^ABlgIvQgA1+M3rg$O{>ab9ux?BD@% z%uY$)qnJp&Bv5rsNI7W{(ay&yCP6QIw4#Y}f^4U>lRCei@lH!msPdt9u1}5J`E;)M zC;tQAoZ9XFkOHC4hqy|Exb0rku7>rHVmz>hM{M0 z>n}EWZKT&}GJ(cm=R(u8-REZTICk!$@*X>pc)>BWd38Du9lQnPL3vwBUkc7i&5yOv zerIZ^F+)a-TklpSC!j z?_*Z9vrDHn2=kt^m2_`U5-L#mA@g?R3mf34WE`(r3OgDRc5OJuZ&46IbA3bcDqkZj|Vas7VZO&Uh<)_gr7=08>f@p*80+D{7|_qL}&2CIo0c( z7DCu(EcANKM4g~T{ruKKGxtJhy47%pQsmN2HU8aJBBVgZ54!C$YbVFVkON291p3-* zS`$;wF!-S6M7u8=#v(qO1|5x^owHT*KGL+%F- z0jw1)3?4$fPX|svrg4uQbg8h0pf=JHn@MR5dL#Icm{x%rF)qd?&*e~mG-Hfu3^-fv zdaq`KKfpx+e(Zb$IHc~c%1k;at)b6S@~rDSN$o47;GSk8B0xFlSeIs$=>|)ab=BeT zE*Ji_eT5=Ii)s?kNPOks6Q`_5{lQ>sakMqxx(pqiHqmEp7;r-2+2JT8IL-#+!o^FuTOL${A@^#camR2d{tqx&3}-4C9oj**i-u{nAC-?n2vL8 zh$HMq7k9Gw!j(@qrdJ46^Esb9@|uT0_2Tb-zy0b}?6|A%dg!dfsD70g&xw`SXBl|F zE3fx^EC1sm1}i&0mO?5W7HIip5na|L&|?X`IAS%9AkbovpB16%$|iiqZDml`+MIXp zHStme9#kQ+hUfqN(;9ZRO-0Ny-u4)s8!n58ap#hbQ-%$&hUQNz$NroNbR1T>Om>#qEX*S9U^p4Ma#6L*v&ZVQ!l*znzo?W=Mn7ve6gsWqm#c#y6GfxGYI z|6ZH(ipKb8yQ(Z2t|zHv123+UCE61|}qWh3Tw#Me4&!c_DXGwpx z|A)Za9R^GkYM{^Vedi)ry_xF0wT5i^?a_PZarpBl$Ai9A-FS07F&Kw`4b_);WAxP< zWw^H2{eF9WWE#%o8}Nne?X}Z>xqa&bQIMO@zXseSog3wed)5;L zRgnBRE+TsvsS{V*E@k{P2zgG|q3I9Js-iFWBrOV;O*fIx?+{5?@Njd$j>|@rWse0V z^$I{D`lAas>~SU1S5z6I58i(om7@M|I@q(6jzG~C7g z&}nVF0<(PSL(TTfn&zh`z;~W#r;LMnd~tqZ#&>Ge;Jk9az0j9UVxeggSDtH#iQ4H) zgoKsG9kFduhNP()u=sFt1ZUaz7e z{bPT%rAw&{kHLd2Dd_3gZr+-4$dT6Wu4Tuk)I~u|f*^q;&1ZT*4`Y7hbbdDd&rwKx z3#H~$LhO!Sna;WE!cR?l(tY!k`0J~J$Q&PL=eSWJkOMLb>SLmEDr$jt1X6v0cDkvG z`owZ7D(lcSKmr#rk?r=uGMTyGa-!03u_^EYE`|dT-F?2nL`_G7B#qSadymZ-hN&+ZqvrY>t+TQo01L!*Pa# zR_`J%7Xx)JfnJMG$vJToW0;!8o=Z|b!)AN@s@0(L4B?M!n?`43d0Dw4SjWwLuz`d1 z-^fh`K*Mk4ZhleolY@iCV82J%3piUHhhgGY(1Fmr-Z|;FYcpYn`;i zPw)gd&UoMO+2v>w5#n{dg3Z1qE_ls-c@qG16C;KgEVQC@kI!@9UEn)P6oL<5`}?ZZ zv!rDWPxmk30(mWPhH^@=rAR0C5AgFzCNm=^uq=HW)}5+i%M$QPtaK{P&@xyTFX)mA|n z$bWBSj6Mv!Liyj_B?$=Dbm?^~cZ9dU9CA++e+yYN5kOXyDC4|Ygk`<%z6eGA`l??- zd^Aic7dCM1Wz0vDwcc~dgTy2!)_7ZCBC&CV7v;S(hQlAMf zY*nX*sbw2er9uBg_u03D1Ww|o)O(P0{{Z#o(z|)3H>L!QtNAI(;EdWJO)UNf=w4we zRMGL8p?&ey+)T}kzISoBOin=L?HpS5{(GSj?@PXC1igj$k)PN(G8&8p|&EORnapwyPWoCRj7@G1z?(0`5SzUjG8E-C=<_&9g|1!n$r%rnHO6a4Gp7e{w_z9ucC!mTWe=yx zj|Lc|Y9>cpxjYrQ*HI#F3tajxxqA4lHq<>zqvd~L7GtuUMZOUr0ev;UGtBPaTpDg+ zK8WwuPCiJ$sEUXt!bXTGHq~%o&r_tes|B)<@3a1#)Vd^l3{z$a=ct)RX|CA(h0Q$T zxD1MxtcCKkbXXlIDEz*;Z43!uB+mbM|^S-$e6~Dyy*ztcuRAWdj9m zB=d;Fj57h(?8Q!Pio9pP&8?D!n-!ghY>B+Jze4N{hy}+xR)3RYjyU1=Atv& zafp+VZ}d+to_~fZxI9}VaA#l4Zq=ep`==TqOUY%B>D@}uZI z7H_mIgJjp)C3JlxM8iVk4>L1L#^b_MKf5ULbj1zK4g?t)An}7feB@1|tt0*QSjJYlPL_&W(PF z-RpYjpl@Jj$czscp11H_FQbs1M`$(^*Y7F9GFP5{=zY`r%<2MO-`ZpoSb7bOO-^y3rAVz9Kf=FT&&G`tqJ@U~fz zDt&JtW0BtBEH3d#mtn(76!UyZXxrHSqu_l{*Z#T{zvpz`6XE+KjfnI-<~iQbAUZAM zyQ45uj~3%TIhz7wNV!9gr4FvMXlMBgN-4b#7T&Jd7!%oVlI_!Z{Re|x4VKAOCIvY! zeBJxA%ua{maj#O$+?GQDR?NxO@^$oYUMIzXzON#Ay^iN_wKl^h)*?0o$FxRR24?JBGj=~7c&$m=thrMAh8O%`L)ecJCR+Z z6-BMM0Srk!1tIp*9;|#HmjJZkL;hRMNVOp)<2tV9JuD^_6*?t!95xt^!(b3}2uB5w z-E3%+b(cS)@75uzPe~ctr?Ei=f0GAcqXMH+tEs4{R^P;B7leLwXQk@hgg>&r;q+Tx zeKLraE^!raPQ)Z($vz1)2zTEZ3x*ke%r5CHv8Z$1gk{+9;t@LXfHQYGPkevy6yxHC zS2NaSVN~I#iJH7uMTYgAk|UlPiQOMSx_LgqAHJY2subot@Lqnk<-UjeiHPH<9^Pt- zOP;g1Um`77p)SCv6NUL8#U7bRlBXumcq={Rd+0Q^>uH#V6yD=Q)=0=HTwOIoC){yl z!K-({gGPS>#NB)r`?`l)jM=y+G|nSWVIUJu=z93lLqY1k1hJXUq^)F$*t;*l@Ujlx zFh?Pz9gF%(`=MrK!D1PC|5C}zpe+i9K5iC{=sdm{y^S<$c0eSVwtlM(DI;NDrNTg< zT2jt}S9)*5*^|*)BeDuFc971#95)Ike_LMWd&>TjL-WR=e#b$x{9RMUCV?JgmBdGc zyIsj^(IkLnWMsvuSxXxBGn-DT$kJ-m?StOe_ z2l%azQFMMho0b_u{vhTcOmNcaV~%YeeWS$pUtrd#E6|WqD#W)-PL;qtiSz+d-)jlG zR@k=MKa|J@la8+8a#W#?C(KnQ9vT5)x(;V=|6DwPg4^QO7+PKW^eu%i$}juAh`nxP z+BPBBu3^l?8zeO-9z{v#R1<<5VyHKVNg8sY;-hUi}W<=pMjEGcvk4+YoV5b18wiUfIejXwz$>4!)}dDcrC;qROyX( zz1b-ULLfyq8cXeaBy#iFYmTfhGk64HA7)q zeB2J-W%qhQ5)pbfyJt3AK101QxT>YWQov`-+X$=PpqL>1y_oz_cyrA3X)CSjRZA?K zUxoG2mM`1Kp!L}3FNsKbbkim2cPjdAabYk_&*YB)9Uou<1FqL^-!*H$h0#LK&HkGV zF39UU!mBzWR_EB~v_IYF4_rnQ%uip4%0yhoDNdtKIk-4tB~#bxBtLWGyR=JjhI(=f zY%wuE`xG_QB=-fCMM>mPx2|;U8XPUPQx5IQKcSLHp${!)UpoAy8J&^Xkq9j;!QMAP z5@w%J3k%@uIqgIu+;P38&>EJ}HP-mYytx~F6JpNXyuSMHmU@5Ias(*R`7+fF6!LNJUrffLk zcV8=bzm<7!hzH3U)nPLZF+33_+By5XzmcA~2*d#FK?wS7LB*pCllc0Ps?xX;hgcf; z&y@D#iy#ZyWnB$6xWM5MJ5A8KmlBs5DWaS;#oc{nI}9=uorofo^tl?CQlwxs9SNmL z+605G_ZghJ0)nfX#N~dCIR~O0vp8{`3_j4jHt&bKewgdDiJaUfe=%mQ=+P+(tlhZG zM?JvKiAcFY%BOJ?iFS}mMb-0qfIW~~U<*G!E@y3gE49Jw4}*t~4p>)ZVnA*x5@gN> z+Tgb)vytg?4@gr{g0%97SW!>0f3e>k%D|HoqGUvQrtKlqHL{>GwK?}md>jk(0$^bz zTNg>mihJw|<#7^g)@O6GHf`uRg~}GGunGVI$C@2M<{qTz^X%Mt!>3Umj9Krpm5$~k z4O&rf!0(oYPEpPgyWf09Zsy$!-mrkA&BZ{IHbJNw#-*(tXLqAvI98-(K1by+(VXJt zmyD=t9|Za6J2TxUlmM>c2*?+V@NGChyV5B_+t?qGL02F@`xjszPsgrT$d=prF=^#!4 zWU#^*qF5~}M?16Oxh=ndduXe)CAoROSgj?i-PEC|w6CCCo*5C1531yBIibO1BB2?EDoHGod}6W?j`I=$#K0XoZQpHufH>mk`eM5L*#(*V@8E%Qc1g%rq8VUQXn8Ec zH<-~t`jw?fKpQ=qb?JIgVQ+LI5hEvRuTY+{$UYtMBvmjnGy?Pjt0aBvE-6Vt>sy(b zTBI3s1;+#j*mG-MB$Vfi2FGL2Q7{}tMrk4OHm9HjF~J^|FFA zstU(<>Su7Yz`4Dw$%UXwBQ+qBLj-1BGi$S{xJUGTOyu-uy5`%r%;cQ&B2DPIF;4lv z+0GYuHkPl3Lzl2TL`KKO~K#r_%PNjE5_Hoq4(GPVZw-3GRahhkPsA4ysvawBklV~{@i3E8KgLzFzXvOgf?fB8+GqKIT(X@-*?mQbc` zFIpMAr&>>Q`pbMrU$=VB2l4i2O`|`WQs>lQAp0-in!B%B)5mR zZbJ&K*HbcNUXiL=6g;5F`XdKm^I-_>z$Vo)t)H>2c)W6kqH)6jm>TkEm>7>{rF=sW zya+;XBRs1q!|!lcbnAFrtdl17Vs5)M@-y^9GMJ+}J6ZKQIY8Z*6x7AbiD(=JaXUWx zMV(Cwlz!a8cjylaGwMhlNzFfA_HB3c`I}sU5+k!q4FQR7A~9Z&Jbc?yAK~43inPV% z?5LZMfy%n=??!LH$oD2q+4BNl@$7c)!OdQdL7aQsd78rPP9-u@ z_11K>z8;3s|A!Lrczd0r786^@#~FcwiA~Y{5K&Rq@e={8;E9`N?Y3;spxnZs&)98J zTslk$naRnVL6WelObo-QS`J!>_CYh zxxfO<1Ig>99}J^i_Bt0#*R95t36^I4S<3JGp#&Ff;)PXzvSHRH_VI%LvBli%p8gVd zS`m8I631Jj=H6;0;W?MH$fwpFPSN;{hmVHfC>Wf1)qmYj;aer6TH;Q#hJ3X%xZtdc zMKN+LT>4sLAqWv}VRWb+)Ro&&lW@x7PecoRQ+^fT~M8R>1jgO>}I#hA2c}Nf{ zLzjz#-^6dhxN@q0gg4kpS3|mYZK{p0yDt|>w}Vt)(}P5Zl`GV?U(AV4Y|4APtcB!j zrPkT*!m#gh`z+!;f3eIialU`rVImrwW90X2D=piqb{azeofJDoJCt~RyW1#WXI2VW zpT+Tn+fIppQ5R~(zcuNTM#Kvd_>Mn>c=S_q>}ElOVmj&{ImVs$`Og9nzD^0_L>qmH zg(EWey$_+U9c<{6Ujuj-|4e0VI4SSv8sz`RQLxQB(d-_YhqxqgM<;*j@P|UMC82I_*ILTcz!99U~(MIwK@N>7H&|u@qX%F5f+I|E`(5x)31f3i*DgbiJui(jH?qL6uaifLvh$*e&8yz ziXEU`Wog&9CZ_xapsifJF-~ITIaOSD7}`;rH(nb5*QmH<1akVmQ;Y7gZA;gFtD#@=E{9`UQ+n;mX|CB?I z5Bd=_)Dp7Ci9LTfOKbo)VGXHFrSK!-$+zTg2?|1jb5-f_9Mq1PuIRiol}365P_g4&*>#v(3#xdLc(Ba!W7 z%H(CQKt_C2bF=*WtDRb=5$}d9Ts3?kcp##%+x90%N9vqe0ww`12=3{7Dwl$qmv@C6 z0iJ@9#WQ2APdeR&5IHgq*ZsJ^XI`4^jG)v{#h2s%m<-t^a0xJsI3c9ABuJD$JHj5X z_256L#gLFnEiJz5S+o2!W~7upmwX;!;2rTDhvMZ)G!SlM1%V_ltM_48_@1@pldl=g z1NaRHI?IAl7x)51Ol@<>!Jw?Q+UT)3w@lR^qni_NG;GU8AGmW)_R)X>@l|_8lHjgvP^K%PKh-F@UbNMH<)f-3msbGTtHpsA+(o>UNc%f|=@Jsa zCS=@>I8grGwU9f*ux}KfkT+?oTi9g?uO;YfjAR&**NJgW{;P1dlgx*dVz+~w;t;MX zg5InIkKJF2n)&VuJ$(_(A&A0CVYyFO#N|txzBsLhu*Ego;Z~6QTyZ`i7iiP`6cE}( z)`KM`mf{5*1yCr#ZZeq~P*&N4(iAQxK2=O21~x_y^dn~9@F%w0Ww14fVF*YNDE&nP z^AsmJz8dY=l;tByw;SfHcmC!kVb<>XR;`)HJZjNkDeWy0Uyi6+@1mrWZZIq}))SVJ zJN6`j67NqKUpw7?S(ahl?dqWS$LQ0hNqmBL;Cn4l1%itOp^XJlo(znoc`Qv_7Y)rqc>XuytDtl)b2~>a7e4=p1^{LrB;Rke!7=Q5fg+r z7pb~~QY&ac6@gwuHvZEPx#ZkegRH@vxx)6L{;6KHe6r|I?bEch8#EG;b>^}IA7Jo0 zo~#07QH3{g{i+UNwH{y!s<&jbYy6jhNSi=&tVlX#T$PuVMUS#+fC^jBd8tJXNGx_n zLnoD`uTnFmlQDKC9-by2HAV3x@wuRmpR2=hi5ZUk@;-?LjnssqP|@R*T-%U^4)JvO z%)-th8`+qWL9Qis*w0zD{@7g9HP^plAc_JO_%!#9@|$WmHlY$uN1TAv{4fKM4N1C- zP3Z5I?jI!Uzn^h`|E<0Cdz>*4eM%+!M(m5~Hya58yzN9j6F?VR0uyLZQ@5qy2ua&W zT~bVro9_Lmo63zJ0{#WQ#v1GjW#nFro9BML|jgkHb%UNBr8_ zj{NC7&EeT&O9Kz%<+$w(>@vTW>W|K%rKgLFk{d!RFS)5-^JFJ_aza)_-_`7cXBib9 zx$5I{NZst0_F5%Vpd2*ab^0l;GU!%)i*QHSn}@Ly|?zb5a*(@D*UxR~KKy ztL*nzzmORab2MIGcx@(5oXg=jq=|LL*Rg+7wkA~f7|+|b z95>WQaoynidz9#%9=oxGZ&GiQ+H)F(pRC##v)<8$I;YmQa^&T~RtO%w_&7azh47x$ zgQ6E$p2@`1AI8L+OvcEg*a=)Qh#w>ppR@f<>b-E{>Mp;yZy&;2wYRG_V7mkLQg zS-AWyS2-~FtxZD^)fjnFx#X8kgZhOnyG%?@lH&)8zN&lhN^sJj>=Xbo?w`-3!x)~j z!Z(3}0#eW}P!|g9%B>F*I8_M@AH>m^6m$(=Z5AzuA z^`TZ*TDv%O;Ie|j#2#vcqaMpl^6af|lQFVX2mAb{@JA66y(Kb8VYTTxmbj-5`RMfq zOPwlu_xd2#*YuvS`Dy?mEkXB-UixXG!=GpwJZnv%S*As{h{aKl7i|~JgLLq;eVLiw z3m3ys@v&c2ezvT`5C1Y3*S9QVzY2ccXBOP$s0{b9c|1Zsx#uI|;;X%EpO<~@OJ$P? zxzv=GrMtUWRI#o@L85vBz1oW#wkTCwkh0fA2%g4(*MEzj~go z<1x#C$g16yR6dcmRH>YC`5adRIY(;cZDSd$5AaZx=YmdfJo>J- z*+Iz-be_$du?a9!f09Ib$SRtU&B0@t90c+&P(c-rM+M1lDms|UTv7JlDT~S#Erg;l@|aa9%&Le*{uA4J|k zBMaF_Wtokye;qHMg*%7wF4?SK;~QSC#dn)^{BuhDm;~J7)8em|JW#d|^Xby?Y-%TD z-Y4F_-GY&*KFwNcCzyhEu>t2RB>MK&xeNBK4#MAP?@luQXXlFi!S+9`3d-4E92va_ z@w;T6T=9K;%st_MW?pH` z?7J}Rf)tbXo=v3G63_<^>g=Ui#<@Ce;YFwLk~NYz$h?akfur)iQ>LxwPk7+nj{o=u zE^XL?`SV+e;-cb1tt?C|+{PLXhA^%?YbjCee^HR51)a@6*xv%Bn7mKv9bRA1B#^Gk zFX{sQV!nR;o?py1ph?tc^pGf!I0lI5!*e{l$!OehD!%Vkd!nY|FOH&h`uMg>pcL`G zxx2OcCC~)tY*>4NF&nE8BMpKt&s>wy;91IoB2m=vS{h(^2wXW+kO)RvT?dXTaP)PC zf2hJAJ@lMOA?nB6$mi9$@V;mteL7s`lo8x}WbHF&3^DkVIdUk{N}k&i6%1!g4GR-~ zk5|NiALNxLu7c78$1tL7LnHP|d+x4FvZN%tA{mxagKe<)w&RI@RBeGF1W#up8icXq z_AJ|pGz+^8CUWmcCyNW2re1WpPv84We?N$Th*=F{3gWc;7Z0F->jyBZ0tdPs!Pe5Y zD?U=zo(L-Nlh^j4eYZY~M#*lMirunM5oBhZ)!_`L% zl5K%ym2ND_j>1irf$v`_EUgys`PakU2^8T0IzhqeXI~O>bi|h6ZCneXe=i%+*xX+^ zIqiYv1FHb0pSNjyu_TVX_6i$2n;dP=&3(9Y7iFTv{aE1te`mB8$N{D4XTA zO_$6*)e0X@9JI#|Ybi{>bmL5ROu;C(HCnlgCCy6G`WsAakHinTHZZ?U|3b~K66!D4 z{f_C+V)%f_3JB<@E~Y>i-pL`J6web!&AXm`MXQmDWCy$We+EF~gVH?HVuWNS?b);miI(>%&y_+1u(Dpx5~ zu&ZWB2IzoaB^j>%$*Kd(_aEbG{Z2wkRhHdN4jwB zTX6r-%fM`dH?yZB)(ZFyIB(dEj;skT50rlN5xK>-e^CNUwA?wpGIQa=kYbR-9B- z=8(sYi-K$yrR{B)o0eR3IT*ALqrzF|pa*7m!+@@yze+F*y3kJgpG_cTk9MKBv{6{y zC>EYBZLDrYR?7R;&6n$2n}zpFZ{IGx-dtVTe<-ZKEiA9Uezv-~y8fE4=Y^%$9}2&( zzJ3-JngEW9a6p6`=QB05C7?F<9RxR;0)5&DKWnfJZSJ)WT6^@)UHw-$6hl!)K3PtZ z%$cm5_Yc0Fg&7zZW~$S$iqn{< zf9HsN2%mgBbFe$r+_NaMJA{EJ^l%}1@j>i23V-D`8;^S#D-u`yx-?czyj@@WX}IY{!_e=MxJ*=e+HYLnbb8Bfm4!qzGpWOmF7yxln7 zkw!_UyMvl-JQbbBk8yocn}U;9n?c}IqyCHd`pw(b*PHd}=+*kO)#o2}n1P!suQxa9 zbJ6npn-6s=@-a)VU$1X2+2pKGO-9dG*VcB(y7G2ud2{vM%Fgrkx34zpYKSuGe{*MP zd3j}HWA*9k+Un+q`b=#yTH4rHdG&N{1?@@tWp(eoTz&C!=Z~!=OEft#J$H-SiwRhZ z)6q9NzD&peqW#Z#-{gIr_gBO{i)W&@Ty^+5eiW?$lr{SIm0rQ2tkuxDq_#iR-S2U2 zI(n%-zZckk#CTtR7*9?_FXG}0e>v>qPT;usmK%Ag;5RDxK;a*i^bhV(jGE|$0peaW zR{N3f*0{5URIMfq?#HuHyBW_RZD2Pe^`qIjsMCyRXJ)2mqdn42)g~TIN_)0Ozh)jW zYUG`G{HQiF8J&}JYHn_Jf&nDK?4w7ICaD#D{Th28RiKkO6|wzHN4wN6f63?diuNX9 zT4yO2{h54U>aONz;q#fPF>Hm;EjszUQ!hT3UoNh6=2-Id_?-N2*6T(R;dPtzZM&07LmjF@N*chlUi2Oxbp3Z7P3_~obGw88 zma72b>-U7cXK(U#z29)3f6|_(AACJ)?YocnZ(P(Hc4_sIPvYDcQ-!i}oyhfpU0&eC zhxkl{iG)sNPRLmc7c+0-;l?^rm3Clin7BgFLa6myQ} zV>!>B#%mwXT6DydDaLb3<`mP@a^XEa6CLuLmHor?Bl+W;p3{{q(~o7AFoQoop0((b z=VY|Ob4q3rGps|Ne>2fC&sn+Ln|TyH=Q$VQhI{65wAqWfSq9(jv$g0I&&lW+&#CAs z&uIvD)xPDQ`-oR;t6xfyw^otxFgE_09M9e-{vYBu7z$5F2le?Ojx8a!FOJXyXxx#x}N zbad7L-E=_1+_=E(IBqaIj`VrXr=5fM8}UXnb7fky$HuhVLGR*f4Mo3Up7a%tlxUOboBzNjuB~s_hCc=y~i=7{RmW}=_?}?PGW+2yjn?nk`WLBgybJcn0 zLJB|5OqifFe<|Wf$W<6iJuK00Zn8Nso=Dlv#(%X1yyO*1wz|j4<}TW5xKo?Ezc}1S zVd|dZz_1631VZ)_hrQR`6xGlX$*b}~Irlo~e~gSE&KF&LCT%~i0f(mJwC9gLvAQg)ia;z#dXPTa;-CiROpe$fUEJXD=t#r4E$#@h0{ff;cz}{ ze@gL?{VaQjqw*LwaVx>qcy^7vosDuu1D_P}xiUbuqA-P7drukx*}CNLBswRsbh^vB zd|l_+E4%3s`GGH|8-LnPxVSC&wyh^zQ#TefNvmP)-5+ap$9WLGsFHvh1MIan{h**V79)dPfe=Tcf-HbTv(W#9-+vH zx7uuYo3j_IDFY5Se>Nm`OiT4R8l4nD$oD9$3ASVq=_cA;*g=Y^EJB2{_gbq5e+zJh ziwheWCY#>@w7xLR%q1#DDUH&fJDi{UU^tDFjZYKXaVo_Gg zlOFV*|7x85yk&P~z~QVICfZr|f7AKgm%6X=)f4u*XL#9!(em?}ho&B0Z8mAHPP|I= zSP8Nsv0>I7ffi7QISO64giS`T-n)&xvL;*Wu*QU3m=3hgmfHJW&|Y0~^q^kl!(?8> z^lG19*0UaJEX3koHTH5bd|UW?}#%hHwp3s7)3 z?cw!d<5P3{)_!~bx3P^nf49%f?Wu6-TkTg|9ceU%aALzQ9%Q*1iLRF?6Xokh+~aLt z58fvAHo46Pt$@*3sVv05TE?j)V@;7YWt`I6l*?GN)IP+$I_YP=u8_GgukcWFrYKii z?U!n^I9D65mT~fz`sYL3tA&p7I_;{`>x@f~giiU;0Bh5nx7B8le|BT^NzfX#(o`;Q zwe3hv3t=?Xhgmwx_vxmRbQWgmEX>kPC+TMNHk~B42uo}cGuuh~Y~$X{Hj8HjRkkeP(b**f zVuv3(w8sxH4?B5}f1SMdWOlwc7Egv!uzRIB+&6|9s$P7<35kzKyJJVA?XivvP@9iO zTLhhr?cL_u3ef?Fx0!=XsGwo9o%58SYppftPiQ`D4p#?1@TCQZCVRcYzCbqK}}mldPDe;qKv--M%c%hfPvf{J?H%-K81&THhMI+2OD`8Ci2Q!Lr6V5iyNb(lT5Wye@PP>tbpz)O0NtIp>2g8$0e3T zd3=&dVbD4I&W3bMRHbw_x>xD&#>QlLGZR0?Q3ov`!^4^2iUo%*v~^6AqMco=odss~ zOhTg)N-us3T2QN@?^I2KjICp0@Tg~`0C1$B#$;EqK8Hg{FC9mi<@huAe6Ike!CRCK za8@&yeZyd0OtTanIu*Tpr`fBBOcA!=o z)`AYn)vT|mNsH!Nxw`d59$g%kt6g6qeYSpme_49pf`7ARQf4$9+)s^*?F6`v-|t6ifohR&=225>+Q^!j4P;Lc(%2Yh{zSFSX2;MZ43 zpB(^wx%95R8Ud}gGfg`x??h9hCH^%kf30$*Ifnhr>}aW3nH+75q5EeMh>0;4xj#FX z=9DYFF>a3~JN8P@He6(75xPS)If9%v;!lz_|DFFIA&Pp0(CZQ6uSW=^9wB^sgfQw6 zVkvB?{$^?a`Tn1qMDE68T8|kX^lNSs`5up2G(Djgq*-&52*u_mk%`ScLV(Aoe`VDh zvOOL(Wl%{7|9H$rbJKH^(d_gj!ZAJPqAAi$A)K2+m^Os~YYLIo)Wi(od?T)#LcBIb z9*Ucqg_Is(l);M){6=UevGBv@7#IKj|3up@IlUGC{r`p$Y1<>Rmw*3%+((V=u@M)~ zdk2^r?lz0_fkpOTCgWHa#=~h3e;aSa{dQ$Ljp^$6qzG4@FFaQs!rxyjPfbnB`hWkg zP?kP?Et7nde93b%fo97zc}*Z^#p2n7f$NzXIElGF;J&tF({qQ!>1QpnPj=yqD=|8T zVF&Ep+&ti><%DhU`LgyDPq}TZPrFU?xVdzEEIHFAdM{KZ{QrpW55=sE&(^d$u@?cX?KZ-J*i5kc5%j zxQCIOlc6O7P=or`+tuZue|uMI!gjz?t(o;?!chCXS*E%#aZUA#a5d|$SwS~9nRs<0IW9;Ae`|C3ImFoqbl_2Of6gen(;XN6ia|vO zc&wI`8t@;;|!Z|_^{ELYD?I7(qS@=6#&CZ-Q=OTdBh6xS?S3h$z1NG*> z2~9p~>I=!#mQ>UP$?czmn@a{Hn2%$CO6ugEHoHQ}!Bk>#tGN1hd24Oy?atek=M3pZ z8nd!afUyQH8$mDDDGQhk2#e6+!AnDfJ%3Y*#r;CLR07=0fADm(0vHX)&5bQ7(@aLV z;w2@^C;LN-+dF}^F}$?POlf3yg&A1BWdz%p(c_NDjKw6ON=4hgly8k&-=$}*yS(=7IM_k%jbvyQmugx8PF4!zS$dzSGIXy@G%4RluArU1ChhFR zG=dhuA^MXtf0Mqu3U0+0*QHb$H#MO_RfQ`-SY&RqO5+{Gv>!P^C;L%1BlOgq?n}+V zaA;CAM6goGr^SLLksfAo=iBCiKZU3Zi^-d}@99Q&z^GjBdeaw5Uosnp|B3qL8hmf( z)Ga4=`~R(5clRgF@k?W6&2$*o@9AdO+J%gB1Z671e{HgJ_XzhpcN1xDlbyTE`n|U` z#1A%zz`NU&44Xjxwt+UykVWI5tQ69NOqSIrq3|S;6ZvfWa*Ts_S5i~OvBcO%WOQTP z3iUyXTRnK)L0JK1b12><85i2p9Ne*4r}D|qPj(&W9nm|AK76Fw3lNw?vLy2hqoMrh z^r*w$f1aAem+*JE5s{J4(1OtUl8n+7CCtWNHZ-Bb26C~iTUOnW>CbonIrgY<*QcncwfPP15fqtUdkzt z*E~7MfVWQ&uieD&n4GZC3-w$0bxvJk(5{$b*u!9U6&F59M*19VqU)o32uFi+|sL6mx*^VCe@& zBiC=M-S@kdPFF2F|LN-i47PR4!C|fi*k!kz!FpoNhhmOPio&2;QMJ*AY~pY=Y|bUK zINMmvw)|>HuwL1wWtik1T>_F&ZS&R}fAmVX)!x$OB#CvRXLc~C2j?ikbFOW5G!IG& zh=kHZMOfCF1R;TL5)b)q-+qxBuk_QulPr~ti_TBap+PROB&yI9uLA$R=ZWP;JpNxx zpFi)9mEY=TwES?q+Pvf*np8hjYOoVB0uhgV(TXy_(#ewPl48_v{BsU0us{|we_;p? z>NwprmCh`=nw4Hych%3P?;yYQ?Dk8jpBfv1q*a}U2~$9CH18u&g=CbGR8nHq_i!{y zghQj5V_x}|OH2~V(~_X~+n2;yKju?~Ns>!A3^@-pA#9uU&*pokP#==-`m&71a{V7d zn*SoTd>2)a>&3lW&>-xF?E6`+e*l9)GUUL@{j;=wNoqa*9GF=eqz{;i3cwruzfzPJ?$f7mf0vuiQf3Bj z7%7{fuG^vjdX6$chaYtmjNC{f*K%K6vM>HZNcqmPxsHOJr#|k_?$Zs)58tUF`|o>H zt|UdtiMF;sXX!XHJexS_pHp9OYW!wG{|@_jjV?z+{G_aGzP{z0V6%)H0h^_sfL<2i^{G~Qyp1^!gxAAy zE}21!JUUgY)S~AIe_EV*t+%aRB>-RA=t^$ro?P^0S1x-m%rgb=&mqqFdD9S9Lo2%I ztzudzmPZ_?%#8(ae>&D>aXZ>ndBcjxW=xXjEXLM4op0x-n}W%6pwZ#l&u~>lzeSOA zWTQbI$~2X!*1RLvQdJkf9lUau6hdcz$I9f3&xie5uTl6Ue_}Gy?Fw9385M_>8SFTA zn}>J+^^`f4q;@Dc@2;vkt~Ln^7=?W&NiNXBNiO zqF(V3f3nn{d)RZ0hyCem&BAzEl(O+}Re$bb&v!iRPhamWjHgBYnZ?1q&RcvjwPAxo z3*n|FC{=iqSjQfPkttt$hg#{dGU1d&MftgK{8C6+W3lbx_yV;#`CXUy3ztE+^Mu2B z@l{be1t9Gb&YGK3HxuQtbvOY3g?F4cPu!sBf6I4mVyr~i!~|g^v9QUBF$D!}QrMoD zvu6F+)-#4l*ac^elEm0CQQ%$^fv3Is6z~($Tx=%$^l~nL*1%#wRFQ0$29iRYWzw?j zUD_L7P^C7yNfuA}e4eTstYpsT8%!<}tNZJ*S5)|YA!s-*EG%UDhV{r12T$AXGmx1= ze?>)<(qs2ioASTLIm{h3ZJ;xZ@4!vTvA^+?Z<}#ACnoOGDEspU;;d*G&B;>=)yu>R9>n=TD9u_xbbo z!|~*JQa!^>4tR^TX}$|JB&nLTw=4%82A198wfF{g(`sdX*K<5MyswpS>n;U1hY~G! z{uvNEtrZl3ygWK-B5dg)+w?tJK#CdA0%|>(!lQO;p*A^tb2Bx=_=2aWHG}mle@cPh zS^qt&3D56iAO2V~p5NMJ@)AmrViCVn_6t6Ig6yy7aKH1k@6IA4yhVf3EyX*?Z5Wt&s|jM z4^4}s$hT>oE%K)KI=@<+Nn{jPVYHA#Ny|4(`#eh7NOeqV#B^G?MoM}?aH)%cyJqD#JYCxVBwE-il znEGVOyIrspzmdc`)}7BuyV8T&B641(4gALXpy194gBjA1kwjH5Rc`Exe+!fyI)-6F zTfJrQN^4zzfl>K3I}Ab6P<#z}C#IT#;1hl~#N& z;ny?5ueh{S?4$O~LxR9^S_zrF4FnLSv>_ zn*o+WiubuvgV@ZKT6Mt3{5+7589V51*#uK|uyyskYQ)#G6ZPWAac{mD%}(-msJE#( z-p~ir>ol+5&pQ_USixXsuBb@}zfm#D-pIybm1Dl}MaG5aYnHe08Nn7>F%%iF4Y1~LJ$lH_d!y@av@w2fU&)_OkVchKed2&1`U;5|vg-n~= z#xOPcBxcUHp5UiwHfz_<7}})zMWl|UzsKOtEc2H(f{}l_?B5Fb*g9pMIC}MVo}HnU zK&}-a*GeEq2meQHe;xilWBih~dqJvTr+|!DuXywMALZ((`_0JpoNF7if00m6_DKS+ z&Go~T%hS>qX$`yowjW|X1BLqqU|_JXwwfMG%@m{I>~MdYsSm3m&v847dsr=9JRr*V zp4;K}VZm4_&gD;fdX+J|;rSFfG;Bxk^v?LF!spMu?XmH)f8^^14MjVCx1!^Lfdo2=Tsg(2-6)SL}NfKjzd&aQ_bar{)| zOvDzz9aTKJuahS?>+;k+{84e%o{#J~XHV|9;z=(3I4Y7CyTHZ$$Xi+wyU8Q@O+(}g z5(vG*@r^#-f4du>FcU$uytTK~KE%~c>y{l_m~~*{H0-XXL_;_%y6z%dRU&-jMlX~L z($bmOLZxkKom-C*G;NgTbG*JfQUC#6(ui1__G`}JH#cWbDvvQtI$L-=u~@847wegY zmvMZMIalq;H&tUbqe?jgeG5|2|sa9@U`MNx4RF67m zAbXT%l_2Qv-auYwH}EQnRVrlnSkb7klJw~Rar60ev0P%6{DYV6(Q+nmu^#z$=;uO& z{O8YQ;&_%Ru0<7n0(Lw>Np60PYw^07xY8@0VW%ydK;#hDzKH-7uX_`J_&k~^wp z_0bvle<5sv1Sw@@n9Q7Z9y>k{D^cX6g4 zlX*te>*mE$8!aE_sS`Q1Z)%?>uIyOnRBtc<_v3nY`(WZEl=+h*q*sGoN`u$XSe{yi?Y_HW??_yF=n|->HA?n?^mZN%B z>0gO`rw5(L3~23>*^u1j!~|&W^3n6{(SYY@tIqPxdd8-qHk(-8NIW^r?4dS`j`+~+ z{3rGWsdat!cn9;CYM`q>Q*emRxNNL^3`n9Scb!{#bssAmLqn{F}Fa@QOcp{XRih)ECCCyR^T*bbN}V zLS}jh|CjTW5h8y90(1=$R{~=O`0nqQnYEpxBkbUh5_!+S2A`R_MN;{ydzYRkOZj7pt}P zfTvYc3+sPYaY>zz?QoOef3k@CmMl8p_aXelfvDfSeety0XW;c$O#f ze;m!^=nj7yD?|KENucvJ@*l(<1_q{~16QzuCo6wMyiiqRme<0@-w--D@XSnFT7jY` zLhcjIO&_oJk73Ea_z2dw;0`5&>xM^t@G8+0xgrWgUKQAM4)}#zd%xNpjXH<*PUDD8 z*CDKPG5UyZ{w}eIoL_&mj}i&E$;>aP$H}~cew@rE{jvQr$?QX0n#>0M`Q1R~HFcm= zI1qmg?2Jp~NMI>S#7hsxtdJ8{NRU^jr9qQ9bZ?6Jfz!n;t^}=xYk_l-UqoWdF9F=( z7xC9DEO9&Z*CcJ}*}-VG>MzExi2!!O;@B1Jac~yEWwHc31*Nh#pBrpS ztjz7q`HZ=b-Ckq=sCsbNJ38ENRO_kKq~(<_WSQWTq{wNpKoHYn$v>62qS((2fE6x* zf>R-d)j#a1i;9U-kH;Ip=HrWxazH=BzvSqnTI6CO=0g1ogi!N{e@D<;3xx-*x5Y@xL0%9k^IjT|{!jF0WT)R0!3V#FHzTj-?^w zG~dIP`n6=)RGgJkX-Rc6jLurQ$%U0m4_mZhEz4&zhg*xyx9lx>m{#qI0)B)L1cnUo zdHjl&ZFAjGM6dH_5|WlV|Bp#KJwAV&Mn4M>mn``aQ4`CNo5QKSBJIk0`$pVk*v`2} zA)0e%^~Os05&V0heeI9f$glOYJUy4@@-iYKgD76iElRD02l5R6567Vp*x__W4;9$b zB^0ZRB!Sz3BM}heEk~I`DC#!_1@rh;*tNuCL8w_mpl7)I7P1NkKSzq$!vuf5TlfXL z-Q3&Uk@G)Ch|2*9foTDq@&Vcwb+rteDYm_8)uO_5)+A5~81DZ1KB*T6;N_;ayg z?zzs{#Jv5Z!2JHTtbfOENS%LD_K_$--iILtuK^=(J)Dl_szmDV2QtvjPv!S~@qT~s z>gB8NA81_igXj3iiJa~a;eo~3WmzG97ak+rV4%~0b{uzs%7Zsh!N?dldRTxAP)Vd| zoSJ9N35ILx^b%CJ``Q}o7wH6j@&0$EJ3^|dXrv#!bhmd3w;aB%$dTdTzHN#n^!ho(L^+@M&DJJASahev&RCO8CwwJiHoS+ULMaY>Rc3452b z2j?S6%ym?c?V&`RXBF`Hp?(x=Qh68=YW2uGvz{tQlb&9yecC0TOK$J&1iyyq-A@14qnvIpz%Z(o~cqS>1WFg zhVsb(kV1EetL}ekDWEfbe2E?N+2}LJ39{vp2%{jX;R(uF=0SfnQq8vqUELukyT?mn zjoh7D+uuqfZV9u!)G%97*ccC9PM3)Ox<_ovhz%B+GWdV|JC`va_)u#%LQtA1OJf~n z%V(QKdprgABn*<-ps_xcbI%j>#uCt-I65ZRqW&hoP=D=E%cqugmz0zl8vc+?QYJNV zFw*ZiMvK>mDj9!%2{v760ElD=H_X;5*D_RYv1O*Ti6C=X%UD9iZwXxANZ$h`io8x_ zPj$E!wR1Le;y%N`RagJqP@NCNm4Cid?ay5wf&#cX1_5xkX$}k&gBJ0Eo0keust#$L zVNN!HvP3p6MK&7iYU4V>{fCKS9Vo1@^F9sU`;R~Gq1CIlh;o<9lVq+ z+r{3AH2i4qlt1_WIw=k2bPA-mu?=XmR0srtG{r^-9+CD1A$^V?E4jK}K4BL{g7^J$ z5+L?4R{i;JquKQR^v%RY2oy)cEWT**Fdnq9Xx0+T`+{3YpoZXSeO+dka29G9Me4z5 zdk1!J=c0ch$eb$b?ZI>=ID9T{Ch05iwq@t-O!l^py9 zFY9E5UP>dd5+GE2qJpcZX&#$gL#W(DUbHIup`Rp@ zCa*7!W!eh)rwcnz%=P5Hb_2~(%*XDofDr*JkZt!-V3=Tq>1#+;mC@>7h z)q~s$(v?HqOH_V2N1rX2}8Yb)hxSA?#hedtwv! zb@@t1)itB*8gaRnu_QOHxN)_84zO!!?QHK#hN=vr_0z2>gp*b9S8Z9iR2z}KeWGt4 z?;Q-uXv5I6zR!m?iVxD4pq&vNe~ta}U7UT(0v+|4Z=cO!tgptX&#fCB}e;rJZCoH9h z&Xe_lao>nbhPXOr7r+_%!-#}KF=Q!}^DcN;6>Xne=|*(3rZkWW&n7L>cdc%8leuHY-zf&uuxA?5kHD0+~iW* z^e-CAGJ5~y!dtNHS^~P{+5^Axx>Yw_ZY6^SUjqSqxY*_(*V21BzJMwdOG4nay(hs0 z6~V9<6>WSlkOk&~1;$SSaVPQhSs+XR$@YUe;NAsQ=4_Esz<}Xfe=*J6spNz4H?5bX zkgSWk#IS6#T#j@50}-#VKe!l7$@f6CvzcmyOh}6tr>Z61CqN@0S4lP7T$K3_x0YNo4XX0P3;HsfB)$~Dn)h2e^jdhyH@lVt!0nW8Gqe^s<@apscBeR#xDV2Yuu z71WMk+|LTXEozSB)xyncGJx{?)?}$ma|uhGWXA?ohr-M@vi{l*>cTIvRIqKGX11;U z%xPgxY$8HY%x`&zE_Qb8(DA>}p&YMySMLlc+bxs*=)*p3^VnhH zwLjE!zqGBif2kDoI++Z1&#piH;mJV#1!OXKh<8~;qYuEm%+2dVp-0n6nainOLgz4K zlv+3%wh?umXBvf2VRfTfX>`HRt~a{PcD2{*b|E2YH7m_-yVk1pnze4P)@j2+QtMVg zmF`trRbZuC9KWt}8eOZy2HkGgo2^>A(Q9>E5HQrcf2~Tr0kLqsU2EV13ycA3b*<8= zHG7?QquJ>++Vxtaxjx@$RmifVz}*DCd9w?`ow9YCzB9gyuyq}r-MQ%AB? zs@7O50v*VgxS-$TH08Unb*1k?bGBzmYCocbhC z#h2k}D8sMu@;5G7ZiU!6Km168;bQBvwg1(=!Z+!_6NC_E~ODUe=)ylL4FPN5!Oct?>FFLWN~Rw&<&QV zZmXen>a}}RlCpO@?P{$`x~w-X$m}a<2<;}!`YeOwS%=M@3bvs9XmNb*^E@cXQ~bs` z?eMRhF1~_KfqQ7XwIvVjkZs9B?ECfRW{sFS5RNvxc_#&v&^XsS6T@FT)k~^wtGK69 zC+>ihaW`=Z;cmI7>_YCzewc-1sxPXatqm{U+M4j{EBY*MR zE_<%x{ERIo{3UOVz?a}FzamZk7uKSwWOg9`oc^JeM=+eGis5vi|DN7``1VHLL%Ji=&?_4{)(h0A0?UlQS>Twpbtm&JZ%8RNQ$PJhP zm4Q@~lN(S1DzoUrz-gf$S9&dWYF|&GQthI(r|Bp=p~X|6FV!(J`l+&xqu<$sVzb!WrYu>DnN zt4OiC1HeX!$;!`I{n5H#nko+u?;ZxMdKczvhH1N!@I1Scz*=n#WoXp~P?A@zxpqp% zWa)6`DMeK*7^}67+1e)m`nw8~C6qw54XCt=o-?}FP$6m?cvTcVSMEPfXEzQggDV$= zZdiwW+1Lk(8sW;vc7OQv?jfKq8S9Ky)~^0=72WAJ(j6OgV&r$;&>kN+-UyXT+j%T} zJ4fLl2LIs#bLgMSNM!gc85Qbu39pMPcPeJ|QRcpwTHKTL2+Ubt+>?WW5|Sgyuvq%F zg)S3&C^u0D{XzqUA2+Amgv!!Q99S~_!b0Eqg#_kPzi_}<3V*bnTXMoHzs6U7l~<13 zE5F58ev7aCCa)YPt#`6@EFy5pANv20KXm?)Yv%Lh#Y@+&<~fqAyPSBR`+hmgq--C! zfT}pJLw*YNseQ0tki(ax=MKte<^4boQ;>Sv%~KBVubpNsrxf+u*`Ase=AuNZ~PHWTn{UpHvaeFHyjRS_vw7{S1WFkHW{)mqGX?IV2Ay8+nK}1V~PT4mW6T)_Xgw?TtRWpiQi-LOlzoO8242-mip zlN7H^{VQ3S#7!=?^NveVuKV-tkRo9Z;mH_qlWFXQ9hZY#_ow!Wou$@2c`KYKosJkwK3fUq{6Qszx?c`v3F3Y`V|8Mg}-^Q=GTbd;!Wo@#Z+EC3!=*q z!M=ZTJZMyE*plJhW@p>RG}5z0Me(CL7)i;V#n&ri|^m#GbxF1iz8!HOPZ z+PU9~f;ixMV@_uQYructeZ>wA;#yX;ygmH1^>Ei)EaU-tLE{f!+UC-NHZ(ux z1tbz^j2vQO5^4C)gR}X^Lm;<40w8S^>;~XOu-UR_g69Az-=d|&e0VaI;Dqz1xvUur z*s?3Hrw?B4?q-)Es}Uc6c9pV+F9wgZ)uWum23>p<0v1690q6?DH=a6e4=6giGL9vPElJ(d3NvTZ?u?@Kidw7t6Nr z#y1zvUqaX%%DD^x;`g5>!3OS;VDTi3s)+XrymOgH#y~A?BB39D1rfsq%jUOUMM3%5 zuu4#kPNys)OSqqVI{`9JAh>?_u@E+7|Vu>mmd|3hU}1f z_>y@;hO>+inbv&L`A{b(12(P407pQ$zmTYG%y8j?V6P-l7eg0moS;;4VSdgzRDA^@Mi8~vi7<1)(kadd!9O$S zsv$-Mcez-L^pr;xB&!QECWU zw=zFDN&W2on_13=Nr;ZDbhVVg%`Ymf^5z;tWxQJV@Uz5CxMVc4)ghi(ICaE0B9hUs z^Z&l!=sy({{d*|e+VB5b6m%v`IE@8`SeeoV!sNwA34L;53~2r^ zKS+J}{7%J|czzAVe-(mU`p~9G*HK<%4Vfo>;!s%p3n_5ULbPU{Nt~%wT-^`T`86dI zSDCX;TCScvIJ`tKr@=z-yOZbNA3XW-<%6jwZz!hbF~L>xzd)sX{mGXrF=}Mye1F9F zKBIJb+eXg6KhxmZ)GH6)-|fD5^8OvZJ2HZY7aO1J8)xH#f7!G$J~#l37xeh7qgKJt z=1m#CBZjZ_=lcxjZ{hGP)(RO_E`=T5s`f+EOZM9S3@IfYSl0GdmTc31d)r&gLum7a z>FJ(hK!21Yp%H^D5J2bz@R#yD4(>C>Z4m2?vm^keYT~UA5|)n=CZU*72o94wf{Z)R zl{>OgrOx<#e{Z&RO*6+kmFM!a6cUc8G$l&+*j^(|q5p{`GSigs9KpLvvo_4dN6`kzPd;q^K>W>9bjXyk5gbJ1+L{} zIk)H{8XSPeTbb9b=I z*4DUNiuNslV%4iYgra3zUnw}(V*8;drotB3sNCdGB#I&KKPkwCY2BgOzg9_lf|LXfJUk;@r ze|FP+D7qkrdy%?#h?@ax=?G0ku!yirL7_tE<-Jo06kgT_$vP#?Kp4^WPQL@Oo4<5|dh`IPGz&ZGX6!RHjD zeAlyH+wjbaTmEKY|2i(n%urd>Q~oL?>}F=-@%5sZ#Hxx`thp%`=7Q!n{-f!8SBHOt zw&xyvYgtk_q@^0-axL#-hn4P+<|ycL;z0BVX6abQ2=fH?o;Tf1KQAQilA@Hju%-tvksgUQnG~0(E>Q$5*CSFX57R z^jLw3Hm}oHu%sW`TBv%Y>wZaiv2rE=4k|Yq0n0PqWZU2)? zu-?ToLhkunZl^Fm{$V&dJY}2fX5^7EH_vJn}7>BOtQmR|f_5o5N^Ebe%Z0nLd^z~Pi8aD`sw#FC5x zr2Of#IOY(%5@h(ZU%uQeMCnDr=V=m@3h$a|GmEdXg&4#dUM@ zZmiAfjWs(&7Q)jRXkIv^0nHH-0w{}CL$M=nqL9xjUd4T{uDP46Ujmzd9Xs6(=j>MP zM&%I;yKcP1KqusBP5_~ea8ryJnVP_D%)>Xw17P?jjO5mNC zEgMG52C^$!;??O^E!X0IQcCnxQ(OzD3Wd#dn;P+6R+53j7ac@6uli-~&T$9`+6G?r zfgvhS08X&|x$6)#u7yU7ZyOJ>zG??@aT0dRwQL?PWPvGsDVfB*B{Vbr4A&|)E`(Q1 z)@4S9U!S}Pxi{2@A?WjNK)5XhGVfWxP2ou;)TF@=h(v32x`@_)AY0NrT;$Wx3bM_1 zdNlWm;Pw*6OqS74;*L19PkXiG zI~>$xis!q)37#wio-saZ4(9T+@@#tGUqV}Si$yv+<f4zj6~#PlAc58_I4V^ zyAsCPOq*AKo0DMK#T7|<(vJTE$@+4U&y_v@lJGe$Tg{msnPRk`vr0_Pe8e`Pkbk;p z&H_yXEZXc+JeX`ylT4xH)IG)tY zU}~^`P#M1May%MCIog_U1E#Sx7kUo^j`7;Y>E0Yp3Hc+Qe`CGScs?RjKso7x-cjvV zZ&4~NI7P@7U>d&=X7TvkN2mzT2jt^pr6A8ehJj?vx(Yh)>+EWeMW$5#OaUX>vI8a)|HVbfO8UlSh9- z|0{wKPyuC#EZHcH%zL{(7hkUELVgb#QtYBWl`HRQ@bi3U4=jQYeS)DU9|#YC53NCe zY(VGHj9`H1>bD^FsKJK7AQp8GogvHkQsu9tZ};!s9j)>0OMjJvdEk8qmoY>YI)ob&|Q zISNpw0*J-Vm-%|;J(AuG2vX>J$MaWzx&G8I9937ape*45z->)WfxO-B;~3(_xtx_H zu0_oGKS39tB)i1ZfAK|l8PwJ2)lPbsLW;M3DBSAGSe|a~pPjF)_4CF6>?Xk@YJz4Z z7A4mrk+_4A(6QJJoXNVtbF0Dd|eNJu&iBB ze_jp0JYf+G$5wW{AW1%X`~4H$5Sc3e@Xh*qJ!T!!0CeQVbb9z~jI~!OY@8?8n~3t^ zZj_UiI|h88P*w}OCpOsFwkJ8tz}Y5elOD!7bkU^j%b7!p z)pijS?jS?($qB)$XYi<=DlAy5QuqX6KLRYwC0Sc@fwA$Pd;))I zM&-!J5sDxBE_gAjs>7*&c&Wx&c@`=-Xy_7qRToPZ*d5MuD$@{h`ijfukk%b~ts?k< z8n=-hAO;XcwK*sD{d6(WCS%8%e1QQ|Q_0@+RA_Fg5btWkN;ZAu!s{bUs=DojEM&d; z_;Z*sJZa`L%(fzwfoC`ibnwwA<)6O#(UD4`->6kW>2cDM%O)g$x6UB$Di)bV>PET| zeMt@w`^geh#s?g&Wp89*oKBUG zo~ODapA7EHFI2C8F#Ti_wy9TVVVRGocZ0MK*z3eaYm;bJ{*RL}BCyFE%uXo0bWldL zPqIAH>#G1P0tE?UY^}O^ib|PZ_jI;~`yM@0s^BtxuoXM^*Kw!rOeLM3f~)`!GGa)e3mc}J!dsn3NHfl-*g)j4%b z!%Y@aK|K+Rheg1-1VM^q3gdF7KxENRMQi$O7bQw|a2gFlH{Jw+`z0_PhY^ z7)B_*INUo{)bc%f3(p58{mgW~pj8S0HC{(1?uS9ZNzDuR0hdzW!RK(iE!%I85K=TS zCDE;a{rtd`RZg^r;o);NS57WYuhlOETWz8_#I?u&S|lMk3_>AU$>0{g&4MAjzifmT z*E9^}bQN(!+WL3o`}e{|uG{{E-Jkgbpm=2NYS9?r3x4PVp3Rs>i_FFcf9l`N(2y3s zNTp~;xZfp8HT-W#WL2yS?ke+C7~|uC;HcDp5z_4}|zBsv5bh=WLmr zw?i~O5HL^ih0|<;1Wrl=G&IoL*Npsh9L080o^UEBr^#SB-}$M;EQ^D>X5V-e4j6`z zL=lJT%0|NhF_GYmdm<2DB5A;M7@-DHB004jQKC4ElJba)+QJy(8?jg2%;EX9Q6yG> zvg8-|OYzr-JJ^Cbg9EHSLoI9r*&kWE!7Ry!VhGZ={3BNihoOJa*^^-C&$LUU4$MUZ zG>lxu+ray#8oY?ue~(93@DO_|(N_$k_zW0BY@?2}erx^TZ+2IU)& zi-Jc0G)9}35>=^bGMiWSja-&Xla}3oVNq$w(iPsd-BN~rW@80Yk@)8!A^Pg(c@Wl& z(?PRZ3SL?uKs8IJrHT7p@|}rVmFo&t7h9J?A6$k$K#{V7*4pT7wO*&w)e0OyjujtL zivx(=+=FKBfmONSL8gGqUOLS^;NVE_1NcyQf5QT;vng5W3remJX3MHH{njdf`OLrd zen`mIezW-vS+Rr)QMas2{0{MGb{m#0z3o$Ux0MdgtqCv(n56uDfmvU&aKQ4iXnbQ( zUM?K(BTDP5@x(m6-1#q>bP{Ffp?lId+&zN#f)||&|Ngt%_F~1!qzP)dZ5>tRD|%&n zgd$jQe|=ETh2m)vX0DlRZC0ZjBM7#%NZP z7iZ>SVipVAOiF8$v}y8bKg7k@w!`T;x0dgPe>p2qY2wP3ybz{Yy~i&<1pUh>veCS} zr5&qfRQ@iOit6yuqkGbS2}f}GpwCRW=MsPH&@$GzTxdI{Z}xR_kqK{}zti2qL4IOQ zXWP6Vw`(H-T)ghs8*B4|ZXdxn8Op7gcJ70*FQUEail{=y zFbzUBD-yDQ@e(1MNL45mbMMf4|K*XCl{o%}Ai!>K|+5hbL8aXnB51 zDyQ0+rG%L^&RDt>0?{9u&`?Sn4Xz`tK?_$(6&vBPWP(Q=m_P?tT1suJ^VB_%m(m{QbLZI_ z{tbnHaF2XRth){~&#<7+#$OhSsaVcd$};+Zmea%Y(7c+^kwUd+r!5gr=C0h#9;;I{ zb#czLP;Z#0k5whXFm`V3`Pv4`GT6p&*lm$%nb%g26Sb%uD;d*O^i>Ps3>4 zT4NiHjDlFW%-CXbv9%n<>A@<)j7;v<6wm2@!tk6tZnswT?eHpPI@ek!e8)Dt-*V<< zp+S+dR=~`|NwJk7)HRDF_40T!6~GlL9q6OkCLmRQ9T`GC)2C7 zohzrG_BjhpssTP_sKyr*F&FN70m{_}ivtozHblRp|3n?{LM4=+bX`e(2I{%R*WSe=jB?b zTyK^ea*9!|@u*gAmbrpni&xs^Mx)&1$fR3t*2+*&L5@}Dn?|`^?r;E5uGh-=uED|u zuT`^GhOMgADYy8bQEs%$uxr(SNr;0#epbu))-_4IR&I66kXW_&q*ZS4IZ5}*O}-`F zYPrn|&2p1;TIF`V+-5#0e;jf;LQ#Jj4q$sM|HAPc*x==V4hN8Pw#z>Z2elR~U_Wyo zmdEn{3-WMl^fegENiQX)gwzwm91=b&P!*^3QwlvJX z?jbw&qEZ*`IThN6^}R0?*4)V!?2~L!jtGxFG`Wvqs&@k0I}Y6)qUB9 ze^O#G6waXCwYM#>5Fw ze#X%wVadjJ2A-!*f5#FZe2k>{V3o&@j~~_UL?IP#awXw!wNOKUf-1^pIy|!N6NIw7 zz&<%x)-m~$i97J38XR>gI+dQI%tT5B@QZD=pG^{UpzOQ@ShBcl$z3S_<@STs>X+xw zpY5(afU*UcNU<)7{v~NW5T}6^F>>qivXrgXk+NwyL-9s~Yxrg%YSIf%umMv>TV? zB9f>fPF>f3gVo{Y$t{lDqsr&fEG!liesh4oB@@_^dF@)9-1A**26;E>u?5)7O?I5j z1~bRsa?kG147e_*B3xnhaW-`qsQ+nBE6+o+5NoKdkzz z`-3`H`#TL*(9|ER@uySIzBM?Lk;WXCCf*d#g5)KEfcr|?9DSQsC}tIURtApL;auxL z*%u^D_I40RIVt-~CXJ;thJ!ygObjAH+s!0W<7-0}&&SpyahJr^Imn)AJvwBq;Rr2% zO~r456dHK!S)*Gp0a8k^?ozG8`efMGO+2Bj%Wa};e ze%35L@y@61w_BfhM}F_}dw2WU)~U(x8IvIGl`?!68#t!}z&S+PnBDd0C8DU}7nRDgt!K>Y$oE9p7NK9Cf zyrMT&@|BRdV(bpyR}6Mn(ILp$-i7|G)$Dd3J@PlUut{Gm63^eY8OF&z#H|VglFopU5K;mxx2(i^~_xo%C+w&jiWKWt%;)XNUixsEuAyDPi1+wSo zl7U^3{$%h!!}X&QF?@uq<0;FpegBIi0(QGsEMorwmC5nO7j#W~a%gvdO7YH#%*%KQ z4zA@7e%B>J*1N%U{pVrnVEqR+;Xd^#zcvo!zPoiWct>WZC1}y))62o> z#wB?jmQL)($>4C~L=z`iM{YnH4rAOrU9Nvj9-MIV<8b3ro`jp1ygd}Z<4NgIE@(gsV3!2{&r6qj z+2)dh%cXGM6GkqVEiNg&ToU;Yf303Nx!gFlh5nuO1s;avCcp>eq!~)$c0qb}K@xUB z0(L?Ac0u-bLFwMHr^$$G*KlZ#29i3WD(`hgP&FGw<4mvW2+qELUNsOa)OX2=$r7u( zT=B&hy=w8rqG&py3hm~^D*P@GtfWVRXeFI-CXz+ZH*2+eiI^J`E+IP1OIMOfl&^5} z{|5;>Qt|qtl69;?b*1ujuA+3UQgo&Qv@f!=bp#N^4u+ln(PPYv-742uY52v@tz&t} zD$+l850CZXu|7P1mxnBh{d4#5Tpyn6!!vn!#=|rB@Jt_`>BD__h?>;jcMnnfc(|_* zujL`T&;GT0c&!hw_2HE~yyD@Ndw8V}uk_&;dH98gU);kl`tXZBwCR=DF`FE_ABY`u zGc6*2?yiwsq{Yp(3>S{hY_cUbkMlLV=G!ZGjRX(AWX2zV?)5SNn{?Z|?G3u7it_gE zF+d0P=8hES9sSj6t8QgQVpZ`)@|RL1e=SAw*HR>ZEkz2~$+uD@25wv()$S`tk;;Wu zfXbg$u_S&YuVJxP+F2V$I2Q!b%r9jU?qSMF#Kiz4R+O58^_f7%q8<7LK8(Z_DTSb-Lo)-k#m0gOuLB*dYc`54#_u&?ezjPVHounlUx1iZoHJq*LcW zTGWwNqv^hcCRQ~Xbz3W&!h+|R;}f_rtrjoZG)V`Nxb@vC#3(M=xlh)dl)E8J76h%pC_`s42x%s>tc|we`T$1bB`mAyivUU)1i(kb;$OoT&NeEiHkOT;l5{o$j zo|Vto1DO8B$vg;FUbgW+a8G?f1VcPOCI~(vn`ku`BD@CgM3eh$`9o)mmUQrL|i7CBa zKykkro}X*LE%JYQXk!`gNZQq3hhUjR7U!SF`qjP7!E_Xxf_Z3pBY0Q3&=5Pm^Z*#e z!%y}2&YUN@J==Rv&}L@Rq5yqHe5Hxn^+qT4 z3gnE1*;X!d^O3Z+JNJ-nQCq<(3%4Tgu-H$goY#o`o;}BsgkV>b$w(6GNMdqaX0|F} zM-3Kv7ZPp7_bLVSeKHso$YL%BA*Klw%`Z7LJ zmZko@)Go^}Lh&f^-IA8cTDWwgHY=B0HsWQo&n6OlEw)0sMa99#w_Bqn@JT}crxvA| z*!TyD#FJHV=6>Z9%hLGvRvdZ=>(F+8*b%Yl13q$dcW0i^BSPCJr?N-a`41UYCu)__ z?7^-|6bi5Wk%&!CoXz3osr+-|5mhf2mMn}r8L7McHmO^ZP)_PDkvhp%ciY}pdYQ;y z(>J$@qQ7j%%TB!P#>-x~tX1QsGgiuF=+Ra!^k}OVbF0PNYB9H3%&iu4tHs=Z8l;dJ zFXzb^Ia?ef(k!T)T2le!di1Cxf6sNSbkwG(L!~2vaIPc8-Sq?ITnEbPWN;&@mB4`9 zoDKg0j@minri__OFWVpPh?Sqr!Dz(S2TI)Yz0Qa7muGg1UtI-)JKyVlC|}3BwW_;a z6W6U1PR@STNNjG16O`Qe!9ucsxdT_P-m!Yel>%o80wx>l`jPyLTLVYs+J;u=w#)-o zXDH}HrE4{@wpp!v@~YLkR<+w&?|H1ZRM<+}{!l(T9UjlwoKQ`>*LC-5-0S&TRVlKc zs&@q`Kx<0j68o@-Djn>c)(VB%9$pXjOJf#nk>@LKe7z2)M-D0h+$%wUXdHY~QgvDt z)5qWjx{L1ywI%c2f4$e`+)VcuVp+n4aCG3TOA1dXmL)*i&;`UCdn9OsS7L%)EPG;_ zyyr_R`Q5=D#$im&!_T`xkT1)rf`BwJr0vpxm1? z5SCcYL&S!giI;-j*CC{T_uW~%D|qnLE9|}GTwb^pzsQY@BD(CesMyNvnf!ivh*;hQ zzdTn6kqa!jWwG8$dy7^1aQodBfb|&}`5?r@3e$)fh*M7Mk^RI5ESxx>gcE0Xd&1?e zKv;XjyWu&CT_!1+1Em(c#n0$xsU7qsaV?n}YNfO|9EtQ!t0M=0499Gy1XB`tcu~j) zpLj_RK{{e);nPX@j?w-o{*yDEL@>}xwkGDH6gb>W zh7i?B?kH+-vNxv*@(-Tuf@VsK%s*_s@#Gb5ukgy3l0U=jgmWwa{ftU+zQ^H zt-LC8ZX;q(s&C8BeOyt2uXomC#-Cc?y$#3je2$iV_h4gxW)HGyx!TzBpOunPtTpdmnEp05g}1qQk++@V5l6gu*y&()pld zpeaPIsv=j|(K2@vjdRSxIOa$)i^^dA^165n#k$4+4PAy_FYG15#>tw7CbpX8`SFPa;%QqMZ)2|69tg9>^b-A(>PZW8ZdKsA zBs+p^>*m&_qN;wHOs^&`C8^eB#^ADcSFGx44VSEbi@8juZW+|dgx!nEqX+NHu1faI z!RI7vnBD)!(HL8>JyV z530AP>+`KId%!ZU9zJ@9TSeox^XTyI6No;4^18rloPgeQ;$J^mpQ73vtn1sitGp}U zm=!ur`fBeCgFaAPk~T+DrNKVtaH;pM!-dLOZnoG_qiqlNZ*O-2_C%#Jd!TQ^y^T7~ z-GX$p{Ne*)F%klx25@Ux6o0o!mqo!iq^X6Oh~_RIi9zd%CLXNHzw5gw92{Y;mADXp zHP5X@SBm%n;FJbbfac{kI!4Qo3+&f1zT@;e*RnHL3qM*u*J3|9>AZrwji zKiN-beGI zaOb#J8pDgzpi#b@S}eB*aFTXA5WS5`r`B|j z1s!UmUT;^rHTka7sjnxvrTOwYduGBb>Wq33U>v}3yxFoi@nT6bFS0$3v_D|0kqgR= zM=MxWxpFg?8)iI(Ps=^Aa@%9d&9a^;Hw%J+$4A6>)QhAFpF*4a&Pkp~EXe|Y0g-z{ zp80PV6I6DYKbxX_oJ-Pu_sxPqGv6;5%|=t2cLM>*3P!EgtF)T6jf;{AMky;8&2CMa zSHD{#7-`ES3_Bh^X)A|ypn-WBa(KM&fp`>0Q~phHuoGK60Vcq)E#|1r{%z^U0=bMh zB#{}d;NvVLM-pTdIm{cZilGmGguNUaesfK*??v)56y-)fw*c@*S{5n}t^>HX{wKg} z{DNCgL*jpY_8b$eLNj~@61{B*%)^LV`-_@$=63|BN0#i@NF5fk^lA{$`m7rI#71oUND zi9KeAf%Fv2qm#A1L-1LDoV9tjY>qXivw#V*Y@&69X!pM+b@T_+XZeCK1ffRtO!{bS&K7iX7GjM`G%K!^V{j-xgkq3_6=np5W;pcS##>ZrcsI z;kg2ePFLMu+=eT7z4+P85x`6Y?#~;{#QlCKK?{rSFev#qiZse5VSUvgOg99(bdC5G zfgKgSlb`Eze)Eoh9QEwuNS>_crraL3rdZ@Ye!~@ij$S>sO)6!XS5!r^iGix9pYpL%PR*0mO_@L zZK4DDUZ}o8DpZfz7hwQRNJdIJ?nxKa2&Tw?Q3>1)V=siZhY-F&Xj@`GG)^5M61(acw{)&SU-8(Zd-KhC7B1iZn4K@g}w zVN`|yPYHtdpSeH)jAE>8ty62e!iC2`yp!a`^q5^Kga5JA7p+Fc|9m^M9` z1kfrYg;vR6nL8SY8-VUS1H|3k=i%(ZoAc2`Z1e+vlP|9cGarb1gS??TKfwEKqE1P_ zXUgX-l(YoUf!seCtW=COP>&3UXDb|hjW0e9JVCg(v%mOS_SoVtXQwJnsyV*> z`|3(%g?Pov32o(28nmbxd!FFcv%m}U>anqvyBljnPy1&h*@)zxp3Axt6#mO|x@z=l zbOy+OmtY&q`YL&ih$nY*nPK@eUAyxvrlg!N8+T6fr(W)@^!%Ay2CkeecHCP8{deC! zhyAheUb~sO_jG(riiN)C_NfXUK*H z?*^#CEdf|Jm`5~%JM6Of&%g@)W&*9i1u4i!Fqa!!Gv?axcs6oRufo$WOvzYitL0Bf zb@@bjJOgx*=AOr)i_LI*OF+&QBD9jk1RrdvV5=GZuKZ~egr;sVJ_mfAsrJeX@eW#wE;AvcR&C_^xPWur_>q4Nr5 z-|(X>!8tDJG27av{Amk1G{u+-4LVAH5F==D!1{@<7Rx}6yVBLlbo$v&km8;SIM$g#7)@i`P$HeV^X?@yYui`YW4U{QOM+{_sX#*gTn@ zjW&}npS*t2U-eP%Y*sBselq+#J{~fv@OSo?l~bUEE*V*Dw+n7!5k?Sqp?<-C2LM!} z(dxv^+$&f7tp~Xs-tYmtBa6ER_P{_I16qA;nHY| zF1FT3hw}3QvjJzl7_1IgzVjXWp53?yRhFTe{PvqN zsiIEB@7)~q=OkZ~ic80u5T%Gld`MXthR^M8~Yh4wUjSDz`N(JiGhR&l$ z&;7LY-0Kb*4`K-OLPxShudpo`O6y z0sk5Z=3;P!#s4r#1y>tJ7lUBeoua)g?( z>pEG8p*8wLat6C=LthpsDvqL;wR>+*B|ZzdphmrVi_>cZtP|&hwdAwaMomlDz6ECW zz8B|-m*3zK8-M4hf4sK3AP`8h_yd`^6FjYja3hZGph{3ic!b-3XEB)*fv8^V)6bCM zOl8$@^ZNf~?@QR)Ia4isK{qRzM}P8G27#9+cqz|56O3HscU?Yy z^3_Fia{4un{P7i5QSb||n&a*{-J4+(3x41Q_avhjM2#|$BbAQfh0O+H2ZaOaK%5lv z$BpbvZyKKlb?)V!it}-)d4xXZ4?RP>AY&KgH`zq6+gT{!3eJ<2jDv;c2VYY%u5?Rj z^7sH7|9_ijuU;OIg9>K#m?Xi;Xn8@JRXYF2&hg{Pq;m=vFv|u*7qffIg54{PyR@)S zh(1U^VQ>tZ6ZFSTbXs?#0(N{Lm*P`v0N(c-)B`!MWGz#Z!!~CA*6{9bjl-~6Pz*3} zAL%I`d;xWpfiGQPNKR;}If~5-_wQI%iPN9!;<6{}% zIE@YN!LK~KdUw{p1e(4pn}-Y-fjLDgx_g!Di#Ptr@`Pb{&<_JYF=7omqV9Xab%{=9 zv{yA3DR6S3Z9;R5x`ILbM6ui2uRiM2d?nQbG0Q z-+vGLQqF@slLIx1e?guFRS!h2ilC*PJG`139<<$Z28bZlewZ*@x^AH=^PAnhq2pg7`)Lb+@r zaGPTeR?1K~-Kef1g0Z++hOZ*He%Nu>cYogH{LzMJQrkGnhlqUPj<+#9lN6ULU!lhq zbdD|wCKx|dpx1CbY(m9RkGvov?2?&jN$^-)MR7>WnWI4q#UN_>Rg)pgg!qVwTgHlY zp@Hp~zzsh-^Q&Iht_Z7r$NLo0B#0#526RXu1rW5bQ-o_50FQp&8oYUHoKT}?>3^Zi zyZH{PMWiYyBNoR9a>&pslaQA32YrH;!a+Oo1k%U|B<$Cq2RQuV62dUzEFJMAUn%Ip zny7#k3rO%W=`j%v?Ld9joC`qM4x!V?yZb^hq0yuqtasBTL3v!mJJ{)&RrZpbA#GxK_=rRevk0W-F?#NJSf|iprH#O|vS$5rLj(4K_=C+?)E~ zXAGnAS1T~nr)5gb5f|8Pe@kIa3Pp$)f)$x2*-(|U~4*QzngSA<|&HdX>oG{d0N;mL72H--rTHEDSQPf6%EsQyMG{W>&o?} ze;etSYj7Pcf;J5BIYwS87_4AHBkmfv7G2KPW$b2nD%SW+q4$O#vV^-roVFIe@x&P# zfM#v6MK8=nU|;)Cmy_=Yx-kw0OeyfY>FAyKEd8vLtp-Jb+_NpYZCVV(rf!>(aL3dK zc95H;{xWTno2Z}aXfy07g@1VAff0u;zP-nYT{lek7$Hk-@lqvn& zMepk|Hzeu>jR90ii2YtFqV|QT2!W0c2s6**3;LCXvb^%HlRRXLWc(v82#lna^11iSm~FbiUg02u zt}`h036vmTEl+Y8J+Y$382KN`=-cmL>S1%$B9HUaDSfLgpN?RBH5!L+`xw$Pe2Lqo z43`i%lv1kx7)~05BYz53B6_t9N7^w2Ah>vjk*chT_d)qt_cCm&s=ZG2F>!f;pCiS$n;qlQoQUaTbI{Y{{z0o&xhO&5y}U5*34}$ zossx-0m2w)mVdQJ0ta00%Er@hIkDd~%|OfSc!yZd+p%(q1DN(PB{nRS1}>oz#`UAL zo|kTW$C>NH6akuCSON+BQLeq875zDDTJ){Xi?RDTG5Q$HjAo>!##)MB&!3ztjs()M zc=`36QQ0@mhC5kIUh>`9S~;BMnLt z`s;5HgE)m6+3^4JE<9Ms9M-RHMt~i~p6|eDKtu1GgZ1V2lYd$~GTnG3fS1WXRWP{p z%kZm5V1J}TC-Q@YY(VG+z_|11E57)DAHggtiJ6b&KwklzPcgs=B@rqwbwK|MHs9|i zFGlTinBSSN{2Q2*r3Ujh?bd9;4MSL6;GUwlI>IL&Cht{Q3=^t@kdOn)6%&nx04VC? zUzHAgd4nw0@UZ^&iS?FXDd45f9!F>yh7bet<;{jN8g?uMw7G1g0a!wP59akXC}Fse6BOMe zoVDtwPEHXN`q@xSpG8F#F5u3gsxi6%qT|Y-Hu*j<;$NP-AWt9#2~R8rQwsxMtKl@o z$bbGruyAIN86^dh4-i(i9CnQZ`wi7j01|j1PXa>Ay;Ui*Xz74YS#T5l&TG?QL3`CS z%5Q*o-nnmp1J7meP5PYBZ3Nc5wilVKpSE_~mvzI%AtBCi0=*30?p>fhXvf;wPuDBM z9Db{CI>Z}KNDF{hGK!!g1b@Z|HT$rMe}8mL>;Rjf1?!y~uqZStr*R{PNovu!qlsZ9 zykp0MeQO3`@;$atZO;?q^%mQLX=O~Eb1QN3S&x7erzxF7&b@aN0-o#e94_t+L3Oir zZ$k~}&3p=qE^vhH)cbH?XoN{{qypEM*gq3x#HmAdjjaErCN1KrGY0_;+<#Oo zK@~RERcDA#iRxPblS?(ZQdtyzrLt)8kj#P*UFxRsu926fFI5^lB`Gi;BE*kRXy(;7 zpgHJP;T}xmrZDG1)n;+WBQkHEUXEa3{$Cwu0w^|hloo#Xx1S!Uo=?JUH;!mhDds#< zom{KBpE?+K;l-)%<@MP79n-^Du75tbSwboL8iLB3;o)?-IfcLN0(jW4VQhVPI>h+~ z97lwj4xSO!4c9@SA)eu@Nh|t6gq*%hKQyDmuRGDpPW1CMdfkDY2qk|@F%hJ-JsZ-; ztl-Bt@Hu~$bghGMoI_bx;#8*uQCxoyR-3T;Ec|CJ6$cD{irsEa*=wWmwSV{bo6LV{ z`IS`u&+1nlu6vXDuS2^_^AA6x_kouK&`T}`4QR%A+%l(kA9aV4AJq>P^px>~w*bpm zD*nI*c0^Mf+=XKwv3xigjL=WOY*_fJRzMsOb@1OJuhDxXmDd0y@q`v>F1Uhstg?bg z3b14_$Gq{q8os|n3+^!(LVt*`yj>~K?tP4q_x6hpXVGdK!98W!?36o@5f5U90Fpp$ zzwm%z!C+i=UZm?l7@^_Z>6!VZHwFW-by;smSM`(VqHZ;T4be0!MJRp2>fQ2D&v{(^ zdE^SY1EQO3yI6(}(+T|}!k#gub<}-y2K9QV_;fLr+W-&_d0Fg>o5GM^zTkhyv6+wL zT^1#|dL%WUYV_#PHiqn@(s9hqpgGn=zeUvKZ3qF`dgeol6ZomH=E&=VAz`*qiCh{M zvbZU-;Z6}a1%CUG(0*%J0uuxYt&aGM_GI`awp|RcBER5vl?nK;lHhawtxCeoaV5ka zO>(pb3ABOFH9GvxN0mdRN$%uNEQTvjiM7dmFEq?%c)A;D#oWeWBgbtzLQa-9ZYDNDLp>cmA>+mY-1(CWC z1cCDH>|XoB+`X3ldI75MU%k`*@EJR8qVIR!XYV-TJMOX?>{fS>c2;bi@&vsAKEaFPZpQ?O9#K0-Wwae}^ zFrJSBirVP(Dn52v5jS_Q37t{8tUQ8;d-Oc$E%ecX-ujM0j|DO@3N*2$Aj({EiN8UN z^x!Tjy;wRLe?PHUVn^7}3D8BC>?lveRE+3UkF+y5*3dL|^;myg!JS_7c(_@JXw^|} z>c+48mp`YBNVIbZR~{hr*=PWqMrQB}1S82r`ZGWpJ9$DhU^wqjj_~`O9fCu>b$|Fy z_XodBk_MjfBH;4S4FJwyOs*r2?V7|<=j9GRDsVkDW2d>-nwz=jFmB8IJ%=(z%kpX&kD;JA6bWmQpYJdwMDLqLaA??cX~QmM2zn8wSqwQIvbu9`r^R)Li`RMNq>c zSiNl#{C&p3JG28feem}D!5iakJA=3JqN!#VP3-I;v1n|;#7m==Y8ozCXQ6ZgR$m6I zYl78PImUl0z-L~W1`Q|-c+7@J96f*y|7K%1V!S%+ZfCK3)dJ56?*_zm4aPc3TO%wA zTF{@ei8Mh4=ugnc{MoXf0>>tfLc*2bDwuozrxd{P3-=sbC#A-!I1B0GA`{aB9nb=u z?Y0TU9fEfwblju6{OSfSJi9Xwj%HI24$-^MJurX3Mo8>+#4w=OZ%~zF`mLq^Vd*!P z{$T0%e(#PWWyMwE-VjC*6TgePHOHH@_+*u*svJs`O*c4f3MK7J zPD9r`6UTMloDBFzOniBvrCEY@@$am`_tAgLlIHf@#7f>a8@O)L6ZQTg_eAJ#5*xs( zbtn_>H8JWW_MDkl)H>MB*y={`H6&K#v&!8#b8sL?&?5|V3ic^kZj9`c0CvLkFac?` zEz}o@8Un*sS`T{|IPXu=yoQc}$~>I;!nl|O&14)`*)Aa@T-<)sqoYB6F9_o0){e)}^3}g2TJwS0N0$GD94i2AD zfx7Ba)EbAgir9i#$RUiP;kQC5o`rvT6Pz%XO;(8h#+8J?3#WveLoU9hS46lF{Q}G_ zc^l^1q79dW32-0mef#$1_wNp#{o_dk=c^OL#<}kvfBow18wEq0TLO`!C1 z2-IAJ8a{xtLG9LbG;I#dDjK&^@zJJ^^X%6N|wpO(4`)PEz@CrU8 zn&2V^`2v#}-@L;&Zv)8e@n=_Jbfa;9hDTSX|FHCj zY29dYWul`Ewe`QjFHk(!>sB}OcZs;VkBb4Xd zhxQc?^PJCrGncc6(C(Z0sjLXgOVy%8IkC=BZ4*hCj^Umy8wmHNO zJK_n;9uO4vWVX`IP-umv`yvPq?7bd5$U?tkLKoRM-yaVVCIQMMZrYnS5jw8DaA=cr zqQN@?tg)!s7PRbb@=|AODnEJF#c(m=BM^f3I+qZ+3@tFQ`2Y(gXAqd-WT(WeiI_^z z8DM}5uh~N>f2w~nDDrA$!Ig8mn`gh+A?E-b>Z5`>tDIj5f56r6;Cfo9=M{u@V!}fn zsoX%l5PQY99oo={Mpfua+~P&Sn2GDJR6@^-;ybX&)u-+Pq0+nvf))DM8v*bTV#n%q zpo>Mlq=aGO3x_s{q`8H7AmAggS^$rKq{gObc%w$e)9-)rJ%X$XiKmKIdoP-2=1?o| z_GqqP%q3GFi)k=! z-x5@P{ThFUJ&Vm7iB7-tFmNj=ojSmgAZ}9=SAej)o-4B0+5K-Z=qeZLl1K%9Zh=>n z0>=Odl<5r;x}XUX!8<=AMS2=_wOP9{zQnwmc#fR7JBDD;^B97i&w(IR*93wDmH1|- zY1CrJK@fmd1(+$#v?Oj!DCL&t(KaHsx=890;C_FC0OW_IQXerkMq8s|WBsNBIk+JB z1k&l!7CgzrE@o6BrW+(|ZenUP3n9OGV|M5tfWh=MR(*2e^323qIZNfmF>J!P zO}Vv;Ra^eGsZE=e!5o}0SB>6-N#GihJ^*5Wh%>Qi#^wYf%dT(n+J24C!Cz4=M7w6D zl|Fyfg-UWapeGTU(gY|mU8c`I#6=o39%7OgVa=g)8F*OITT-z8zlXj996e_<;o&)( zsqSY|nHhI8$W;B8sIAxom&jpH3!#o$r_tWoStUNNlf3s4sbB(6#RTKp%hzt|LSms@ zr&&z+)<-M1Jrx)aXsn?&4Nl({zXh=GLpOiZ9CdhzOHPct`PbnmM~O;OSO+*tsR-|c zBV~%8lbB$mpm;DG0ymTiU5Wai_Qi;qc0!HdFC4$1MAnARX}dF_GuGGezR_X7ArZ9$ zo2BAktRdu^l6~DZYbZUXq>XgL(v&q!^~x{Tw=kvw1TOc6M+(A!(nyo7hGT$m$d7-a z#i9^_B)bTgQq8kh2m$W_!E(|0{LV{V>T(RG5Xlb03fXrMd~$|{bgjC>uDAqktT}Bb zqwL>*8uCZE*KaEp%)x-$1}=?>&r7hu2%972EUSJJpIZs-sq4Ap4v+P`qXs|hR#2kfC8_leM+ z0h6y!GN5+tDyZ)VC293e=o0si=mLoSX#+4Yx_~Sh3GS@(CI~_zHWtoA#A~SRieF&Z zJ1Rl(c+%?kH&*BQ<4w8P1=U4v-J{0x22QKAuicrBcKbu<{iP55Rl7r&3oJRmr+Ox{2sX-zl@bv=Kk@*T;ZZ8#^eFm>89X{KCW4;_YzG@Lid7$#bH(%4vi z1f4E^RH{PutpyPGgA^Su0D!N8O-X+t`=RR=A}P0~&%x5w`(Wuwe>|D)_q#ClL^N9lvyj@$Bx9cllwC^-F*X0)+WKik`0}xvZ;pmKs=P2h+W3x!VS-7zX z)~pmD+}Adm>Z`rKyq@Wnb`bIRfA9|Nj1q z{vJjD2p2-Rf*3@>g7~x2ayddo8tGL0REf%)8$>}o!FdjsCZEcT6{}C{T%3G@&l-EG zuE-atWn)#|CZ0AcQZ9bt7i+HOTGiEz_*V9`y0!u!{XK8DNT+`rQ3c^{k>jbPIO={(eb%NJLnSa zrzGo`iCGDXC|F%WfLMa=-uJJ4cE4mJTGhe2LJxNft9#Vh#iGnjH*@)J(A(v=FF42Z8(f-+NyIFUsEJl~ELR0@wPT2iFEdlU| zuDJ;iK&RCb>=8cMM0DzPf))?3hSi6)6?=uKd5Yk3l8Q}sHUT0SI$87Du1j=!U1I2K zy9k$MZh|7oMA6qJHe5>-og~2mk!|{Sq-$#&)bD)Y;;?^>&r(EV57NzOU5*5#ve9Fj zY!$k6RgMvtZbloj!yuJIU^Ciu^SUCFz=sXigom<#7Y~RuVGkQt7~#DP8&+&u1*Egm znjFdh&VRXq{QLgJs+XntuS>u5Uv3#+?l0HlXC`{vx@S_8%gMj*mg=J@=2*gJ}H?fPjY==c^<4m>PDw2O6q_8f=_zE03?M(otH|VW~Ho2wm&}U zT?Osw1u*g8P|QCl@f|-@jr`_=!zsB#hpBz5DFCPwSv88AeNd8Ho`mM+lM>wmMxN?CLNLp%WB+MeF+$CAgr3QJq-YfDO4&Rna z1+#xrG~}k#;h*89@CrEj4jZgthyTJK;&=95_#7Ol?OKuo4tjn2lM-C7m6!FuH&M35 z|I&o)l+Q_cBD#%CIS*VS?!+)mcLjuVE9X%%b?21d|J?RxE$BXs)an!7CR6vlTLErq zTR()$hZSdsRW`xkm4WlWGJ!{`JTfnxuGxPLQ}3|^vHqP+`{v(SzO-l!^ZkYY5^`Va zFZ`&8Bz;@v9%#D!{WU|UX#qNJLl&Y{zB*y3_3LZ*0i&)V+*=n46?lKm zPKds!WW}WrKlA)_2v^_BaL36fC`Nz^(w7($-@HZ=G@4|WPD7@2$I{PD}mzSBC; z(%bf4G*KAp*nOZG(EWGTAm`Im3BrGEAI=szd8(E!N+R?Nuw=Ro@8H4V1HXYT4HUD~ zTI(Hrs%u_h%PgEz`53Sd&ujgJ+iBH32nM3&Z$TT*f<10P)wf^b8wsP37xouQE-9^U znGzRmItIE^*l;j6O(8_TfP$Ehm6e2*Q&TrkIa5bfpa@18_C|AH6K!xELj8ZN<%`DS zSEU@84){obJse|~bnpll4ihS|)6N10Dv||TB_fSYU5F`Ei>JPh+CZy~hJVj$VWe%d z$-u1_qy0Xd-7>tZ(^rNQY|~fPV$g~Eo5TTv70wur>8J{)PurO5C78)zf>Y|)G#XF? zb=WV!haS9Mxh7?mX^UoY(1L%q3be0K5_SVYNzskUDXE%QnTlr>&sIFE3#y zP*4@61DYwWSv7?f74p=Cq35N{Y8QW}i#jx@Ta%KXmG23+7};fdG+7K2x6NWGt5UwXjw z7M-pjdn=rE4*x+@#4)i5)6*)E5PMYvvH?of)1)*k9e46&=()_n~`JY3!VJI1`TQ$4Ex z!w>#mLl3bcJ@8HFi2H$uLw1WI{RM;z6)4~5eq&%Fv4Twt(Pa`hgy6h(BNU(oWV{1f z7G!@JtTuWhfz|*StdMqg)^{J$Z^b5^`|#Ive8}JBLJ5M?dJ`U$k$Y5!%MOhKuVg_Q zoXm}#XWRvx5HUhBa363|oB%;C1iJT{1gzdFR84N11UW12FbN*0E{2ZX#}XGBczKYG zPfYKCssXE8NH0bz58ZkvKHha#O~-fL-tK?sF&tl*Bu+49X{}_ObI+qqeTfJ?slFk? ztg`}5l-*RC4gzi6Pue_Zwl0k~X%2 zwEl9L_HvnmhT6S*&bc=#b$8CBiQ`>N8Ix9~O5r66fL-08;ipcW&WFT>QlZFUnL47- z;K5ISi|QVsDP>>s|fTge^KA+ z>S|g3va0gRChB2=CYVtByIfwuyG>}*XoB*R;2n}Rnu%1Pfh9>rf1xB36scC$H}H-L zGMTKeGTB_Ax;PAs^dEXY%o#m~#@@55(nBj`0rB>scO1z;}O0n7JWEpuYrdnN29j@mFO-Dyvx$1Ow-HHLX)rzG~HV zeJ5Hro13mZ{m!~nLuL4`N<|&K(@t#a=PbF|(bhJls+xATx`uN2Y7N@JY)!vf*RQnV zRs50~^*bFh=0UzgE%KdqK?hQ0)##eWAd&C1vJHJl0N{T+jFs=Il36nV z02~69743^=>QJf}GT#{-6#Rgyj!&UtV*oD5__Vzh`Fs_>q|Q|xpH^Mf_RwqTr=VGN zL)&BPoIPowvT6O)_Exn$Orm@TtuwZ#?>JhH&)_M2sTs&?3Kt-aydyqid6K?fscUPqK zRs0H9pMroJ1M9T$+3M5o61wcCj&H-}L8lmdfXttb&sLwl<7|I&{tRDi^=V(QJIVan z_-ys*FgeqlKU)tv4~lNwqy(O}9&G*TcUtu-eue8#zrzM5^Jm}L`qRF!YR;eGi&R!K zl+rD71=AR=KYd3KaD4jCtv~IH?5UVP!(Cf{3Kwjx0&81UI`4|!)is5S;hQ!wI%P?Gj`i|Jj@!1^NylY=@rpo-; z&T8vVVNFct{MmZY?{qm;*L3WL6K?(Kclv7;zryvW-{CNn_Ut=bfBHE~a(uSGC|qpG z;8YfTF}T?J(|4?ec&+c;`qLsf_htTUf3fwa%~lm=h75l?0jN#Kr*JWxxc}+5KIin4 zp3OM@bWP`a?d{jAU>%&(=!r z`DeRg?)j&1x&Qg6?d6|;QrV32Put5s|7?zO&p#b|{`sf)l7IdgzTEr#v+r`xKlxzB z`Dbv+J^z37UHeeEH{}jW757GaSr4|7?7@=bx>I z-1E=Y!@bWx`!4tVGknQC{|qj<=bygIKmV*Rx#ypqYPsj1!sY(wpRJ?Z^UwCP-1E=& zrQGw+<|z04GhE6&|7<FZb(@=I^bKtU;@*JvP}ypvyR7_%f&WF501?<85r(B<7K zbiRKJP*pZf+@}mZcrS-mcVddg(YZXM%LUv{c}HtrUrRckA?0tWGoz)5){?4f9>HdGSy*Cfw9-l!xZmG%%r#f`+8Yu6O3kK1a zy69!_03YWzA;Sv-=S$IVoMSQ1eQqLtzslsc8=YOoy9}I_cPvW3_eaJ+5z=I;HWxR> z`*Kg}ye52_VNfmrKU{k^+vKXl4L#%S%VQI9>j5$%te;EsFT4OXD8dR%$uWXMQ{aEY zDE(v~>PVHVcm+p^622e(U7q$jL(DMyOD^rFWI^|va2JxSIknAvw z7t}=))!F1t5aIxx_0ZRFGv^y%T5X#R27qZt4*O_wO8yVr==_l{XBTV#Gt_awboAXVvK)Biu5;8O(A zZ1fkG$`EZ7oSw5=D*c@u+tK`D8bie3R{=+;(%$R{85e}^{;}7&P=e6PPK|#TS_YZ% z4!5DbQ=%Rb91@0ORrloZLkATD_S=OPMJz$-{}}yeaJmuYByeyoGLuD70!KjN>+9im z>odWX018|oA}($MD8o|A!DIlK3?+!yw_u{5HishrN(PrTU;YjS6pPg-IVIvv=!-Xx zb^wJX0*`TO+-l+|0mRhVY}$Xw>g%ygSMPvA1&Ue-w*^hDh-w*#i_gEJ#T7?`PyxJ% z;~>>X#7ZZOXQ;kW(65Q~3-U}x6upL;$`)k1P%P9E@T9)ohd1>`3tlMUPJMzxYu9Xi z%%#1Xmq%TE%KhLS!P^u`ppLV<`$Q=^neeXbhrfreskaaG|aT=st+Cjwz3%cs}@ zvA4T*3grm#J{hX{%K*H3lM^8ZqC&s>a-I3Q1y@A8JL4So;&oBF#B%*Z>ug>#T7sx$ z{h|HDQu{;e#17;7+2>N$#rWS%2)CCcz!KC!kifC-oFxgHCp*m${y^K+wR77V4UT*x z0TLcw6An9ZycA)Nk>h{&(?xPgc(xSn9imJV+YPC;<+D!bgMuoJVu1=r08;20GYr3k zp@^s?=17T*E^0VGk%Und2eOQ~HyK0EYBW~aK3-I)nmY@Yj?PmMQhzQ7fJwQdTVAV$ zVg^YMr=<@zNAHaFys?fi$_OkYp9DcE-MG&SMT@jBEtMWH zB!|^=a$~eXE+l_?N&3^PMc-Dq6Aj?m8ct#ZJQr9^K-Rj03SmD-IX;=4PHl1&0z-BF zKHY|GyihJ9_}1mwlDEk44mL~vR7AWH8LwQN6l%oo)zE8nVm*$$u)74+LU=!J^cjKK zDc+G5P&GCjrU_6Z&?V5vHl`^qG7Ll$j)F_GF_g+~t;l~NYgnBOyg6s!*am`uCqwVk zaBLcJfdC+oz#ooEE$XIOL%5)S`mIy1RLC?Lo}NwW1O65lN==HpEI9a&awXm4WG%(=m~dOR>#)#e}n{U|pG4u0p<|mUHl5&ndSF znZFgY2>>fETWq}yCZ`s&DFBBt2X53O(Al&>fRQy9aNzmm3?d6Ukj=9PTLF9B)n_w- zdgsCzqttSF_!a`$O-3H@LhN;ukq5nCG5`-Pmxq6L^m2mtQqIjrUb%SEz(<=s8ynRK;t>Z;IqYw*-W7EY_ZxJm}g0Z%9}7@ zo9lwLc|haywg@m6wOHPCK}*HJ3&GCpO#)bKedCB_m&luic*lX5L5tL>YHVL^qQ@nrK9H8lJDas*|yIkHBRD6pz186ySDcI&~6M&X;P|X!G@T1|J zZW-_)A<{y*z_+f0jV*=HY|c8dG6r|Fngc2;V?alvIfF};x#ci`C{4?y0Oi=ZkHO07 zftlHF&2X(iwMOOEf&u6_x5sBL^f7ax(C2^RNw#{3!iZxS#DM-D#Af_tF+Cf)=#E-4 zenf0LRo_%AI(`Tx-$ev#3u^LDzO=mrRb%Cv4dG$mxYm;7E4v#;IX^xl{Q+AG(y9!$ zDwll3uRGeo#_P;K&>$k>ufju?YYu!BHG6axAzFr2Y;SM+Qr0JeE4Tb~I|Smce!hQE zPc;=(;#8*vJOTjMN5T*l#;^k&=6@|Jmq$GcfEo+qH?mQNbQoLIInPCDA+*I2*eLzw z-_$?@ED~*?S&~~;FnL1)ZiECzQ$vtzFo3{!#6Yv+k=*jHWAU2MUygB62t~P~pgb_u z;N+{OF_7@QF{z6q7v9*@vk%6EiL`%wpZXI$yn*SI*J^Ho1Cm5n;S0?|+Hw|YAxm(@ zQ#fmdJlBKJQwZ{(QPe8sYjfIoj|72at( zfj0CQ3o;JmDJ;_mZBt|RJ(~2I?a_tcT?BT$yj_Sic42B8Q{)umwYUj=L<6|Zu>p%} zFF=^lN?1gj3LzJUmDTJYTxwi_RtyQ8`YAktIy_}Tvad0Jo*@O*##WclD+F#f{b zQ-gDn*IvG!CZ@wdxw%~}@2cE@j4+T2*0=S=z5#!LOX|YG)#>qQKpOz`4*{}(YUpwB zXMu<{KJB#o;8VOo?_PJh^mF9ip60xYbDxhUlL7dHnGf&qXW?(nDViSMwR7J#2PadQ zchBfx`gOLGxfOiopG1Gpz9E~Z-?C!u z_W(h`&eRIU%!1kOnejr;{I91tc<}tU@#q9k6Fdsr3lDdO?Gqk7l%OsgMLqgV`*c}{ zYm2LTsRBCm5)3i_805nB2A+AVcBS=MO6y~g8y2qNnG`M_tMPv$OV}g718E!Gts_$P z@9onc(UJSLKC>NmB`kCI8t)3&qv)I*H9g?#Y;;D2u3zv+)fq!#*txy1>z+QvdGb2$ zef)X(<_OP0U+yr_Tl;lOXRg<6Cw@a%WO{0jU7#%H{qJ2)c{ zTG5&QIwxFeckF+O5H0%R#cL}~%0nY2E{&9|85vD85`so5d#FAsctS!f`VbB#9`+X( zYm`_T`*d-UVdp21I4@sPeC&Q);fKB{hi~u$Zx}vp0;5@Z;eYTG{ZS3y;K!9S70ey@ z8yLA!q_UDedz;Hf(m}r8gitCbvyzAMH(x_VW9U>S7~p@h6*1DMi@vO4lPUBXa5_WE zLB?=O)B%a-d1JI)-tE=#nnv4g{H)l|$`S4=ZGZ*mdiA;uDBz)jhYBCc*XQzT9Vy?e zA?1rzq*bIf)wZCt1teQbI&s)KY7AURXpji~2qep-ftb(hV1rK(y}Nw9)GAiDJG<>e zq|#1(rNDp88Zyt3S!3PIgC>PjtGIz^444oz)*n6`LZsgtLrzTyLgY*F&j6;J<0;fm zcp#9=P4q;SBTo#tP?j2-RLYjg*f~e|E}dy#mC)GzcyZbM1C2)5+T-4g-`nm%ooxb6-nJ>x{9}PIX3bH4LreOePRu?78i%O zVjez$BZe3Ft3pdJ;d-*u__(#{Kk9rX@G5)ifzv!<@^8$Z@q6k zDIW0QU1R_7`O)EfF$;fJ`1G!^$L!y(8}FPOD~|nb12d7v-so+qRQSZIh{deny##=K zzYRtTn<7Fp`#GHep=#IEJ6uuN!uIxC+!mc=s+oY{Z-p%xt3>RVmA#+7ti)ts`rve!cO`@cHfHiG9!QluS*U{Y7?sR3sQzGvM=H|SY8=-CFmjy2MD}Pq&=rPlA=Y=IL#oae z9M~wb$eC$fO-v>9#DK~t-~u)#Ky^Hfwh>jeC4Y7x?jDdERtHw`%sRl?inD)Bgt7_f zvl>Djj6zn#$td-;DqPVo;tH>l6;j8673$!+31C4#fzCl2UB5~W(yJuC-)2{dqY8emKC0SB? zxMV)wf3pyMDBx&8x14LfOQ;G0HNn2#omJJ$nzo(>pFL%?+k^R^Jw1@mRPW$vLOp`M z0w+5-%AwKN*}Za8KUq4?t?8L`z(Ic4m^}Je>|R2W*`@ zU+E(!Zf+^JvDeSEG4}ISV|4iRD0w*RBd!ZiQow*sLT z0PNO2So&Ky{L^Q^i)bHM{3=qFL$HJ%>`r``lF8#;gV?VHR#z<~AM8>6FYnTg)Aag6M^S=s@7ZkpLcxDZ+XG)_ej2iC!1q7JGgRzlgVRuD^p$m-zjy-gFb@2A^)Wn#<~NP8ihca$L%I z4Ooiq;Pk%VSgU_7ie}Nn!5E?2XYB6Iwbw)&6^%doU&Kb-T;>nN?AC{u@B-hEs*nM& z!U0&P{c<#X-I+G~L)^N++undthTn^jvsOa}nCa{jtY=geA6n6?i|hWnc33Sh!rir! zZ`0x$yG*q?Pzs|4q$<#w*aRa#G28(o-Vcho8j*&FjPLQ=Uov$NnvlKR1O`hoIiSU92sOhLzy4l@suQ zr7IBY5<4N;9TdCpZpXD@s__9GqMC>g;reYzG@^fx%ONQ81_BM-48h%ifkCeWc_)QN zmD-}duZG#>HOsAqxf_L{o-*XOxZ`jh#VhR=pXK{a2sf$dq-K$IW4Tbo#i}g3JKy zLldTo@rN5XOqM8Bg}S+}4D~IxD%Nzezv=EwxTWd~_yC|*`mVkXZZ*mhz+F9TQGRPj zJvGEEZQh{QPeN}F{$l&rZ$4f0+fcDh?fZX`qEjlnSSv)A>AZ~s7`CZA$Ri_Y&L8)O z(%vgO5bNvIgD4^(mAkEXp&PLtvvJSHBLc^IoIIsEHhM8$6h19zSq|UAA=p&}c>*;@ z0oXJ+GQd$jpKbv4V7nW0b3qe&4bhd2Z4Q&>Nke8~%SFjxfmzMSb;kz~HG<24m-R`*46=*#(A7%hUTxwlPX$?>gj@1C(!Zbm8wz{T$ z%PFIWsg{FEo|c;$w^%fbSEPgSSRE@_URKaH_T7pt3mYLo+91Oru4%VcFN61rl^HXO zTgoh+=<)!2pD-tS?Vi_5YN#Yyt$cQ?apjNM zK791aA^Ym&$)%ESDo<8PzG1xJjvP#J@t2*8xh276N9YhMj)(Xl#m#yUfgDOW+qc*a zj=cnmtq1RVC!_htlxwa#_GCdC&}Q z3TZ{kp4uCYA$R3xTn@eEDfYw384NfDFG18v6FJ)kKUtSgjP4fKw?8xo=h6wNvhmgA z)yWA=S{mozc7Se!c3U_IkI?u))QEste%SGqaz1#T9yF?p9Ftq*2XvdMKyX=an56@> ztoU-d|07?n&3O4OUvA8J`4fL%$}-J+`?I`FbR>S8*l;+(Yw!@W2n`znL1J;`LF^A( zTw&$1xO#rI=u+_;-^?Y`yKSYEu~cL#+uY$#z>5@evb}tIYUJ7p0=dL{A6#9Q0kt;h zP*KJBk%wXYmF0dbhhb1z^U_o|o(+l|M0rsM45yyQ*u;6wk6#Wu89-kQS~HQcAVIcpBDcpPpBgb`8Q#nCOaFYw(mx2=|CGP5!y-TD7r`ucZ$rB3hR$Sl(`NFNGkN+sGkNT0 z@-&{w;{ty9nLO5+JY9c|dDuFWD8}RUw^$3udJcM9Iu94ydV;Ub@O%RCrm%*gINoo}CRKZp9rfzQH6f1LmGTkO0X= zz^+0~-2NyGN?(5rCgq=V5b31=KOSsuljX?NqP8x*nTs;~V zLBU_56P~+_yL7;lrL1fK<9+OUv}kQXUqm@pJ-p~)THyc~69OI;@PtaKhi!0eK`Mff zQ}g+U=ll@eAeRGb!$sVOGYs9&Y3A2EHgjig@Fbrbj4NNRs$`bw(UCL7xJ)U1a8Xzh zzGzYzisyep)ORT25G1~};W0i+RR55dFEI=kP45^PsazBGHdlYsxs{nYs^#V7=D2$< zi<;G?HFQG(qcW{5l45Z6oHYD40cml%hS1vBSVvls7g|ytrr4NsnU9$T8i#P)U>hJ! z+s(1Mlh6AK2UvnA(9iY|(Pea+Fn=CNe|YxZW$S9 z^>Gwu2}NA*YmTlQ4yr!XoX6H7?B3R$I;>BCrDjjjk`5{EVuZ5PO+QhWgoqQ(ErCj7 zCtH6lc)AZW5Wo#yki1s{Bl`kJMP55_+GsJH0}kSW(t%i>JTdLm&f93T8<2~Dd7M%c zn75WgWr5q&19TV^klas8pzZj=(3yz34X`3A-~cL-07o1n3ja^>oDu#*fk8H$ z!l&b0#JXZL-B^#V8-Y3&Hgwzh(jYe)XGDKzcNhrw6kD8x?>sHxI~55Zgw(i|nU5SC z>dv{uv54-SO9U_9k6(r@2@>AY5Jcr@C>A9i$D+jJt$q=PTy@D5s{!5aDZ0 zeMrPFtVl{_WDNBX3osB9B3JU{7keu>$M}9hZ1HKUE7(AyDsT#ruEK z3z5r1i7B^>B9ccRUFQOcKRecnpo?d)-9_M@qk0?Bdt44^NOT<1eDtqy1GWIy$we&k z>lCg$`(JwQTCsBzU$T)2tB?bBgnGzcuzF=4r8i{9aK-50=-eBRi&j0>OxzYCIy1_ zAtErjS{;(IQ^%BqK(1@0n1VuF4BMzXavd5T|PBS##DNKFGE#{Bj%}9S|_jvxQ zdLl^ZU8rmoF10Irg)OwTC%eP}*7b*2hIFv~Ve0_nxjZ}o>1mouP5g+}%v4)+%wiFt zlPC&QjU(<{;3#p&ItaOV2L9akm+R4FTa0OZaKf?1aR7z8u%xsA`^$Jb_|#nQkHS&b7;!sNUV?X zY&EJ72*h@U6!HZYcw0m5E_+~gGhECP!~#?9iO|_hxF1YVC_`C10GjSxj9Gu}yneR-K(;Nq z;R=UK^F&w$L;n~S0laRU^e@eePe^Q%W)8lp>Q^q9u9kt}VpwJ!j-bjxp}SF`5`QuF z(pxDeqtkc?gVGdworXaJ>}e9oiWX`g>4o&WS;?rkO8YrV1$=3Q0}zzs}xUW)(mo!_6|d8#7j zb-p*R^KXE!soqQZFVOopnJZSjQU89mT)PS-^g-*mI>qX$^;U2zI;anVUvKJARFhpa zbLWY??mW&BC$`MHhUoqaZTc*^nSTHdjR`W0nIIXqTyPwwgi?Qa;{~0v3~@Mm2_~yD z0i?DWiae2%$4Fz1w;!kHbO#$qRB4lx=F1GDb}nBg07;f96TD1wWHNTi;d!T8H&UC4 z$0l1tcl~rZjbU*A)B`Mk`k=y;y+zJxpDZC)D^6U|NC-t3rKy+{7Q_|;8cxBRz=|_t zpjtspG`IhzYzcpt#t?lxV)JqZ5c++BZh-ZfJ@Uuli4QYHYD|I=OkW>GRnAJ={=j`B zJ2(<`A4kM;n1G(UR5SHHdkGOeM_nwobuQKIN2OWgJfew-*<$l*tcv$(hdPl|wZ6FNsZK z2v%6eTn1|I9~$oZflG>zu@{BtV}SG@J!&^$=doLL*3*jnumg$<+!6Pmx-q_i0z4Jr zUq>$^Z^D1Jg)8dPn~-FNaF}{nU9*>^bQumn3^sdEW3?US2m|Z*L#pJOO|7Umk5eZ}f^U9-S2TAGM)|0o%57 z{A`!@A3;Yz+{n`YY;o~<@c_#l=4ooAR{XFHUC9_5J}5T4ZJZsxFP_pe?g=_>y+Jp& z54Mg`;O*h_;<0F-A8QC}AHp?L)wF?%WX|Ex5~e+%;BmwK|LlDWTU73KPBsHmB4NgO6z7E4<{B|74nSehCU=4eGUAqA90|rf{c}|5fNO9`c*}D)g7G-S2-4k4?IEzXr8w?|_XA&0VlQ>ZOM?Eq(>I z%zg8Vv6~}pfK<_JQbEfQbQ~))DVS938QsbaQmy0*?di!YyZ{PIlyMtq0F=5ne`P}D zfi+TQ3qZqT&W_j8GbinZWYzo!$M zuxpfP8$g!^!m|bqec7QC{`+yj|6`(=2TNoU^=LX;Hy{qSFVR2N5YAU-T&roj!`sCl z$q`0|@DL1(Q-K{YaF6dOix%<={Smc=0K?lL{W;(uEf3=rj_9Jnq*Xh{0~lkzH0XnV zBG3o$IiWeIWg4R*JGev@8JID|5s_P>QrD9A9fdFBf*-nc3;Oo9B@KLC0z;}h%(LMu z-RMo?+IJ}?RLy|aWg#DG@oqQ0jbopUId8jEfF>%~yd1|3Vv)Nyo^ww%T6FiG`dJdl z*YN6YB}9!O@mDHi+}!}R78s1rncW*?BG#d$!fF5p-OBmLW562fp33DE4??FPeGiLl z6eFPoDtrU_aLUR)i66h5DCyYn54P;}C^TFB=A$Qm_rYrj-_jl70imsft{b>M^eQ-i z&aD>X3K72iU|SnUjM*g058*>>Y)G$}h&ux6(ritz0Xw-M5yZV=av&ITRB%X?{Vo6q z%W9v}sU-UhS>jIMsF6+GIK=Hs?`Od;qkG$+_9=ul*Opo8_DN8j>Ant0t;9qRQ88F+ z=+qQ5&EHAfZ+CyTr~jam_27U9#H)^Iv)TUKn~ba!|RfA z43f-0w(#Ish5-F#9Uu?F-(nLkkLhi#r_ib>lO=m&u1cJQXtkFqo0IK!es zM%o})3BY5)0P@d?E&pLS=WoaCM_QTS#y*iJTIn(uF{uz&__W5Fg2%Rb<3v6oLWSO- z?HYYu@nea$xp_9tRqwAo$y9k6HW^f8x(KC^9uC;hUGSUDccSvNo)K~{IN6?wq0qO`zgG$8 zEGMrxtwDYW@`FN)f&`HZQTNHr7zor|A#f8gfrT7rGG_4l)X@-tvqbyt>7V{e5E0|% zC9rgd@COZ#CPTlP0VTVyVCQzFu!kw*?}D$lt2Bdr`YW*yQ3hzWRu+RSBg*2<2m2tG z2gM`I1qKk0N8u^QhN;-0VENn*yz+&vVOOqzO80<9mr7eZ@S+*Quv17>G8MqTAD;9h zl#%o(MO6lY2u-7h>qGuo=qn?Y*bn~=?M+HmNdsAp@`sT&2$`=AjUwP4&YKeL7sS>U z*#{}!U8x)&PWOnk<4=u4u$zS+pN@VgnFtNs>p;-RDRvTL9s`*_h=^fN1i8c1yt_A? zKykBg&YIEcEmWqHs*`Ozvvq&^QSdAXJ@u#t3zUyA3~lKP?2jtLp+Xx_tRpmkyN4y$ zO^bJ^+Fx0V&VOt*%vMFfa8J)jmMO%j9*nhu$aumG)R&u1YvnH5K}NRf&)3pgJDFT} zL4nehW+2O1O;NnA$yympGNAO!kd&5>&=l79{k*ZVP&+ZRV|kotxzN)n zMghWR{NQ_Iac)U=90{dO`nX{($XdNWUXV&zdIswTV?p9Qb90Rou<^dJ)LDelNK+gQ z1p-Q@C2Buk$j6Vny%AKd@R{C|$P`^T5=1gSe}szgbA@KZba0ZRChCgLcM&~EHvl`T zXS|7KTU126Bhk6LkEp??iGTKb2$)Hkj$`_v$=APU{Z_YDFaoRAZwV;{Bc3;X-93pKI6`8=nP$DN6uS0?@)uJH=r z9AjVn6I;R@)|B7*cRwZ35ceG*!x)IbtEa2$DtENCb6^JyQapx9uvA>~KAFbDzuol; zebW+|!mGY2HQ?%BgUv#;?s`x_CD@Q{ellX2tclzprG{ME3{Cp&<<&I{xm`L zu{s`#@Cs}hdw9D!o9<{VY!42VAE7q8>3OsMn8!uH-r&N!=vw7E*ZCgUQvu?VCNmD4 zCrqqmQx^fVpkNx-46IhFC%|q)2{$+W^qf92r$MoQQfvqG8~t1$LOMABv^@?CAfGMd zV%z&iBvItV)ULDiI^y;k3%FpI>tLGQFXSZANc%%Ts>$E|U9}7hNU8~coYMcR$L|W{ zCzPHF(F(17M@76%Y56U!`UH%pPWM0ekR%{?o>gXv zhN2$Bj8T|-c1zv+9+0wu8@(p%R0p3ps!}y z)7{|I1N=7su(TIt6{Lu%dmyyuVW(Fx#O`DjVK1G~Wi@bAQHQ7)PhC9!L$RNY{aa0# zed9jZdKFb0bw3M#>IInIOFu`m?qod^7x#nJFXBZGx9tz|TCU{AT{=hjmKtqcT|rx? zID+iK{7S8&d^ZO!@jKgcM<)3nFQF+;-?yi4{*Zah1K0qs(6wx{`&=6yL!!#J9dd3P z>OPgmSLm8#$iv;77N&BwNXOZzYMe_6N6R$~D*JH+ZIFXWrQA~}* z)9D6ZhXvSv2?rJ1a8mNh-QMueyAie%01fJNzSFCK@hwElZ=jUAjRlon$Bvi7Wzg znzT4Wq&FwbA3uS^UOj0u;8HLvgk9gT`EIqR1?v{u#5hUL z+v){5yji_m0w3a^0TLz9H%E>A8mf0{x~AL6!h)QWd&Rc%Xtc-;ddI7;9xd3GZ!rPJ ztX?tYJ9+T+aW#|H6n4(^xe4z|!BSKs1(g;X*>KuT&VPa6$`FRuzj0b*IpTASo=v^| zNgfA8L}q@7Ll*^6e*Lb%yiV#JeOBQ-v}}{)zp^)48y|AheM%2^e|-My`blx3MAg97Lg2Q>vp!X>;gRB5ucyV4AOJw5;afTQEL9+!yC_NBQ z2*Af%CEb=myVxD7|DOCx2;77Tl5OTln-_ib?-4z^Jy@ReH5kkt+9)Dq+3nKXeLuHM z1>)dTq^##;y&qzi!Sse1)g-#wt=;ti3!sx~V5PBS?v=g}CIWw##*BuZGU{`g?u^j~J#?0*!qth30nNY}qsYeo&zWKZNmci$MPf79a4) zwd|mTN?o7Y*9VJmKh(&Q#JnD2bN>1Jcx#XU(|AVT1ca~)Goz6!zy&nzhwklS zA`?a3Pgt94r}({JnUf2zW;FVm8X#-LC`AMu}Y@blwfi?}e{$~gchQ4v<#cja2VZE5BVZM1vGcJNu|VN3R-g&c`~GOQ-}ovbq9z*4K006+ock^ULu@BOF~l9& z&bHbKtC8?xv(uwhKk%QkKkcH!q5d{(RvmQ!=;3+g$ zWNd#Go^1ME3^4PEV&?^#O^iw4H9bxWOo$^Wa+DoP3?n=C&DSc{t~uy$ZH$hdw%ThV zHWc_NnL6kUc=s!9w}ZXmqc3c|o$Wxaz}JHF_YcA2YUJ5I3v9NW=2fKHRaeFW=Ojl5 zLx-F`XYVzK25x{f&*tc40TI#+SDb*=m66nC!j2MjmC+Qrmxl`Z`%>D)mrS>Bsw(D$5Ei`ZE8y1`)N-<)zeVLgOgaJ>`N$sy@j*#0z zw-|T2&`*ZWcBY#$<8%rjmYidrx)?Xwux5OswJ38)bV7!l?kAz<_41QEl<|TyeA2O( z$yy#x-}!9m587trbNJ!)`*||2UoZvZ2UK`vpVbReo0P#koTibTS4+%GGjtnnR3qJg z?QO1cnxF6|SxDK6!JTKtveRoSlv0ip+@`yXUJzPzapaN>`$~g=r|W>Bl9=D}KD-{2 z_b*TDUAsTz>Zjz9m2S5vizKb5rcQz_#x@aKJgFFZhm}E18Td-r-D4%EwpP=EyV}XZ zxrsXc$Nb1Q#;IN#N>49Z8f-b`0*q%T1R|&8EwV$l7FVxLkK?gTf*d4YVAEq67F3+^ z0)F&h3$mJ}&4+maf9chs@M&SJ%Uzk6>*P5}ZI#ZIQHmjU7_hGC)Cje%FcX%_4YWIu zM@=jUdnnh-+IzGX1w9GcZC&7%5e_?92k}RZ-+D)zS*V#3?^-~gu$MZcYH8kkOs3W)CWgqIUDOx zDt%$W+zh4!x^HoAH}$Q?1I$5=UPEroJkWX-uv%u{TjRSB9;D8;TQxbX_`Oe3F%n%O zV6CWLk&fZ8=ybX!VDC4^j?O}&&u*UbIY7CkJm&B|C1ho>ry~^U!+6g|Ww% zeBE=I2)gThuvj2*q39}GUW`VzG(EjcS=hpuv?nxx*L1V7*?7J@2h8xiYI1d)nG7bc zLujc8ql|A>PO0KZJ??0^vHOKD#mp+-IY2yVzr}e_fd;1gKpP~?9pH|YtUK1s`l-*3 zj}z*;(qbrGnVUfLGAfx>Z2e7uq4(wc0O_^7AM|!EPlnpgI%@cise6Tmrv;3fpNEx8 z6V$)?XO@*C+rg-O9GAgBXltyeg***w`^%9&V~PfYgk`gqr`(sR=Tn4UL+~sF_fa#% zu7(1RP9wNMVcd#;2PLuagPG%I->A1+7L!D>UWhcraliL4K#rV*1&yhjX%gXV3Beo< zLXM@`%`_T1fkQrsr9pmcZu=`t%$0SeCk-1YE0?*on{9m*@ZL~foa=4s>Sg9?+G#e| z)wSEy^BMOO)BD-W#NUaXU#pjPREoLOtiIFM!dacDRy!O=QmFsrB4c3o_2%_dAGu$0 zG+`>hGP;~s%kLW&%;-E=@28B$L%WX*yp~;Rf@N@xHABZfDPl>&bgWTQW==UTP9n)hq)&sH^M6R^d_QFm#Gp%OeXKO>&r(1ykhK|+v z%>drUxPlUMAd1*gUg*75+~trF4J6rsb@j3_oCYU2Rf%(Xn<+Hjnq2>kK11cgS68|v z+X=B3J@35DM*?W^9K{?Zg(T!D3&`@N&aKbI`*79^;BlugH2vgxV4hX-=hC0gy$BWC zBmJ3(fm%6#)vI0s)>iHW{54<(Qc`XL`fD5L)+BC7(+d|B?y$;7=59Ty{(Gl7u{3%K zY~G(Ym|5wR1Htm>d08#a$?x=e)s{r-W*pnsow#!j!fG1w8adUJbnuh0T`qyY*~Wf+ zggIlkl(J)kqty?4x(vk9HG~Lt64wMfe;rI5FNsoDte$_1F$L`HnUn$Rnn{Gq8ld8+ z6a!4kv&4H5Dj1q}Dpt|5fj5FPfHxr| zXyfKu%!Za_wa)bLb`=#L`v`O8=N+3$2F7n!A0-K;YNjl%{oMBDSHbszt*9+~Sn9tt z-fSpm+qQ%LADll$LPddpPFzDf*+wT&k9_;Rwo8c-`83q~fR~D7QiT@?C+9{VJq!9+t4B?okm&}M zIkkxs1?nuTX;g1HpOhFnr7!2?OI`yU*b zbpF9&r?`S(9sxVtf$yy}3O3{VpoNnWbbMb-+6Z{qDc?_ezu0&1H7POtV!36drIrcg zf^+Tr#L^>3pmKpnr(w||!!1>v?&b3X8Qr=u*W6xe94`UR;6ufxABECw&DTfWfis5S zif&4IhRb%D6PKFIgTX8Pa=RXsRZ)dr&B2JWP`cKP+=tajvtITRr@jpn`?fGhQ{9^x z#Pfh%zZMRsMwTf}TQn&fomU6iRESCT3Ou{jvTeJI14JNfR6}(oG$$(+o*jPts`R6~lzU zhJuu700Jx`Ie##e_VMh(l6)uqXU(3h<9)AAe$YaT!L#)MuW#-q$x+15_4oav# z5TLRTK^PEJ%pt>wz8_+|r&!geyaxN3rHTx*@ahOXL;B-yZ_r?^W~yoYd`L`_g{!>W zjj93M^PU?dVFUSdWuBhWuNXuR&Rq2bj&$}NNKPQ7u{s~7M<6AY=2ht^eo#$gYcvN~ z`%^?^=UfFg*D<@qbFP^Y!33Sl2Jh3AlIZ#roWWgPMY^13gsf*VMsuR;e*d z3)+jo?rNWtwTV-U-zzV588Gt4nqqBHBi;zPY0ya)$dNdW=Q{Of@c#1fLHO<-ourzq z!DRD*lY}>S>q`HpXanu$qKn*Y@oJV#eGfQ~cCRTHpA5~issByfm&7cllFjQg+b#6v2 zLMZ9u!(A9Rr5xD}mHK*K0(>%jIiovje^V(dvv#BLc(=A=)6}y7b>@!Qq>C(6Jq1=( zdFi(MdZ{MKN)Yk^pJpP=d_tq|5Ou<4I(7S;{mVL4?v5A`C$fe)(>V~ip@K#Ly*2Fw z&8DvLB2L)yxm|h5zR!-51kBp4y9&&F1cTof4$T6yUnf9HY`v^|z4s^wo$u4AH|nOF zZN0aaly8B1V%xiU&^zzHL!6#b&%nGxSTc->lx2$o2PczDEZzj98gf&YU(8lBpTEqF zWJr0zTAP?-tawUo=Tb`q3`j+ml?fa_gQKaX>8}pG!4UC&68s}?l~FDxIpRX;$~_yL z3Q4{9W^R#a;V+^SEH9W!F1^9lWcLDYF=iEJ?jao*!*SNrwj`8m>NFtrL4W{4ue35B z7)0db9(4*E( z4lkP8PFZbr4O#?wDoNAYbWL+YLom2u)9M|IRN+x@F&}}GUi4`;k&O^~uMyQx4!&S! zU0wI#HkRIftR-_>lDdf9N1&^5CP`MU(~3Q4v6~-XtLxK5J(Bs|E;wX~gF#SBV`)FZ zTqcOR{QWRF+ubwoNy03i_aAddV{wAXjw2jM2iRd-GR`qn(7X5{`N0=$CNHsTcgX>! z(#sUT$Y(TrZ$Tc*JH4>?@%`DaZf&B%WwMHY)xy#MbT)y`qK6~aePFApt~kgFkL%t~ zrGK~S_1bSx)cT&Z07O-eSf5)KfBgsQNLjN8RR7z<6t$`Dg}8o=7Dh2`fm58L^O6$C zgkNa>>^q|go6-;iK?awF=k^)K3wxOddyH2>2!YJG-GitOU@!rw3%Zi@2+mCoDQ%tZ zgp5OT5lgGIqi9OIBqBY>F%Ru3npBZr~-&OdoL-?DePaNKD_PK_JKn(9oh|HD3uBf|K5ki zK)^|Ibp#j(R)L;xP_k8oY}4P@fg9^mG$2JoSXxpp#7QdN4)1lx*l4J_TA5z0SUcz{?hoqtDUpgqT}%&Lr=4+qe7Cc+Vu| z7)T))v{8AI0T5JZ%!mnG6^zQ{iNt`4fRqCm1~B8b0dL8nLdY%IcBipqpcsJ1=dQ~FlXK07bmPpwzl0(FfPd~*qUjE zUt^ipip4ypZGP!z2J+1~yE=q*b7keI+Sc|k7I3DXs$!ZcS4BedBwn|{B+#t6O&edZ z+m|<%0l^pmX`*L)&GSgKR{gC#XDiwA<<<%s0rW*MYfYDAwtssUAu0z4euR&Ym)EI9 zS5qyWq!f?ywZ#$MzJG#t>BU0!FMhK@4D6qp*h4OC_X_p-&mP#X&1ydE*zhYl890Vu zRwY_yvvPA{HXi4~?i@(Tkd5wUF5vaaOH`p!0Rx1@Pvd_4>(7H74MT8y$F2S&Vio;^ zRbuRM$!^8-av3v2RlCMw^`74A?as0&glI}W?b5Q4dhqF?N!8<0Xv(EkqRh`Yn`b-C zXMzWK7#!Cga}b=}p`};^7>b@0FG)oDYpV+JcyA~&@=mx^$svpm)QOVT;Gg_mTA7Xa z0~luk!*u^Vd;6u$GElfF#-dmJSO0RY#n){TPlxbh7*F4Mpq4F+Y3Y^`5 zw~R|-p9doU1!bxJR7@nO+nq^_odnUxR`rI=cKa~&&G1m8X}LYKI~Fd(bBFDukNgdS zaZ*Be5}(GIg*QslQ;mfh=$67Z`t*pA4KRE%D+c*htAJ!NE4b2h^qF-`y^(pO0h;Mc zX++AES;|2+l0D+WTf;D0_k*ZXgg^;azVu`+JM?IC8{<#7P!7?rNZIy}{6G~p*b$6q z&5Y<*?96)FCPW51l(aJq&p5XZw8gSa0 zRG>9@9}0%FQS@Iu;pL$Rq+*}UZ1vs$540|M+MDBrv3t1C)L0t~Q{=0OgvU}`b`~bU zrITqHo^A7MC%>QJwlU*Y#s>D~F&ol6kny|#`uP-Sj-2MEoMm6TzBs$6L1T4WUo_{O z9|EoGhkKu)r*OknrH9M|aT5P01*i|2+^@w?j5B{sNPT*6b|GS1kXzVwgs=g8FWC9K zaq`oNH2qqJ9MzTAX!%_zf5mXIQN)sYCycpw;VD`G9a*+W3K)dW?JY)MZ7<-Z#&g*A zi#BeLDRh>ZSSDJMW9}(w0eM2o^(u!7GKR-p6(iClS$UTx_KS57?CJN1GTjDR(#uVu_}F z0h3!Avlu&}f;|n6?Z*b*Oi=pcE6Lq_-6>>VKZW1bBbkK4tCs zo01L*OWyMrKDBITYvJ_Z#yOH4?p%NJcz}GJ))5)yZN`rM+n^`I@b=K5gt-Bd?(mm* z?KMWu9xuX4NG4G|u<_@QLZ-dGtFKuSP#WmO@ZO5le7~a3t@R0cdQvH#kjJ9JBAlPI)W~;EY!<}Pj}KtVs~2F_K&M`W&}8P;U6*IVEDTH zqm+s#8LpyP+ajRVl!a{CLp^oT{9i|9EH^0({T1k@C8iF%enru(9s z2(PZipMhj&1X3=T;iXPEHZcZr&|kw0h5F)AgrmDZyV!CDR6K2YA^9H9vphd2t(E4& zER(}`SH{p3j%haOP+g)oW(gQhKZk}6Re4D3vl=WJMVp<5U8S_go}F2){Dh-zL>EoI zJ6Epho7&NhfcPFf9oy2kEFF&!#s6}EO#I8ynD8$Llq?)e(znr{w0Wb{8X&Y4zMk)@ zUWob}lAcx!R7q2|f3&LYC(IIvM;zU??#*9#nU{y-bjY16V^*dENBV$kgD-Ac68Tdb zC)Xt~cf4@)tsNSkst!MTP3M7yOYLWLI6)rj@L*u2H?YUHkVS3#q==^=1ls2g=2piPZ~N!*HSwnJ+h@ai%(dP9*Ff|V zN3Q*Dz3PI$*kWxO*uW3#uc#;Y`erdwxD*?9Pto6Aq;nP8+tGam3(Yu3E+OD6(6 z16$zD2NhA(R=|*yrY?)Y1163B&Z}h!O>wnf+fC^E-ysbg4U2_Y9dI^yFlXJ!&B%E( zkg}ZqwPAkvKXlV?u#kY) z?qm!(1Cd7rbREU*3bDQ?`Psjwxp9eWEPWSY@e zg96&N2o`k7Qxfc=tjJ2dUsbjpe~W=eh6%Ncky_UmBC1^6z>&>f1f0oY8fy=WH2a7= z(1OG}ViieBcTC&i!=wW)E+zUY1>Zl;a|w`o33K4%!S!8aDOSV2W&`?{pUpTB_me-b zW2!fnx4x!Md7-m3)6Ulhe^%@Yr4XwS?S9%!A-BnTA-|~`OzS4u$e+kn_DcaZWYS!H zg^%N~gEf_#D7El~o1q{ua%~Z7@Hfx%TZrj!Pi<|UX6H-}la++0OE7~!27Q0QVPC4? zNk>Jqf0zs=KN>cdinvwLF3xtP7W;eEinU;|UbxT*GNNll!y))GCkyi9UNFcS{lzxF z%@X?lm2pfT4);Vy?=!ck_X`-ya^3NBx$ls3x{*1 z<%ZihGj=+z=2<{Q(UhjV1krd9M{m}6Dr5IU*q6J)*oLt#D-}T3fJ5m_-TFgmGQ1nl zrA9jowVXN>FpY~+aODRdQkq{4=!%i%xfhQXR{1J3&x*7t?8mO~vJ;(Wf@JjHhXQ54%r2_0MAp|4$hPI@Jg@8c>Ucvexq|ABl0&zl+w zP<4A_Go43iq_i$YFDia8*L|s>!B8j;mfn-@5p0NVC8WCJHezPnScy=37==Tx(Lj?% zRdBkVaHU&RxX*mr!*;GTaLm>SF33JbGcc{CSGc^r-iZR&H1|v&G1gE==s26}tq9;_ zcW8i1yS)uJun1^-2%y{U0{ylY^=mL4xS|sI4BDgy>to#nyE8Mlq1K#(2%b@vSuHJK z{M=m+UEqr=e}+wcrH^;QMPy(6tO_b(^|le*;i3`b?qqH?Gb~G*#LevsC1{OPYF?-F zy8Wo#d~<%-N9ND$GVg7hI(Cqk>*!}LT){D$eKu-8Ui7fZ zJExAa&n0mM6n=oWpnT5=(Cd95Z5tLxPv;H-2P1&95edtIV?(#IJA1rCyLQBK*iZ?# zs275r1MoE%q_}@!uC%JBkfLurekc86bn&_dV;AHF8AXzd4uL+-3)-V9SPo^r`zX2n z!YOs9;Qa;BnZJO_BILh4;8s#w)$6J5N=&>WAdT26x|JV~B8<=M%!xa!oT?rH z&W8j1#8I05ZD(ZuvVTJn6iOfilOw1?196HP+{J@W6f@Tnf)3hyC8z`+)9fEP@*dbQ zz&jj^$nQJFxx^$^m#nty6%!4RVp?KB*nYKJ2hE*LV}wYg8-fPuApEgpUhn4M4Kf7mgFq9Bomu%D+Zl9ZZVZ3Z{LO29zwQ7I)>K$Qm2ANm3eGLf5*bCb#;5~`G(hpux zs8Le9DF+Pt56lLkBjc6I{az=QFx3W5Q^#?VcqRM}W|A;P$VYa#jM*AS>A;YXHv%Ua zLlAoU34-4RNBZzHWTgVdw8jvn3r^^N1JxSg)PKRA49uD-4q2r32w34AsrS3fuLvlI zn$E6eGLx3+{kzVtZNZ22M2rK$VofbCz?qF&RDcw6lx++CrY(DeQW9{xZ2Y=$;+k#3 z4jdkxv=Zu}u>3_rdMTM4ey{glC={==xYhyb8OwEs)9sukkgM<%8vh)%FP$ zO8kwdCDnE5Y|U0xRRrAf*!w-drhA51v}Mh2;#J0x=-KcZbXinavd|&kHQ;>lqe`c+ zysA!XfoF{Rf{-v$HjvN4kr4o#I}l6%ketM7;Yv(bI@?LgAaFE(#>-TK=9%AfJL{^C z_*LIyiEVSQfp}G8`V3#7bbYVHc_c5l+(-5$W3-yJIDP3#fB-C}8+g(vnFLU@e|OYw z5?Z@%KBnSnS)ixWFoqp}(3qQl{PGv}aV(#*el(yPXWNs{7tQ}6V=*S9InwQ}ObguB z@%egpvhUZi7kjT+!SzxWznAp**C)I3KAK--*m;0r6wh&F$+46T+HBzb6mlzuy>V00 zpr=U|jT@2@5(9)qCj2J2M%YHnrVKcAXAf564){ppdZk0{si72zs;7TSb=jcOwbyX` zYIU-oK6brEmUC_Gak4s|qgu0PB{6k?K0cbXpo*jDBXyCL+}cQMLz2)8)8FCTMwlja ztU(bMyh#KTTZv>Vk3rF)mzjFHv6d+4o$95d8}fI$`{&jT7JdrBj*a;B&GU7vZU0ai z22SNI2Mf-?0~UE>O8)XK_VJDWMV&eJv-3H-ude-BJzrp0nQu|{=t7W;%Yqg8-F>V7 zUKj6qsI{VQFVQJhOuJbq#BfU)mjk3Z3^G+Sh$?B3Rr;|vSGp7$*NLwn(Jk@rjlz9P zVKicMdJRZWBD}9`u8rB>oCF`Gloz3VLWbF13a1k!{2sX6dV2&NlIyYypBRB?_lrw^ zW1d^Mr+;&F2AfLAP10D9 zo$8P_LJc*DS)ZI3c!IN296efVufulR`}Swi(1?&A`st$|0| zR;HU&T3(sV4{5A5t2cl1t&Sm}1VQ~`BY?PbgG3P{D4T;zCXkULB+Xo1;|FI(!{Ss>-APw1-H~x6yL#BWQ0mx<$p`Uz)M$}+)cgjYgqStM!&zSSdEHR z*IUJ2Ngl@!T7`zelFkZKFbT^~QzZaACk@H2SK)skjifgx7`EQYdA+K0Coic-2lrPr zDhkTTP$RY1-xC?{o*o0T+rNXmCV@{qYUt_O4X|`t`lXyiL{|N)8{g&Rs=CXI5^UE9 zuc`RR3B*{+#q`u!H21nIYqS%#itxht#+^-=UvMVjXPqgY>Nz%d%(YV1`Sd@=Wfe^{ z!W4<4_Wsc1IP&j`237P)lHA9ED{|F^a7P>Xct8+)IC%Y~F0`O7b;pp=pa9m`+4}#2 zNDLN!OrxIw=F5-vmC|#<1=SPKNQD%`|7V2@vftMD6I{m22Y%OvisrfC^K#TUPUvhjqZdgME-v*Uc%O}k< zNLk#H*Q5}|*{$5LAW#tY8BnQc+1nB$i@dtX)0%VWDR4lQX)L|IvRt`V65btI9c z0$tg_9i7i+*95-`Nlt_mt#^69k2op@>?R5uo8>SZ9(LOh zvwv^+qfm6HNgSQ?_{RKTpnn|;-e0V*z(CKWMsi)47R5=)mV)?kAe zF;}P;(ivtV2#7cFBNbgiqcp20AVBO*RuRfqFV_1_JXpJ1#^Z0Jje+-{KVB zAk+}x3Np?SwqO4qyB#*Sy7BywH;#TXG8aubjh9gUeI-GVX zg_@=$gZj%^Z}61!gFCJ|RR|ep=-KbqSs2s)6|@abAS(cJ2+S#~U!yyxa2qdkIaUn7 zS>~>R3`}9xXl+ju@0jJ%nkMDZFPx!O@E0ad;s{FO33BpvVLDcY@wGFoHCCat(6@Nm zEvE1(Z^vL-8Uin`ur4zZg-a&=fit39KN7}S-X7*s6DiflR2z@KF&@)H-9lE*pUXEY z1XK`c6y(ZX90R47LGtWEeAj5n0ld%ljBhLX1G6O`Dq-jqkvt=?YQa=BRUR#J9A{cW zs!UX7)i8aM&MLyY$DdSGQQ>IKv+C0yx(cr;7u$`&6{@7lT_lkBQDm0dMV zQdIt15aE7yRMt=YpV0p7$glrjff7#AQCP+NkEpDwB^{;-weq>@rIh?uZfMxL$Ndn=yb zFqiph>a_rEh^kB}?U=sQzVnPiVnh1)@V%!)HXD+?B0|C;o8R7)@>IuQaE2N80WIKD;ZW^W43}=HC<7!p&1o!7N z!XK}YZoYx-Y*PDardBhW6|EL-LJh+%&xq0G`LCBus5+XScc7`Ws^0$`vxzdlfT_I^#^d|-#TJAhNb%H(a9)n(7tb zP}%nk+6XL`TOjU++aqS;@aoao++BHpGB#&CIM={9-o7(o!>XQw37mRd(__*hK@&6* zto0qyhAdr~=1@SL7a+)r?4W5FgSHJaVn94ajLL&4HS6>FPnw0Nz+ z8Q96or(!n+MEgaHrqGLI zA0AMOP83!I)6E4Dqo@DG zL|qGg*lwOcUWm(8wZ$mpw<=w1oT>C4QBVx&7HC(qxM1i@ZA>^$Na3Ig%qS`URfbj6 z+4zi2BYky$9?DLID)@XZLYf7zcaQlR7oh)bRT9DsK^yp||B2XL-lE?}zG@O9u zu|gbxnf{m49iP02k7+ZM_nekiIDl$8_e!u>fEx$#S&G`vR+~ziH2%_fPs6-HX^X-<=m^8oW>_T{`{%muMPs;;vBh?Tj`{p( zsC6@)eYC?>C}xc-s{nXrh3%pCQvObEy4Kw4Uh$Y`6-oo9Rraa}(Ij`{2_xEGDJmib}uG+vADEpeV+^2FEGjKI9{IzOnPfwlB{|i_H8GO?Fe5=Mw?mkgO1oDLHuNAx^2&iX ziA-Hkgc4D`NWjc-_jF=6qtHn1zX&T8KDoifHa-SFNcc zdOwx7FNk$1uu~1RJ7_V`^0O?h9=pl{=p`@X--M2wpU5{2N!Hjl#r(s3RZS1 z;g!jN+DlX3d6Cf(H0Q1uxgaf=vL1kauk_~VBJf#t=Y`Lz@py*bErmYy9 z*<*_xK{HHJtGpf~Xt|M!%qYP+!%}ZO1@cZ9i*6f89BmJc2NUun9V3f_k+6DL!!cy& zqXUb=SziPHR__8y=#$cT4%Ep)QC9OI&{Y5c^pmP0;~y_1EDhG*}{j z3WH^&_Zg~1603`k0Wb{}c@kj7+d8x`eRwEfP(^V;Zhrb-3qBc(IA

    P~{VD|M<`u1{ag-Wwb(#v~9OT)QiE|fbR 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 Ip$?WT8DX|0*aBph{0({i3sq(NyvwJ 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 diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte index 97dccd8be8f..7f8e38286d2 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte @@ -64,7 +64,10 @@ let fileInputRef: ChatFormFileInputInvisible | undefined = $state(undefined); let isRecording = $state(false); let message = $state(''); - let pasteLongTextToFileLength = $derived(Number(currentConfig.pasteLongTextToFileLen) || 2500); + let pasteLongTextToFileLength = $derived.by(() => { + const n = Number(currentConfig.pasteLongTextToFileLen); + return Number.isNaN(n) ? 2500 : n; + }); let previousIsLoading = $state(isLoading); let recordingSupported = $state(false); let textareaRef: ChatFormTextarea | undefined = $state(undefined); From ced2f5b27c7f76b8458f17a07ba6e7ddf0f75c7a Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Wed, 3 Dec 2025 20:49:09 +0100 Subject: [PATCH 30/35] Use OpenAI-compatible `/v1/models` endpoint by default (#17689) * refactor: Data fetching via stores * chore: update webui build output * refactor: Use OpenAI compat `/v1/models` endpoint by default to list models * chore: update webui build output * chore: update webui build output --- tools/server/public/index.html.gz | Bin 1439559 -> 1439365 bytes .../flows/data-flow-simplified-router-mode.md | 4 +- tools/server/webui/docs/flows/models-flow.md | 6 +-- .../app/chat/ChatMessages/ChatMessages.svelte | 3 +- .../ChatSettings/ChatSettingsFields.svelte | 3 +- .../ChatSettingsImportExportTab.svelte | 15 +++---- .../app/dialogs/DialogModelInformation.svelte | 41 ++++++----------- tools/server/webui/src/lib/services/chat.ts | 42 ------------------ tools/server/webui/src/lib/services/models.ts | 4 +- .../src/lib/stores/conversations.svelte.ts | 13 ++++++ .../webui/src/lib/stores/settings.svelte.ts | 4 ++ 11 files changed, 45 insertions(+), 90 deletions(-) diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 8e3d997f09bdfcaae7d3cbb7c5351bde523fa2de..508a4e7c7e5c12c8dba5851288d3f5a750c350aa 100644 GIT binary patch delta 1109278 zcmW(*Wmp|e59Q+S?(XjH6t_~WxD`rq_rALetDe+}ySvRYdp|3D1^HB{F`GKfD&neyA^lX?8(zIpMCCR!Jf(asO~ z?nom25+Pl4+c4{Bq+eiGw0ax~h5bHP1ri(f~%Hv4_Jy&+nz$b2EM*N7-IZ5t%Z2 zvl^0~6qeXeHI#7)`Z1f!&20@2F`@r;w|uW86PCcvBx2oUzGd?=@gHWkCq@aoBWJVZtH8raCES*(}Aj_ezh~GpMgru*I)%EUtm^-21ApUZ(k0IL^7=m1@3WF*2$>H*f~w1mHIUYhTfBdW z_pH1YfWtq=gK*`kooH9ee7nFg|2k1vd=#pamz*pAsNeUn`LXS} z#;%7`v==v7Q8x9e5BIP=l4T8vaSLrCcAcoMxL=K~N76pmacNC+0IU7ZL-?jM)Zdj9 z@oLp@UxR#5S7L-LP^%9J1ZhwIng*>7sSEeLttsgCwkC6X@xtP;QIWyzLf*>%pYZ2= zlY`!X5x?oEe|+c&@VRLgaPB33L#+{nRO}>6`6j_lJ|ilvhAX^T6SI0gxvfU3KiBE6 zTI)0ceG86@{apSL4Jji=w+yagf)_D}ntrUen-Tl-%_#A2acRwAIIf3FwioL&A7uSk6ta7p>aUugoDFaOL4wV00aPq`sqmql)BSZeQt@|9(E@ML7lGcQPiTog z@nl;I$9!}AgOR%RL6=I%0^x09^y2ji`?QU~xfkmV2~Xl1l9jh?4T|r-{zrsxFWck# z#>~oBAsV#mgHu_W|1$7~Z_evh4s%pY=54s^grE-0hjQLU)(Sl2$x(>U)hg~dHW%g0 zp8j~FF+wzG_4@yWM)3S6f#0knnE#XhOKt?!f0A7f8>z#iT-7Ydh;g7bi|(?w2F zi2k)#QN7V7Bl#Pky*Q`flbobr{p+uEF{?G1O%|Z869K+(V^EjVt2gG}&4p$FJD{Pw z9(2}GEMuT{-`k0mm|}Fn2>)hG($u``EDQ6NyYExQ^JaIhc#M!3sN}%5UONiIn?KvC z6;z>3`09gm)soe>dO@l__~kRi5rpRiiCIhVew!>ptUhqwpg3<{2`720HJ+)r&4w%# zGS(?A-Q?i1=k=B;3|MVIJUOA|^`$j22NJG-edn6|=0E%`hevd&tszccZ~Sw&7k5oX zwh%bWzSYz^_FHv1{lB^flL=oJ;LG0h<2DIi0xNgkka_>dgvuKe+)-~#RPN*z zHLMUG)9dT8q?0Vw8)8Lmr-7X5H#~RRX>VZVx87cC1>dqmM*gkLj(5O&h;U+G3hm>j z$)@g09$ZlTJKPJ0$m>hARE#~L@t^H=`e1q-8(wt0R|ATjx%P>MQMM;olT8@j=)|c) z{VPE_w(1jt-k7q~8RFFE#pj`4J~_YB^>54Ze&kq^FcQ2#i2Ved>)S3zO*boj$Q6@& zeA|mM|FPG!*DY8Zv3~_Dv#y6w6|46g=M7Akh`?ybly*=;?6wKcu{S@S131XfMD#!2 z{J?QkpP=m!s1LoLNleZJrk(g^FVWT=_6~IKfAInFM#YBo<{JHfs8X?J)_LXv94nNu zZ3H9urUD#}@5DakRG$i>AjUHOHAj6Ef*&MjTs86i3+P;7N*Cxe)z5uTC zycWg4?OOAf4N4G1ppDIq zOy7o$lJ5aC@n#yA?-fE~gCRlbW4A@9dC4~mOHZeP02fUL9hVc=;cLVg9Ps@1y_6RD zB|q@I3%m9btMlK)Z!~28fFV`GZE_8xQf`T6yw*4XvM^roZ*)GuGz>mpd} zcC3)dx?o3J*{&kmY&uN!!^m#Q=BifPOm%tJE9EH^IGJsm+}67mI8obOXaY{blo0!i zfJ$q1AXNYR3;Sq{+b--YI+YAPZs1=IN|Qj|jpv6|Ho29fus-VeK$tA zue;Vy_xLxD`5CaiT*mE1ljrLg>cNp+zPOPZlI>b*EO)?Mr)>TQo1#z z)$3JcBePxCOxFHCFP$%{KFqL^PQ<$G55zCJVrM-;)!z&*f&8KCiVUZme?wNH0j>)G z$_!0s0iAq6>w8PLXE7V&>{q5|`jojs;r=f-TV3j{UEh(jLJxm`sQ)IdFPO89y zKEY2z&%doU(1fHC>CHorhwRyQ`%nUbTF)>w)PQ0!w$~1^+zKvzxWI6w!%^foj~h!A zQ$n1^WuggfiMZgB^Q2YTaQsR9525gOEth)72UE7~F2LOgn-B2t3^_d84CVfy`*1nd zsD1E~@sh~3{Ck3nZ2(7H9N&W-fj#wU4PmP3{Ne5=_6NO11`u*6s$|vk7I!GnxpBsm zq)CH1hUN4jTd3;9o$73}vlb6EgX#vSeRESvgDlWBs?A(>5$=Aj(_8SR74Qx5s><=v zJ&uQPIt%T*6m8n9m2jAz3?Xqm-`Lex+~I7;B2p5-6hWQ%C_}xE5sP1QEBcs#SS_Tp z(Dp@rsiTBgVdR9uv?{E~J|*L~WFuZoioilO_@c!n`Y zJ;vpo4rDoGg;I+d6p@>N;-War9nnF6i}V(A&L0Dhy$`;ZxaA9uk89`Q!zz?q11zpA zDc+;_WV1n|GIoC-vuiW-I7iORnr1+GNAxQIgNCa_b^0s4*X$Uxnm(Wk`g&r|VhvBL zWfso=XcrWO|1FcP{GjJR(RQ)zNbEK>)0?^h0ilepb+r@|=_ysl@GDbcUte&V>i5m@_bQBR)AMEL z-|q~tG06XTzBH+z>TedbYl%3gg%$P=IJb8nZls|Ev|TvUldq&-pVW&b9yXPyTFJ_g zD@I6)2Xv7?mQj3J10IUEen7CAk5Lej+aG0rz%}hKq+~bwHlG43-&)_XK>vAX%;Nb9 zUlQpqc=*XhM5PM`0VK$5NS8R`L9|mA&wXxw&BGtbzkZS;;JJms(BwL_%=jgXSMdH|bv49Oa_EOkm$9s#4?9z|gWN@ate0I5 z4CZla@BzQ`?GrtK)Bf=3+&SGl?c52T5|-Y~K|bFPwtOexC}jzbiC4mGlXw%fmW<#diibLH)@-A$SMzX-OhQ{}9goz>Dlc_UrV zGq0PLHqE1WQ*7kwqDQ{~(}F+9zQENYEi;D1!FJsLi5%kua-ChzFCuSUqEJ>MT|O1~|ps=5td&7lF)IFx1ZUX2{N;V6HmgQlWP1@W0G@_s4X0ZvBIv_8yS{BqkL0Wa5Vg5sZj;y_KU|Gqx7_ z2N+K_EYxT;@9@#5_b!T^3!}_n-dzSXJp1qGp>!7WtQ91|hQ#(&fq!g=`W$3Zuc72; zmQs;ly<(*dNQ@9AjM7N=hI~h!T(TmE&w(_QlA3%fH-`=k*6}B-GL%!TE(zT_Ay~Y$ z-3gKc{K(`l1v{(twcRArW0GKnrVHJer8KO`ALBvu2gNW)z%AeLQi) zu%*+T5oO1DKT&pRW|f_(Hss%TopT#I}!*`)X(l;nWxnr_94BZy}w*1mh7|JC=dz*(sq#UxTG>P%vX&o_jQiYbxm?_-bH zZG1Q6JlUN~pa1OFfj}KlcKdW7^3E=iT6-AAK1q-ia+M+|E=T@wL1Qkl1@1Z7E|oj? zs8@T4<{!zksp|5zLfp+4svIGsE3F6sXdLR%ZO`$Hr`hgS=m(>FSR8Y?RDyC0TVrS;!eO-J!s}a0&)e`{Q2*y z#co_4v-ObII$l)?kPQO>P=)4C_`+>a_-1wg;dzX+SvW^v(@N}p*g2uc5P;`wq3XO& zVEg;bQ2HW-pSjsW-*S%&w7kpUxEo_#^+A*fF8xY0EDkq$xmWizpq85SeMFh2c(|i; z)%|hoUf$SQ#N`0lOG}G~crsvlr!VOAx{ey)OhQ@2Q*g_j0Q)Q8Wmm-wN1C!pKy~-D zYvJtmo=-Ny3V2EUPsnn*46|de)fIdiaI~TOSNcW4)|Xgf$>A*FY=&YKI#jTzW=AU00&5a%Ni~Zx46jWXmmY%Y(>vdb~a6# z3I@aGUjRv{?LFQ`Sk+@6T`lI{!e;*l>IuBFZ0^FFo?rJ@4?wdNHw>CRX2eJQLJQM< z^2@6kJ`r~vnnIRKEw9)IPmohVu3wei9`sS;n*2$V{#cge7H%&P$L=5-pZMI}2brtE zB{p#Q<@Yo)i;5)hdcQe)ejZba*fCVrhTZw+lHscS`Nij4VlCU?TC@0PMKG!_lG=-M z8bU;uzw}5o2O%R%j4Wx8EEQW1qZC!|SE$CF8C(Y(4vac-0XzGAi>s~{sJq}plFa?E zeSwET`%3b>R0wwPpENv=i@zVth2(mmF_AMd>kf7n_9dDFZxm|lrpKNWtt0VeXi zOui!)GyfPVx<8Y#dLysn$3GFiGJG${Ajpd5I6M<=`7*v>7Jn#4`g(mDR4EleHL^BT zt6~3)ZpCwPxG7e-Lax(?>AS9dwXZo{mEs`L3Hsi0C;5DT@v`6co6^tgXos@ZeoBzbC7Ot^cVb10e zR9~SIa%j9Ko>KE@@3NVSZ-;u?T+Oq5+S2KejwP*>p;qU0-v;^Iw<`DH#IdU>>m#T4 zK2h`2;jgTuHY9Ef?zm>#W}v_B5xU22k5euR_&ajqSkbvKS|5z?vi zW`TJG;OyB=%~BB&QIkifgq5mgquSgh)VG5iu;BK|V7L}WrD^CqOPmE_9c7_e%qDi= z42e~{LD7e_95TF9CVL_8Ko`s$JN3X-d98TSZ3cW~S5@OFeqBIJ2+ym7Vcq>8WIlsK zQ+IL;<+;RTxM=p&iJF#xDUHt+eW;uW6ZDN;kksVDnkzSh{9s0FyU z4;SpZt$v?+>ZqVSInaB=nu)wnYRtH@=Qi^pYtH?`p!wU*d!LS}o+8=+*%oV7@nkoM z9Qyf^aauG(FXmdWJF~I28;Y=e1O;1W$QQNd!a@>jc+4q=hBOVEUMv0#wZR$K<)*@s8lu@)=*ItpvHL(B39lH^ z^+ZBB?>^(=n;sjb>Bs3F^2!VPc;`lM<-s*1w!_X_S*FxK5Y&y@2FA9yW1przq2n+> z1B`G{;bjZjx>1;C++LhlrB{rsZVDbuWi z5%IaH`!YIFkTkIGk6kgGoN;UJ;~Bc|CyJ+i)^w>n!cM)Mob^R7Ig_F4;l7VIknc~g zn9VJUH#t=-`ZfPv;w1`)$N~S>F!qSoNPwa+OjYORUzwsdiq}Sfeo#qquKAaob;r|y zqE4rZmo`U{uLCi?LNyK^c+(lNon^SwBV7y|5a2wdPt|h+LaC+3xRc2Bzd3X!I-Y#u3}|%-Fp+~;p&0YxPKiu>t$lNdttKXl7t2z1DZ!0@402sUAoq# z&bAXN10+4w>>cM)d2?GOcv{dOTmZuX}8SphP<-vvj+>De{%9% zNnXOmGPOYAi~%m*1VE}^H|b-OW9Dp!7XM|0(mOc3htAj>=w;yM@1L!}%6Y-MLxEtx z&(BN5$VzzCml1YbQ3UcoTlJP8YGk=M zX6>OgNU>P$*L*iOMR~B?4s`W2MHwtJ3b#E~<$Tl$)*<4kHv?YoWuOUqSirMubp-cf zK`BRSoU)G(;fAlWI0d&DjVDuow?yB*5^ps7*0CjStYZot`+%mB%k7V3_|ny<7J$pJy|kbA=g+X{X)d*JjqW7D zpF0g*H$c9pN&uWRhxl%dU`(5!aOqlMWdZS6v9B#$Xd$6!VBNP$V`iWECHGJ((c{Z80G10+{QzgE;7v+l0D`eDnvwTfE^N! zbXRscyA8eHu7})+nWhjWJngS*0)l?QU9=CyI`bD&Wz8#`B3Wq&9 zwuEI*u9l1CwzJU^g%->rPU*HRM@&aR8DDdIb9^TqWn{b{DR}5A6~w$pLQHU_ec@Ez zT{rD`(JGS~WKn}t8moAAtUoH8T)$ks&L+>ePjS`FsofgyAhvgDH~mu_?^%s$&vXI^ zw>#BWl-y~ zoamR@!xgDPA8@)>a6IoU)E~Bu3r6J**{hm_E1H7dm&i=>lj2ckCc-i-!5Ht@Kh3&U zC&1X8t}<}x(@b-i78{Y5o4c<)cqamQoS&6gPYOJ2j1TJ+`8uVV$FL93oR=b2iqEz` zgEn*!CI~vO4F0uo>*4fIrNWfJKkn_r$!nLwi*5>roL@gMO&2bl3=(B$_s)YdjrIvZ zhrtB2WUsMGQw=L-!sYa~!uQw>#DT$HXS&*!ch{efH(=2ghPyJ=3AZ}gnVJC4{8icy z)E?Pofh_Oc^FP02DzM@YIpoFi!`mX4xP&*3hp0r&oOWOX$R+UUxyAxrG@f4;JR>GL z;xB!k%G(=zTqaFk6i}^#OAmH2NG`v+bE9F? zrWnAU!V_eP{3~_le{_zY_PPhS*f;dh{w`-pzOV)3!=+r62L|@nsJ(VVqhI?vP2bt1 z_!=k34>h-@I%iBqPx%r}t zR)408V<1K7BF7E0q@P30EPLBpLSKi^$}%`F!71a?;*Xs%GJj58+ho^MlmE0b{rsRp z=8cCk2vH({NseWb_ecekjd^8kWud95qY7;eYn6fip?9R;~(8s5hsT%r&)k6+gg?){H#d1Qy(Sr6Y z7WTV|g@OM1x>#iAO1M$goVh7k@Z1q4aFcw!-yX^-%nFCWdY^AFKWK_iro$PScd_1G_ThPB%|&k~L}1BLshYu0%L#x7 z52G(+Eb)=X@JoSU(ra3vo?QtYb)y9;X&@JCrcro%K!NO+nID~cb^HZ)01?CSmF1ql zLEY{EsK4u7zm<~Vr`5S8F_#bAfed~Frv^=kA#!$7o46zsXvZW9qK}902`-#}j_TJs zy3fjLc?Vd7A7vlMi*_1S!?h=nX}mSrLkOOU;t<@+erCdA~cl}XWlL1-3K(! zzE#*E{vlWT72Uq2EHPW<2#y=Iqjx%af-dhgyZ1M=LSoy?&Dci&<_Av76~d76gO#{B zWy_z)zU(0f-g$0`3(&Xfgyf*eGF%shYQR-*{l&G0VHf$!n}J+LJ{{|xN{0+xQiPKa z0UuKlfPfZh6I4z(B1RPYdb2R3d0C0N_S={B#KgoPZ;NNWnj6k{Ta=xDON@g5BvG1R z%NrX6-ABLm{Pa2o4_pI+5mRSr0}m-V;PWgtu#&uOD4s-4_X~!325y z=Z&B`^?(L?Lwax8Ak#A_k&iqQi43;L;pcIjWd*sr(t^hr?&qpH%L?F?Xfi=HOzL$^ z*M6p;*{P!zI@TZkoOwc74#+T(1VS?v2Jg7?pcT`AGSSrQ)=1ZUr1A1|)78Z-nOlt) zuzqNM5E#6slnOt~&15k1jNtSj4&TbTW;Z$dqieV32Ft<%OuTK@8>X%qfi8Qg9JG@B zq%%kZJK3)@iOO7S-FuHrEAl};OZrI4_~Y+h(a*X;&zbRzDBiZoR)>vF$@4V)G{20T zj(tWCgNunK!WNnOc!Psj*klVT*TssP^ zBRUFLH;a*(6rlsBXPxO?`RAsY(S=I9+-lV~NapY)s6zUFkR!3X*z@NHvCYd6`A~m( z!Z`L!XsXjZ+)|p9`;N-Dr%T95&+{0;wcbflqS1X`kmq@c{&gKGJTYK-3bO159$wSo zCfkfzeCTpAUQTp8n#lu1mHT_wbAXll$3(&!JeeYCJN6dnYxl`PeR|jgOg=@dWEd~K zNoTM-st`7SYginS7lhA6%OOh$Q@3KFJ(;kgzDIR5YPGN;;QceGVUtLE_z!NO!cv}o zMuIUD{+fP4%Ht77PihnERO>pB!bF2G=-^ISyM0<;p$SR@gBML zdQu?yu!|ADXz`3sP-hAc9-EGF%hHpY|`7Mh`gQIJ1_58Fm^ zYH^w?p|W4$lUXlJ61UIOQngOly??RY+Z5pz&V<&=6?GMx%b2)e)lZ3Xin}~nb5Fix zg*_sCl0@|=^a*6NIRFT7-sKojoiE=%q^d=uj&>-tY-oBrt}ZOYMV{wroUXV9$KB1( z!ka{Kw6#mpsinH4>ib+yBrwC`nX|x98Zgm9g;cfqZ^z!_XCtTv28T!pyX^8+3!X8> z)pX*#NZ?3e8}C%Z^Gt?PBT+lZjrnGj__}A%pwR6x)MUG(lmP|u5=`y|E6vFpBeiYT z(acIMLw|?@aI}UbTILEsdZjsxPVmT9jfFn^Dg@2w`DpR@Jia=@Iu+_ye+rDk;#SHy z*YLk!Kf*E;N|p8_e(AJiz9rHdWcuz;NNF6x!n9rc^^* zB!IBcylTvJmuvMDqBQuMX$5U8Lw@LPxMNQ@kmvkWc#nEO^knls^d#ufr6~RRWiLEWC^j|5I-@xTU(|*hQ*n)2|t8 zU)n*$bPy9Q)jyajfI;;GKxf9tInqv>Ip$Ac|oyJOgy&mY+h4`Nh081sXPkw{naxzO68(kdrj7Jmh8v?($L zG+tNBLyLuj#p50mrNEvb8xxo9pi?`8XC`*S9RpH3 z<-W`2L}j*n=>d)Z<{`3$_J=w*SCw~qDsA%y-X{w#5dPMSiY1leJ9_mLF&^<_t8D>m zA%ru)D~pbuyXW!j;|Dm^cm4j7FZ)uD{KZU%xuZ}SKEXTS%d5D!x{aCBQwFuUihjR7 z3i+}~abb928hPx2{zf7b*+-9R(k10_zM7__uC2_=40t}EAjAg6vRqaw2&hiA@!C&B zXas*pKM&AmeP`M83G4E=w1_$8Mi&e#Xs4Og+pP9pr0}d$$?PtpVnUn^HShsXH}Ubu zeFKtZkJ;}amIIFPA;qsE<^KlaqA^4b`f}|;iWgiNiZPPM)o+iF@?msoLSZlw3Z}*b zcr+F<^%InVmh(N~x z_$354q{!C#Xoo#htB`Qny0%$SG}zt3TP3MM7Wx2OZT<{85AUG0*bsg`XA0j4uf&)f zKw#Xh*Oo25F{lF#qyt4*F3YKD?D|x6$0;eOLZMYT;OgF0Om94YUHm<2BaNI{WdNqr?ySZ^13wL_dG(n79uD ztuSS^AX(&yw|$jiIjNRdd%4aGe zd%l>*E3cqPWeijVm>&zVL7-36)OGBVk0Mq8`nKV7>d+e4b{l{0i!6Fi)&CK;D=_8z9s5tO5$!*-A^6fmnex$FiW0K*=TJOy}Y6$l|H)}aR z1S8myUV6n>{T;11BLo-)^sC<6`-;uV`GlH6@2xVgvf;%6INHuvLdul3e+t$_r3k2< zEaadltaXgg$rZ8Tg7ICpMOXv!uLd$yqbs%D3Zh^Iapa74-7vAxrdI&Y$v8Q8I}k3< zTXQ1PBTmP4gb1d{xj}}8bE6z|7QI*@%i-BFMKQ{P^F5}g6U!l zPN``o(bRkKsK32Z?IerV&qI|-z5tD^yo&6sOuG>t4BWY|eJ%lms`owkoX zR*8}}y}?m38w@Ar>LfjX5i~he)>=$~5LqZ3^SXpE(P%XA^r;~IHdA6l#%nK_=vlqF znImMp0fASM_kv9)f>yxv2E==oUu6zjv^GTrJL6-Ee~RVC;ugM9`Qs&VgxO`$ev|`l zB?KyK*cjG~lA{02bqp;^;LBFAf#s>cw=a5USm+($_Lr_?4?a8|APP`d62#fDgn8Ef z?AW^$zrTKWh_i9V{IVBHD4<}%psF}1lgH=Ed)E0rXQ`~7wvH?qummX*BPN!(i*V^a zEl1$=7&c@0^73@rZ2HQ_n^+usci1zU&;v?{ot*;y5B9g69*1l*<2c@4#ma&&1fY^| zhVCvmbA>9AX-a~ZZbEDqkf!mLQH(NTS`mC$?)mSlFJZ+=^@j+R37k@!;uqLKHXWOv z#ZdlwaVoC}_PRd@GbtrWT{eyoDJ3yi*=pbD-z_a*?=&!xBe-E&ETiY~uK2hM$^(-P zYS^;A5QM5Cy4`b=XiWYAq9-+C*kBe<0mL2n*Wt|&+3H+>M?T!7b9ghDj8(-8WjZf* zkEAs+j9YqZV^iO_rI%fjq?*lLylF8sRcv02yBsdA%lyd;o_1|5IQ;d!@Lr7H^d+oB z2eal1JelG@Nwm?mN_d#}FSK1pWC61$jU~xMGgz^QA*##Y!Dx;qD9t-U2*#IR9th{4 zReEVn*SZ|dmFHZ?38xvG@pq)w;+%7MG6&`t`R6p|F5kjsicn`qIOmU= z=E`-j^NY5baJ^-)^7ikus@Rf!A1S@%|DgB41|NxwNWbr1Ni+BxI27%opNLLOBdd&n zKTTc7w~3Wmp9fC^44uz+v_4)q63h=5!hLs=$<;t4`u_Jy1rb9q#{&npIEQaLfs_M= zm4%XDmTsOxUmsK8w7C{Ed=rFA_B%Kp-4h82H!1uHthyPTs&ZLusI7CJ9zq8y*!qG6 z@)TUOO{Q+XgCpS?YVE8Ifc9cZ3%7OB*!PrZFHiR=bKdo zx&>^kMr_94vE1Nf9~M=H2y zaHqd{61fQS`f}sRD<$R>^VDg6bfOZrUgwuF;&hgyAh?zllUqlDi0|Loe7s)18u(cC zDa9T$!1%NXu%UfBh%9sjce@7S*#3UnJhH@5)J^+9gi1r1uK(~+?c){72F!;| ze1MJJ4ko?1?T#6{6H@;cvh6HEPzyDqu}J?$UKhkk-QdFto*}o)`>XnZdCzwjT3aOR z_s*_7#?$|BD+t)*bB>K;#-kh}+KQzO44e|A8P>E(02Z~+?F_wprkwDj3WyO=Al-J9 z_|6CeLE*3X!ghi8-uK0?XuN|IN_xl7=;`pajJHk(cR?N9_(5Bi{ax2p-EK)jJ+U<0 zT+fl;x0jt_EBls2mxpHdF=#WvkaQ;j2I+$6AG7YLtzL%3CE{}JL|nsETrevXuWy~d z2Q^!H09-VtY9RXl5d`Dndx%HsgX2TXDn|76j%m#)xMutxZ_R9t@c+E^nr{=S;E(fJ)D}Rw49w}|I(Nlb?+rYt zKV)h)2!0@THaXe6cs45xtT_fj{4fj&PZJ!((eSx@oT^M1j7)^Zwq)~NzAoO-#gf*op_v^WvQ`?w#Y&gJSn z^bfvvy0QR3Yt{T{0bAfPOLa}&b)oN(jirLm4CP}O(8n8rNjb;@Z)Jk0ng85lMa+Bw z5cKk(=M{3aE>l(UN_27Q8DduPCQol5)KZiTS_y115JH&B6ydl`3I;^tHC!+DzMEbA zc|m2(PmxOT)Qwp|m6zE~heZHRC*{;nk%cybny!h~iyTXCxS~)M#N8;n3S(ph3t|}~ zN&mI1*=~xbQCKiLRgr~55iwF08frL!(EYC>%qXYb<1J}nSp_Qy(&`N>_>r?ApK;Pt zywf9PTZxmbw3tQBsH*;gtE*dwIaU|63XI1CkOQ!dk(>LO68BqfFNz8&BTdLzc#@67 z7z`{-f7VNC(%gxD39!?gM#fFX;y1F5kFD6fRAZCiB_UI%{~_Z}MJQ+f8h$7QTq_{g zT?##EW;NVqf6VtSFALto<`q?GH0wlQ)&YM7d!j2QU?6IaS4F3-{L|Yn?zlqROlGa9 zMg)~edXpP`Ch6$e$+%>DS~Zhj@;2QnxGR`o>*1V77&ttn&v2+F`5R_S@89_grM2aK zjS1vMHR90l;3$Eh)yVs1BuQco_}5=pz@oZcF+KfuVav6!01SP{=sl)yZ;#~TTdXkk zQTdS+B3ly^@XfL$V}!C_zz|)E3oiWoMl9G;brM8wUR?pF(H+hzGEzLs>A(+~YMN9b zt_eCfZa(ub)`l8~;VowCFp(3n;LWB4-4LsvBkRN(xDCh|sB6KBm=#R}<2`fTkAzkq z76;sj9^->N{9S%kqmZ?FSRF$| zFSjm;eCF>tW|A6}%4s(Ys6dCrD%`(pN(cUj#3dTWWUdx+5?*0=z_nU1HY|fE4L6^T z$NuLlu1Vr+OomC~b|!l*t~j9&xI}9qgvM39Fa{yg73zg^^yb3=t`CAnIBHIJuEr(? zEgsttf=0C8u8LfM-rD|L=3kVdpp!#76?+D`8WwVb z?m!rBc&#UyXyRQ!rMf!HI}X8o<6{3|jT;2xF*B?dD)|)zRE#0)o6)ZaJ|9IpS=c$_ zs=jmUi9+$+{K{7xX-jyWerc>3Zsm)NM1meOFWp%1fS@@P{H^t#9ZtvD4b=*6FfgG++KL9`(j$438-@v#idRS9o;$8%1 zu+;m9A6nrG3pvo2x{OM1m9o1 z&dfzDO;^@oQy||L-cIy4c>c;Wm*D7l_x$gErsa3|T#QA0Eo7gbxUWwzPU{GnXl3y9 zu#o0Vo-%k(bRl%kdsn>nh;|z`=ghh?_-5dR0D^~8y+)fogWZ&kt+tDS99eCKlNfq7 z1`c*N*9mK*SlqCznVB&n%PqqI&AO)6+YJgl(MW+2;6Ljlq7XV38!58Z~D7;yaN_L z{MOjjxVcYX`7C!Z;YTjS`p_NDWpXL5aLln2h{w--1dad+UU-~ylimwky>g}UsOe>1FgDAr{Vep@D* zOd~DwF1zkLfW6#|@BLFW=_|+vUPLKkuFo^A^4&)NvScbAXd!?{?J83Th$EDv;phb6SK-^7&$$7#rPgN-g8efj(0utA#xn*h=8OFZ_s_` zG)&8-)}%^H=P{!iX4CsQj|;aMO)heSY!z+>a!yAIJVZC+s7RRE@3Dl=lGCQZ4eKFu zh<)%-Bd_G#)rnrB(DzM|X0V+8fO6&=QRQ~I?!Df*8liRsZj|kpnMxq}Bz!i9@#F>M z&w@g^Z6T=!Eq_A0GU-oxn*g_peFmPNItksSz?U;sP0SWIo)9(IjuyAp%|7qL%(e=6 zEug+Fy!^H4#84J7?)|~9lL(rUMxB~|_nSTI=$9W^^o=&eb8w$FeR>sw1`+5z;m$$; zq|%aCuU`d|u1vslH<=|3xJ&|_m~tAPfBqHGv`Aei896ixmjPtjTqJpMvstE+>tQ}k zd~)(zxfIR2hR8KuC0O3V)5TNQ5LPI}y3=E;F$@=a27P`eQmU7d0(tO9W7 zy3SeAUE65b;Swq;+8EgUjCXcoqIE!G$`+_-N#T|uD=A=_tU!*ZkGJWk>tcgh?h_1~ zrGDr8OS+ole?-Rx7Q_?!#MYA8aV$Rw^e^}!4E;p6_9ea+<^P8q1x~LGk)5dAWw(N3 z4wN0;%ohzb-baKy-y_zXj=-$~v}55}IHz&u5(1Df#VKHh%p&DQ(DAvT0PdEAI1=5s zqCprhku{D8F)oRLH?e2xw~MMo+hpKs2RiY5d-Wvr_tD*{z+q`bXzrlEky1H(m=?Op zkD1kckE{m=?XB4qgT+zfZC;DdVaSE!pcXH`XL8XSCdGsGTRI&-(YA zIu`B8vJB6Ln3MmqP~^p$iis zxxL349|MQvWR~b8Q0h8soTYBGxJFeuI;?conwWDZF%`e#ZL6ljvj{Q0Rhompk4g9O z{GGX815 zDQ{|7^%$}GqlIM2bSGcoyR#O3;=fuOVd)h_wQfIAy+bm2B>4W=RKAq)_{A1q^5O%B zbJIf8M!pNZ`+{?N%Ug$~b!IO%!b@0-~H}{$amyxE@^ZZTb0yG0i9?&YP7nRWO4B8BY)<2p zpr&Yv5tCFiur5|y0#?sp&glDV5SV=yDhuWTG_4!1vwxv_=2NZGBUD5Hv2+a;*W1%4(jda%@ccebCwBCEnYGruC(6;cZgvCARW+in1{q`o8TYOL8tQUG9mLwF-3@tybibH3#ho6I zY|J=OAIP`Z*ay35>-@XKvCG-OP{enqN1&C)`UEAUmIF2(1d|AKAO^Kgo~ z5lqUER>Qb8HjJxUs7;t{uV$CvU!?r}Fzd`0FpjN!={+0z36+R4WCxwmKB!mKk>6!v z6>191UZr&MzAM*bgIcsQrl&;;1vLVT(S4OmA>V^oy*HsX9d*TJ`K0BtD~~we@Kv)H zL*8?jhB}s)B(N|K5w<-K$s*u?@Nv(wBC zUYJo5n^9Vjm*M33G(giNWeSKR-F+3=q_v=UFArASTE+qHgbdCG;q|0>qj)U@ut$7?Nb%|Pjn-Tzjq^j9^Kf9 zzM3nDyE^TD3sp?nt|#IQHNw%m8tK29Nq-Cqhv{x^z7mpa`DghGGyWthNtu1xvnQkW zjGYVQZ6AA!qymdj@Qn{ZmQdpj&b(w1DXl~ay02xe&1Nn=AbqolGZOVwwPS%=Sf3oc z-9H#Td~|5o+Vxv7(Y@x{eL@9KsNhN3S}!|&SoGUMbcv(K#_Q$g+b9>FW)&*JR)5Mv zVeWAe^d729X^$HeR>WAyO60-KVB8zd5E?vbZz8U!W4&$}c<80~JvP9MVi}#;o+%`d zH2?t)sAUV}+~O9AS)dr#zLYVbm?uEy(#txKyynf880T7fz$|pM-aTp^g}i%k*kb2C z(!O_I71Q9DY4F9{wIOFG6@AUO_J8?edZVy)oEKf&z3j4ZUaq$;)7V5oiQAuAA2qI06=L&!Pmq|z;j{=oxkTyqDVcI>Auv3tc5t0%9uz#3$o1@>AZ zyFY5y!L-PtT*o5I<19G~$xwCzHCgTRlKm$~?R||Q6LarSfg%7@xlLwLv42!#6yJ7E zCY5>BIX~DxtX_1cYgg6&di!bTo1t_?(wur=*;VzT+P8+LnI}H$Y$JbBJ!On`p57j5 zLQ#8tMXIxX958R&6UwHq@d{dPylt@7gfRL&3%gm1>n{|Cz+xr!(5p_WjAVls5JR8E zQTtVwp}h9v*@ydxFAo0r%YWmwSA5F8Sb)~-8=a@xzj5(HE#ToSe@y7O_Fmd&Dh;-@M5^P;>}c7mrCF{` zqh{k+n?3jwlje4Yuma4BO_M zyP{vNo}9L?)Gs@%TvvzHQ`l;DDiF8(9q$6h#eSLcVSkfg-*fV!8%nKOJBq9ff{|F` z>_@;tqjU}I-+RLXHwc3xE}7z25TWE%m8ZN@pH_?#A9=^!V_RBV=WW*8d3DSst-Nza z!*e8ICPVdH!JfyR7k^H6s^`A%!2P}HxrI_pZLfW-arHgjbIjebltmM_{4Lg?SJrii z3#l^4n(wK}&pUo=O^7Mx7#qR+JbtAVEwrehO?BumiyWtrt5a)V;ySomYU^kRn%jE_ z*sB}wb6*W@7;}Rz?8TUQa-DdE?Bic`uG#FW-}v5FwmVrO=awDj7_t{G5TzhukOWrR_-v3xn<~LK$ac95oEqzOVr*WP5MsvRT zR+yvqIvZ4UUVni8w9Pc8!#UAb?&IL-oGr)3gBI50(MWG=@8i_i^LxD_-0vS?3vovK z)qPxVC*O1mwcEE`tS{-A<%)i@TqhOtbLX34Py9KBdi|nBDC7xrMB9xWH|wj3Rl_Iz z&pzS5VX8M)iegPzxWxwdEpp+!`lk9tRuceg;pCHz5~!amVx$ZwLpmp@uyq7xMXsSs!Uk6P8UBv>!hOx9Saq1l=~_|b!AP-bxS z!SgImv*`m?XTu`fNx=wk#{)4h2-&iOyA??VfcZ2t@3C zWPu)#0)N7?)1%|KjrUq_%ygR7WZ1bGwcz1t4XU^3Qvq&{)Ik>5j{#9j)pstS@Y4NOZ z$BlE@4~v+@(KOt#voLG$;IV>?8&?oFiy-61C4|2sPS;diL7T(lBB41X;5>U#tYykSfoi(syIeF1kCRPU zUYd38Mlqs8oYE;JpjxmNyLW|QYo5|feP{ADY;M@w+jGe8-aNrcgiq@dPnM3}v_vbR z^Q444iwk!6Ced}_v%-{TM5P}-Or6nG8dE=6aBY;yHR_wtlE>a4O1nAWOcS%g)%6Ee$c9u^D+uOm>ne->vk2 zUx4Fq8QJ|Ypm?_ec$7CN6e;->-0+_TF+jB#K0siw{1S3H5-GO1`ZR;WUrClK|9@KI z@7&r&@S;So%Xh#>5I<;2%po+M`&fwdtYbY48Y5-9W9 z+=P=FOOc6%GxZJ|4)ymE^^n5pOi3+FIYoaYRlw{xMhKsbJ8egy{IOLBWo5ytGbyY( zG!jj?WY>X?lh3>TcrU-q+o77sL4OW1DzqCdXuF#?oBQ@krFKt|H798RBs)V;6;-Es zcqS7l?Gca_H>ff(WDzhwZTIJAE{G^XO{{aWdFiUHrS#CLTLgS%VF7T%0C1B|hxlI< zf2a0fzTv}TRn&C!csH#nr>Vu%JtwN;No!DK<1b+h-|bB0TF2U_m<@W6pyVASrvozzULm{8LE^D+O1@&b$cxNI zQta$plZW7|1{+hjdN5JP2!AnuDeg*Nz_bL@m7-OMX(n{aGt!DCpAb%~;Gxj<-CT%FD zd?c`a_l&h1nJ-@x>9-;6tnu!sUrh#Ey!ICh%}L&$rN-(~EyDRoCJ7UmuK>S2?kLC4 zn|uG?|NnaWdhoyg=j&fzUw-xFS6{s;pxJ-P<1kk6+TXqk;=~AOY&1-}(+w)PK_)>4 zNZkS!;X(EhdXU(T^?&-t9_D~-=t|mi?F!HFzcN>|Fhl1UC_-ghUH_c333D^s80ik9 zX87%KjUJyK%+Rl`1w~DeUb1-8gj^c4J>b(^Q6ZMF2qXFAQD`-kI+A8J?`=8>{k$-z@0eF?YHU`2*Z)3H^ zpV3C0@2YtDk7c^l3#<-$`k|eV-egIh*GB84MBt+`^jXt~`!eKKqVPDxC` z7YC>2;GcADquf%A(7`EVOus%==cu~!%LyTiGtjt-S;;0uZB@-Ms`Se|?%*J_#pNX$Ta))Z}nkiK@$YwID#kAd+}PCm1ylwU_S0 zRVouqNij;g*yvXTWr?+;ykZ*daC{-*+$$qUkK0JSVcin5!^%oeOvnO_S&@P?um%i= zW3US1v|c9MyYCT=U@**3v#_YgLZyYh-RB=wNIl45ZUhVZiKfVuf8qBWv@TBh2ft)G^GIj-XEkpI)TiZ__5FA3?%&p?hKK_`Cn{+4 zj@S@eq#LonHfwPhf96=;dq0YNzL9_WVsrA&nTMq3iQ%{}4@jQr-`IpqYPud>cr3cZ z?lZ;zE!`(N?xMULLwpPAi^2tJqoX13(v8owvui~v1V__)BPw6+(M#pVnOwX$h6Wfc zS)|jklreOObL1lk6Bglj2nco}FmYmb0Y9`Skv=1e|~*syw0tIU}8VS0$K-s z0NH1&xKQ@hhJ;H4|3e-hpMDj)06~JBA-w3*@oBg+tP_&db zUz`S21U@wi0HO9yWrQ1wT*m%>Sg8t&y z84TBw225+Tg`JbnpMCeO>Z}sYV4;$Y7TPY4Cp~4Ef0K}Lad7=im$W5*WC6p6o1)hV zoDU@n76?_mq%rAA2f`-0&`=WiOWaA}R4q)L)(pzackt@5GL^9B{QUUPeEVZ`YDAPa zf@}EGeP1HxguO%*NAun=eff*;_n*D^t`>t&wY&7!?T_&JbHuL1J>)wVo+kU-LF~8vy9d@^C6Z&v4UaPh~ z1qckSbLjds$n#yI@(E9Mb{ZZ^dpc%(h+d2U+FShk3amP%KW?h?pRuGY*XE_5@;50 zoT3DNQ3C(gCAgTUJ8W;k>5OMo^aVOdj?smQc&$X`H_;A`W|dQPNm`)i+hw;gu~HNUd0hamqe_4!rjD(=~?9{xMb zf0`+}(zrKQ@Kw1tcgJ3KI{T-j*jl%T;0A=+Y$1I z_bqI%s`ZObPG0-m+oFivd=6mFN+xFUis(q;C<5(Zle{iD(d8!Luk1}*ovy2$8Z}~9 za~$;Qx&=Mui0-)8`g&p&9NQde@H;@;@IA4z9%o3XdmmgD93vO!gOt@t)mXH z=%5p==k^Q()QrOa@S!}HV(-d72w&zkB6)u{;WjqT|c{pzyfMe~M4L zqKbuz#mB(%f`1*oyQhp3d4WGN@KiRg(XBa+1}i_Ig*$1R(51qnZ=>pnzN|I1Sjw46 zCxw`1!5GGuj46YEEL@8n0`6pO7qjg83M1oKGaD0jW9!@d^7)rL`>X5=jtEP3NMD}& z(&cBFae2_O?MUc0sdUPX)5xBKf7)$gA&ECUaZ-w997=!M;1tZ zQx7EUMeCJzcU^66S+AaXKHB>p3g3XK+s+yS=>5kIQO~7&`mj17JU3YCxqO3haTlS{ zvOgn$Eam+$s$)5avFZwiKyD4xW!y#W&_HM^e=oEEb`{i+& z@53}I3!Y61X5&#uuoRcu!~`IJS*mi$+w)U|Oa-F>G8FpNJB1M09=xVE?wHQwzZLsh zdfpR1lu;NAkd4uaLI*=t|H@7nHI@k$gMoza;)WM~#>unF*tds_^W|iB-1BZc!ezwO zI+8YHXdiWD{cP!<4GbD4fjn}1Bds+T?0G(UiDM}&ts97;ant(dFVHl9$QM-*`PrmN z@0RJMu0UH_UKUhMB}Y(oxFxIMp}e+!XNx}N9(ymCPBRvy z$#S6uiGd`0jvQUxE-i6?b4qd`dqCl99%69@HYYJBgWnNpG84z%iZ?iu(63jFIigT4 z*vlDi1a--+{o6bC!3$*S89bwI)% z#vR&tbOSt(2E|5^?W_!0WOR~T7JBLy;Xdsx;c=8yVGB+%i)p-qn1edKCDTLfgL3n; zo2Qt`8hN%7wxb~%d(od7F>++8M=pTcdZCJhxUqKfRx?^3IF3`(!7q^VKHCk-a8f6N zh6{>m9vAFb>vH^mww5r$6x%;~u8_trL0pV9$uxH}n(0A-(|Pd22YZvd3yaqo zE726KcQmBmNpZuw)k`({+gT=b}Yvy zb+Id;?9^{u(;T)Fs&m9Q=Z&;}Kt8F)1I9xo_;%qx3UfK6Z;^KKKsGer0g|gn#xNTmVEHW=+XPqkz4p(F(6GB7pfP$aaxQPu@Fy3fA z%lA-65u2=7h`E*;bG$w#22dVG{>XX9pN>w+@Lcne;2?+EA3`#zc&5sUZ5LvY%+XE~ zEqCeco2#(;uQTz6sDVlPRRHAR6ZcMkn{S?*EI)jf9b!3LvB>AqTMttTGp;nH03uUo zFjaFE(u*2ZK-ejhFYadq2FL{3v3{FTg!xGn3L>>{m)KF0%h{0u4BrIGvG$1Nk=%5fKaP3?mA}Y32t}86QorttRzP5@O&O{Y~{z{I3ri$P7eIvK7$ zeBi;#vZC8y$T3*u1B$%0eM8QF9*>|7)$B&QcCWg8XB?zR+o?xdB@q6nWu@On2zn`K z0wrwd8_&QHhJ{Df--pSmSojkEmJwii$lx=QwFqSf0=~#CaXCHdw+N_6L#!Ah2+Nko zkgw7co}XZ4?e9Z3&&Z^^Fs9T1x)qvp+ZQ0qjFG(QZ-NFpp%%+0>5JNb_>8Lx&8uESjndPsM@*tak4UJBPLEx#diyf3!`*>dT-!GjF%v!|@|L^1{FY4nt$s1ex zUGIXEr&YeK&i!0VC5w5VQ^ivDXY6wyX(qhawV5O%;ZuFwly-H!ChM9Kk5*Ae3t7Cs zoACGZvP)w9^cs|FV0*5#vyqfGwZq)BG*oemh5&FWCal<-z$(^0Jmj^!X^k<>$!fhR zqiN%?bgonJnr?&%nm2D}}dy`>VAQ7|iE5jA9NH4V?a`ZFG|Jj!* z%>*ca51W+z_EEmY`-t;OdxB_L#4Jpys9$QrlCi%W&`D&|=KRlFL7_6S)R(q1rZa z(Z19;QCC}f`!0M!X>sdbBWVe7aotKj-NZU7Q%d)Mqr(nsxrt1(&EYgmsz{zUnI z?&Q_OI#U-kXE_w>DYm|T_xa=2y8%uNr({+K)ckab z4KQfx;8nAOV5_Sc>Vk?@Su~A*sji?F#Cm7cdYp?R846_5wnDnhF{dU*qb8M-LC2Xe z%9T`kZTm!8q>d<7a#Lwb0DXKL(z?tw_Z`jV#}Q(bf1~!2;18;G<0to?twU4199**A z+H_uhiXh&qA@bFYx~W%oB)dngoRHa6DYk%gQ`E(mFIdu2wQq0ryoPmuS)RO-RM#}# zxX?F1Ts{G4%@P)RM?=gdq ziI)jMsQXvAofKw~(nPg?nx+yID@7j_p3%r=m0e<%$c7pP*(FQz)SHmi|UWSLr< zRgazh=GZ8#XDti6cFVU77DZs+8s~f=DwIBC0KupId2cj^-wP z6Jb$bPY_-jjWDF-`Gg&jozufilL!nhySLu$g$H=OrA&0#$#-M+m5`H+6^d!YPMmo| zp?#GJq1VDVdaQrW`6ub4C%Y*h(E!BuZ~e9S#W&;E&EWz!M@NPMIXZG9L~p=!dg%s{ z@owconDKkETSeS|sG94G02{Dy&eDY+dhhox#7Z=8egC!^jQNl~mdw`Mp|lX2NP9MU zTD@I6Gaef&?iCx@-{0#@{A@ix(Z-a1{V=RzGiW`3T#=cFJ^0f+1N@>5C#w9 z5l4q5m0i7H;!YKXS0|;SEJe&D2rH3eac^(@o(xCw)hyk}170MNBvqbSptm>{3DUZqJulX2Mp*-j$yvhT4UHnaEy|URNyd+iN$1xl^^}+Q2Z4 z(Y5fc_|k5vXtIyNB}cV8JImb*Ko3%JXk|{$zV89SB4R2=d@XXa&K5VgC}Pr`qWILZ z$|FHYR~#~@(=TRl-ndTKk)UM-&_S@M2>xVq&(4ZcvQ*hw81Om7N?GK^9B&@uV3ETU z#&oQIufJ#CLikC$#(~ESkeCaky|z)s{QVD) z)x!5 z@3>FwoPXiH3D5^_I<^fs0?vd$}bl#H8TBcldkGh$2_MUt5l-O}M^1o~j`s}Ce z@&|}8)TSoi zEYMVd`KFDhvS-tX_KLV7G3GpEE3ff`_^J6ivw0%Zdg)*_#7EA3tw;UGpMGaPbonpk z5V@nk<3In&S}RZuy$;=vx42rQc~%?!0A`oUx$i04+RFY~V6{JvMcF-xR27eZRBi6S ze5!U8^-PD0S};5g(1Bn}0NN)24d+zyAYuG1^C3QzhbN$2wVWwu-^0`FZf8EQR<3t_d$50c=;tq| zgZD67bXy%e(C`HUbV_gw$={*arh~3SYrbKjvrW!-V$)c&Rq`2vB2Py6 zR`ux5W^-LE?edRHWAxSK6rgO!X8`s{ZyWkc(t>>1`E}QuoM6CzgX)yn5oq)dJD0UO zS~NYEqTL};&W*l8Is$9;m9yOJXI+`pM8<$TYcM9o=)g$SUA6JhU0-dT+VK{HqYEh8 zyNB~>{_v$Z^$Q$$ak$mJ{|2^OlU;ES)~nTCL&y(ikQD|T#jhW3yk2L75z^62B4_iZ zki`>DJ(>}1B3Yyb_DYA!`$roO>hBsZ0inOn&}Ru8|(K5Eio|OX2;d07np|800upKKAmuUYwwDPgT|eI z)#9Ce6q;QV2$g2+{(L|37F0+UtUuT&VZJr1A)pZk-*42M$-|A%CI}#|*|+ z2-=u@YDf#5e^{3cygPxIuP?M>P7hv>?0~{~DOp4-a7^ld6}wa#lm@9dzxnH4$0JPk zWf)4StB?tg9$ic?wvP!(I3~8oaK<}-yMK5u)~P<`;qKRD_27x8yPefX|NiGc{ri7D z`t0BSy#42Y2SQEsbAGTjyXd`}olOv$XU+3uWW;1qjkX(Sg;y7UOyk~nd>UftYW3~7 zJWU<>Y;t7ZKPgXN^nM);&7QVe{X)>@oP6A*DllKuXVtF=j-oDUJtn?k$f-YnRRmeJ z9zLoDJ=9DiMfA|GiJzh&E@SJdW3Sv`P-kzYbum1dOmkQIXB3bC zLC^kjjqy|QgKMjLinSg8M2zOHMPr#^DnH6=GuA6voEna8d3&>GoyiaaOoH}M>pjjW_V z<;r{t!z!xjAjub{wxwdpbdr)Jy`np(6vU}y}0ngc=`acmNJo*IuulYzrb zRYe%xMaL>#w9m}6t&A*6oXKIFQ3sUcV(-=0Pos0i_Ce`396;TJ{nF2WI@@*(6Qd}c zs#;p)r0s3};}c0XR+uIq;q^my06S=k&zn!~-%M^vv}iwN#E!Kg?X)%ciF^mZCxqMNDp2 z)H1rF&Bm|f27#3p(^&d`ekpB_J;gDB1@U!al$KLXwy46@U`tU_--Y*fi675wk;75B zD0K$wgoBl7y3Z+pr$BxS17I1W%pO)=Q$iFE52!V@8ZSFW!ZI_yOB4v}h{1}l$C!aw zp_J0e(uJ%zXY*&UJ8rrLCy&w|f5yuDYXm|S3+`2R1RLZUX){0CztvX@0b`%t?g?X& zK|}WC#(S?|Gew4Cm(og?){Wl#-iVZ!W{rAt|7K_RcIya#{@E=Se2F8Qzsx2VZ>pOx z^|a_|NQiqahHEyO*(cDK{RaD4fjBT;Ci!KieJ9ygr_A*4%>KneI~pT+?%|P?ug0AwtN6@h(;L7q zlWcodoS$1S!YF=dYV9@p7#zI^1k~>ShALNXN=LMRYU9Lw+o<{E?QH$qc9CNHyTs-F)Zw(^@WhrM2Vy?*cY&FkB+ zRx}>PUicHX23x$80}{nF(k_@o*;6mL{>9}fW3u0p_T{;{e8J*Ed?cc&*O;1QxJ>DP9BMz)=nYNcY##|(0=!>ADjGu!4pRkn7V0YP)H z&-yJZhhId(0#W9tC1ipY<9TPJQVIIZ8W!OL$ynW+T)=edN-J3fbfCKbWuqKui9!A9<$laG%VFQ0L>TsVM06|QSV z$yf#y!OJLH96@#e#bEpBFiO`KN0JTI#bUKL{ofU;wcpTmvVL1JnxH%r z76Zncua@uFRzcfb1gfR3!n0kMd*B2ne-C(8ry|_TmxQVp#&UZ4<<&{w%x-s7>iOtG zkwAByUaZn>^^717A$a=FPGQro)JlG2C%>|Ugxf%46Flhc?rrB}x7ytWZwIVgj2wdN zf3aKaM-35KK+OD$>qt}Lpy~@>8EiAJIid}xixxZx7=SFf5oq- zvyLeT$au^|7FwV@ahyy8uo_6_GlD&D-P4wYrBYe79qFgBOe)f%i>wymrHv4d4TlA^ zxs@=Db$8v}vtJd2zxrK z#@PYZzD6sQ?OJMhJefr2Qv4pO2DbNJlD=-cdOxVfuws$isFz6329}{t|2m1Dt7LWm z47Mra3Y;R%`xXcISzl4kpA!Hrx>J}5G`!-en9fgWq=1AUWjUyNo`+!de~ahkR&b}@ z`5k-sG4bCgXF~ZEd$(=Jw#6RrOZdOCIJI9nCM?4eV@~YfYrFbx+tB*k)m5*$8dZNw zk)%I(b@bvrua3X~3w`xfc47RHVNQEADc*kfF1x8VIj}t_t3^4C6gScsR*hd+R8f?x z)U#)k2`owSS{rA~<#q?te>R|vagkznK~<)c!Kj_G+$aSXpVHc9&>PXryyDgL?Y zb;87F@}5W^za1aahD)dK6H9%?&|BjXE`Pz0r zq{SQYr`m)cXi(U6ElloIDxg!|gwGE<=)2sjP zD;?LS2#vixJ6!04tgG2D3_;%%MSe~D&M1U6L>neq*?PYof6XUv`xj{by%X)*uHi4$ zc}-mg8MNiZ*xPqM+&a5td8ZiU>R-9tzr|lFFyCUC_a{oZq($}qBo6H56ra0{Eh>Vi znJ^Y#LkhmEHO<7}!3TqbX4tYmSOoAwkGwPq%nY?7C7joSKEe&CZpa*F#3cVPaKbiQ z(oIn3w#r+lf3K($BYXRSU0y0_G9O{(h`JLrzD5}}2OaG3K_#LajRaH-yJ{L+=wl?v zRGOC|^ zFWrtT0`hW6))#0XwU%ml+y3PwPY@!0$UR1vNj@kI6@xVsP#LFzkElY-pbcE-M=dpR zqZc1AawEbFN3eqt0)wp{`&to;4I7fAu!R${G_9}mT;Q>ta<#^@k{C^Vd;^wVnR}Xn zek}eviBwk?D!h39rMNP&5D9w$UQ zU{pR8qcT|TQ@t)0qqP;@LtCoHHF9}_pRivaKJdd@l=F;=vMF@@)6^Q`!-q>FbuA`$ z=O%ST?xK1wA#T=_XwhCZZA>e+OCP#HhhavsOOmGXYWq^e#l37UXTcUIwhb zl{!zg!DMH(QPhbcD6D^pG!8_s7&+*|i6j3+8j7cVB}waFoB)+b45z8g;-{O;;vF35 z-Ae0Y1N*3Xzes^YBKFLDCop5cY&D(r#$94N5Jap#mo=ld+~wMkuBR6Q~YGq}9~Y=2U`rPx9|Ay~VuT3VG`@Aj)?1$=+EpUjO#oPlBHTd?&F zgm|`eZ@yC6@YLuPinsV?e{Q<;9K*+MvdSTVrbn&ILqmyCp!OtmV(u}9{!W2Xl^36Y zaXSTEu54~A6+%H&5R-)2C4AJF6GFAPIlBYFO3^@D45iF8Hn6sKeSx&aH(j6k=F6vF ztag2Jw7fshHjjT%r{q46V}j@HuY#`VhWQ95m(JC{s^ss`UVfH{q=rA6Ef7Pn9Mhi_y+6{$%Nq-|3KZU}Z7x+c`hX=f0l+LDNf{ zCn^uJYk3Uo2JR)Ss_fda8$Ist+u3VS(G|IH;$^w*TU0qT8 zcaWXbAqxTGPwp#*L``+rQ{-K7YW8;YjI54B{g)l;1RsBYRPISSuEZUY&za^dkVoqDTHi%qHC0*KbJAR6Ne}SmEQ2&* zffFQieA|J=!7K{K3s+RaQ-l& zuS0nG=PDeojh%Stn_UL|ux4Ahx6@75hUJB7nB%o~DC~;KI=P@p*LF;w1|#G8++L{U z*L7<|o4(jr1YoKRseJY#lr{P~#Zp9Fey1ksU7u|OwyGU1Y1)_u*-yf`JLwmfPd+^a zB*%e@M$Lax_kyraGLw7iR{G+3Tc19}Iaf=Pe8*L5N}5lbI4%(SXQ~KMNBH#CFBj~j z^7`a)ohD0)ZY&IhQI2LlO!Y^y~};U09Pjt?mHI@v+*aHD=!gw*$AbCo?}>g#53OPg?@R}i0$)dEP1f6F?AFt zClo!32<#xbx>q3Fsn>Xq!4AkA;cHV9{}Lh=_+69I$C=q%l( zV61-uSz3plCvm-CAV{vGk%NNK#cMNO54XW62Xx&+tJ>zPj9*CfzVoPd3M$}QwxOrg z5LwV#Xht)82M;hisX^zyW-f>NUL)cC71ruaM&{I(Kg-%zY)U4vcNX;0i>kPa5$0vrgD?)&}pB!#(*hw*b zW;~!RwqGYMW#zxeC|keJ>KgC+qn8!su5Tpyy09=KO1gd3_D`r`Ey$Z$NAEEuQQL$- z(Nb=sQ;DxK!t%>)txX<}iNjx@*gM^^I|DNBEbqixQihhE75`TYGJEp+aj=?e0@2()t7Ds0G>?KkD z-GtD9Q<|st?BVK2{yf&th8vIBXn*lU30Ko_+bM}g?YOg)Vd1+w=?wQP>`5R>FLmfW zaGIBRGH8t3e;aoaJYW#>f@wrzEMk8Z$;cq(&wUVG?pZ)d;Zv%H(}8rebW ze(p{$O=(yzS;~1SC;&Q-1B}@*t&@m{SNs^KdRy#C0yltT03~o<_Oo89NKUWXg9pew zHPXfwlPS_qAh60Oec?RnP@sP-I?%xD=29VxM!&IWG-M|PCb1s3k5W^Kl)QfiQf4_y zV`;v<_NVPXRjc1k=J&p$tI+D+=y;%G#Q))lUK-Alhw9;M zxjqJ$W1zeX!rg7^gF>hQotuBWIb}~oGyD*5x;LIo-Vp=xPqcWccNgbf<~%B#7l9A{ zyz{4R7Nw5~;zBRnA%km3*%%Zwq5@fVKKNr8WHCWPA=>EYN_ z;ymd(0qRkK(T5L!*$kGH6p1}^!OP{{4)9d-tF5*jvg0yuO%1xj?w+b0%~^W2J-fJ^ zv}@0ItLL51pJN#=76AU2fZ<#Wf#!LGg3sPkke2Gz&ud=_D6qWpf6q3812#mI?*%w$ zU%4*w9OK90eex*SO}Kx~j{=5Kel0z@*nObsV|{+n*-Jxful)jg+!yjdo)hT=mgjui zNgCsE9O=7_qC`9U-D8#7jLRVhe!-eOo~Pt-^IW5Z#L;L9s$(cCp-!6-A&-1Ne8{~HfQ z;TaxF)tRi1p}eW@zOYPrcnlJBB?W6b5D*v5<;BFy%hyB^4ELbGSd;N7*lcX<%^^cu zD4Sc#2SR^TEx$z>-Vp}{<6-=HXKu0?A^evO9nJC9bui{x9fLWz?GQ41QVMY@<4p9| z4K?q)Lx?8e1{en(JgAMryqX`UE)+5^-0BT~wk6*fKS7=>g9S;T*f~LM^)8H}k84r- z)K=AoMHmbkIdp76X%wfZM2o~!dE<)qK5b@DK_GuKu<_*L!WXUu0#wFE19v6Y#;O86 z!_TiqBPJ*{+DYALm)2;L#YVGs&#AwY=bvUHX!A6;%o^$Uicg>cX^a&1E~=z7H0ayA zZndy@ki=qlLCK1Jl0A$sE&y^sjlbws4XM5y36CW-uQs-pCN1AWya>0oFs)4Xkjx>Z z$2uJc>s=ay6d4)_7+k#a zHqyWF?Ma!9C|ASHQ?<+9^E<7feEG`4xZE1Qj%K4{a0T=0M*6ud>(tk++ltJ8ln)-L zt?Gyw0zYDzA{k@Q1{C-dnz4rgbh!90$8<8-vRi#NBCxi+o<12#5wwz4~{i;FY@y+k80Drp3? z8qXJ3sMMn^TC@CH;VvB{%UHKW+-yMw*YFZ0d*J08#MpUNvEGs+R^9ATkoeAYzE zywg3dtSJf8U91ggv_KXjTDXktNavKhs=mYe+kykB@$zZXFasEDRO3K&LY-`!44R51 zm#Xyy90Dtsm&o-5B7Z-q&JIg(WKlm8NvI$xK5UpS&B#lmNMrxiU-hfN1`Lq?^ox(^ zOLmvU7n9Gks$yD@q_2AY#?yrzOVwNp0?Pf+dJAIK#oO#nUH#Srh9|5 z>KcNWN?GEP+7>$7I{%(~H5NfQ`SyG)x}ew31Vbw^H2A-;$6jro;r<7?PwcR26miy!e^nR4}CY7a1Tv~Q!#80$lWG?7?_Ks!J};!7LWQ26AzCmCQH z!e$k$ay)1OK%nzXu9ue~_XHe&P>5E$BN41tlVp#8A3G%;q&7nWKRKTu14EIDkvHAk zHgD!pN5|r{;oQcqXyJ4o_Ap9+z6TLSY8LxL%2KyI`{>@pg0;`P}9(S zNY;XaeZ1@i#gRk{3MA{-7F2pQIZi-)EIxP*wwA1}K+nw+VyP zF4R(0g)y;vHm^KrhuN?_Nt}&EDH1SCY1_xV<)8(U~NU>USLPPA)_leyq2!_ zfX{)y`66V=K14eTP%sbJAF59$YPI4ZIjJK@&A(av4$*GRidQYe?($RX0m|v^Tei0_ zD?~V4rxkMj@*vW7uQ7supV$o538Cn$4>J;LNv+fIQn8I&v*&;Rj@z1>Uwdjlz>afM zm90#&1qCFkP8tqdpwP?BLCx6A)xz8n;Wp+esj8)aMX&MEqgb;saXW|we!9H5X6p^f z{Z+8@@^bT~zJ+rP;tyE2gZ_ZEkY4&A`N4X)R8$H?K(j4K#E`y!fx8v(a$shhx=zB3 z)e8x37N|nm(O(?VWF|r(3Otpll!OMS zD&qkE^%POT1IZVv1Y3mzMPV5WLi7Q)coEXd zC)=7|fM+0Kf~Bnbx~D4X)=oodj-=b`P}1!hB4gK2j<>GUl5Vf9q}$2C_2F_X==M5W z&<&2p#Gkf-TKEc~Z;Bx9?4#znRkTZpubq1FwMWaRfXvN*%}~fhkhjMLxa~Ajau8EA zf-J$%jUda=@+)A5!Yn6U90oS<9utYP-~k1lgIj}0oW(r$k)3MQK<0_FIJy@`T$Ait za9x1d6R&V5`q-A9HS@;S4#H|U$5@F63Cy)sxh3BycqIvg2G?_`y621zgbAR!;T`h^ zq7|7cIZM=k;}7Duw-2Dt8tdIKkH)xEQQLW-@l-Z9`a6t~Pu1gLkm946+B~c^N|4HL z#aO{>sz!TEgx3LbhXg~V%{nGjE)RH37iz;OTF#c?BS`7=@GdZE;Gso{EgX&W9%F#t z4DaU(d+nN6RL~?mP`8qtaZ8^?2g4SJQugb}Ug2m=FmS^6@2tbhS)UN?o6HjkR^{?o zGMdAk>y%?E2=L6g=>&J8XBRq?N>~w`wdixCdqt3ezC3=;Km!($`UZBiA;*J8^{r`N zT;li1mje3)GJjLJ5&(`k?LOn<`qorLWQ|y?n9^VxoK*nZrlwI8B7EV%y0Ui^KCcb8 z2B_Eo`aIDXMdQw=Ik`y-sPDi&K*ZF6ZUbOC5&*j=wKi=4$2V>iA9hChr#dB-r* zSOB^JbL*DPS63ZmdzOnO(^&Nwn|v8i@K3>#kcM~xLTxf(h|91qnD)5ww-U34eW zX=E~jk$(rC)?$fEFS_U~CyL}^mJ=s~YXWnyfB} zrA1?<>qYESvKUM8wkH`~03+R4TE;^vo(Ji%%)F}P3!f3^L=_?ppTJ(P9OJizPsj^8 zu-)+`!X?{CX`6?(tsxX^ceya5#ljRgz?ccs8Gp5SSAZE$=QdDYBxU!XwXT_`F~wRE zUL_v3#Lt{ogr_2~i&DG~D?w|eveeiD6mxT>RlB zXn)pJSGl8Rftb;y;sa^(5(7d&x%Q0i%^oRj~SHL}Q8cRmmC z0<&8FFGTYt`(!Y_tml*`zm)^W9DT&Jz<=UK4(4qpc;EySIxJZ^yV}b2y8Y80T0|iK z^vQ##Pab1@Pyc~SHbT~FE6^BNT#W6yVa!$LOtXD*13Xl`0)7~z|G z-3fb;0JwOxPZ)XB>Clv<=|!DHb3y>C_4A?NlHazpIXZ>CRJ zO-nBduS}m_;X9*G`23&s3CH+89z^jx1hubyX&M31T;oOZ2lVs`O?>y=6n`elA(CjV z7*oj@>;)|f=P5fuQNUS>@{&zW_Wwgu^lf9>I`1x>Lr8<$HL+5+Paz>uKLuwWn+;f- zgQ1Nx(;|M}@ z+?=#DbiD-KqvhN86w?fPdVeB4)%|-)g9*#GKLFoR%!G>NhE8ub;FrAB1g2;<4%lED z%#{osnPAt0G>2H2z8k-Xdc%9#M;FumX+!g`pZ)Rt6@9`X({utM4riKEY$o@I!*kp; z2HnTU5Qc++&Sxv5tJxnr8!&MUweqBWc*Cpxwr+O*Z*+6`f1{fh|9{Kf1Wz6d6gN0f zL-d_W*IN0 zMsQ3A4;l1r|8md!Gln;6<6|b_a^|v30|r{kdY=JNLBBKn1>H!Z`H)J&&A*{Ku!Kx? z&7gOG!P~O-r*51)zJJ`KejjF5qoED`axZkmGibujs!3@#=^wdAK7+_D)i2B5O;5Ke zd}C-+H`Ve=zZv`Y88^Sx*|GO+VaPMsfo$%HN{&HV9jt*YoDP<_J#sUw7$a3;G%;yj z*gVvno3fF0U}d#KiX|yWZ>?Fj8l7fg58hmg;1L3&1}@gmFn8+jd%n`ES@^mU9Y&WoNS}_fjhIwveDy?oCLPS zb7RTqzy+?AeA~{-2Tb?V|5yORsGxawa51z<2A2rbyN0#Lp!c_h7klDH5T5$rs1L^I zPjpS7D=+q}hc|!cN1UkejYy2)ag$~wL4@mLE*&rkBYzGrA@CHSQs|cZlW$Fq`@k1q zMV9i9;L4_O7OXyqyn<^=TmIpS!-4`tzgU0@@0Vs_{YYt{A<{U6b==wVGl&7v>pe}F zcn4f?Vg9TvlWRTd3!6j)y;?ftyEHZF7$gsK9`zrozJzCvegsMX5*pXzg#y{Yut{;U zFX&*4vVR@MBfk|e3a3!L1^O9;nTK#g&D)boX-X5*@CP2C-bTM2xmll~Q-wXSfkf&vBu zcYgp#PrHI8Ne9W+5>UaekVBNh2saFBT*C40fPZbr8XtmfJp|j@JiQI^^d_JBPz8g=@X=8-@;1o)w1D`f-5C0WTZul%Z^P?g zUA_f*5X-xC+3Qn*v88#b& z%6&S)N+q`Uh6B2fu3%=YG1;0l=)ER%OVV222IDa3yVp$y$9ejL6^aD4$A z5K4%9I=#E63Wr<4YQDGZCWK=lBP>`+Dw4B zIPCn_GE%@=?Ax7!Oj8qgui-^g9#li99}5-7;+{0SmN<%?@Pk}}WqlV8&Fi*B3NSa~Ero;2r0QolbA&9it72>P1Okh4&$blt)-q0M7kMyx^yrX`U$DbP z`H|*-^7!vj11*Y|ac}g{IurjMru-wCj|v=?=8IiKf)WT8=mZd$Jh7N+Yl2g71UofC zIG}lcOAlz#5>6we2l(}5=qwoZAAIkmu{PtTLXGZ0Z#Ph13Us~5?dY8200pbAL$(o5 zFFNRObvIr&shkD+MKJ`a4_rWOh#n>Tjd5XrOi!-ft5etpMyX0n77E@6@nsVyw+Cel zA+&#Pr!!FXH8K6Ay=IAiLEyDsy!Y8Dqn?HF-2xT60Etuc1=sxWvW7cFNDPXfx7)%S zb8XqK!|VCMzb=dLeqDz{Cv%PI7k-iqOPLwqyt-d_1{C=J{?&Q(ugCa0o5^-}cyloA3=X$1mJWKCeF!2A z`=c9}Azr>Yo86qXZxCvuhT#ot?BBF|H(iz*^lsXpmM(94H~pJqR|1ZRkCz~G+_o_{ zI9rEj%l|^3|FwMc|H^3o59#FO^tiQueba;ON&LM$zFC3?w(TXn72XWmz2zGy2aG4h zVgJe$MY&(4oV;5dEpHdMmpD+kiZ8)sK0Xdw#m|S2ZpzC?^OGJIev?XQKmju3r(OM9 zXH9$YEPRF{SK}!}fuIuc>-q2)zD)W+;=e9wKs1+r!O3FsxGYq{gnC?&L5L$E2WNf52^MeTjt+{8VfX41eo4R^tz>+K1DUo2oLlCM2= zTol1f6-Rl6pKT3v!xL135qzZ*DZVfLH;UhS^3#i-gu8H-fJ+l!1mF2=vfOPR@pJsv zC+cxvQ>P%z?Dz3$QGx(sGB+m7MU7;o<^fw5b2?+WCVR>ajKej2G;RLCEXp-czWhGaRU z7EKg?;5&=C8EbRMuZh=M5=pLVlNwfM(hl)lDBS{`@r*YQ=>5Yqp5iJuXroYw!9dIb zKcaI8E;syqspDFg{|W^Ne~8j_hj<^Bbg3V?El3pRPcTm= z*Bg_|m;`{GBrXFtnaADPWmjO-!fi*=C}1;yXLC}HGziCBSYtfxe_YApv~|J|YSYid z!tUJ-`O4T`F7aTdftwwiQe* zcuWb_)9xM)99U1V*C$;7hqs3XJvI;MGFFKJ%%Of@7SRe@65vr(hD%zY%97A=Ppmb1 z(FoSunqyHo{_Y>XOk1M8L( zdaX0=2y)TTF#_)>osbvrL#laf zt7Mbsm}Jh=H9CG`I*wrjUNVco3LYE=U=Wj6NL~7YG9JZD!n=71`@RJe^WMaGoM0B2 z<+C}qhFGQ2M}aQ}Q)AIg&t#F}?Asq{kHTOWlA?R$yXbeiV?^+Ps2`leV5L90 zG%O&gA3SgJf72Xcni8Ef8pU%1wMyG~mc!rvsK^gM5ryjquTV{Nq#`#wFfu=mvI)4~ zI%)RTuN7F=Iw$^yU6no_9J#d2j}){~5Z(TW*5cz*J7*4Qv}jiN%r2MFIicj*f_P!; zN)|6nc>!>6-|de~6o-Ews)n{%2E=;Q%{~%E!3pb*f9el92toULzH48!W9D1w08|Vy zH>?Ug7tyt^!Ze-6;+auF%wBqU2TV95}vZhTebJGnstQeiSGFSi~!@?|Db4tbDO{vtnlrv~X# zU0x6~#7%+6m`qJP*$F)DigA#5c0hrBn`}ZNO5tN|P=4W7TwI>|Fl;jTfDSGW;s%Kc zcabM}%*SaNN2()_L?pyv(=pO%Bv2**-%5$tf3BL4fdyngu$QN^A|ySzdkyu3Mb9-f zofOAP7C_XoXhXmi5HH}WG{24xG(?*vf&!vIRws=raSiHkl86MA$J2XG;XY0x2DN#BVKAVz;RPHzgb^W{ThMJ)ONe~d{Qf|D3;h(yjNy#q0Q@G7w7AsAa+n( zC9`>m_@Ahh<}=xW_ye+-T$ztVx*%IFe_Q<} z&`$ajoNYi4E&0)wTmivP#Dh~=8A0fkt{VbD7DkcCKo7C{ej-iE2BFVB-IVg*CQVwx z5QBC#WZLC~MC}qBrd^jNWrL8Zn=!Us_Z_y&4e#4EA+r*6?tzD8C9t^t<`DE-Aje7c zkPAY;XiE~~Mi_)N{j|j$#lKjhf6_B79NoL-D~Q*9YrahUhjUgq@^lpT%6!UZQ36c67vy$*k`LDt zZf&^+>rGFVFiQDywpaX3^yRL?qQe+=F&Ts2`FtK=aoB>(-PMD-9k`-kJPKG`0(JqM z5l!Ha31Jq$;ExFr&*6^=VMt%_$ApMp@yCR?{qe_yju|?(A)aXXqakAIVf~$cvu*q_ zA(t-^1s{Kg^s;W2yZbf^+k_n!l^a_e<#Or9aNki4*XbI36mY5B`t|bvLCO*B;vbNv zy>VlvkR*?mCH3$ILJbGSe~3dSJiC4?2dx`67e|$d$b*G4X>nHz+IH9BC?@>o^*Ks(H%3W;BorjA zO+CRUs|+HvRUZMqh&gPff69;dBl^C{%V1YCT#SmQO@}Uv;OS2V9!SK&PWN|AwVx(M zT*!4h#m^A%)@xZ1HhE6^r*P2CRNyPVsY%tKRtFuKe~hRp%Yo_f}=y3HEo9^|y*FrA?PX+6z5AOWhmw_zQ!koy`<%aQUEqq7(E+r8>(2;= zK$B&;3@EaN%eyd@+)csYsbocNxIram(5~aff3c{Y%Oc5$WRr;ti8dqJ3}S_f@S>hb zTkt0MWtZ+7Tna&Se9^P}T#{@p_FgJHzzH~$dgqoja5Va7xbxVsJhs?^_I_d(j=7e& zYszs82E~M50|Cz&S-8C46XWT1Qa;QviZ0;3iJr-dWTo<9P69La`m6-j9#l}mS1N^t zf4)WW(pZNZO+lIj@xp;q%4pNZ;6cHEm401 zCLj7<3uO)K`f}-Q%e%QyNqea<1%f>;EgafwLY@)B$r55 zp5!XY%9C6uS$UFcB`Z&Ixn$)@u9&Pm$wg!G7>IlFP?s$h1s;F7T@#^bL72<+)#lXB z+BZ~iiuJ?4#h*iv4w8FPi>CTYOl~va#5=KlIdBoC!cI_On8R0_C}^sun6!?PUv5ij zG#@PmHX7EDO?4GZ!LT|7sbReYF$!b@yD+EkW0X6BfbVD!;c-BaDLG=z7~ZD>XvSd! z%w7P@AVW}dR7{u376l4_(UO7`FHR536AwdJx!1CC&mj6y6tNPa_ZU*y61-s>0?F6l z11zkprRhgcgodHJ$x!nW2&N5;u8PE1_mXs+R)LG8z1(P(V(1;01Gd5#a-2Gb(?srp zN>v!wDORM#Ud*Km6*pGO(o$raqH(fN=4214z_5%V-%dhUL<)}7Upbl0`=bl$A#xML>LlQ0+l z*`S{f^(=tTgY|JnuQe{SE61r`GiFZKtX|u?vwD*5wN{?7uCkW?9jiXQ;ODOO>}5WG zg=a19IlaEh=(WawWp?E%)oaGg$(q$`TX$AZ(!JKo(|NBmdaZGpUAa#6nlW>-X7$?E zoz;_cueI`wJs`L3VEx;0a0n%HXKi4gki9iEJ++l>^j(EAH+9(FyisLsZ{OhDQaGZO z`cP&<>4gj=@>4 zWkq2PKUFNl1XCIC)Z*}eiy*SKhU_-!jAgj#1UipF$~PQT{fubc zSnw8i_9*PTauN{QL7reeL?v}Kfbn)M;%XwHPGiiZ1<`KC z64}G}?B3a#j0*;_*~Q!h#O1>1xd2JbPcxg)~RA9dA2j+n0$zK0qzccBNEIY@8xFNEdN9v zChV(U#;dNY4f5JOn36V6tzjeXS&DDOc$rg3cZ~K0SyAqjFON=i(6yr41z(Jkfw{{D z8IOEcxJRMzH6B0ZH(U=+Ng_~}(BZre1uxrwA5Zk9&VPDlq!r^70jE$m05VHK=rn*( zkPx1mSEE-MnWc8mW;A3k=4smGsvn-u}u0rMFpndZ%>NpkDeE=2uSwYxyk>GbS> zoGTxH{ZeMuV4C#HOiYl&u}Opa^B4sMX+fm8O-FHZn@hgmo8G$^GrB08&ZOgv!s$#3 z?kJqjBx9F{_b3M21O9~M_11hSQ2^Tn*leVcm=Xjm5Z&`H-uO>@529jFumrBf)!pu$nApGeXb97()ZbE!a9=oHp8i6)Keg{bxST7A~;L<&s( zA`>Q+oT;Wmk*AgDO|5I0UUYswzAo(5p9IGOWTJ{2*VV_~j8FOvViGNZJ2v&(TDLd-ji>-OX$j z#WK4QO-)AGId)G&+9RS&^I<2@=ucj0-9||vJgBTTgwuZ#fxjrbJYEL@D~M?#EP8aI zM7qV0E|f^uF$SSTx)Ml1D3Pvz)LIZqq$`CRgc9lcq!fe_>B{&BLUFn>#eE==8bODl zM0x}rh7#!!bQnscN6=v?ksd*Zp+tHF9flI=5p)N;7MfoYLbpo4I_9A17K$J&+Ob;?YP~24? z4jff@O8mcz5Qh9l`%XlF`p_^{0XjWGna`eR@(n>zZdi6FQp*amo3ky<&YpkZ8ip#5JmeuvN$T*T!f?g!%%lM>Y^KsZ=1CNuPR$D*~hg<>5 zfa{N!O~&D;pcjURzOv~bw@{|?;Atc~ZL~{I*Mc_Nkd)A)wAG<_q>&8HicjK~WgP`q zf1nwX?ffJ3gRrxBVq<@+E`y1aAT_---!X!u191pobFe0nCZ=tYJPD-y?wB(EYN zt4N+I5}k^qq#}W+gfLrntCanWh1%wJC?VW7w?_#fx4E572)ljDIArBywyXJ4?3OeK zC4+YoONoVIVUY+}B<>Z7c12=bk;qmgo)w8=CFRfNl!`M7ipp+_n>;Dgl$2she~B!m z$B)v zc|t!RAU`sw4$(I3SH#Gx3xxZ4=NRjEpz zsJE(VoHmJzO#ejx{>eXTz{0bo#rTn!t03nA76ArRr*SFoUUJ$}T^R?Yi$?V8wy-OvXaf^4UFbxLDeKu?rmQDOL{B>EotNh%RD;Dqe=l6+z-lhM ziGeTXYK3EC*dCKOtsQ!CHe!A&d6-NuyrMq{}Ux$VK!oKVfu@?(Fsorj_^D(du zgR;+IM_cpM5u&-J-6kR-DX1o(F_nMrH6&x;z~s*v%}zT9les@(N=X-Eg`rmZd3tBe zMV}Vlig`lY_5)`#_vQxfdPnpvY5dQ=YZhqx)|h-Q{0LA<1A(zu7=@lSjLGc>u-HpL z00#0ivK}vxwll$&Aq5qG3C!-pATP~C_Ti>0a!n5_xZ3N9c-;^~ini|(G8Pz3=$Nc= zm<|+=u0gW)Z(_R#w_LP$tX^W+H|KC(3aRyzz>9>jQvR`fP3H-r+gTV?wC3vJ9d-f%$)U6a$ES_nVx)5*@jh0THUHk5H_8~yP|{;DB}z40&80N!3f?V z{8F*N(3au)JalJ|{bJ`F&YNu(xOMXe%IW_B?R0$wri}+K3O2)yJC+d8Soo7D0@j#m z`PsXgu}jF;Vn_u&y^gw=;iyIh2}LIZCO=@&nw z6vjYprlaBtiO{1{h~F+p)=d&jIm1;t5sB@H!6Q-wHX$*{j{p^Z>1js76Fc3b+roSA z^urEvhC$A}QR|r>B%Eik?&KESe!mAtA3!nKwq`*BLBS}0E9y>f^DX3Ni*9lPhs$bD z+pa=cwOz5N4G6GW1_ImJg^%jO#WygsuIf#PbtO4Z1-kNK(_i81=8p9yhSkE<#W8fn zfqadh_uz%21=F$KuZvmC=%>c@!#Fsb?rX`9@bm(oD|HF{>iZU`L)@y>WwpDEuBfi@@S-d7lS{fCS!uVioE}a>|NOLmvhZ;1Wzc{!)e= z*ZX}NJKzy!V_!?LHlxhzoXdAkTC_2N$=fe9)X?NH+@jmb{6w;D=cCkjXO@la28yo~&P7&0!@rxkGa9bCXF?E2^ zg6)($P(jJjz{}22<8=GD{!4R7hHNT<%k4gVQEqE_Q~0(H@071iTggdZ-X7G64$>(F zxRkkWz&9rkDil7!=%s`3Y3W=F!0YCYalz$(K6t@chOY^tsn-B+jDub;8~@F8N3;iI zBkls1{tcV>Id%OT^dX<4#fRJwT=Lv;H`judeyJ??N4MPtN!+RDzWZV@*6Z7UtEK-` zlkIP5Qr7!lX|K)pbRuy|ynz+m6WFnpE%!lwJWhYx*gbfoN9$X7eCsd0U3L&eM(c}z zrQ7%bzo%~wx3>XGQvi_-tu0-k+4y}A8T9biPBjA}EnNV1XopfWP0Kd7w^6*~JvqER z5Ff%y5aDL629kyFImxK(O+|tI+uSbPhoJCoco%wsn8vR4 zqzH4-W{kG?rW-oPLn>?uLGqpMZR5?sTlE-(B?OXH>;BYur7kgc z^$uV>4htEK6=r$>JH(yt!BJPN41eNB`a0Bu!xNcxxc6{G=rtqRUS&({AlwSc!EDH{ z+vDbjU$mVMNTYfa$uCBFpD-wYblt_YprN=*IKDyAc)ANs7i!`zShrY53 z{Lsa9fYAf?w;l)DK~F({#6LK-HN7Fu@soQL66wr+f!(DeV&~tM-W8DecKaeCXBTw+i4`;J?(NsX5|T?3T(9$&H133VD7j(2 z7eXFWH(K8QbFaRy^c-%4O2ZpRqLzCZnuU(JmtWzZf0ZdYN8VsA3zVHSP^Am^pA&x9 zaE;}i-7cyJGpyo&C3sggbnx~zoThBU%O&u9f@B6FpGRSTh5W9h$nVDcCJSUy^6<@( zNPs`Un;YZP^0v^$`D||fUATHtf5-*SY_D_M_#LdJSC;xa=`?zsB_+A>OwoqIvXMNl zTl)Y29vtL{DWas!KaW?-ATnXI1(N%8E2=5915OwBpgA9ZSIh9ZKY@bHow-&L)tIJ( zEWiQIcy&%?EQ;lv7?Ff=YKk}IoGDKYQsSbT^G1;HbVqYUbnh&$!oyBZb-;%h9iC^@ z{Cmz?1mHtoE|56~qbCar2eq@SL)?p}6r1nVV*x^~#3dSm_o4;bou%R&LD7SUN7IYb zI;2RK4rCL5{j>28J}njhakzX~m#-C*=`gcqn`WVy_g8E9xRtLuq}m0M)WtXv*v9Y` ztl%;M*a(|+X|{XR!E}hq&(#z+d_4KoeUZnTs6CiPsVnOn10jX#(2 zPg+l(Jb3!#aqB7Hxisqd90Fq_jW^%<;I(H0muPfXKkR~$jFUy~CvcyLP~J42FVwu4 zIr-<3sG`wPN=sAlmYOeARts|VhW{vu>`82Ytzb?Gywymw2z9a+?V31~`kq}m$ba{p zP#Jg}{_Z;?5zWs*_q5gK`?+8rilf_Jnl5Skra{vH#is<7v0Se|=)he{9^6!dZqWD{ zbWXeRk?sx&aQHXu;V|acNn-|E)>}W#mQLVX3Vv51zCUY09t?f~uq(9Bh6)Gg3r*I4 zyEtUEt!*7^y-(8|5kk!exgf*^lo6Do;Md2zB@>|#C63g?9L0)F#W6bu32{KW5ASv- zI7{t{5!bR@D-#In!V8#^JaFP;io(}V7rKMR%E`yI%{4$?fH7=zyC4X+e(f#|3#=98 z47|3tU*H&jPj zKwdm3A5~5!hla!uX;Q&J*Tr&xg9fJtSvv$)b5uouYl3R&RB{Q!Un*KDv*mw(t}JU? zVF}8OqOyaB8g}Qp1_L1@>5q#SOP1#oz!3ZKE9W}&W(*C)uK?pG&TM1%)1TV5>_6+W znhv;}8qltSoq1$yPx_)CXnK=4&og`aO^DZG+LoeKSd~(o%8wACzN919IS4hzj0TZr zV_D$RZ$pEM=F-S8iRSu^mf4Gcec;&SUKH@zttd_xT8fxVO0e}Nul&|a>^N;{%AEyo z_}E#~IXkN_J4-q;TN>-m5+B#xHAs|QBfb6#w3~kg+W#GZCc)Th^bHtc-Z&eK;VQHs zm0RB=fMVd3p{h6_vg99Z`HI`ps-gvlBH?Z!L49@zYm_3^1)U}1+9@%ADR}0@6}6Rh>v7{6+Kxf%{&lQ!R*&CcqNA75TxmM&|M**e7qq+EUsjFvCJ0oJTnudaZ1 zC;nXUMY9v%!-G@4oGa%|sw?;(789ttVYQo81tV|p;4|YJ&T4V6!hF5zA_x{JUjw4n z>0yvSVG);dtAy37#@hkb3A!iigiD3r;Ziw+x7%o`SQdyZ7UQiBh?h?;1wVfSv#9hd)s7F?pl7~Nu zRNBS!r879H$7Ct07z!Wr4D^53K^dAXK2$lBijRe2KLW)LfAnu^@Jm0$+9}{A;hI$g zTCZjP1YD3txW)SecUA}f>&+>C-WY*)lP!8aXNv+og*2R7vTg9{v#{H@EE7P+3ey}w zo2JG2|I(@FUvB0q8yCg3-POT*aXp9sfO0O@b~iugZx0W*beGJQzHmWGfY9&;3$gnC zX%V_(w~9LoBE(^rk{6wTT!bB1-LO&x_EUl37%-d)6vmlQ_<<-2B)u7xC*UBw1gIt; z(|vXim(4E)9DnHi9#+qgFj7beEFwU?L{epQe|0{L7Hbi8?qhp#v9xNr8qUE=u3TI# zZEmiYD%I883jX8iSSIJDx|Ullt*`sYTxoT6Ew@%$-PqXCNR%e5D;w{#;OyI|pr&LS zm0U&}m10I4_-{@dnCV(;1y?Tq)ABVCCyAI`YP-CwtbdnQH#gai>7xvZi!1s9m`P;VuSk-Ge z95d^K;(ux}6C2<`2aY=z2o5ji+#~)+xROA?e#@;DxpcCCa52Gyizs9-5G;PY4_FYL zY!m^BuR%l9krxOWz56&ti6B-94Z`CtXe`!&`Tc#Y4AP@q6#VZlP%IpMb#fmo1Ewxj_lmR4c20;dx%J&Odu;ok;8Yftt|8~mC|6^tr8yYhE}pK|*4vzps9 zXetR#Io|F7q=6TaLNP``Bw`Bq1oTYilDb?z(Bcec`OjiZj*1UwT*lMD-C}q2yne2R88GV zR!g=rMq%>qf{|v@0JP<4nWH0_RCy>G_&VnWV zl`L5Mi5w}II!BTV1k>w#;o+4_>ou~Z%Ij+_23CMm^~VsIl~T35O77G;?zO_IQ-6kC z31T0bRX9}qv0S7Tl&+RmAbgeNBCV9l8)#sqR9W3{EVD{+rBq$1>fbCL+sZmwEU0i( zx`=+rU(?)bX{E9b?qg+DNMhT;qU&Ik9~`}vl{IExN$t@g_aaz2RZ=$THE}HhaEr7g zCij8Bs-^N8Nw-pMWux^C00nDsV}E_k+(=TZBQaSfZ`Q_*_ckXdYYGRF7c`9 zp`{wNU%Nn)^!i@V=6`sShCrEok17dIBz-?MiSyVcGBFEvMQz;+>2?3Jl79)>MFQ-b z`*`LMaD;HgNsXttwZSSLi-_RM8#|7U<%PEz&I3t;_0?582AUF(;top)Lu+F{ee~mD zY!&y5)gFkD@@5)yZD7S$dzlZ_Fr;o>*1+)N0?p44_d~^jW^re=ys*~rX1F@QIlkkg zIgOQz;<}$1?_%A@gxCQ6RgK7zE zol+%;CvS4)MP)NBO~Tb$EpC?ZmR>Tf;%K7Kj+rU6Ds#o(4A4XWc#$Cg)4d2@kk8oS zyNuw`;##R%*(`z}$bV#{lRZYWu?o%wg3Zp~wkpjF%vDA3xiTtm(iNRQx&s}4A1_q6}KK_O@kb_J~$*uMSSB{Xa0IGEZt5E(9BnK}g z$l){{NCvO+y%K*1NUY&;6IoU(29@)oh=Lod`WKZT2P;|4JnYWkN*!pczfjV%&+kbD zvH}L>T4@6}KhIZ?tbqYZ?#|}M`U@~U$(>wd#sKM*R!bYeM7VkYO|6t_tJM~w^i7ga zmDL*lRR>I|Nv@F7y-_RT<#|1Yk0>oDYABhr(jB$?3&rdFcuy1v4%iHi5tf&(Hw6~~ z9+$>91t0;%m*+PHD+^pG#?pOUrGr@_hL;{V1sH$64^;>9GAY+n!$S!EWD(f7?g@d7 zUl7=tB*hdCgW-;6fq?b$UeG8W_iKEI0E28TI+`|X(8nuRR|b&3g78cWClMY+AzEV& zwzV1*0r3Zio2nuD!cvYE;Gu34i?Re&zu=j!R3V*=zv+XGx(2IU;guD<4VFurA`-S) zqdb3C#uU*s!QxC%`#-?mP(oR`8+q&5se_*!yxaw za*~*5)@)LJ+MU3D+d^q@-;XFRo~R)q00J()gH|u1-2j6mdRHy2;0_syLX zCI?_H)BBJPh-FzKh)@dV0-cBumti>tJb(71g;A^;Z1|TY6JZvS7HJoX)7!Zx@%CCE zwQgjrlA=;^1Xovv2?gG4`EKYcsT6KVEO^?J}%4;kx^P8T$Pv@;k7mf`ViZj~#UlX^O3!+5=PxC(_4u6p; z^iaLXcuOVAF&#f72?m}6{@~r8*m%V}Z-ktL_0k%pYUS^|TrbJi?4=uqyn0sra80C* zSSKY8=CzD125v067iCIM|M@~~jaT<2M3*5R4S_f)L9{k<5Ee3$9qVAt;h&3P2(hW6 zP+7o}`id(nqLNq$t|$-_UtLQXl7CBqCPG>o$2`oZrfCM}nv+F)@gClXlzc6>))U$` z^@zQO)2OY)6%HN<1g}FwP!4y|u-eb!e5|R`pz35nWpJgf`hui(+-48oBSF#2dnA5^ z+BQ#@c$Z9N=9WRth)x9kF6&%o@he9z-k~#x0+$hVQ65GTL zdmXrFecg#yREprD@igDWb$zY0NnZUXuJTq;&6y3WfmOFjW;;?{VJRmy3|Q?NxN+-i znOBiZz-_TOo*%~dF(Wv0X(A%EreR6SSdPeo&LXHV>41KL|MS*aAAcTw>Ur3Fy`I9p z@XPLW3b_GBsF$3)#v{EqzTE4L&vEB^PDit+cukqs;UGp5#^b>=xFV4VW19VsZfgoD zrqSt-360t z;YNb`=S*%P^UHqwx6u#7v)Q$D55|6Rrb0AhHaET@jp}PFHUd0>)&NBT zJbFSMwYx5=T)?B)r*p(z2XURr_0bS(rhhhoA0rbX*6FDPB_Yf;9y~io>X{3+fEj6O zustYN3d7db(SHoKW?`ckA-F=Bjo~#TUpTvdPX90H5B~lzQltKWHY&g;r-q)ue(H`0 zOP%@K!k_T4YS-&)ZeX~Y+_t2)|wH(^~ zrmb1W5Rt1$$Mi>M_+h@{Q^|;s&-ssN6X&@Y0e^+5j1}9sGah0wOm)EU(x7XU5Cm`u zo7Tw*cvTiU!QLeZK&ZpJg$NC5dHD9B#~s}yrQ9y27T{=Lp<(>mTmh2@;Q|{eE`_=s z05XAH@;jYQu+W21Sg4kAgm|k17ZGOKFzsesSncQ%tAw<3Sh!$jrq!V#dd#pJQ6HNE z1Ahhk}x5p>Prxo_#+|0nKS+nP+4wZFf=B4&9x$?_o(K!jk-1&ER{3IggV zvLS>Z(U4?vP!RIp-}|oW({liI?b&dC;(RB>0 z9QUzHb4s|>u|!%EP)2po5q6GVA?dLYt1UOk8~UB7INoEp9lgMd@nI!|O;dBT7rH)2 zcy${?k1&4Iu9>q$^9~H%&et}EYJrg4K=Oa>Z&-+9H0YiH+ks^@v5qYn&;`(fUw=3d zBf9E^lNLd89UMlFJ)wlB zf&>uK{Wuz7!%}F*8u6{0?x+i%|NV}zU8TsTBMJWMf2T{PQM=C*VZ(M!*MAaR-v4~p z*nnx&Z69phEi-g1U^Io3!?%#vo;V=z3kQ3SMZg?R0Xaw;SS4_G{laS=_W7vGf?MXesx~csUn;ky--v28iQa1ol zHdb?V;~I4^47gK{JAU}eKY#0t2Hhr!KlnDh8qfuxPT;**Xx5;4MJd)OcQ(Xmwwgm+ zGJ#u4I9)}x+&976j+-TxJz`n#Y1Fe%kPl@44dC`jm9fW zM!t7ALI4Mr>4X{pDU3RMh7R#CcAB$iG2jo+X}Z5)c18oRRAA5H{(lu4CkiR@SYnM% zkuPVLQb$bL{w-8l7NZzrD4o_QXZ$jPWfRYw?zjPVx7Qhg5it;solhN*gZx3A1x3SI z^=}v%ylcVz30Uvbi54gtsJ7uOH4R#{dfN#&zc%_R7)uwjHWro9?N5%USH^Jiu4JqJ z%mFKtKhmt??M5*Q{C|{VQ&ATX*S8-WrSm(OsdjGX*>m(XCs)cjBV+g#l68fJTgvg2 z?VE;$!NbZ%rhI8Z_gs{vPv6pM`pIdY@E z90Zf+7ka!IVE@kz`sz3p6rwj_XJre&T_}*>l|-B>@y9i$XP1UU1rmSc<6t6cff2-r z2IusEs($Z6;0k>)(K2U*B~C_7@;u<64MkKC$`S*pPCI?ZfC3?TG#PN*oYJf_cU}Xz zohz(PHtlklG45Q!o$)D7g==~w9pVKHjh6y^-jic?ppb|YzKhB!z4bi*hiO+>9j4{& zFog+D6Pw(II{E?FAn$+uYWR5>F>whXQ4(a)=@0mmKdT;GLjpigae;_N1pp#Nh>LFM zWiYQB255h?w|CWRQEV2ON_d)x7uT3yDTp&cq99^^R!~k6v4SS%X9eR2!&nW;q+hPe z9^|rX^Qk|pFmWD1S0Xng3X2>BOH^m*V?l^<|{~6sKa0e;lC_NxxE+Jjt4@L?eHtc%0QvRg_Hrl`7*b za;nN?@=xi2V{YTbAc+216;`YktH4KUaY|Qu@E8{qKU@_bU%5B^YvFNP>SFXc7)fq- zJG{17fM&($EJPkHIkg9pQs>ppiK)TOzb)%HP2M^YULr5AsBl#`(6#C2`yRWKGDACznA-|f3qGf++~d3$1^wD8#ov={peJO2kk=#M0mn$N^5Of6;x6rQ1R8 zF|2*iJOpBm@v}M#*Xs~5)obI~u>$-TfWtSZp7%zT4sws+O4(^lr%I(RHY}BDj?jAU ztWAF~x2y2wXj&c1f_uB$DCA4CU^NCHe%~=){qH64tiqd?=&ifB+P=BL8kfsEGJ+94 z;0}}=z1V_8d7N?pUauZ*es4mxqHT_GjD|Bu%mQ?_*XLm8+3$CA^f{>5Q0jjzf* zngQ%=I1_eF3p;Ua`({`z^x!wLS6X}ftiD~%%TGS)mFln7UTjwL^22W&ldF0BVR(Ok z^RNACo`3n(*nF|J@!@D=`?ba!p%;>h#loB6&CNA@Q8s$EAyctF;fCU-VL9HphHy;x z4f)y{J*}-hv9&V_!w}j@0DKEQP1a&)boCGeW#lL-aY~2+biw8 zLoRV4%R1W=t@H0WTj#5tg=+p{0F!@flw5mtOi)}?>Q~`dBc_r`i}I^ z8=Bs9K;CJr)n6a!s32y^7jWRSAi(b1J&b0EO;;vsYqNn)KxoyKUhKW$ z*WVJ}MK+1sSZkoc5u^{&;>&;S{YD)<`r02uq9Qro*Po+O>`!)8Zje31mc3j0HUAA=;xJ5VL)&6!9Hy2ms;(nEJh6CMGKk7i@svR< zU;wl7ZjQ5+-08bLR~S%(})206AI@dB#zF|e&R zsHrhAVrrt4q)Ob;_Rd?t)hA#lJ#Du})&2l)bxGH@%woF=78`%NC0ojDY>{bHxY9Hx zw%jx-w&pYn3-6&~A6mUKi*LuR7NO?4JznbZLb1Kb^im(t$!`ZbmGSP(9j2`R^2{_u@wexW~(|Y)DG?bUAO9d?g&V-lP zO9d={jv-oSeYZ=+*v};6`mVlLCno5x)^XO?I(mNN+&@UZZ>h0^s_S&;eY>X3e>(iFqk#TiW8%BwsN#mH$=X$fZi%TQ~P#GsO)sYDJx zP%mF}M(rx=lB&!JUr%GcPAMwzsg+EYBd^yyvPOrslIXohH#e+s$_mZ#Wv}xi=;AMb zSJyjgjW268S6gSaD;UK?X`(ug6H=63%OIc0FUQwAvkUG{LrH*$9wk=@BqNv6;$gz7 z#F%NX!Y*09W%d-XdU$PD3(^S9v9HI&D<^8uljOyQR$3@(eFC29I9Zu~pF&X58t-yy zfpwr>lqD3egS=L}B8Oh1m`0X}jiQ);<|^bRS%)o3@01_`LSNuY2a@RSmDcYD3X|d_ zD5Q%pAh&~vrL`j+X`53M>z4|9RbNcQF^GpG-HT(|C8OfIxyk2wxNnzeCyyD-?_*1r z+z@?@OPyY;J2{2qGcRpJ#H!NR3W`|Bprq!oj!hhY!(Z=i zK7YHn`OH@ZWn_=Gn{-RmKBJXoZpMP{0vdl9cHm;7+>A?A_NbXEKHSDVj(>%OX8>R1RbT#kfdcrs2EdNj9?YMGk3{;)ahKvO#D zVNdVC8YBZ4u$@np6*Nlr7>9*_baxl=AXch$?^Iqi^n=eRh7ME47DknQO=~SNgE?*Y zVDg(cqQ1PB@c@B1S89c$Pl4bzQj=6SSZ01@C0AM!+l6lU|E??hnRNtNCW6&%qPgg5$ah9CWXW@7|E(OXv{An?%uOohgVggQC`@7L%yFPa;J z!Ta{fq{BjI@WdOPq*6k8Kafbb@)ve1f88rk@$s^QJ1VkYX+^hg=_dKsJzYeN5HGSS zvBJM~SJ%{A_jJn~bVhZ57>IRfz1cp!b!U&~x^;)gXszByYmWiv)*U~dD`V@Y)IF|b zvWVKQV(wx*fE9PPYj66c+f;RxYlBn6Nej;r+qFeoIUOVfq~V8be{Ok++T+M(!2>^s)IHb zjyBMfDo<%-Z$`iZY(m#lppEoTaZD6)FFO(bj;*e87#7N``eXyNEq`!m>xxaCRr(b$ zucKKH_L0`N|iecNaP zwJwyc8ERdC1f$IY)-ceVp|n7SdayWD3^Z^}5Wk(`>IhJO>E8jB;jK^sZe~Cw{E!6} z!x5}Wv#=srAgYJ#oLz-*f^Iys&`GM0>fed;T0YjvBKEtV6Abp(E*^Y_4I7f7^Q_p9 znga9(F5B^&#UaCY3&oN;%?*ZC)JFeZ>shj;z&ePaj zbQ3px-+zPdfDv)j1po=*Ff=r_W2g#ftx}bYMd`^(lz=8}OEPHr|FO5 zm2na&@Dix90G=(tiopR{iW+NDHS5I+)y^10aLyvi{Dk~W0n=8SL^^ZE zE$4CDlz{U9nZMmmB54by`zp+w(rDl0v@j)w!vaN%`EmotV}8?M{xG}LU6Y%!F<>Bm zj|>GWZVfUEsDvX%f5wi8e3j1!cJp?-pKKn2^(JhYeojJQd6htOXW7JNGR&ifwHhzQ zXYf(+9*Bv|&!?X>%&b9J331~usf8hy)?C^)?)^@zvv*=nIFKy+9UO45xA3ft>7dnn zc=E`Yc5|#wle@%{Vm2&5-a3gdtGqjz{?!qt^TkfI4Sg9-f0TdOBjc)jtbukO4t(2a zxTKf9Yk^fr3BMNrqC3M}!?OOoKQx4~a=gyI3~_XBPmiZO#klHE{ORpltj|FPW+-aH zc{;7C0d|VrN$}LLd3eQ}pB$-kFe_{_1- zYM=5V{;1Nf9vnuv9s*h91z#7bj1e)d_CSLU4wKe%kVcoF!96crcTOwKQs*?1XG5CO zTr|QKhcJJ5#gn&M@M%I34%BjE2P0?}F_#TvMHGeosWfrF{gT9*xQEig7x2V03V3>i zjDqJ8e;kW2s%~!Za1r$M*pF`pmQ~YZ?RH1IZMzDa+B^-jmlod+yPU#KtpgJP6Jaew z?J!0G&|n4VKk7iV%fvX;oC+5ZOs(eAT9tZRLGYry4HbJIW(zC$KbZ18^U#l@La3*0 z08h1BrB~C65cOs#QBa@+F>#YHK62rG?A}qge@tqka*YdX*fNAFs|MIJB+4@;EdB0| z(xO95l-IbhhHrQ?uXx=91?zzbTw!_Yi=EYc8K)wu`eL#8l&f7^^7$}7xWu;MSC>4% zm#|gjvXcGeRdW!mqdwPBuZU#=5lf#-sIM>nbYR4cZIedKB!}RH7~8MTl!MY;E!{0q zf7T9Sb1`_@#~3=*F4*57wm43JTNBiSEq}wnRH>(5>cR(l& z%H10ygX;K-G^=KhY>LA;&`sRhD&UcyE_TVjZ+0f^LNp8}%($ow?Ofw<5&F_A(yA3E z?}Q6jc@6?fB?}iB%aEP6&k7l~{-8W2epF203RoO721|VVutu~Y zZ)NQI{=qDc+xu>?Nc-Mp-!a{`?+)6bSvamLL!&60v*H3}{=^c)s~9y|Wr$7Se}oqx z>!+g%0DxP{a+Fb`$VY_65CUkHQKf8INJ!YERa?6;r2U6#C$KFH0qu?$(08FQAX0WA z@#!NDcEs(=ZITgthaj`nQM}E5qRoz(>R`vl@kNM3@mdb|LUKgv82T(XFL+vD^FZPf z!ClAZGkp^!xM?Ca;n0-4VscpZf9O6ATpoMA0DDUsQ-FiS6p;jh*W+bfqRZIoMIkts z@%qik@Y45ps(LY{JYVE3hHe25o6%VLm)EjvTVu)J?CRL3|m_e=o>`W%qX? z^Qzggshj-))6fCa5P$FNCF)o;51JLDkCZBWq{#Peo7XF@Pa%Gd@Mag|4z}LMv(%Zszm^z94>36RGJY9 z5zd%{uFBjg$w^6)vg`7dNdHvJ5UojwZB#;lEr?3Q+a#!f!*RK>@W)eC;8;L}e;vTJI6sl-k5|R|iGQ9*m!GJmt%Uc zcXe^n2cHC*f6&AdJxnyOJrc_=f+17?Ztj46$Kyzw7bz@{LYut5kdo$$(MQi@26fLAvcak?W zxf(Pne>|O3h_%SQH?hI_7OcGjmoWMR7Ky`%a|PN%r9)KF--F-+u%_ND#4;iVXsjg- zIHaJG1Em|*fQbm3ps^{^Xb4`C+9ucI?Zh^j^Veyu&v_TQ4JO=D-d+RL7F0G)Og$NK z8g&rjtuF0b#n4L+d&!>j*lvn(0uB4psLp;Wf0Q16D$YjDhBKo%$V2A)p`H_(m~NEY{kU;{rwW#bb8@H#ceV08s1v6<%Lz0ufeqpWy+e zf2k?$5y;b1#5JS5yx{~!xI^PU5n(l|()TP#=~m19EDZ3`I=T? z-W*%jW{!s89Pyatu4@l@$dcDbdGi5O4^JQXI2xsT7Ex@WJH$TD9(sS*RM$#=vTHcm z*o9J2qvKW1bEhGqs?iM{ zyP1?u>aywC_Lq2qA+E{QrsahNkq&{ucnX`;Q+;J2fYwY|cT$+_f&CW%NNsO+pjHZM zn)Fmgh@q_-OCZTBN{x0zkpkYhkmpf`krh`pr^Ie&jFs83KBcy%W0XJoOn9n8IY##> zwm2iPFpQ*Gd8CaB4sBOEh6l3oe>%phYIHqloDgly3WiwM*vGBrj8a$sf&>Xz=k&n? z{;fHQX^o$i%Z-N*L3i3Eyut>XXL)wbW8J;EN-Tv--wOXt7We80a>@zT&V~{(V6>*-N5;Kv<lgGl>d{Gk||zpe>4%L^v_C~Z1J)*v;SE^=82c0YMIvsep1k6iA9T z5xeALE>2*#0{3QgZ~hSBq$M;g>=i~jEYmnnLSEZXg>nBYb-D=Ie+;l<2;Q#2vp9^w zu|h;&kZm3uno15dxv9P1} z7zsNl9qT}E2Xz}>n=nDkfpTnsqqvz2ix54|0_c%B>YWPP_(Bi^x!tyApVGqV*kH-e zSxVcjPBm^?KWRje3&;YgpbZm@NSgW0-^h?#ew$z<;9!K_XEJX%b4U_$D2^BtbaW9> zCg}E6M42Frf7X@$AkQ>l&3=^5J8Jd zhX6<16{U`F0}Nqm=MZlJEVdV-vqrVN7!4ZLMR>Ale^lq;n&)$)N^dqtjq0^PM;r_Z zZ-xL&1m)_!7-QuH(0mUb4-t0Zhhbgbg_Te4E?xhv0IW8&(Yc*p!K)Z1F0eMbfHtqP?pI?$=Y#Ee5)nEWA+%p~O9` zB`P~8tmf<8fNrVZgKm!a25M~La0ZX|Sn(fE%uBnXFBK5aXiPN^H7^^~Pb!CT`QPf2 zB|F_!nQS@NH{|=C$QMkhtJP%P_ru^Ium}vzf2DCR<`*V291(V#czg|`+5qSI6=Q<@ z3B$#RHqs+f=;}MS%`o-qE3W z4|X*t0qMYItkwi%E>hM>42mA~4DtUz$c(?%8oM1WXLQ{%irAcWJ24IZwxRw`gKzi5 ze=F>sBHjFkTXMjz?J=B>eS=s+A{($u<_^m6(YX2zR4UrSrrItXAqyOoZH1e#IO$#Nm# zl*XB21{4u^jU&v@)L3<`V?OgC z(cGiKT|Qcf@*pQoO%I7^EWM-Y!AjoX2yF65lOaH1A;?)5*b8V*Oet9&yKo$|e?eDR zQjGdXV;&`E*`tQ`v}G>ZMiU!2wSjXRIJ1EZ)!jv(&F={%5i&9Maeaz8e0X;wI$~DK zsP4HZHli#4+J<&(!^|V^V&il!ruflXJn~`r30gE$ru#lLD9?`9(Ql29>vf7?opnwFoH!*W;nUAxxFfBrm6PBE!6 zFx3{zm?s4VXt!eO-$v`KKsmAng#(ahdqHq^ivK=qJjD8k3SrgoZP@3Z6+sA3apGWw zS7T_H@ZdVM8*LnNf34RVu_+)sp2cwIst7v+qCnZ!IVyk`8z*+PT`>2!0AZ#L zR5uuT120;QAHEhjWodI~uin^x{h&NISDeKk-yb~yrn;nXdEZ`j+|*io23Yf?3^G|= zYlBKwK}G9@&!D8-;vy^O#%$!unEX7fo7!hBh zNHvh%+1{(~*WYa()n7lazpn3p2nMvT1A=gu$HQkl{uMci>@L<82X@u2Ci`#O>i6i| zVuKU|{F#Xb{igOVe>w@w<-W5SpxvPGcku~~MExajU~E>)Gm>fbqVRVvhAo^`nJ5(>U0?rBp&Z*&P)2gce-pxlLm0v{aTf5$xjZwpg@; zQP@=*H#ckTr=>EkR>TR}T@#ONuC03E3K$AiQhq4(e;A_WHlM*m9Tld1lQenXk-pR= zK}Z7#=eeMTk)(+fHiT1b14@BB%Fpqd2z&fXCGftWmH<+o3A-u?B)@x+aDvn5qetU= zFAb)EA{gbpT;=Sl*=hle26qxwp;oKG4&|xaO5G;u5pw2b>57x(@f9(boGSF5-F*g6 zhQ_w1e+ChRXPb(v=*=Dvr?DBt4L6JzkY`HwGM?p2P-pG_GvpArmXbfA_cvSjCzZ#7uTyu@(e7*?rCZ;6WqZ ze^Z8O+WpIFBia3ibRW=X_b+ehK9bq}#(3&ymDzzr!Mt+(L@UlLP?vkbuP>A1``4^- zI=DRkt;M3{uB6;Fnizq0YR!QBils($Y7fG0m*Gh@{HR!N#i~A#YJxn~x@6TyAW;Ib zed<7Kd={3fJT_BG);F>cc zU)HM*?p(Kqga+e9{KBj%zEi(zIMvHe9zjflv@)nxru-$SFhd9v9wSxqV#O5L_ujOz zbI2Lz9dH|Z19K9!N+9KLx$E2cqy2&#vr$t&cyKi?oCr5UK&^3)WYzNq)NfM4e=JX! z6Gvd%u;K)Os3NZp0V)t5kl;j=y1d7Q$fsB#48tTRvl=e1QFJXG7HL7{97hSVoDK}p zq!;TQyf0+P+J0DBTW4I|WR5ez26(E}EccPcR#I1a9n{8O3w4`eyIp;0>*#8R4{W5X zqx)d-$uHKZ@Mk;fi-fd4W*7!$f70=n?Fgl&(Uz%lj2N9xs7@p%MgU#{TVc(GpDiz{ z`hoM9!GW`JBwcsRsX5!++@y}_4<7s&7w)@>enIPQmbVk#`agt1R+SR@XS;e~JN2h# zsP~ZJPhH7%G$CyUgizP=X5nHSA=eb`-(H18ZVs#8VN9Zgr70QqhsbaOf0I14u|G6z zIC^SZ_&$t~XBw^FQGrChA6D<%3@`8k8Zw+S!wVQOqJ?wYLO_&l8~2A1a!sSRcT^#f zubQ~iW-@GcBty4@44b&Qi8i_&(}pGPwt=-_ge-zg=!aAh+Yji=3A-!0z+V+z!+Z zKFmYfATn{g2?%XKqw^5^$@8#18|Yt`(PBYy}{H?ZrU-J$n!PMPSFItpE2Q54-bgfDcOC z4Su&8S&LnbSg7G@q@neo(BL0gmO9t$%EfW>1R4)@l0BpO3{d$AE_Ey{T+WQTE z=z_^>E2je{?XwPajDyGRWBUhO;I|8bJddEwsu}3yD z9aNdcO$W(l{uIM?M}oG5}TZRO9Fkg3c;Lrjxggu1e`%u zi!*C+%JARC8P#b1<2ZAf#F;hX%x`0VOiJHctKpW;T^OS!?!cI^$_$JNlYa?goDIb9 zVvH92EsXizi(`ydAsDkJw1#{LG5|c-OTdQ!uxSX$Hk2`RvlS)}ooiz~bfz`|NKFfG z&|UmYVEAMRFb;#!nFs|~s$Mw4uZq`2iN=X`no1s#)vf{A%aYN^6Xalx3-0HCu<}ri zxNV-1swJ=0`ox8>gjKKK^9$Pc*7HAB3x9LN>uK={M4F>V`BoyyFk5*7Cf+CoK~m%_ zQACvql7xGPv82FeV=a+%HDg7XOnqBCn8TEW8Q>Boo}rw`U_>!Sp&3uZ6OFw0H7IN( zVTWOefit+qL{gxOXEKxlv1B4vwi=%#yFooNQ@&)h)t-@CP*gEwC7xQjF0))EvRHjn zp6c#s09ih4!p0QA;b6$grOQG)-x_g@Y$=h9QCg#gZO0Etp{(U0@g~y&M|+r&OB0Ne z>zd@X>oZWw^(|-g6QRC`QtN}nR#w0$3NxneCbgR z|A%#zOXY>fGo`uZmG0uqqtc@vdDvBT28r&%#*HJv4NI?%cN-M6U(WnB+%4 zE;tj-a;|Jt^88|MF#`52J<2^Q&8;j&3#Iwxa<`0Z3;0+n&Ce~j0P2N* z6{IXJ$~X!s7*eEInGn5?F$&btRf>0rqqA^AWPnVZ1YsOAGv3 zEG;dRrN|?Eq0Gusx4c}Me_W1Obbjt}Yp%4gDCN+bxzggwGQ-OYKmx3*1zdzLl^?I5 zH|6Ceek@>aF(?dV2IDE0x%?JUW*+T-E_}Q|+4+@6==RFW;}$DjevA>%Euc#%TVBG) zVtIuhOOI9ngSj%YEg@w-Dwj(ukC`-IT3C4;&0|2z=sUW*fTu&*+a;;;(c%&c&d;;E z3oGSl9{qfbRsMKs9^vJsg%)a*I17k0z(RZTfCq4YczIFk zS>bS&AGH8C1p#M{BVZzmq0aebObaJ$2~hEUTi_=_iH>8^<^+Coi}M`tV^oWeg^wP; zJ)U5m7s}BhMh8RyVOs!9=eklOfLmTFEiQsemC7b^8Tcb{fH)}S{Bi_DT4>El<8v#3 zOc@~L+?5yb@n{7zjPaEhIo&{iIAmKy{K|p=VQCIavb0o|smBL0EujUhSAdxqJMS{s z^aV^Z>OeeeXP%WgP6)%MA;djeeoQ!&C35cZGCv+YevFUB#|r{4&IT(JaLogeS%aX* z0y@ACW_t{C|2f9aF9L|H5LIa&)~J~X6#i&sj~>e?mpM=7OIi(}pQ0{*jexrBB&f^t z|1*M4q4PgS&mYe$T4G!VEyj;h<1)fOUajO}yDc%`(Rpe9(Lxh{@K5)E`Nc)7$;IwW zY4Ontme1VM(i(RLE*`VBV$K$^C?9Q=%drZHh37NL8WFLGO`UbJN+Bl6Dpy!2x3abJ zyL-lZFssiKv-r1eLmx)9O#>iieJvoH&R6 znvdR}L6snUb#T4O+$#uPRaB#x14QGcJ@b|j9*dFNEbb*q=tIhUM6w2^{i2UcN;p;- z?%p%{d{MGi->7VF_y)T;V_YAI%}HeJGa_qe5~(eRZx+wxT#paH>yM^*d~h;7#(R+} z&1m@>^EITmco3+6v>*vE>AYm=Zqx^HR*2gbuPQ#?T;8kwYR_5@7?bMopmn%9@we=K zk6Y|Z{QeUbeW%*N)ufW&d{Kg9oVxS2Cgs`2wD&#*>31 zmCL~8EB%yIuu_L#i?G5okFwN0%vIi>iBYb(Sz%=Xdhx+rr|@D7T$9ilhR{b$h3t)r z^ZpnQk>n$P@PIrI^YxlBo`eS?;O{<H^w! zNp&PmG|70JK|gin^4f(YczKj<;oRKnFb2hp{u}CsGmVa2hG5zcq+OUs7`ZJ91SFXu z7a)t}4GyiegNw(HtyMV;b0zk36H8?QbOtIrGjIrhdEh*{J#;oJ()ZW>ap%lDn-5O| zxZjZkQ#`+zDC>Px-l?mu6U`3t_wSFoefAz9xzeS7@PyxCgGWYp#n?+WYxFSh4bMfZ$Q9aSyey6fl}Uf(}b-mozWQ(Mqat}a|=N6 zqS8r!cf$U_ivynlk`P3WBfP*Q9)j(s5sa8Gm`a;ZCs{!_E-7)}kfPwtCPxM~)PNi& zm!trSHijr5POfc-q~Iw?fuqy*ZYv|Lr^)Vk2!Dk3Qii+zY6IqZR9b$njX~mZgAXRT zoCJ5l7R78&U@&^rhHD(PpZ*+}jc!0}i=qHaK(xQ7ejV|Vs&HGjy`U8Mt8p)5@c}U0WJz60MvtE!1%{>al1VZ$^%^cOrH}yb+sjy& zHn454CKo0YK=b-iaOY~r-?@5cohll3!}J{*O!G|c!@%%)76ftjGfkg;)U(d#&R8RZ z8!`#W1mKfunU`F51vX1p{4LgatLO?B%cWAj*HXb10X*+vp9X+gSa1(Pul+RSF6<5s ze)$6q0V}M4(F%pyllSuF=@-~y?igFldf}bCG>S-b`vCi!I^dVxcLf)JwGVG@0EZS_ zePSHA7$Fw-0IFD@HXt+B4q>`|w)`f1rbBp+ybi}>?+hak3)8rZRT!c(x+Ql}EMCn- zq9Hq#m=s`IzydJac0}xxCoN)}K=B&!VrFCW+I9KQum)`TgV?%ngA;a-q5#o;yH3sp zo?Xz2fgmzj74C4XDk%Nx{heJ`Yh>Bc>_qc=vvmu9y1Uo{M>Jb2)8lz7Yn#wT90G90P) z=pC*4rJr(vYX=lHJ`N_ZLtDN>!3Om|(ye;oQsx&I8eN-yGc`?`B{;=($9N{$RNbuc z)`DF*xc3;(%H23w9d1CnOlDUOv#^?HDNsxXE)TknJb$bGhCF}CE$FnN8V(SK`^K^w zUV{V6YChR1wn3sj=LJVOnEtKJFo@+q%{++fS0XE)k_Q!qR7=&bYhXf=^$cn#{J-Ch zzPFD5{6?EF)Mzx*^t|~~qtl*tQpeGF9wIEKk z@NyWz(|TdaUYf^dh> zT|s}B(w-vvBV2`DrPZb;Z* zr+>WKr&vq&=DWBR!d;gj9ufPzTuqZVx!0)6jQZ|3vbqfuhAR}XKr@S7ZFpc^^p(a& z&a?;?MVbLNMa%$WqOUMu5rg9U)^aGr^cseC$Tg*T%B@wXC9^Rkf^Lxpv@|e5y%H6x z*cq{kF^n^-G3^**7-=frACM-P!c_1ByMGyLLId+DT2w{2>hRA%AY~Z-+vA6#FFk%& z?eC1<_vOy9<5tH%GxiLV_1_*n6cOps2NnO$_{09(2?5+3`DY-IG^qdW;X`7d9=@&h zcgF5|a_7Kdi1p75JaK#KKNvaW>FJTDFDU)O(0yO-8oQjpaZSiPQ^QNB{{4+}o_~Mb zr6x%f-h<9daVU?M%6w4-X7fQFVIs6JZ0KErH4eJDfh3PM^*+U#qSb2T|J~C#+Lg4m zENh0Tc#tW>K$4kYJ{}uXS{hZW?a}!uo-@K`Ay4iII~G2xGq6wY$hH)F#muIpUas-E z;5pRfG4Kv6keghY@BF}?%T^r+cz>8l%(%4A6g2uIzF!}{5~NZ=pAKiUwp|Ajp9*tA zTdjM-AZ+&1B-@SGr|q{jMP@TB0@Lqcpm7HuF#gvxiv^kQ9i`A9`SOwEO5s763-3jx zM(q$G%t(WE$(S(q@_G0|d5|OC=Y5kF$XR`I>>}yZJ}@V@N>5;J=WedT+($ILsrm-5 zJlo5uurhV49#*H35kpt(%ZCz=6N0Y{A7N$qbd@3OE8}C)^2EbOFl1uC3cidCRlU%_ zueD!o82eRxyrcYUh?oC-1swskmmPftDStbjP&HJA`<`D8@XrsJi z{8oQ(6;D@Jybv4pn%_E~>G*)R?=|tkgN(@1_aQW1`%r6H>9TRLdskMz4maqyS77BG z1?TtANx1ZNO(P$`C3zHtQ@$pTpX$ zgG4OeHG9%Oy`n=W9OpLZtWREWwK6<$XTpaK+kDM-#+P6MvmR`HW7u zS`(d!SLNPHjYoU)&hUjz=eo4~Xb!$=M{rK3Pj$>ih$%kILt>Gy*cZ_M!qcP&f6tX( z?JOKtuEj6NhzhsL!MG)n(FGn_p{s60Z4DW9^lE4GMWo?F7-6II`?YuJ(u_=$X4DiX z7&h9Tl>S6TiE>|>hs4}TKF@>eDfO``11>x`m|OcY_1mUvNro-V=2LFFYjjr2EJR0`M;ZD-7?#HPlCI4$&7R(p(06hV~W z8>fR|KMx<)vZ`P#yMO#4T@{mDUGm{8+t^Ez6oFWrqzJ@7Qlvy^-~iQTvBAJRp3*OMhApB8zsoi2d5L;=Lu7WOih;cg1kC4Zk5+1uJ|WFXGo7J;(9 zmLg)3pRiz>sp3sm1&B-*MU?4hMkiB!w6$-nH8SQ~qmwO2q?UWRz25+;r3$`G4awv* z&AqQb&w!yuC!3QI-3NB;iea)Ey;A+v+KbIqNelQQ&8!hYc+rKy0{QUf`m5N-(e}>Uy`YV?x6kU^ z+JM&#LhcKs$fvyV z@xB2e4DL%8yiepZc3)hc?gIkE(q=i7(yVf+DHEbcl&|!jaPDVu!{rd zi$?#uJwaatM+aWR#+#eQlf9f}%tBIrUHf2|cK6{HmGapx>=%`C#@UNX&mWpkPZQY- zL)ql4g`q64)*xK13zAE9AAcH`e}V-i0SuR=f(1H%@1bw|x${&Zr|RFpU+*5=Iyg3d zSga$^H;@t1moKD1cGvO8d6*(sXgjUI>*4hHrxpM88x;$l|7yh_f1_e7l3%U% z&)=w)b7t!er_9STF=K(x9Xz6g{TcVL>1vOYX%t7kz)LISv3`N@Zj7<4b{9e-Z&&x>`K1q}7E%Cl}CFp*%l z59}$i;xI5pUX4AyY0`Lmjf6TO5RUd61m5UG$hT^#9~^RqRnR3Zoo`D` z*TaWM9f|uw#GgRs{?z~+?!#imIuBugnnq96KP!lPNO;_Me9)OGABrQPD#8!Thq!=& zpC=E`CTTpevlTr|}F{H*oHMB0CXA zL7&&+@aPSVor>{i3AYDI^5}pRKZKx zo6jRUlQZs*#^9^L;px z@Pl<47I=_i<939@=eYax6fT?PHhy{Ztv zPQ0HWpM_fW(EYCfCy{FBK=#@?w1)lSp_!6awQG>G z^IT{aZb90~Y5@lU+zDL*4#zsLgfz6R75w62*TheFkg$r2u=nrhAD%v(JUoBMpk1`x z1nAM{07Fw9Z^nAeqO!PepS{#J^f0*%p*Q!-0Nt;Ym;KI6vxz!?G}S2Lql=1kAQxQ{ z5Wad(ul7`DgNaHL2D4Tygyk)NE(Ny;CJ(z6K*_Imj5hG{X!b>WD;6#x=|~Qg@p>9v z!-@Pm*m*#I--!@jo1Av~ARTbl?wHeDKSw6S*3hkjZ|tkbA>&O6b^sHswN-PPh4)H1 zS6KGE(t+VSa+R5Xt9}9V-cfGY{(FLZN4ch$ne=;bn>L_zdhP<8Nf*jT+4A%>X}R$V z%zs=x(o^1`4l9GooY6n2%!@db9j}<}75+1y9q<<5uAAYIhpu>T_KnOm^|1SfV+HX+B> zN=L~IThEJs;4pBpSuT8=8o^}o^(t3;|G@+6sah8EEZ4I2cM5OlPG7AhtU1Sn2X;FJ z2M0gnfy+%9h(Bv(TpM&pshAN&LVFz=TY%_YgZ;(309P;}>XkqjQR=mF{+L$l-N@#4 zUNv_%c(U=F_2+)ZnIyRI9k^BM{d;GlIJ>hEGFNARGPeI*(v>fL8RccY=1Uho*kaJk z@t5Yerkc88wj~w!SZxs>Y%yqxa2)X>Uq*QH>y8S2YP#(C_@ZlDLD=P#c$24vYpph( zVG}(H=roKspC67zH8lU@)5aKcL+k~&U9biKq9$))oJU8KC*zEe! z`el1Fzzql!Y`M@SCes8TKJ>GKytbH+baU(`m{n#J38(kGIdlo1@y44;K+r_u4z`UP z!cnk`J_({vt{m9TeUl8^aewdd@`N3?e3>MFT<`NK@?l%>4LD4jc;GQ?8+9l!@E8pv z7>{rcBqvQD{=uNhE%7GzNz=__>*Cb+t?v+fFe>|YNF+w*?XGX_Z;x&an`l;LLb%bW zK7ULu7hy4$kNTM*!ye8rX#Fy|njo+?8;C%sBi|;ci!hmq_jXWcpIs1_pR$$)3Vv;W z56QFy!*@|8Q}1)9=ewp~7L$g}!8yTTKL0;&Z<^LtlI?p>#fEdTXauHlm%=g+#@MFP z1{dJ$Ts~MJ0V)fLRFi2Z=Hok?cMkW{9nYP@{jDZq$8H2TtDakxMteuUqg}C@|4Mo! zM1`&#^aWZlbf&x=jZb1bIw!QxQwk-2pEXBf!nEk~L6a8ph{uY^Jl8mhiEg)FG{hnk z-NM&;64r$?IJdlnHtX=BbKJogY?H-vaE1l(S-;!b6UFEH;xe9{o1Zt1(8$B4eTNIT zG7{@6iM;VVy~UR(q{U$$gb%nr#Um(QN5o}uL22(a#~6U@2en&3C})aJ<|R&lC_kt@ ze6*rg+3$(2F5ogxxkH;Z=DJu#(>YN^zaqk6SKvJa6Hbc);6<+;uE3b-2|~J}!zj~7 zOh=_&^UE)au=y;c(bOEa=EGeq{l!wd+1ePoE-9+C@!Jpe;=nB-ujv={O99vsOaB+< zsU2!Hukt2-7gr2y^&DHJ-K&qee3m^)cagv_!zy55GL>vFIm2ubTy{arr=%Ex*gh- zTWk10bFXi0@?tEuo#RLRwnnBATqg=AKg%9`#k#0Ef*;e3lf(F7~GFMW#YsC^y#^ zS%#poU0tVqI4nTafQJ<$Rx!_*WU?4?i>y>E9x5k{pFl#y@tcrLT2%PBtBN(0$1c-V z8w=?SWt?P*DwlzO`>~AIEIf-ah7H$oxjA3ZcPZtLiZHh-qbmE&IZ??eW>hU5pB`ds zq7&axD{#zgJe@n788991L_SOH&R7Im!F~z`Te<6v;hu)*Dy^QXV&Klbql3u^@BlJp z2a2B%xpTz@VVny~G->{4%dm2XTmIH%llz#`(kU0udE^s+PPq%oCViPP_}aqYOXAea zC&pW!1ZqVL`&CaqJ#|!4T-D!%Pu~42npdE=eph-c7|tk@F_Gi_(fmCV5M&GyKLQt< zf=Bdhe8RMm>X*RyR zz(6D#MwnH9AaymfgX(7E5w*ATNlkz(Sv#&01|jw27+Xes$Tuw-*Jbwv;sf}G?$8J? z%t0VN=~d{f(cB7xgTY(}LZ{8&ZsY#_`9AVNSq%!>Yb_|islDwNFIbl`@#@OV z{aSb7u_B zfJdxi;N#k`lznxj)+q-Hgs!(1)MdrMD1OiqT>aqI^o*X4#O;X?x=&!F(_bO%oUrpJ zqqXyYjM6^*$X{Mv%_okWmJ$T)J-cT#HCj7uReQuqR`;aS0H3lYtmEP{wN7nC-lfdNS#pIv9!hDsUfjn{z-*`x$<)<=_@Bv}cCU2^xh3 z%}-4c`rd*=x(~$P_2)(Q45LYVe-H|!Qz2L_=|DY+MQRu3--J>*f{f;~#JqZ`@qQ71 z6y6#j%(d|Fq4r-(4S=s7)b=`!%Z;61>dUp~+xuv_{!(A5z1`d1IjG;SZS3sq9&8+J z@9yj$zS!M+vtMVGq=EYfyL%$|VNs>Ql(g~e^;Z4i{o3~a;ns6p!=tFU%zE5?`+6G< z&y@!cvCHWzyFFS# zFKzC=d9y_~z_+-n^#+a0y{-N2U!{ecds_%oX-|Rl$e(?(x?Huss`}N0k0_u?ry2m7gEHz@5_ZpA? z2U~j^o9g}F2Mruw$tbUf8=IRPv~T;__G|f|2Xx8C{{Ge*9c$4Q)4C6(rHB7`m)nvB z908A)_>u)6e_z#pK51OO+}rp?R4lg+m!F~Ixm??O`Rs7zzC5qU^Ty%oio7t@*b**v z;^3iHCP_A)luyVOowiT2nKBP*o7;PvGU;n?cVGYV67|$a`lQJo=O*5}o#$J78V)~< z{M#>IzNVX(Z98JE@jt2 zv3j%n<2J>AU;AnM`Ac$hl%iz5wY4L2PWyaoPqf%&#vSZ!yxoyBtF@n)*dBhrcJPV} z&l%3z-qv$QxW2-w?Ts6k`@65VsipRO0~Ku&)Shjja>|p;?R`qRpM2s2tP$z;t-ZZn z6k?aCe`0Tk?SQ?6#4mRDCBd&GXthP8)$SdCA%=tRHGrW%304#3`zt>Dsls3Wj+l^& zczc75^x$>pyfb1Hcz+HvnqlB+PfC=djZ+kv7$ZX93)mq&_DTkYx0gzzGAKg;~-|lb9)9O;~s0{;JxP!98kkTHt>xKQbf6+V^h6}q2AwO~Q#Sk5XSNo!& ze^}>0k>N4!V;xdT`Wu?NzN%d>g~l=A$R~pif`-FfspI8B`&lZ7;>yZ;6GL@!$Ri}w zp!2zo!-^hnG9~KwY28`>4@*e9c$Q`Yyr&@#V#@uP>R}d!2Y&meELK}B-)}P!M-1uv z2DlF*4jtBUML>jgwW51ywe<)32{H<4f1rLrlD3XNj(o^Y{ekv#%vs0fNBT|z?P<&N z5>mg;rt2x}Rhw?{Y-(PLwqMd@L21k1{PKf^KFk`Ph0*Ra9Soh8c-YW6v)z;Rpz0p= zhpQeYZ$iro3BY*g(mbeLh_K*iNvBG%L^^?4Z-b}f8O6D z-S-utmf;bg7QI$JIWA5#xv0lBd1Y-OJ@=PYYtIYTxwq+=q^&=?Uy9fQukO(UE9)ha z@QXUWBq++CA6d*suh(Z&5%%h1ZA==lY=vrHylDJx!N@au{F%-H;Idf4xQTgWFCQGBIMp`uA*QLJJSZ$0OZo@W>J;7mSA9 z&~y{(xFGTAl?z?14Vr&QsAcB7{yPVQZ@f!!-;LYuO0v6hS|32l>~Lany>;*Z{P5>?9`L z$ZjPRm#E+a`!jplzIZA%=phG8lQRlL#r@+p$SQRJN_rrZB&I@mZHw7L!wNZnGKiLP z=5uMHv(GbbYTDXi(=LHHMJ6$zD>3GCmtmI$C}k9@et`x%!YAV==}%q?rN#}az>{6% zGM5Mp39!DcmSgX*0cg9q3#NLBQ{ulvw3B;5*Y=-__fApUaZyhL!4evIAKlxB^(=BN z*i&pE!o}I@!6Tx=*;!#(fd?iXX1t)wpjh9R@0SH#f3Yb)G6|(A-1?<4c_}Lc$r_Y> zmQMMi34ts_@``F)8-^7~Q1DdicL%Z$oODisv(k53*&@(Epd$$Q16GuV| zWx`|Ye`!mm{9@7fQ`Yg+TN3{Pk+b#rxUINaf$gkd)PT2IaX&2Gt~fX5(B_qjY_)+q z?qVkpO8wX5Qj;>bd-Qy#g33(1`+NU3SvQVg|K~m}fAch>W-qC|k~3PcdI_sKx;A0mv)zU6 z!jZ_SYSoFH;m(nWeGl9`2mR3sM(pF|?^jg$?n#7evg8VgFQlNbLq#F4%Yu+?jMW;J zFv8!!5fsysCS1ZMW)GQ3Nn`^y=UG9b2d=_(<#3x>gez6vP^UN;kIJK_K$+@K9*Evw ze{ias_yxbFYb?b<-|V<5yGB-=@`jby%;3e39q_ROK6ZY7Fe`Rh%__@UG!MDMMM1yt6pMH0}ke?kD}vx%xbe4=wa4 zM$>z86}`SUOR1)6r^pVP-2>U6}KI2V5_HyHT zFEtYPAhvek|ILc=p@6^jOb^Qi49i4ZH1Sj-fBGOuf|f+P!4}3T+V=KA=gm*;SMASw zw+P3T>tI8){JiwO{Q+AYen|W##Pe6CcAIrC_i9N_3#k?R_QOG)gxXP+c ze+r_eGmwAvqTJSv2_pL5@d|)YJ=&FZ?E{tJ`iCLJ}WrAfg& zX{%_fhtX6I({z;Y>G(EJr(v2-!!+IfnC^i*(I8K(5t>*d9(;)H(_>NZm7$SzcXY4P z2`l_WER{uhDaH^4Le~qDAB!+&F%Brj3pltuyF};I)bvhmhYvto1 zr(^*7Hl$+FNlnN6Jje)zF=yxa$-}iVLcUN+OIthsfLWD3c*6;4wC0-gXLG~(uC`cW z2F2G^ow?te~%66 z?pu!8dmSC4#>|4GrSrUZJ;k!5ePHu~w6TewQIgrfVOXziOf~ik{3wPE;2V1rdAEL$ zbQ~$A+emq$%TjOuDAdhiPld0rb3B7J=gxROY#ia`t3TJ8KgNI8er=QI6P`C3n`-Kd zTn#k&q5Omf9W**~W4sl0=FV_ce>9wH;h$(YcY@rvv0FQoKS%S8*R@mmvp?TBsBOrf z&H2XX+86#@4Wv&a5h!mp+EY8N9U^v>PE6wX4%$@vQo}dJKvs2>C(B!!kDVfkqi;gK z(AkOwoSO=nY*-hb^wWZ_H0ikDUQt5tjcOWUzbo=9Irw3FWirT8B!Z#VO)b#E^^Jj- zNS;pR!c;>iqANNPJPyTF zT0(~sI&RFcBxdieFe$WmhQGHgo&|LQf315?8oEu~pKHw>%fvr<5&%%V|IU-G;Y1uz zu8?q26*CLt`ExPU2Gii0Gz*?4%&Q}%FDhqN=mz$HT-VDRGX~>UG1pGRb%vo9cAV>e zc?;>&0gyLKZ|#*4kk!_gX-DPV+UnfQf=rYdTvX4_Q^3QynfAiU++ZFSH=I|QKVmwZHK+1xR0Q!0be7Co)_$NI9zs7J6Z*ioVRoANj zSTY{-pPQzKpE2Fja{j^Um?5da8;qBhnoIKc=mCFMAGP`0K3e_fSX@9a=ucDruAK09 zdFA0h$0tV`!OwmDt3fLkw5l(we~<0uSpQPu$Zx0mnr zZ(CoEG^S;FT3TkyV%m@NZ&P1R9_!y@duj3a*xGsgKwlne(Z?rJ+VRN)d1*R>P?MITf{YYwQKawW3A6ai_)z z{~wmU|NDR8>__(fXsW-_?b7d#!l4)(Bb31WP(@An#Sfc6Jp8$-Ht|>tXY=4U_u3hJ zEDye1jQWcZHm&~oyLa2qQ=P7GT9pz-Xz~)HXmur?G@gqV>}f`&SB7GKtNcjcD}Kdw zbwN9+(>hGNS3g%>JUOsMf6if-XP66G+XyU`V5$6MB^cr;XbSeqvevP|>2R}C(`Sw; zaiCWcRShWRuITC)3cw5}z)2_#+{f}F*zz}(v+e?)pMUvvsxFW*PgbCJpRQ)*WCr%I zB7&J8PtSt1hdLmSV~STvlH~cvB$#KZ>S;KVO111+0?6+BSrXbFQqq;AOPRuRR}`K* zf~^&m2D_<~ZL#mBz2+h?mL23)*(Cdiiq5jzF4MV4u871Zhn@Z^#b(N8R3@>2E%J;{ ze0U!jO?aG{#lu6tIioWwDeP^RZK4HV0@7f&&Y}e+0SBM!7*qQ5FPHkG1uFriwHH%a0y%Fb5zK6XU71*%5a0k%r1l z_38Zi2V(G(fFei^F?Oma8bIykY8arXGl2ROH=O^v*D`;Pa(0t#2E`oP$!5h^1lKnjBDwfHv}vvINlPyp4N7ypwP6fu|j zSHxAYDEiO~6VvxipKAztd(!ViPl^J~x0OD*gdEm0|C)_`x6d2{c7!aSN?@74ih>*ib6hnVVs3h9Z&)KNf8&SVJ7 zrK*I+3Pu?wAaOaMgt#DU4vx>>HV4gfHhwkq%^)Ze33ef+!-@bmEY9Uc7cYUezH=Eiy%bOAHOzI%V~|L5NNbmPOkcG^FWX4da6 z&iOO4Hg&faGD*J#a5D<*3Ox|@>U^X7aZ_$jqA1XC4M6iSXVmT52-|K&xR3`q1=`3Y zf`PGS`|dlI-^T-@2Pi4rX?B&m=T_DeEmmD^s)v~AoJlSu{Efs8P)bJurm}*sU$YAM zEF>{Pp|yYELs)#N3T?CLR9(tU;&9cZcJO8m5WVf3F(S?bSpp#C=hIzf=+1Gsrbp6! z+O$u!vcXlbz}9xmjuJ6KRIExSf#>ojHnmZmLK%*bi(03wkCyZld#!dYFvs;3Yj>SVt6M$u(vg3t@6 zr7DG-8S+^Q9aR`j^kD(SIJ7-|J9oPUPu>fz|OqbavYJW^PVmS)v zbcxL!G%hsjF7LDT%J0e*yX9>j-v9b_{_Dbr zB+j6peeg)%7^|1jjpEbYRWDt1E%fh{i6@K6#UiDvBzoN$Ch{8 z7;E0KwrA|Mw9=H{Ys#-*QFC;E2}Gl%d0JXu3u^^1vGJBUwLUYPZ;WgG`9^EDu3_`S z{~9hx-~xfFdZ@n0Sx&DmOWZeX$1tTW?rU~6YNFr9 z5y{Lv0_#Y2E?jwXuD%y@;P^%2)-pUd0RWzGb?IdH6f8SRcazj&8-BlkAzkKG@uyQK zjj>A7=sgJH02Q&IZZOmSZu#M(<>iNumw^7ou8x3*4_5T;F@UA0dw$3~H>R}=PLF0x z_g#y zK|MlqehRpl@|(xeYD26gASjCm#s)z6u6r687|oP%(E))OIh3+F zSlQBR+9>o{cADbPp{THla?3}Y#Lp}&AVg?(7jzLWoB&JIAI#pFHG|pIH9gTsycfJvuW(;m+!2;2&RzB^~M%deC^d7f>B~p)?t!!BZ z;W-@qyTja-J&q7QJGzEK*uHA)4jl(4vQvj&8f|4_>9-|+`n8@;py(X^Ylu_@b#YDn z<@~%&1CLAT`D9Og)fL-iQ$U>hR z$FWn6h08C0W<9Cub?nRRvlB(*mSS&c>opOoR3UfvRY62L;#@5#HyyV--GKOGn&yiN z=%fp5t|G!#+nhEzYa2Qpb2H2HqkDo(ml4TeHfM@UNIW3gS+;l|w{9f|{ ziVxjtd-=U{5?_waFXHoQ68^7?c9tW}jo4~luzACOJGezz37;1_)I9|@znR~(E~m|G zZf)A^=GLZrYts%uINkAIgf#k#U5WfU!P~dDg5`}7j6LT2UTblhK?!%h6FL$p{H6Sg zbf|6u?gc~LSg^f(A;d1Q7IB(CRXd~4^`xmzAERT2PVZB7QX*m^KH;3ZMpZJ6$`Zoe zK`?`VC4Y6|5FIi=ykLbY&|wAcH2pm36mE5Z!Ql|rF?roVLWMCRZpW$Vpx^Hb%LOKk zoyUs*pWChgTWk|Q@{~o=y|;Kc?!0OC82!QGp|-b6UDU88S0kye4S<;VO;=DWnlzrO z{o3Ii(X>L3QD-^5D#o=3ikPco-A%K^Q{7sBG1Ip1 zsJiQ4<=^|({m;wAL?lAG3EK%Mr=n>0mb;;a{evF9LP&QGegJaOSznZiRXkv-kzrQQOTNVa*ym5MkD3Ar)Y-s}vOF+8qfvs}6~eGvx{ij7jalxSm&qvOMwSKt&)?W_jT zye`)QKdHJJ6w;Z_zHjJI>l{%7rnmI5A%4cH0~5x-gsMx82ovj8ADeaG787tkoNHc2 zX>%ABx>PcGTA!ugT5YIFO`h|Asuz0wvpzt{Lh&N=9RnSjXnQqn{HN*;&gdD!w8$rx zZn5cXuzQDl zaNL+eK(>)Z*B&9rKso&~^XH2yI&czYcQsw6Zn$IJhPtsuo1<)QqG!H;ZI2HpSJ-rl zjLh3@F@n{34LK4gbW`Arucq;g8I1(lS%d#Sw`36RM_fOmJo#n5<2O+CsP|+r8}P}! zwfK@*{5(H1TJPAMwJwZM(Qd@<08twIzxq2fNb}Kp|0%v=W{8-r_n(AECpF%WgtmcQ zfO(^yUa2M2doGBmf!Z#Ar+Qfl_rS*$0^S!d(>dz_--EbIR})K3A(oh;1!AdlYf341 zQpW=pN`*eZ@w|w~U~byQyMiq$8PMcBEY8FHdFa%CcHO}DC?pvul~&hsLU`ZEZA+$6 z+CJEC<7T(}<(0GE(BbniS01G`zm|lurtIdHmb$)Va|8Srsm&N9Uyll zUla5KhP3hS;03UMwoeGgpP6af;RAQ+&hnk*DUd>iOEtxlbE)K!+`ZwonyOEq$epG- zx2|b4X9aKzZP>M`drzN8rl)@sR93k21zUUIWN|>Nj98rxGgB)}IAj7Kej#~%As*D| z^zIiy`4_`4DMPL3QQaH@#}YQOPNV6_$bu1jhEAu<6am41hFhr_fTs}N^)mmr->3 zq$mmlX-WhGgEOw_XAN%KG%_7rAz{Eo^{%2Pyiowmf)r_+yUbw zIyhG!!TSq;48@G#=GVV-+a{Ba^Y0 zMWJQAiCTpC1!*9{P9p^rSWgr-E1Zmo?yVr$=QvFn5XoS9v7);Lk0j^t1U6)xG4K&{ z+QDLE#%9tFE>U!A8F=5y*#|$H9+0am+|Vn|nBY5qMaDC6VbJ1>Xdx;(ctPiVS@+L54N{!GKgVQ)HB;P@IkINS`RKNM%&xTsp~Gg3q$YQ`6w z4R{!T{nOH5r>vQ|qN${)$$<*F%wZ*uYC$~!g%&6U1yvU2NsfohN}<0-GB*eErzw9r z%uY7zTupR%f@~i0adG&_T!q9) zm#flda4qS#m_&+A`_rSnIKIbcap>kGh+__aQCBoHGaZmLkDY;O-+o3k z!u1L*AsOHQn>MqXH?34nzj#cHj68)Q{1@SwMi7vQgRHQG{ ziOUfmHDz_)GGoov0pKs1*7iT`t!{0)yCGL30N_T2pG6sS&*WNza zXIE4<+)!AmpW5w_PfC-CGYW66FR}Usy)w8XA0DJARV?oY=~cLA<*bzUoR^l(-@ZomF6b1s7wN z+SP6A>c}n4zGO`Y%O+*W%968KRv#N}p}InwvvIN$qFBET_%~I5b%na&KCb2n5}Y)d zVMUpM>;yRO&L`Znw&oL-+H3xQTx1gGc!yS^U8qdO(8Je6Ou9B&SP*^D_yIP7$P>4? zIBKK$tOqkTUp(o|=}R()V+z{F)*0N*2Ifr4liJA}JB7N9-j7aV;4Q#C!1qkpa^0Uy zxBCO?CK?DLvk#CVXfZZuMFdc;j8mhQvG_5#`k)M(?6x_S+h#^KkmMVjhE(?!;%x2(~=`se}>0JM?$T*axhWvK!#8cMia*zku1^87twfC?c zl*i-pXnX{GDFY*04@ika4i~1fI+KHfF_HS!Rb#NmIN$ASE1?s(<_bfjEf%yxf`l}} z?zpK=D1E&&gC^>oL*!+T20Y2T z0?onXC=!vLvqVXMVlI@!r(;<0*(r)4I+X3Mvg1W27`NnX8Jo94EyA-H$a-?r3uQ#DC9Xl)Fihlj<3QDvRbm4ng+2 z{yo&cUp!{te~~ETNE!X zYtviVCp`1mcmDgE|Ni2?KQ)(Kxdk-@=)XVvmzKE&=mlTPDSp+rgSrJB0RcIep}Pf~ z0c)2&yagIC--4Dqr0*El0@3F!M03lZes91;*QdkAi9h|>I8RfHpjf|yQ*bbB!1)1= z-Jo8^mx;UuCIRi2u)GDte-pX{8!dsbG?`K%hvCGW9gCQb84Uh5dqr*hNWe%FpdhN!0eA9L?tG30kq*;NzsEKCS{$V!f`>D-Dw{2+HYWR?}K}slU3rwy<@{8xhF^>MR>PMn1ZWeLvB#TX$*Uo@Xt~OyaZFPp? zI7*x}8(lery%~xy6XFD`+l&wpA&PTQ?pd#L?aEZL!)D#Sf0BJPDxbR_u6Smokvi_e z+ZCyf>j4+{$S}XrBOzzhKFWo1*7lJg{Ku0V(Qa3^IHT%c7W2uMs(RAC1) zh$%Ml0CTNy$iGog2G3LWGiv*5Ag%IgKDIb0K$51GGcrYm&Bl)onja^eTtteEG~_e{ zWSm4rZOS5{<=gjX#1~&Mb2dffVE_c^Bcq`6ewV2gf6%0H0!!%%Uaz}s`)NZ&Sl>mlEB%G+tqQmg+np} z{twx~utWA0mE|X;%Gi>mO+<~Dt^hDf8aj?z5{qq- zYD8@6mY4kxmq5V5cyOjqH4v9TTWGw;C8mXPIkS6Z%8tr?ic z&chIeF?#@1K&!t}aW_d?S)|ao3Q4Zvx}`2Jf7w9xXe5pKR?UC=&udV~ib*!vT0vl~ z*C!_t*4|X@@B6zu=vK%o=$r_SIac#-`7t>c9WdSe%Y*6r{kH_E{O(S}C#o^mOH(OFf5X#0bKZhHot zpmc$SDdgd@mx#0D+y+xjeB;{owrp50<(XJDo5uOThzsNrzEaJ8&Ho3Q)p{#hgETjC z!tWDtr!?)Mf&^Z+YCnHQQ_cwMwc9ur-Sem;@AmQI3xt!HM5_SDd_SRq6PRJ8%H^A@ z%dmF;OB9Yey~Ai8$M)wM5))1I$qpYpa64shotWdOJBA~YON?gFzx;%}u1BkmRli?N zpN7`Uri;0ptkz6sRceG?-U637u!mXXRV?BB#Q}AGDLhW^qr88zAW8@oN))j zTE4>KHXtmiJi(L78-=kGMzxx*-BPtey*5PIC1jd^)2GIJynvzCHv!ckT#WoelkqO5 zKjm7bz`VZtKly*an+6F*UxQwtWKVknP6GC7H{4j`MN8xb*$n)gpMj{f{G}QA`I;Gs znu4KlXi|Us=2=KS*(gF8E@JWl!)H;NAz+Y} z(NH5gK#3`E!^STV?dEH=^htQu2$Zdm`vd%Oit{Dt8oBI%zAZ|;c$o_hii9MBNd)cN zxlp|rF{G1wg4%jc395PrgE(4nPYs@{ZV6Yc*T{dv@lOt3@g0!F?8mGVRn587WzL#N zn_=X8!IYo-e_=pXKRg*wId>-vDDXixpuR((by^ytPw1)y`do{Hfv3=!UP;e#%(qg)K=UD6cJ52fw+LAzs=cbA} zQ;L7e^uZWY%!ISag1ko>5|53J%^J|E17)sfb;(1M&u1;bWx@0?Mxy-*8M+y+fMsx4 z4hC;%RzpKG;OS@PLUIYZU8i1M`B|)2@d|=W<~>P-($`>tbgiV@;zcOAT!m}A>9F=q z1&uit^vfu`yI53VG#p=J`_D@A#=3$1J8ggaMw(KXl{uZ4z&kJV%%$huzmDiH`eQ&` z(U&+Gje!neQ66-qd@FHIdlg85gC86!`auL`;UY|f9K??KJ?Ox?;j%tNyLDzp)yl=y zoPO?4U=J`t&3N&x5;PRW7wW)h7-b_l!9xp0&Q5n&_v+z)bM$&Q|0F{gCr0Ul-Ohiu z@1R3Pn!5lvT8@{fvGxX8j>8vwTU*?@RiTR5FfDHL38r>){U^9Q#>ZY=Go>;+y|`r* zL&k*2bhJxLAgXLz%zu%sLUTLlaa37aRq1qBr#FMEN^NiWD#6rEu4oA@Q}q>+exghg zQygfeQ=yR*Qpte8WWFWWos&R0;fa5``l5B>Tj5K&ZP^JYC~`3In7n+uYDKX>39dpB zgLHZq#-B<8(+$03YnE8R0HexF;JR0(qpqYtk!vaHO0m$fkdv{TP=K27a-Ml6WhH9V z4q^tAtKsktqRYB7Qk$iMf@mizE6@d|CKlwGc2`8h023YgBgQ((ZAK;_9#ek;AMCZj zBV?#i)4<%jMYj*vYc{l$qh5$;Gri2;}0_O^9EG%)1=rcxrV0agnR3f^L zS&IrjIga1!Omizx0ba}g_RF1(gLiuzHR%T;PZq$1C{T`VFEvHHbR`*KDtpR26;Vk^ zC9<8M#%JRb?D;PP@WCVn>+65Mu(HZtT4lDyIeTNfB|Ka_S+YFjDWKQ}CNp5Z+>JWx z_~J?A^|N)TUV?-Vx2*@Ceg!*5)(cU#mo)TBmcoS3aymCzofxL|R01OsX5A89SQ8lg zxx{J7)MTCOcw9ytivXQj?(@#es1%x4YGF$D!YLr09XSAU`j`=$H|&3E`Sbq{r_<)% z7SQ&dyJyGbS~MnfiE63LRF2*3 z`Z{}wOvs7EOGpaq53NHx6@FstkxQ3p5yXkMms&FKO*%qTl~W)e{BS|V;rJ7aS}4Kf z9qykpHA@N#vis?Dk<-=?hh!H_4)dMR5)9vhdkFMep-RU zUmBaN0BBvsTnjx_p+=Q!?(%Jvb;F@toi=GldVmYH5NBE97H$I1At^-|C4RWuM01Wq z!C=!jjv}=Z06GF&D+he&gosH+GlrI>k=7?%?TI#YL2VbA(6!3E)D_|~aJ4EupPc&d z6~HQ)8g!(05b%GBAyWB73(Een}(@wd>+f`)iGmBAfnlY`kJs6WIU%xZFuFBl(@NWu(f19S> zqF1f3+ctRlO86Tkuo@?`6Uuf?oS)MZLPj2qJ6+Lz@>_pOI=N$yRcjFFl}+yH>0Ea< zi;=+r3Q~yEY32l_j~axg6OR9%;K2KV!=$LMUk~(;7<*>(c9A`Px`Iz`+vBfo5#E!dkQ`jpa@F z?CWY%rd5ARs)k<36MvVcIjQuY>V6aYi=i#M14L#z$hw`xkVF;|NNK2qe?zB zw}`{o>4o&91NS9gK=Dqx70;H%p8B-5cd%*VX2|AW8uN5YeA_HA#qlJl+#&&L6TZ17 z&0C;WCuY$EzE8y`7mZjQb|>&b>^1)t|0atCDQbU-b(3lRR$W#DI8Ug_UaxIb$&UYK z?oLIc0`#}CgyY`P4^#Hr8;~Fkq}3==k7VQS3`v>Plw$Z?N$PAPf+n%iU2;}ABxE^q zIk_8D(_T@dGirQ3X;K?ufxu* zzZZXO44cY0<~2Tk4ooJ7r(yA)dRBKBGXOFZY*3;q9_2aPeEMZX`*}q znZg8l!NBAN&7!=Z&~4!iEpMjz!xlPXXm8BH>gla{Eci5dUI zv(5L++&z18vu`};st+vq!B=2sYV%?HnGDG2y0 zpjvYa4u4VYRWAdZ!s|^6EAK3BY8Yzm&w1!9HQZ3~YmGe_ko=|J=F4#Zg z=9%sL`T026zR5csEFT95nlN=enRB8pht1#HE!^KPey-^w?(Y}B*kfef6O?h}DgI}a z!uk2dezIg(r!c$iB*=e>ue$SaaxH(`G^-SfEQNhI2ly!_o0_dY5DNbl02c{9tFKrWEMm2WLk!z(#{sRVRPO?dXHg{F#4mX)b94r1RS@doizDwmR!;&X>oHgf=f&d-~wvT|o7B1lyM zs@Mn<%ICbA-+3OqOe(}UtUuvf4&nva^#DrXai;%;Pt<3WZ{z2XlR`HES_xY z6M!*~IiRq#!M7$OueiKx$4|y<$Mf@|=K~8YGW@iNJxR79F4pyg?)QH-P#MLA*C6ui zBB`AK4bwiKW_4!dk?=W^Hk`t{U)0CE%Fc7MjvZB%){kkPVR(9*ih zHE`3eWs738QeseI%LM?p7_$ZyjViH~b3?zi=xD+^%y`eicVd4fOSRyC%EU#cYAL5^ z?({7fXDQP4Uh@w#Y!Yc<(J;jos?>z=8KBt#9RKTAF+iHsCMD9|bRcS?1CZ3cPBiX; zz3xWx>YYcrE+D99(ByBjZcwH}soXdWZz_kuu_L#KsVgUi$@aI&UOgq1d-J>oAd*z> zoY26$1Ki-D*kXTO;|sJK?;Thxr#=Nsz#p}3VVaj+hSD4ODabqEqyrW}n_Ez4p_(B2 z?3}V!^M7;OY@WP^=uEo(x@?{#t1krHTw^|Ks1sFG>~F8jH|pbYR1#&C`uojw7V~-* zxs2NYcJRdRnwJb3W1u6tzAotLsva}JqiOFO{VxT-Y^i_WrKzQ<0!aR3=Z01OlWbnC zvk?@0Ino6c&QkM6i8|fz(5qu&Y>gWdzb}k6x^i{uzJ;GAADK8Rp^I+k<*7P%aPd_1 z@r2&zzvuIHlDnsz&({uUxn&2XX&F&Jn55{&PS8KkwYG?oL3AADAod}H>1-SXoej1K z*SpZ}T2z1HP>`$-<@466=O}8#+tW2puej}$osv%K zxoD$fU14yKK^4OFYz@CMbMPlVZkq5K3(m4ql`2e`aX=?xHK2M5u4KRa&NjlSK<5jI zFWa>D<0+gph!N>(lG+wQ+AzbX1Tmrmc@YKRv1NZfw{_y`$Ip+V;{q^(w>rv-AT5c1u0rui1o8Wg4)VwXz`5|673F!NvvGj7!XAOyny-ZFJ&5 z2a$iIM?Pz|XgCr?(qHL0Q!RHZ_$m^z;>*9;IP%MEDO zQ0hBoR}%G8LET7ZVSu1y7G?(7InlTpoC^;VocI_YCNF(eF|TrHE3(+LP8PDYg7-`1 z0T(d^pF{J+n0V+b$Y7eo<3J7m2R3if-Rr`onY?`$@d8^EOeLF4vPp~ZyX*#AKPkaWEEZUz);z;sqNL1cVxix{>nD zOEEK7oXHTi{_)t38l(oybWr28{HLI4qgi zT)z5u`aNydH|V1W}6@RH))rz@0)Ph<3*0_`k(-(1_9oT#)7pJ1J%cI!w?rB&xn7fk1(p*{1L zSO=5bL|X%cLv#0G=oiUsFTo#ewg4*7@GAJWVXOUC|G&Wlcj5l|O}mb6HeOKNbV_dC z{>|$bEVrAlUwGVylQi-AMHzqbRw&N-5fxQlzvP3&{PE`d&Ykz&0w6{_(W5?{ehxX+1w9@@YM=~L@rjqI@EX(fIh#UH1dd{%@_*U; z(zP~@t=(H8I6GTF3lQK5+~x>@hZq~%;DPY)fe-@ZNQh{#!C3cx-Zg*K(A@%@oqfJP zCwYu|sH(1U)v7hTtDat?ufS28Q9(FJIaDQR-niTpd>BNjCm34C++H{tZ-+*hqh1uOu%3Hc2mFd)5Oy zTl9>Cp~@2L6NGt3*eZVFVS?O|*@o)eol+o{%0cEsCggfVA@fPpTmZOaLgXCebl0*u zwCO@hH0TZ+XB@E21}X-#fcJKvj$|035ZMK|t0F&m{qhYU8$Z-u9IU_G-l@K+Z4iRv z+m~-@FZ`-mygz@p1(*KTWwXtZgGcw+ui8i4qqu*;nE*QwRSU?r-dZh4ZUC7XkT413 zlf6+f#0xs z-CR5Zn*p4#O)(+Kj0Q2DZ^5>@IgOm7C0$^-Hx!FGdrDro@$FmUJa2C*5)IsX~PrV@bnb0SZ6-IHB; zQuz#c!zfK<*FD*VH&!S1`)&~bpKq7Z3T`=B2K?P7s6B$#2y<3zLczd+*lf>X(xcA_ z1Q@i!q-d_?5U6R3hpwf-&DR#5jnXzyMiIU*>7;*WsV8awV)h2I9nfJI-btOYG1)a4 zgz0tVGd3r?-i3*k7kdQJU!(ZASLt2}c*j$73rUHPj^`HkmE(lBQ|T(%P7YwjjU9j_ zC-Hw^KBYNo;vz?7hZ!O(yT5IoJeO_m3F&lJ=`y!NrZO)WgVAeTyy$zq^s9)%o38ol zJUlSEz=WA2BQZDrz&JTcYz;jduW6Rw3r^eNv_1?W-Nn%c<;@iZFx;j;nMi})7lhIu z5cucC6<-qfuAVQF^guPCTN19*)X;LcEJ=SL0!u@h3Cm@iJWU3FI?%U;aB>B@^Y95^ z0l<`77h0&qE1W&P^Rabi#wEw_;7Gj**6$OUkWf7AC=95p4EDCVe<$VmSb`ACsI*2! zDQx%~1{8#AI@QU{zw&VfQ9Tz|kYqrVoMhTA;2BK%+qp=5VA{ing>m?bKOKeRyD@)y znF}L^(DVC07n;mv?YXSC#2vF7Mc=wDsF>x=e5@#9SP;Hzko(T~a9}~UUigV|vA%rz z{8w%c{_ip3m_zdoZng$bhvp@?O%Y(@Ug+i zWr`^gK^C*H7Q}<`i}l9hCvm6jU{efazq0RjT`3=$MxVz)zQmrguH^M@8LK@EU?Unf6<9?jx&FH^FBQ=#9irifm->oZo-k z41L6cn0&IrI3p0K1Y}+}$H>H;parzr8t{JTEa(hFUXnN@t$#p|&tv;uQxRr(@!$09b zg?RWGE7Dx3E~j^}3j=sqDJU{!C`Q;fBGx`H3-va?5_8naavAIvjQN|e2tjhJkRLzh zZAOg)W4R6&?N~2%w|IZ|_T3a62Tkd$_dP*SxJ>$72S@KWU9!r*kfuWUF7mOwe|Gp) zrYTHwPEQ5gBNk>?SyCLOaPr)$ljpX+hN?TKIJYbeuX2MgG_;@%-Z70^4IrZ9ox@D( zgH6FUCj}*XJTLOW%W}w4Ob_Nt&FKX_CSAd~&T$^o&AHM5uL6HN_X$|eYbjw$92ukR zQuN$Hm=hNAan8c;Yu$>zZl>R=;~#L0DD&yLHk&d9_lnuWh%d}= z9P-{jFzEY_c65I>K2_k$TZ{=REzTbh-PymRrfzfymI8GX451u&>xa^biXk1i0~;+U z+3;C1{0j+|dQI|5JlujmV?po<2EyjF znoP46^?`r$t_=g_ZH46AH(g@p75U>Dye9ZF5%b%ZgRTiXMvof)Lm?&L&$xYzx&(@a zm*<1-N1SR(*GKJc<4?p7g%Jyu8yUppT!D2~Mx7pa2s=#vy{hYZ4^`t+UEDfMsAM+Ub@>DiN^xXxy(7WUw9 zB2TUKXCTe)&ZG^Kp3@$)JcML?Whj;du(~V3H z_H}>JIv{`9gjEE$OrlIaVHx8oB+n$mta&}bRW}!a^2BXNC-B}k>w!yCr<}l#-yUKn zhULjI=jIX@TxOn|zSKqcLS`x#o$LPselD}hue1C(*@|4jPJ;@p!)F!7#b9d~TqhZ@G?(Q^cbEcsQY0*`mu4E2oDm#_I>70jsz&ki9BoOtL zNfk?XecZu{Dq?%lmqAL{xA=cK zvqpe({9IbswGH3Uo7Q#<%R0dVhZZYd%B|d5jh1q5rSm6fdwzKiZi~Pj#F6fe`3q`~ zlILJN=>|!;nV)p!CP{sB(+=`&B+g7bS{ks&8M6~J5l{vkXIHIJ(eY=Lk)-W(x4FzQ zML;wsa=dIY_ukXQ$xI;YX56&^dQ5n940{ z!I@5!Vk^3OrAZuwbNumTTp-Y(1nU%6h=Ru7D*2qriB4G-8WbJczA3o~Y7HZyEV-cW zQCeVAZ@QWErkju)ApQgdz;|OPp(kdFL^@;L&ta4xGI(1b&ADFT3c1(C`J#ViQhG~0 zn5$<}lZD+SSIOEY-_*$B^v&d23EV&_9*BOEXnqh6{9hF4J2mGQf~t$&5lw`FaVrik z1!^^pm9F#YC~j&f`vLc!ZHOt9@%3L29T(X%jSunck%8Jb`}jC3iB=yF)pAE!~yjN zt-d#~K*sb$zjh?nZx|90oe8xflzqSb=7ZUowT{aBJPwfB!-Y~qNgY1%HkSnl3Q3#6vw%ClJnb-GV_+Z50EfeRx^_Vl* zBR|Wrg$EX7Fp?@TalC&q_qciCT|19q*d{n;N?fheQIqkGT1ge!kgr$>SzYX`)n#$+3~ z+zsL|lRWW8-h!y9?*vQ*q8)b}c85wj&iWJPhjLRiod=^jw2FXfr zSYpJj{CgXn4B~&J+4YDJ+(R?5=tCb)SDH&xbNDm5_x+CC-On^1R=zk7kRjgo%Re^2 zTo0prcnxSrzt5b!5tqEQn|#5l+dGEHVS0Dw7;=K?FUc`v4SctVyL}iDT7Gxh@MUyd z86>tqE|N8%43byy9hbpKO0YA8;UTEwHiMkRQK*a&Sw??~dDtpisl-~rXwh!*vmZhk zd9G#I=h=mhCC-HhxqQOKWWTo?=bX>v3)!J%v?I>?1!jnGX0l5RvWNUr{>$j=F!Ovt z*5bxS8Kw34tYf-2&YQ^@aBHS zmex!a(`bJxxeT85@vH*7S<1VWR+3Hpdz*X|_U0sr*)mnShE2hs{(1Q=xylUcyUQOz zWh4@Z9bweGcGsELej&5ly-!KKX_%Rfl|7Vyi*S9n{3-cTu6r|3!rX+(vEBf6^9vbD zOG%y5TP)0vIAXyrRaxBK(A<_gXDi*5XPx?GNiKh&!3t8<@Qv~n{dt?z@CjVw&&R2` z-J}8on#vryx`B%!E(GRodv%M%HO_E1C;>^63JyEVo0$~8Twr=3h0)~i!I*TXx2BR; z!Gren=G2Og>{01^^2))bd`Nf7G^ojo^b!}48T>uDzwC(LqaE>;?T8<2M||OeB=LsV zoBn^E)TdwFb;IMp4jRnrQaaTrzVhlnIaQYQbB-H`fKn&6pEwHo0PLIg{q-9V#hpAP!YMIm1nq1N-oM z8)2B!giSa306XA#3^o>h@DVRSRvGhU64rl3z?$P~s8I?F+7W~f@%^1k+VGCL>b zO!O7VPXJU97*UzMQ~=t5`ScRFX?{KhK79b5AggS1zX{#-d{`7-6S{JW;AN=$$o+qj z>{7yH-nBXVJ+*33M2~Te0|uOj{Kx^%ST1}e#P>n295{{l+6*#fzZD{=kcVitR;G#} z#`KVb=0RkpidldJ3osJ|P|X+&RYk}`>q7PDY!V{*GbV>jqJq~sw2huF zMsZD5G(fr*_f&mA*Um+i>}Q=*Y{Gvgi{7%psvr)m_Eqm;>ijd}CO8xhb3G-5Kgk@= zo!bk@Ik#Fo2=VWAapkf-Y{-S?2COqIibZ$lN~lw~A6M6cY(-dRdC|QXUcjqRunYQ8 zcj{<_{=xP}AL6i53@}HQ);9~=3O)DD=FhNClY-L$Nz2Jg%%cN1WA7Xs0D*r1s09o= zmYH149M8%XfL>=aDMUyRvDx+lGoA%mqX0}dgAe3$crk)HosjKLM!=|0N4y_m6J3 z<2HkDiptr)xYZk*0nF4ziA8v1<(?$`#~oPSHM+46QR@)->roAa`6#IMad zGmHxv+8o`hdEc>rQVN)tm{}mxn zJHQX3J%*xoKKC$Ka&muS((&yS=)yR+pUlCy^eQNBIJ3>?;ac$Q7|(DXPO8XsgiHs> zWS$gPa@5kpP>s)9;qmDxIzAo5ho$!PQPP+`__@QCG0XBd(vThrOiA@S!V9Ve;`USdK!mPMn&j81CQ}%?v~t zaJ&yRCVBNo3$OwVaR9YgGmH#r!7zAT$mKNR5Gdm?-8XJQjImo_7eaGv=dEI9 zW6lifc&0G}6pu2{70R8Nc0%_j_GG55#!=qN?09AtMTeJmF(mun`uG z(aZCi_=wbC$xH4fkqV16XMn)~rEkG|yG=}NCVB&$2v`8+Is`V* zc;zz%O{Z66yog*s)kp$xtP+4TZL2vPWr$rQZnO7#$RK}(4iS*jXmA?8eaEr-joT)0 zg?WF(;DJrK99QmE{>_CuhKi6IsBpr*iA#v(8K(ruRUB_7PWW|n-fSMj^=z#vp>ndK z5eN!Q#FcS+QID~$bG2hM-i2Y}3|&sq=3sCb>4u9j=B``kAhUY7X(fCo2OtD<5u)r4 ztWU6s)Su!I-FyPWuin%75go|AnHGSYrPhCFK+LA!gi~ZzSYw$Z!#whK6Zu_2J(N`X zpmz~wmTn&op8AGzK>fpla66_X7pBSf7j(yn*8{r*;x(!IX)AKF%`8A3`3aBnd3Pcx zW(X}BRqW*jW(R_-_stVMDF;v=t0LsWJ0PSZmVY2$WiCVJZ?`xk$CF`YIS zR;~rss)qAxGSNsUnsdJpje|-HBlNA{iwwiXmST1i0{x?h$cHD2YZ?*l_}m*God1h9 zb%scb4mks9#dw6USsug+z%BJFwpgI(NU@CUQzT}z;GN+^HTt>Hh_>M;k@08~LmYhy zB9}$huc%G2WW9gUI(IQt8aIC-(2_~I>@tva7ABQrQTNt#yn~sw=6Ya*HS{}~kf z$K2!jX%{J15Xk11SVTw=u{hh))ss3a$~oQ~>e78uFSk~@h;^2+bGCn54jovd$tK1v z6I964Y#}YM;$a~^mnom^4c4(0N7?&Pe{{7!%udrfuRk-he}|cc0G>ZFObr?)`NG?h zV`u?Frec-28AUk13dWvupC-*n_u?g#V#h6TI}x7q=-wwHLo8!0M8TSE!sO3vhDY~a zcwHm--kevr#}ao!91DL3L;J$$-n!3!p$WdO0<2?lgjR=$rh^~=XAox^L9)GutT`%x z0Snz!QAIU<)>1DLGn8V5Eg4D;lF*V$j2o%0R)n|nep>=`MAZqHwAAWyHs-3mgLAYidU%ZGV zQ@V>$nfpXRV>FIBBGN~a=AtB7jZGAnhBPxSMz`O!eK+Pi%!aX@>zY`fnQ5K_^3V2P zkl1>_X_F}+0azbJZOLo;LhOlPa$M`$#fcH8E?Lk8{iDjV8~bOTVwf{rN`&eX9J*ET z=1=+hfbAjb=MsN#QR4-~VgZsRhDU4RJu_Ks2(nUy+=754K((ZfHsn4L=~SdyHa)Ki zzRDE;h454fUE)+?FcZw86@)a%p6k^zgj=)T`Z^|ogv^z`i$n)!Y~$fyJHmHnX6(+R zy_u756tQsrtpvOcIrW_KBuXL{N(?CB-KIi931ql=2Sxm;D{8F_R`Ym$sQ=Z8VD-@Fp_IhyQi%u)#lT|F7&ey=5 zh%7p%i`Rd7WKomJ5F$MNKyXdlbrw)F$Vb&8UuG8#htBqBmkY?C>msj|C*rd<Nv?sSd99BbehD2{HWRPVM-etUmMuKAmS#Yz+)7oQn@_t&u5yOLE) z0@pwcp!852J`pWwe2^gZh|F$J`J#Mi4H-!`HF8yPPIR6{9?YJDO0ppm4v@9#n~&A) zNn>nrDp>iiRI2B=Z5KFrKyo&ap|PlZ*Ph8G)o#!(*p5c6SbzBuVD4eXJSS4n`;^qg zD+U8F{PCCa@&zJ)Q!QOwcyxd9;luk2^U3e6bZO!7(&PEcL%>n~*-szbzrT22Lp=Oi z%T`;C>6Ns(+Wd|4J$ShA`2O;zni@bXkAJDjep4Abz{FowGp91#yNxE?V z{wfqJI9sI$P$uZr)2B}#C3f>0(x8`YR&y2Bh9@VO^h6>6Rf6Egv@ZK#Cx~sp)Sf-M z8o-f*tHBw^Do2QDO^`)HeULcWYJEZ)KLL3w&FW*3WjMcNxO_i-xK(e{|8Q zm52QLOkQ{Bb>n~F5!gr@NVE8(L1`Y-?ezVb#YYc+Fku!dj~^h^6f|8_csp%N;cY1# z_gr{e3a8gxcv}h|{tw&=hv|?DA4=i4jSDyZ8TC+0^=6C9-Tz5psyDqfv#^ic4^#o> zA6M}Bk!sA`)1PjA9UVtKu#B2^Y9zR-InqQQnQS#%*R`lZHeC5%jg~bOCii%#WEX*%0K790; zvSy1eQL1^en%w5uUqTKrmvCf-CcpG3L0GGQshJX`y(N*6v{oexMcS!fEVJwu^7JzZ z01`H@#6nsA+QnkT(Z{0LR0sv0Aj$&__>e zM0vhY#q2?|=%^%gdtB4f$&=wZv$UY+g))|NFNLRi0Cg6uJCwypaCMhB_5~{eT9;(@ z1#KY`t7&a}ptuZ`UVe_7FIdZr_TX+KYoBzYxcaq*O@415m-6-nI0U}E^#+$N_XXxG zd+?M1po`!}I5~lrXix$_5#pu%63T6_b8~u6$j5@$fq*?CISQzNNwK#dmq7RhH5Yr^ zSDm9SBH%(|SjSx0&(l&HRd?)rRhNwT1wjF3m(KVFFMqlFjKlQE>o{y66r|1Gx=I$7 zo9Su0djuC7J|XMVge8qS1vHSLh5I|OL?$sk=fJnmuo$1!VJ%`GRcrpBpn$ytxE1+{ zzHdTA(;pysgZc%~^Bp{)(r}ocCwH_rQTgsTo%t+FK%8*O2~JM%-rgxMcgONFJYKd) z_j-gy2Y)Q|_rn0jJZ!Zw2~kgEip&P4rlih~cpUJ25CpitcC}MKB_RwXbzOZrF=Qd+e@b6_CG5_fup zom_X`U$EI(O_`76ncT$O?Lhh=+WR^Ljmc#E$q6xeJpVV#HHeNhk0-uCwKs8?`Sc;Q z7UVk&DTmn^(W^~aNY%G5x5ZDb34?N>k-i2L)~(k7SrY{U3=_#hme#3T1#CI1Ly=!| z*nd>9V!xrCt`cxGyPFCedXzIpsfX{3ZD(>W~k4iw9o*U+B$!S3lqmSM#(BNvJ4 zXndbR&4B5O5#k}Hv7Pw$uh+fVlX|Dsz8d{|nQrT&f74jG*t_-}>H%!4Q6N1Q-+yzJ zEfo_WuCUm^NYg!SG8GGy${3=cM|^i^_e*=A*>VK*8!wSXF?;}L=n zaDVVylHo&_XCGlhArMCde-`s}tk5w-5_mbQMWUmI0PY}imcCN{k8aMa`VKC7$$-^NPEhHj@C_UQ0=*5cl9E7>z!$$bqUXRy;j$3L)o+C1inDPbO zg#`+yc;HkfIfYpjLD8)MiW6>uD=-kak_*DTf6vEJ^k><^N$;q_MhMX_=ek!7xZxL^2Pg&kI$=X@2bz< z;dcF$o;G(XufM)-@4ngn_9rFfhr7?;40b;w$-B)DxUIdRhaZ0L{_*MApL3TVpRFT* zb(4y&F4Ui&wRhhg|5=^s;(vC1o*w@G{A_Ui;&lB1-JsA<{PPFOJVU16DR;H{oIKgs{CQ3ihgtZVh8UwWSZ4}a;XBP9PjqxkKgDXxuW~mnS0zs_h?sik156Xl<%Fi=alMU_edAr<9pFP zexrL77Tx1}(LKJ0`+rZ>HJ;1-9}gwoSE~(IFB;!((jS=L8$3U(@l@a1!?`&g8vM@9 z?F9X`wnpQa9gCm(FX;RK|6k@m9w!>0xzlgetHOEj*5EsI_XqDj|G9qu%VKS9^M8Ef9Y*}!#@fq|XS<)C z-R&QL6LrDVp}ZR#bA!e8?$-w=)ff1;GjsCx;?d0cw-@W({_EP;PKExhSHC|v0nH5P z2AbIU{ph>Qf$yg~Ux=Ox{dsp0&W&}ym?R(1bN^cD4*r9f$%#IE7`$*J;GK9JR{(a! z?UB7wEvdRaxqlX_S*ue|o-8c=h@U|c#cH9<(*-{UjYEln=qh^k^c=%=mjL+K~5c{4MOr;GDbbbpMPq+W#~5lUeW^Be{-J?1!@ z$HYKXBcFO0Jf4x2)O|H%|6Yp9cocdCdU6c>EdJ$7#qIBAG+XLGl!KrF)IY!<-q z=|zNwpPt2rE6&Bu9GNcY!1ug;b#Yc4C_7YBv>*#-$q$LoNkndN-Cll@4ip?NdqDLr zI5gE%w30bLny8%hC9FE}elCz!xkI%`L4RG@ZdK|4xvwPGn6n<66KB!uZ-J9dP$Un; zCw02Xy=*~_(P~uBVKzsiDH*%;uzS>Q;Wz@>$4xm9gW{A9%LR4LRzPM#Q2)T7E8EeK z%!tiuQ#(99UjKA=+xf>+18r6ZbdqD(dV=sml#5(6lLa0u;3O9f7677dpct94a|`qX zMvaFubb=;w$d~p31}}dL)S&0&y+pbf7nHVO4et#|VXqqgu=HFqXNQ~_f|o!rIfH6jwO}U7vfmJVbEfeUM{%8_HBj@47QXAx4 zSTA9EPI|^nos1z9zl5&F2SX*PT*i1e*QT@ub)T^wzdkEL?~H$Lf?C@v(LTK2bn|}p z3^I|x2Jbwy!NcRvb(hqw59BBFZ^)X?4WI*2yTlz!5J{c-m`VpBA7chbqED^QP;XCCn(_@knH!o>sK*$0TOd?Ins1aMqNX|FY*Si&K&$_T?c2Ia%fEfb;E+bqPfNk_k1&Z&zyd@f>O-%?VZ!ClGOtA;VMoho3C!0xT_WLkb~EkLIeg}e_K2NTtK70 z165aX?~n|?u+lZ@A?&KC5L)q(*uT%wHbVdOY~^7p#%WrG3Bao31MvEVVNZbzuY0Sm zoMJ5mLjcnV=RarmSGlQ(dkk8}Hw5yJUG9|Jb2}odIbhne}3Nn(05d}${ zRWS)Zm>O;!8#OEhr|~CA0yz<7Ji98f!-$@~1Xn>2c^$8Y?1|jM%ih`T< zPWFDgbq-IAf^%t@$k*_Or1r&H{i4po1hACjQ;Rd21fcH~CS#cR3{}!zHE4lCh#W_+ z6ti`74@L^=$EA8`-+AWU?K?QqJWKN(9(1fx24&JFN7`f8@lc(O?HD@RiwR+lJ5UP% z-5FW;N4ary>cI+=e{u;i)l)}t;p9i9Z@~YxFJ_5iV$ZYvRsg@fUsX0a(??EE15*N( zqrI9a2IN}B-X|Z<9b4t<%!?|saj5}KGyx$0k$dSC_?BgRMOWs8B%2^t_X$vmKk4j4 zrV;X7J1885jM26qXbcYq*xxE%rYxfsV^GMs5z#`WyM(JSf7(wcv=+&}9N(fYg={{8 zb?9apY)PELRL8Rc-bF zd9A=KJ{nl&miC(a`2pPl(~havN9+K6>iCM79?42AF_kyCVu&m-s#FL>Uww|Q5Ku-L zuCcw79rK{Ce==k=QTJGgA87;tv<$A0K1UqASwCcer!tgwW(JeUCJx!hU`wLa2JlVg zW(rp;Vo0@E1n}Q#P%s04pXgiXd_-%> zXzqJ+xj{frb~mEvWJA~ST(5tm?Xb*{76LT(&MlCFmfQ7N;*O(sjBP+ved$PU01RCk zIo=gEe=nRu&b((pXaXCm@Q%WqdgJrI-Eu#g2AErz%m$eZto}w1$&n-MBTrocO&fL# zuRNxwPG;`OtpTatahKAyW(#c0mWtJO-8^Tbq!JM2!2f})dy6>m8|Wbr+Zg&?wQa%Z zDiorBP)3)snRK4Rq=*LD6eSUCYy>vD_ z|8u!9LPubl(!hJ<71teRgB(1f+3`1Oz{k(v`b}H<5^Bn&e6Cnj~i}8VIbNjf}(S&mZP>-NisPLNexL6+#P-T zfB1^?j8@v&`QpS%Sj;l3a!GVb<<3GRgAC)O@1Yuy{g>b(u=ixYDgsLPP2Q6J&KE;ACi=c^a)t_ne~&;s zoM}0WM77bp$=qInu!X#DMN8wRuVsa_;Ue@rTeJ+L$N7bL``2_`>MOOe3d@L2{WS4q zFQTdc4-x-Nv;S+;|Ay~m7XT)mNc zcjW^q4#R^KqVG{qG0B9I<#)O=N?0wl>Hu_YN;u)n2fsHt^7e)N8#jrJimJR{kgK2Y1Uo*O5H9sWC2%Y23W zisG;MC*pxA_)X|PnF9IF7f5rm55=)-0v0`I-Q$VFDBYn-wb(sM=FlG=xCztgr(I6{ zWFr7LOg8cO4JIKSHnJ|Le?_&Ar`D}ztIp>``VZ{5bsT1lHSS%eMP%Oe0lIEkM#SpF zyaY3ige#~&=$>({_;;Hz2q$P~6To0CO3(=H zEj`$YMYn}RTM^cuVt*3)9-Om_jGP_Rp4hQKd5%ZA@%Wu!P-x&xIFEpS7NcfL^xeQ0 z<9&ZRTe~;grGqYT*}uYs2>yF9v^IYm7Wbt7jNeFY_?5+YzNvWdVW894w$!E>7JX2t zh8W~7Sad5gerA{d5O!j8&pYsn*%rr%ba*pO3Rfu5A+mxN?gIeLAl-mRuyXtak5-@? zm}=}DL%M=LbMU_ikVPC0hOSmbSH%DO8Yq8_=Q>3w5~D`{6-B8F9*Bo_K|O#|x6z&o7<*SHekH7Bv>;2KaVFYX^XE$xOt7 z)-3E0S6qMu8VuSR-oGRxTErWkT7{|5zwgNq)8;AGpUnwIVPBpsBRgUJO<)N!~#fdGIwcI|?Vz-Rzk*&LO5lZ5na zl15j$QDtX7hV7f%*qs}vi9LKZ;!+**aj7#wj>P8F^ZXwf8}jW5|2GNqWC|=; zRKfPRRewUBQjEyCa^g`tJ1L^H;!%6=WIydZNoVJO7auP?TJ6kL7G@tWESE~1nb~;& zbk0@yXL@>Jc1evF8W1G=)j!NkzOzQ>K)U%5aq8Tl*bK60QkXgo#P(@G{a_I^OU`NO zEagazPV09Hl*$vKOh;+gE)l85wYUSrj|iof)WjX%=16#z2F=F^)9>sg-tA&c+{acGr&fp zKxhXDh(K!h`8HxUiYohn4$( z3%IP{a{l20T`rK|E1$gKlQ(?w1}ER6u+}NZlpkA*<0nHfC@u(gx_1nQ?Iby~@bEd( z?p!iU2g!DF<>^~3%feOD5<*^1&0QrsDFS1I*j=Wj?ef9Y9NyobzLGB33NV^CalQE@ zy;|AyH2!Va=HbldG+cN;raQQ}bosu2r&}xEpQLYBz9V04@B4oGab+ugJ5ymqJ1Kb! zB@@?3Mc4K=_tV^B;1Gas`W`2; z_`RV1A;tW}jsMRs;@|zp_*1FSeRzz5TmVD#|GdJyXi*_ru=t_Hs&)P87yLikm2DL{ zR^6>tJb?qjN~YGl;>#Ry`JyX-0es7nhnmuV|9q{WsT4@cAp;|%nAHo;dG{ayDloe% zt{pi&6!$V*Gm#z#cY@E!q#(%`qx_;W!HtXg20PXK1)ol=v=lwzH-Q=%;?a_+w` z|0QYQF``_NJ19v|Sr#0Leo1q12f;7HpIL2g7XA{G64Vk$-zJ!pVj1tzGRV)Aee{<}=)%%^lJ>H*?`G0l1srLW)c=!BxV`%=# z@g`4Ma(Gj(SMqSy4|!2@YpWzL?Bye8GG>|Jv$x&l#nYdQ*qqe6HFR^0|s@ zgkdA?InkUoif-MaxVGe|KS^>>(*lc)Az==ZkLlPND{)#2#pbquD*Qtz>}&l>PvC`ycQY5=c_WmOp?z_iE@c`0zmtvR!-s^6d_UB1i=Pb~uYs zwcl@+CJ#W!=USc4koU2-1D<^8cLIFA(*; zKWCaftyRz>w_bgJ%L^1V+H4FBHV&InK1TrsDaujzISS@rCWj#P!1M3fOW0gZVpQ9c z@Z5X9^=e~z5(ebmKe6v`zW_eko9B3N#`t!Vfh%7F^9cJ~BBsdYjB`$@W(%P*H;vJ+-!^(B5&(PL?SA+*B0rO-dhP*ZmNGGoT zphIL_Qn+}1ih>2)@|}lo7DGX+E|_>Cw2G?C_eV!vM4_aEgqjx6J`FVH3ql-Uw5J#I zxI;h^y+df8z5908qjwM79ld*~cf#LBdh_Q!3`Q7&N^wrOUYP9lOJF`vu6k(8O$1J= z_gprs5B0o%yLPR)s07a|cy1x0t#~R1<&$Bo`@(yEcE>ODG%iE_Q?3JWNG<}P54si+ zKq1`VBLdySPlhHNRo870;goP}C<~8iZ>pm$TVyLqQ~t*fy`|OQr6SO9$&Axb{2(gF zG=10TV2t^=*1d#y<}J+;IPLEdsuTVvdrdw+H=3<~cBxNGp^w@jMFnE?@C_D5pQ=o6 zAS=fvMo6tfK0t2iqe4n1fq6mgp!mTMx0BXKEh<)qa!8~Y=L{=_`@lHE---&1jOmY> zr>%2p2E}lfRd~0ItRA39uO)6!B9+GyhnQMa2ec-8$zFv!q5|CzQc)tL((IfBVr-$N zZYAq~+LGD++i%&#{vF~TS4!%Pz$=eRCcrIbpCjWQHyt5wl{BOQaC6qC2D*|Pnm_=B z;Jp`k=XekVhyle~-+C>_P(o&H(fP+yAQ-{3M;~fsq4cCydeX_SS(~3B7|1abQxnS} zm^2Jvor(}cO(E+sL-gnXc^ObC*s2;8l<}H>UJ{ru$mIu!h4i$IU|E%YEK;%pg53{B z=?oxSEdr>A@bL_K7fykMbxTNz5O1FoQlc&ZIOjIM8DvpC=Jv6Rd^4?F&eZF z$%|w+`I3A}>dj;wrgmQO+DyMA$&>UI{*ru-0Oy)d5IJA_x|!m(vpTXZ>saSlI6 zQ!5|RlXB?>_a5Z=1dM z-EX!zowQMI$-t54x>IG^ow_j1P|!c%`2op;rlZKyThrZ)$wGq+77*ZMW{N2r=o$jh z(;r$J^nhL=$;hdhpRjl8+?B&al^4)=q38J z+{GR?=Jg_8w@vRt>({4$<11JZl^WA@aG0*lf>lfwn~MY>c~kl!(pRGNCuw8u7#q@X z?hG3bnoA>~tgdaiJO=I=@4ULdETaLsnJlBSvehhC=1$~t7nhw8Hm&2CC2US-_`8j1 z7%+4IV}PmBQF1VqT&3H_&0)*AQuf4yg+fbYc=R$TJ3v#V-QO*LIz+m~RY?(AKXr4E=dTwzAz8q=Dt7wDQcG+ZwVt?>-^j%T=a(oKQ<)PV8o6)x}r8wP-; zwPYbd@K3XzMuUW>vhM1Z7p6~KkF{~vu}*Vc))|fNbk^h0&^g9F%YZqhECU-t^5bH0 zE^u!e|1U?}DX_4A1Z6U8*Ly5(U2hV68~i>Nj<>0LCFb&>GWF4P1E%!)*6cxQD#XW~ zg8TaInPX-d1tcw+{@~DBG_BLNFrj~=px8)0SPjF;4NIIzsB9y)aVTv9k&x z2vD^4*VWH|2XCu8I~(sMqI(Jonupt=Rj3|~tlw}4deUML`XWKm1bdurLw<|X&C9m8 zO90ng1e+VhCZT)V+%8~xIw0h_U~3yNx=1chyb$(XAX9EyBh;L^^2eF95|!U`;RC0+#aZ`a)H<#xi& zg`c&)k?oE4G6(>4Yvr8~>*WF=A^gXHLhaTyVhR)ahv`3!22O6Q^u`bR9Pxw8L+pJg z@3B&g^MMnSq&4D^bv50Vf3 zGldh^3&%oyft^Gshqk#^+U0%k%Pf)Xi%o!knv-n7->5Tpb3n3Ssw)eDS*)_tHUFnC zkWauqX*ZMwp)S;{>0wevefSb4Z(jnsttnV4q)F(S%IU*D(%4`U{jOnI;VWtzL&e0a z65H?>>N$GTylgh0Io%4DASq<=;{15MR|oznaKrEoFfe#cpSk?;W6QXxPt<4JLo3*S zW=a_PsbmWm7W*Ic~B-0r#kPzP*YI$sRU=> zzua8FnfG!v;L$sCFuR&haMIlhAD_-O@Hjm4;wCuq+KU}}v4a;^P5h9JBwU}-(aZ;y zKA{S9;>Y;!00@XKc*Lb*8UH%eQFdE@IRTa>oun((Kf4`7R+ z;RUKC7z>^41?G75GIo{}x+U_p!<=CuEu|vKU;@g@GX5&;`T#ZB3yLKj#nA_}IU12?VwOwVxHB2AUTP3AzS6jD^y@6Q@XAseO>(qb1R zlPdj!?R``pltNyV%ND?GmheNs2(uHP2k+!g-gZNWWqjB3GGTdf31kEA%a6an=IlQSY<5L3`0X&I)7>_kLb_2Hj zoT3iC?e<{?L1YIU*#Icmpv+iyLT|yA!OV26O)z52k+ssLg~v;eA3Q{Vko}}}P7o{1 zsT^aPidU!!LJ+X5)!%H9L-hvMTm5`>Y2o3c%H#R@NAt^MX(8g@0xH1Hqu1 zfM+b76)0QiFWKbtb(ilU1|A1c3{-aY_BNLkA_hzf8eP5vdNoUZztfj$A_iK2#s6jR zOW4{-l5PJA7CmkR5*T-TUSF`R4{zO`!OJ!7#e-=qw1B3C#AvahG5`IY6A`&qN#GvO zd~@HsGhZ83RaRzJW@Kb!EGKMYN@kz6r?Xd10NVd~B~ubGKaivZC!UzYZl3e0$1|PY z`NPAo=axmfoK#b{)&UhNsjAcxWN-dnOWNDYo z7Z!Tnh)$Lrw|HHgspz4Owc`uPjQiWg$@V-$=Q*&Aq=MK_r|@0=k<(E39_A*-Na5)e zon|2s#X=cwI8P<18BlY7>?Emr_%Z}cpU9^PTT1dIR<&BoO8;<{Vx@@u@^8dttS5m^ zT!jtEi|g~ZU#1w|TBbBVyrd{`g|Y|@_o4$Aj(g&Qez06h+lrO^z{XEqcWO8XSX(Z} z3yJNH52(A+d@v#w-@eUQZiKgMul5>~)!Eu9tbvJx2o#{B)!y2FF?>*>`_LM_X{=1v z232|IJg9@CLT{?|3vn%b*;pB^wc&t)YD`s{6@6K)@35%%>P>^?2;$cCFgRAli9F^IL>PUNka&b0-w;KbF592#j zq&h5yqt!v}aJ9|lB6ck}3Ny&}*#s`WFq%N6&UgrcHRK6Yf9fe=bDM`2JvwPNmvHS$ z@C_^RGcY4?w4qpgXB!sk?F*tvfZzXOf8P=~1xdK}&RT7MEyc_g;fl5Y5I6nWrQ(Nz z1&&ebt*KAop3eSyg^rJd-;NbK;jSrAsqo@A+odYLWDuwcasg*b=+4=;T-YC9FijgQM zc*@5m#?%pitnT`3CvMc$1ofZQ9<>x6y3B5|ei5zdu=`AnNf1?9g~VUSZnpS#$*N)w z=1b!6!6Pr!poQd3x+a)#^?FMZPV!!7-*_Rmam^d&CTrs^bd`7jV|o4n==gUI>TrCd z_i!EljAPiy*5vvd{OvnLm+{r?3|<#q3QSKC5uw|Eub%~UQo{BoA|6DetCw?btN6K?#xKyi*J}}b^ z1dcy{9n)8JWm<1lH}Df$c5XDy{uZ3Qh<#IVyct7pr0O^T;MCgQq-u!99jH0Q4M!Yr zm2GPRjo%RLjkTa@2CvfETvUCTDmQu`;k@%0OCAqLL3D zKs&Y9ICRN+VYy!WKh!TiinW+K*QzQ-;|Ab=zU>n@#GN>`BJ9EU`_1D%6Jg+c75?Ki z#{PJN)V-Sel>FRfdw%oa0)RAcR==zNAMB$qZ`Z$*BCk-#Po~C%OVTb~lD@0{)R^r9 zMChP)xZkFN?H0)BskQ1W6+2dZ*IqS$ z&?oGn?wwas#j6Jo8XDZb-M+uK4SW!Jd*A*#7KDV#QVlwZYmkoL&ZNFoBme3Q??wM|k`G1fRo7 zTc~qxJ*8EcJA1Lyhj+hapOsLsd|3T|sdYFaqLT-WJ{pJngqEPM0%_@ZyH~GoS35dr zHqbY?BDKyP;L=<=?~f4V*JtS^et>4U;V)Weg2^CaH2`Or0;_?{B@(vm?!S$}c+4bY zFEhtpQrFsvV1e0!JZW@n$!?1Ugxc`IRm0gskg3D&sWoJlTSK6 zAH8SDQ^?VCc!ytucz*>7h3#ZN`R6G;kJeh;?a0MWHye*r86WBdEqO?LbE z(BTY>IKv8yv!hjv#M^p`GJL8~fy~7`0JbQys4HI)jyu9C- zA{Qv-N&GUlaP|=EKu*A@T)!7gE7vpP8-05hD zqYaGI=0(WgK0#ls)q++@vN8*;xSMA47XPNSlc_^dXfnBazOp#F7iRTA;q3DxDz~+`ha~zq4;P~E%QB{cNp#QiYr$cVi->= z^iXzj>2L&!s%K`dtMm+G2|=UWyiJ2nx8%gfhm~rV{VN93f72%?lMdh@9*pk!B-djsA-7#u7_r=hG}&E;Px?xAt@9A>hEAqUQf7r!MK@))prkC0 zqC9+U%dSrsDJOJ{(4p2kQY1_t(r@b(L?4gV*IE}}u4hxou`nx)B;XUMkO(I`MHPSR zLDw(b7;6uXe;WPC{^9-jFIm5Wk1A8Bu?_EngeV#kL5|Q!v+T26D~pf6IlX87&b%qke(SUz>>@+{KTJ zkFYNi&SvE;XT`7Us51Vm*jLyg`udKgJS;(DOLt56EINB2XTFCm$abQ21t-HfBC=Lt z&0*sSk8BLL<>*mlwp_* zVC=S21`jsDBt6)7;n=S<{x+Yz6BowpkUDGVbt0LE(s&o^uO;S zf7L;_?>r3qr^k@c#JN}I8R;tJLT45l79TcCi9ZbtiinhnVp8W*fa&|RZ^mi8&B}{# z_8>A*;Y+x?o2m%d$DDbr5U->Hyt8H%X1rXRN00{|WPTSknwB!<@^-uNm%W!SsFnct zgU9m9q&b4$s+n)@)V{^^OO)>%ZozE~f3{tuc!Erj92bgZse{}Fc8NQEzkd zAxG-f44;8Gsl~FZ9Pt$GNo1)S^oXERqgTMds4*aQza9Y*WrMnWaU5-_MQ1xJe{>RH zQ&6mh0uD|inEt5XnCtn^cM0_`%fLdhV3A;q@c|aWUOZe!^;0o{Csy@C07mfUqw5Ai zNY(~{aI~;EJo01k1~FRaQ1|Y{Awq9zfSjn=Ehp=Ot8mPXFT}hTBdRO-#bjj%%C;HS zG}dHoaQimo3xxy5BEXX!+{YVxf2X4nYJrYHu--Zi=!dXkV1VzcO-jHtA*91wV+X58 z@opT@jh&Qi09om^>M`giz5OGZM(J^wO8N4DNwgCknI_G?*~G;6UC%AGmoUOnl$Ip<7In`IrlTlvfJULM_a%|qiEY?@YtTF|qHbkMOv)PfdDiE8xJ6?^VA zqe;O?VJc0EIP9NOlMqJa_#) z1bX#<@|UiNHmmb zp~s<&3`GRi6_tAZEELO!B(3jh)Tke&tO#uap%AX-wEAeria7#|-920+kd$nD=M4xLV^@bnv~E$mmYuKk z9f#Ej77Gkv57d=f=dyaX)EkeATDv#5cer`Ll~ zM5_6os_C6+Wi3-wf72kja2p>BoRH}YVwJRKY`Mk}N*0GYm!Y5)Dq%a3H*>WHi(#P< zoof*}W19N-iL)?xrnkS(6$E=qWSs)498d4rBv}UUMY9yYl+F<|9p>}n$3J)4$2r-3 zmDg03e1unoB%fYx34kR@>{Tv-&^)qraAnADL2Y6T!=u_oe}XThcX`?*_Cg%3Dj5ri zzmVL7>|8|zod}elV-`9{von=++vmiNzB^X_YAH}=P~v)Y??0$CN)M2Kz{-`VlHB}g zKMM-gmf#)Y56>X@1LVg(&+P*Ah{#EJ1AO{K^(p=+;T(67Bd*`pt-z|)ylRxCk;MZ? zTWm?QBWi;rf9kXSTL-YASzB9?Yf+ICsq8@yN}U3RH9#0UosUZ?3o)FM1?A5--0QgJ9FM|I0EE7(y#}*u}QZqVg#8n7ST%agJDOA zK3K2hgQJ?mf&y{dqRx6RNe<@FU7zY4bt8dVt0_X4mskpNNt|M7gku$74rzu2$aZlB zg`7l4e?;SBS)&m=))6Ez%XeZSa|Geb?LO|h5v1G8G@&^gG+7~5X&5{mI!iVhcD&oS zZ@4en*k>Y$#q;NegtM6*ViNBG33H)0GLs%_ue_vGFhZzbf3deE@|SbCN*XKl2)MuV z75=3IQrv^Zuvac1FY;+vc%;3NmHH|u4I*Y3e;q-~pMSCDy?==~GKX*<;HWkr;6eJp zHFJqlT^*6R)Q-b5v+mg}vG7VOwn%7E*f+cknO5SR+K|SETctBEPVSGk-C4E;Xw@~t z%v$^QsD4i@3>;2*a9~6$$eRQQMmt)y;Fi8X7dR&RM^4=t z21uAi1{Am+2I`A$!lj%?V)2%^7chJMdDJY>2bF*ABmn3#gWqW3p@PI6+3Mr^iUDyE3 z0d`Jd?DMb$x^bN#iGf?{@f^(e^!HzxkQ2JNU`Dnf?etz+eJ`XkX#O?wFgQ zbLhEt`n+FFyrdv6K}E@LbjsPpJFkh)wyCK=i!dB@knq3Ui?6!nilUFuNJn&8DrUmXy+Z{y-ZJe90@G z)4pRj;LB+dbGy>UB^an6r5r!RXIrFD;o-?W)or~YsFSPIDf!a)zLZZCg8kCRPHz;c z@e$~kmboaFK@cE^!FrPjqSk9Z;t=438&p#kS!Nlc6YzFqmkhEB7|Ei=e-_*|BHz4z z?HvBJ0A;MX_(%B9b4vyoqv+bSU%Zt6z4;7b1D)2E;B z)RM;{9Wc4LB6o24Ia z-i;gP1T0*RT+`Ro)pHFkwgTSQg0eFETkzfB4D_@JR^y_ zS8~KK*t@J$8KYavyy{Ci-5Pw1!uk>DjI@Plan+srG3kiwy|EgPMQhE#-&nz76HZRG zVa~fFM}iUoNI zSxpjFx-y`He;M5yxWJ*F0tbNJvj^2D7+3n1g#U?y4M+ET>R)-3^d8U7#g?MmF$$Md zE%gGu+DXCYK^c&N49*XD14uY5-8_C>m^!p01JU1>E}jvBH9#E3Yu01{+y zsJl$$v*fw(nmvLN4E71T&p1YF!)0$m*)bqayL)NDaPu{7HF|N|dxPYX4W0_HZwdDbv3*YD9KQx)6tft6ZZL~ooZ2396~5XbuA@Az&PVPycVq0_-4Cx zpWIWlU@azZpzZ^@xCihg;a?=uhATMU0!E_fe}IgK{sh+{oC)1PtUv9W7-o0D7RL%W-l882)#^h zfAAy@MvHnkWD^J~BpAGv&w8aRoHFnit3L^FV>)i72L(`+ifAe)f zHN0Fs2BLdB{;{DxSZEZN|4!|VwEumTYD4w*xi3~Ae5=9Tnt@hI6FOJ;@iue zwMK9Ce6_W)sVOA{C{`*>@cq%p{)GIX+Z=4&fp0HB8uW-j2@p6F=kPOV^8m?Lf3N)& z*!$=1OM3uhvd$ni+4=`01jYJ?e|!V1d?YG!H=1v;!EXJyx_+;^dW;-oZ(+Y*Jw`IM zx6S%n@P@4);dA`=jR|tNt?aD*T-})HjQ-x(k(S|e{cM_@phZ33AiYf*El-*e>*p)-!~e6 z*UtS2GDEE^zppWE*;_c|cfY}CPk<=nVgNJ!pbYi1Av^Ht(>RtYAr9iDBk;SQsuB6T zs$smdyf{HPm!~!GCM019gYo-XYxO5{Q&>O8@cq5<*Lrm8Vgsj`w4$HFbTe5VYjn83 zKY+{sxO!aQU2S9jj@R&ae;b7L1M&PL3cfmlsraJa*x3>a-&siCx@Sh4UD3Tib&-Q6 zLsbt@QtJ=yaB?nBH!qsI+yB6OE`-_i$0VtU%zWY5a}_C4C_?BklN3jUI1?QJ^C?f5Z5p?3;cw9Ah&a zV>7f*lFiVfAhGpnI}OgA-?mjrgYe*o^_awDciA>JkS53UTz&kj9M-mj|)F{tVF*80%u56EQJp;B}E zD855Ir0yI@=mEnb!?EWPf#!}HkBGL_U)xJ&?Z^-1(drCN9$^hSJ*K&jQ~8nHf(1*A z7=}RUtm4l05h)Qy>TV%L>Ik0!>`LtS1(m7;1Pw_JDDP7Se|d4}!S`JfWvY}_J7~#t ztb~s~v*n&d-G2I%SXz-!yDaqzd`=!nf~T2tc8t#8KFGBM+Mop3U>*X*d^mtIXoxw` z0ytC|H2sNBrzZ9|9wOA(Xwe#R`U1MUi7#PDy^I-EVNgdqH#Eecd`@D@<^`e2l6Bq3 zo2Mo}2h}Gke`!j(%YP^l+d9EbCC0O5wtc$>oOp_3)^q3 z6YviWykTYBKms>MHV!ZX`lhmX6ipA%wlsZW&$8TRf6(HNAxMZy)EPd5UvKK`kfqS~ zrmkp*@D{G(8l)L1jB9envdAKwvCy3;qW|7?|0DnsF5LHe^LV~%s$KNi zkcTgIf4{3<3RvaIXg27`E=gzcrMwt$iS(A&_bhtP6~bF0+d`~5{Y9xuP@Q#4oGY9s z@#KPy$74y*~h|nKMg_L1!_ADSX#d=XUKm6G z9(rC=I(V7DpMLh-A*HLK&9g*Y++ZaarYiABf7H&TUXSUZz36!Zq8ld?+1LTV z1G50WeEf22X;1SLf%4!{YR{J>GK3jLpt(e5$o6l*BvE_kU+v0@2*LUkM@&KDxQ@mk z3u2zjG?YoH?m@M73qi+B!&(TwaD*e6uMj@R-G9t*G?Io?6?!xNqV&zaGNQY?FsK`{6MEy`pO{aFy*KDm(Ih2b-D;5J(t*!kD2_E%BuZwz~ z34$0-m_E{Z`y`I;oz&`Bn0Cvb=v*SBf7l5s4NBH2Bti9b<;#=$X^oM{1ShuSy6ylL z)wJg=hrP^l=wGApZSM*LPR2oC0R4VFhXwd9vpZNstdBf)c7qci8|$KE-@-A(0y4I& zP9LD*!ZZAX5U&xUHT=Wq-ltD;SeE(stOr^@5~z5jT|ppOA~;Q-dMp;zpi5G7fliQrit0CFVSqUdez#i)48)NjglOV@=kiOJJ*vd@sS zuHko49*Ybar5qAvj!ujapt1w*e|R*w*!J$`Lhy4E+^o{CpDV;T-@%g6DHCeEG8~2_ zMqCNH3QS52x+2Jm_=8%VB`|ihslju`K+ng3mZ)pa+%e!I_>)gasbdg{@ z9nS6a9~xZ`Q=Z6F9*FWXLHHtktBC7y_WX&0mdD^?tH@RwXV4!Nio8V;eUW_CZvDHIoR-QwnHjjSB1hPA25ZxyL^jFf8y{sSBDu>bHWeD zTpeaG7D7_J8xXA%N18#+WwfnL_Gegu`?EC)BIrbzjJDgwPT24Xo4ev!@^fb5rn1U4 zMxZEEA&X&%9Rz}#i9@i4XJS2Cxv+n+9$=f8QUv95>~qzPg>+e5%WOi zyLX;A^n)Oz&lDg&L69*#Fc_%t|1@B7E+u?EUn(dD#fk=Dgh%SfhAD{&79jfmgzn3V z|8UU_d2O{r+Kr%4a-D(0XQ78N$6)CBje2X|H-+9pX#1?*e>yplrh{b?~aAk7LoN>~ni$MG8 zRb-)3s1oF__V8?pKDY$dBtjquL%j|JB?*4_0qYk0p2C)MgObN({ZouI082o$zazZ) zkSiVv(P#EiOg9tO^naox-EoXKH{bOwQf6wDG3VGZ3~SNZp%x4Y5U9e@LdU|trQL_Y z-G*Ww(SMF)pj1eBMx#QPXp?VL2`jblY@F%sZXDvP7{1T!1U@lG=JHqZ#c7b!}PO?Tsv(F zPxJfla2bhu5eXGBP@C{|_~RmR`yw1RiTTfQ*kBeAP&eV&y0#Tm(=HTjk&K*pAU-9a zW8S&)ej#&kI`!+xD#G>B)Q9n06YkTNT{H;z%6iE{vMiZwrEKLnyE`MV7s;gPfhUr)=7>Wow;bxV~ zNKp)g^nsB_Tj3&$F3w}VY^z98nAwgV0u!Cq#|oF_S}Wi&7^<~5{6!AQ$u^KQvodzz zJ8@WK1A&oEoCn#tIQA9MTzb!$3v)P#%xE)5gP(@#=}qxQDf)>9J~iL9Dnv>qN=I>F zfo4kbS$_%G6aBfabJN<~@aU;N38tb*MVADHikY5ePjO{eS)$G+@r%lraY>93(WYAI zeeoPY-8xSTI_Zrl6i+q))*MT7^WT#p&b-$mh>`{VZ4Jiq*}2TSdvnyBQU`163q=LD&nybo0O<9~^Bk}3aqg~OO(?zb5dK%R65V!#N~ z25V24kXd7}+TG@Z+5OGt=EiJmGoMc?%ZGH&O! z;ItgsE+tP#3TQgQgEPSQKA3H^1r#C$H-Fs#Y(e~u{KW8m_a^2Xj zRI-n0kL#P;-3M?3?bhpDBg#FCr2%(>bQ-bH2M=?XJPO&(yeu^&2;kp()&2~z+@tA; za{K-;Ng_(EyX)?PcXi>ktjI>__m#{13)na;D{$64z6Fh!@>wk`4 z!4i;V_*_QVsushr#>MQc50D%s^Z~)a4f~;JmUltV??d(PB^wUy^41H6 z&*t6T8@Kb`!uv1pElb%6*And9@(FgX?F(McyFyT2%V2!?@N&7ky==N)%a?Tt-?2%z zLq8h;x#LVKzoy8d<3Giz!x5B=uYY;nLTZitGt?0*n+kIeYc|CyyT5mFipXdLL#tcu zL1F4(V!(GYql5ESAI%#27QXbwnVO7nqT4iUkP zy@#hN@S<^THi77kO=x^1M;`c`Mqi5n)$Z-r{q@Js_FnDoKvC^J-aUBr8h>4}+pO6o z-O}ovX;s>A>9$-$gd)O3+ro-A*X3anJhm)gK)N=U$6)~~Ydr%kAWBctBDpwbZ7=cT zTL!{wQ*z>n<(en=mrtJ>cJ1=C*==G8@<@_A#p*r;F*?Sg>UJQ82z2#mcKbHnwTLu4 zhUC74XpoZ;s4sfuy}^XieSgNj&5a2r2hxbn-UpdIS>qU6L&WDK>MbBs@Nbsbtr5+O zA3JO?G5)ce4w;$=nuFST_)E$izqWPOr6_X7;7?i@$|(Ki``=whtO4=?WO)-o>N3G9 zKrV~-0fPfO;&E{V-$*(<+5s8ITN!gXGGWXmQD~fm(dzK&O~z0pgnua+&4}Pq?7?X0 zTj#oi{vv-1CX3=*z20@NInNtRj@zw&kbM=oboz0$hl{EZSA+X^L$X1i8wAov6v&CJ z;P>D)qj(GVgOL+12zK#w{19U4ACbBG(?`t7MJKGEY1ib`sG-j`iB;W zst;d`fVOQ9kfGE7&cfd6QWgntBig}k?^k2QF+gKP!3g1_XoWp;`}Go?+!lNy8iu?f z%T(X&u5;tibNu&Sc^VHc6jL3`=w_oUciaGPt=x1}`I-)_t$&Ho^7F?CB9MFCb7mVM z+GyGrkX-ysKN_cWI2~LtZHNBS(Ytubn1n*&pnfMd9NO2xbMrHaV`{_^%?Sr(>PN)S zj7=)MutUn=sGozuzpJ0Vrt*$%x{fMfYN4YTP$azjPw43lhV}Bm1*N&9u4_Df;a75=!FAO}68@WHPnBK>&V_iltlHGU- z6Hh2$T8^QU!ZF=TI<^x;Tbn3dLxJeYL{h|6X;gAv*Ve5`wOQPagln`4_is)4z&2{# z`8f*UW$L&m2Mf3%*2p=!0IhueP^4T9fC#;5nVH!kYkwNYfBB-ar9UVoX(E8pF%&4^ zEAMK zfg3T3r&tirhW#mg=%SZ1S$&8_#urSj=tTnDwgQqml(JIcupk?kZ6lVLVcENtZS6bX zH5B}=RmzWQJ?ob$SPD4R>x45)4oJrc23?)<4(=) zKwZ*pok}KD(DI~(!e1lwoo6_WD5A5Rlv%1TS$}-8_ak4boOOCED)svEl_eMHwf?m; z22>whdq$?Ys@Jq?ln9SV3m!)m(lidS8vNWBa>;TBlR<`m2gLZOM=gO z)(Oyb8L1i(m(-mxOK0^fFj4AsG=CvWG|B~-hIIA;AK5*B2|C2#ANpdG%Q6Z%lRbM1 zi!|rwsq|3lmaWJvbA^uAD&-`=Z9LQgH4?<*;ot(nfG+dQ2s9C*tW4FNP zL@v2K4OL}MpR(b)cE^#AO-9m%A>OwhmC~sbK7wM)@K>LN{-nZ0`6dE|mwybVe9mmh4u$!v_-?saP zRhNoDd0{1pqNrpq7p1HD6%@-#C5fmt@9m_}RcmrFY>P8!Y&TCv)PKvVmTOg~p`@Tq zn4g~@IP*^Wx^7)o^v;!MkB;ha>^ym`6FkNQXbZi;upEm#W@sCVEV}F90g6kU}hZ;hus2^!3 z1O$414?<)98^?&t1|pmjz#wzI?jAomhk<0Jx%KO(?drRClhw-FZ0&3QXz-tv{a-8F z_;IlRtNdC0#Im^g4*xs&#D6Qz>Kgw08dZm;TG|x8V5Ur9~wda(A@ z2103}80vV1bAM-hI==7`J?tAn)EE%S*_zcZdyt_9>fzXHyy@W8?M~wa2%Rh;(b`o0 zv|CUuUV7_MC-jIz;XWPu)eUs#J9eknJFw2oh{uQ^gq6x{+N*zuZ25wJp|^mFQ2*|` zd;e8u7JX(knT4tm@9t)?cTw}C_3hVFatX^b*NLxcJ_}C8vCrk zw6mvi0LC!{z~lQJTR^vOYi)o?JJzuV7xFghk?# zzVGO>_jc@|%O?l^6vt|}dl=L@aWwfzpS$$+pdwdG<75pEPNB%Sdj_C;Bpw>9Y`lB7 zvR>Udu2sI;#Fxwfav-0@+TE8%)WO9ceTwT#<$r6;IKG=`$nYC<@A()j_t9W>M67d{ z9dyfeW(AAt*RKy&zuu@}NIgV4a=@KN15844`%E&(l}57yZ82AZEX>XSDp?ZE+14!i z_{O{D%Kp2L^@G(afBpAA9v&U=m#~EjLs%t#rDM~@j=SE& zE=0VzN8}ZL-5k|6{|v8jxR}b22?siDKs|l5f&nyEl8&mI;7TP7aPQvA5Z?EGeS`bPq}H>FLAs z+XO_IxBp~_Jw+VNkTIjrFgIp>lvn(fG+z8*isZ;N;0N~N#?ILm~3^CheU@KiAW~coa?$g5YE=^2=eMy zr8nXPS0XX-DCumu_PaUsn(erNJbNe)nnQIG0X0N-p%}(?>PDZzTTCJYY#JJxhcvWj zn)0F3lrymt4}otUUP9E>>3@1DUsK{g=2C}9EUr5g>T+*v{Ca{vljhb2qJOvnz~nb} z0Sh+94e-0@9mx26$2f;mlH9}=6Fue8@{8%Va~-UUM!ZH9`?QPY^O-8x`Cp5fdZY@? zxrM&4{&Z)q{ktnD9soEu{7~+SSTAOKyLy+qt>2eg4kn zBTui{rCJMiDb{}DU8tOww@P{W4R#2R6jIL4kuJmzsudyHO6|Rzw;J>vtHXD!zDch! z$0S=3>z|PI8|?Y#vHlTQzw>+ow;u_&m&i4`Y2+J1F=-@}p(=d~7xhOUI~wqmGXMbo zbi^c&?Grim-+M2BkRF` zBGdR+vIe2MvrV2~Yp4A4=WTy(JQwpq&;vM{@gG|Va%*LhRJp?X306HSe8CT?)zyR1^PR7r?z;1sr@m_7B&>Id@P<$Ss zwvdOhhYpwOFVA<`ti2keX-NxfYYqk@YXge3#^w3R7=#4mb7ZxEB3g6@ZWsvsR5&7( zd|2cl%h+9a_Hm3)qMoc#9e)djjTV-U-0j;HvBg3WL6bxU{gt1{6kDvLz(qm*e3`tI zA%h*^rvRXF8U%m(d(S3~Q^_xz-8{p*cp7BZk4B|Mm4eb5Qp3W77K=%^Vy)u2;(NQL z!EHpUB`?IO7)$*FRAUcR7*4$Jak85SJ*B0v?TELhDQ44c*ksSg?my?T*H6(P@JB4M|vx_^!s_wvrpc3 z7lak#2B)A7d_3y2`CLS3xU=()v=7U)cT-t zSKG`+LNX8(?$YlPRtp6q8m*pF<2KrBYEJM(c$U z@Q#>Vp)7ysod}Kk;M1owN$h`1qUX$dgI48556Srt z0W3Pd1+A~HV38?INHw+V$o!=Jk40`p9i zieEoB_jcr;M&3~gi_Y4%QxDwQ5nb=T68aepAsT-bn!FP=Q8Fx|$I|%&2hQUXiW5x2 zL^R*4TpGHPy*7Fw@rWpI2$6*giLKy?_hOz#D$$o7p0CX_p|CVIHVzO1RrZh=ed4b`bHx>E+@e@TVvOG~ce2H!b( z$jpCyo|-jQMLo-_jWwvGcO7IK+4-{&_MprS^*>SZ`m%6@b!|J!cC<#Ox9}Bbb&*dsD;I>a+rYIB8#`~|-+%8lW|NGRs4hJJV{Vw9CbK3iZzDHB1(6D1W*Qt?yIs?!=i2;f%#6NJ&Cgf%As<7R?a zCS6;Sww}&uy?YHW` ze;@E4_>{k^udN@f!SoeuchALkhvEP2q1wZS-nUj9GGFg9B*=|9#;#3%51M;8LvjFs zg^xNjpz~C)go2m8dlQ2Vz|=P*MpbJ~&YAOZxgs*vLvm+C|IAGjIyrY&aYfrB#`K%h zt*YhV4r@p#qJgutofDB{w>CD|DarZye?QibGkoEf(K^2R_quWJ{!et{d^JaDo(pdC z1(~_JqIu4o3w3UbyhHy(eKNnKr)A_h65dTCdOyQ&=*BuzPsj6lU=N`e0EM;<2CSbp zBpVpAFm>Z;dCZy&=|?cL9QCLtO!z>UFx7v6x9wJ_`6fCc==>gB0=^#{glzN428)+Z zUc8Z)e_{qJ5?P{Ks&Y=(OXiM5ir@-@bH-MEJZDr9^o4 z=Go5f;p3e*J3cMKhkFFpFL5gc&VDgP13ZB~eQI37I6IFpCDH2hj)1uckg%$E6bK~4 z5)RY>f23bqkSf@6gdqZIWAZl^Qx^pdZ{x3tJ( zG!v)vyu)Oif>KPMbnnr^TCW7jJkw8U>!uRB1ten}D^M27EPS~-QZ0T5xMKQ>bXs5$ zWB)5DE6|9JY{E#U!=PiRRbexV$gDl+wx|sVf9KZVFSeZK#dS#`w2R0Bp_%w_`ZXnx z!>TRwK3*+@to{5(W$bW*xafBWoqc>RG7UQ#e)_Pn*}Yf0xYzgw(I7&$e`}F!=k0h* z5g~aYe3Fk_nr!zCTYL(U@EPFc@F~#V!X;QFh3#cTXvj;7CAYmiLF~!$i2oqJkKAe7 ze_uwWEF<0W_VQWz(hcA9@Bj6=mMUKIY*X zTp>lyNw~6Z`S94h9AMxb{8eq>Nex<0f2lcN$6vn~EmaC%QdxqVCr)x8y(La)zt@MQ z3g9I^1&#bgGEYPLp234v5<0EEgi?sf%w99+vONXD*E-aJl7-oB0j{Cb|DXVYU{T1? zJO%i&UNdQxuqKyj1=>~1T2Ppg%h)gB<&{zqQtv&*^gm3?!ep6Pa)v^F)pYDC{m2&6b5fVv7)V6shKn z!0keF?fDoPc@rCbl#Zx}5q}CvYj6R|b9S)HK7a~_ozX`i1i*RbDUbkqqjRq67vSYc zMaqzT$4Y-1s;&+|0Z~;IiPLADfBXAD78p+IKvL-U;JOb^44&GoJc3v5(YRk*0`x%T zDinEtP}{GZj)tSj8GMVP7j|duey6nr8UZut+Izm>d!#ofOJxF>$etJW|K)+nRJIGH z#sw@7jhJ;ZKL$QTvBqM~avw$^sM>I9sTqF&(*n+d0gNLS1Wv(7>FuXve}@Pb)9xv5 zh=L{5FVRU?DQdW-Kwa)7k+wSDz&N(a_MuUMK&}j!9GNg}&39ppeTb5;^P;; zu=@KLq%28*J~*lN`T6#;e>Hh*2?LOi6)ia2@a30)OTn(ALT(g?WJgRwZSA%$z-*?- z#7adu%4v+PE#yI@GEP^NwV+!`HougAxzfnr9``?B3rpoLRXs)A?-@x2EHy89dId^~ z)4sT5DAqmb?55|S&2-?>%9pB)cje|?681>zH!79@jk z-$HDTB@DhmbP%K&D{O)q~NKoL`YGMquOA?ucQrv^!w3jhXVG$5J1dF#o`UEI+hHS%}yk;IAFh)FvYC6GNH zM){L%`*Y~(l0;c>;rf;f6LQGil@>!dT1=ek<6w=E?qknG7Mm|10~~Bm)*=64*J=%z zMsQ7Qc=c?T&S(Y}0`y6j=4b{Ze{U;*EU;<78WZfnT4$RvFn5{+%iI6<0LejH`}Yp& zZ5-nD&RTm_szqoDc#(guH`^mgS>>_MD)`j)$_L2#^|~lM>%y?>y%r_E>Js1>d)S9$ ztML@?xNf_-(!)aTO&g%jmCZYMR%aU~b7232q4gYEm%G)gKfSN@aDC>Be|4-F5^E>L z@C~8DldG>TXYup1^J-KPA9wP{KrGaGp$W+ft#BxhR%!7l)D`9jC=BE9D%fkb1`&fw zR7lC?0>M|2q);kisod?R2$jHoz?~2Ox-4#7e{#Y?ou1knMH1Q-bqXIcuaql@6_2$- zygwM;xvm=h)s@Zf?r3V@e^<{iog|G@o>T;l1HEwkb+d}wNWSSa7TLmEVj9Y@Vz4kI zY&+Zl9olj~jsOD}5qmXp&jyoMo;=4$arS|cI7uH27;P!1d9WRY%z~y;Nf3`!G6j-n0t@aQ+ zDGbCszIQan_AOnxo?_Bwj>%hJdfqC+$~2Z#kkS@nN(-4xsO-cllsv|ov5q-PF>pfP z4~VlkX}s55vtM0qZpiH`u8Cw+m6ZI4yN1I`;OU}YL&l)Mxd(wQw{i5?X4S8O8`EAj zd8;;Zd0S+5wq}Sre_ubvHa#16*$T)%S}4`+*#nZZ>+Ub;@4!{HF$411SC4h&Xp4-e-|`jgq0M9Xb_&~QJZ!} zth*vq2s5di^g9Tfek9MVC;-;v1OeLdbqTbA!!-msYU*N{7)(>;E<_E)L7bhm2q^fm zuPz-=#kprV1#yJL_vk#=UdRQoyl0E?lH-Z(zNhqr15^Z`XyftP**;Q@-k!@2#$85@ z&>&X%t+fFSe^5Ci+4~fH9J4>Zde2Z+aT~x7E!cnt)7rv$H^{R`X=)~~X`eURSdkcN zGEOW$1hco=)T-ZsyrFlPL|KpNjZJ^kZzPq?v-66-?Jx)t1Ac^4AJ_z+#al?_mrD6u zxkw8rY$VO?LnbQGT=ysnA5%I)Dvv~!jvUnwwCjgk=$aDr2B%oTVRC| z%2MtNpe4K178@7$taq;wfsYFnDh-n<<^v#eqz>1e&wT>Y?e9$5%-9~KFE12%4ES5& z9oKZ_j_}5IWBogK;vF^HjnT%+Xl(%bBGN6u?ah=9*r#v?c_L~&tnTj8`_AZ8=H)rT z7u$u-e>j!jd&J{+Vc+QTSOPWWdpO3;rd#;-UjG=0kw;7YQ%3A}1!Gwcem;GyhVZxK zv(QEN6M%|P%JUc4Si7;g=C7S467!}juMJtzSr#96ER%J7%8P||xIRNL7Zm}v7*!r@ zmFZ)HKVFMjc*vFdZnfyX6L|}bFah+0APJ3lfB0Bt^A#jTMd~;5M=yIk?!aMpG#hki z{p$!djH*?n(rURq6ZWO3?@d+_p2d&0tZvy9?6+zC{x5T1+SbOAwf+7561!v8%o)_+#oPMW4LcYVT`bJJz#70F%?l*z!M1zn1AUqxK;qA#ReRQ;Ms+K1T6>L z@;L@s_RKfshQ~5Q*hjXlG z_%y>fQPM)>q2^$5pE}%RfJFW>gQc9!*doSm9jyOb==a0q!E$X3{NU(Y6NTna+NZ3c*Ju(H*nf2i{06_+QEN~ps&*rg^(+x^Pq2JcWomOji8j$Ax7KQT(O_VfSa0KAb!O4G3C%9ha?q z0)`XBW}Se@IfIm&D?r#Y0;3MO1v&Z-f8*nImlCOjH z*5C0J_K4n{=RdD$fw*yl&`kzh;JUW{)jnB0vFk?b%zmt{zUscp_P~VtI3rI7z&nFe z4km^x9_I9$u8BME0I!^6|5>Pvb+(W_`qsL0M?w*N*tmDEL-`DDf7ToLJI3F`d-wM4 z-9x0n&;9wsh`A)4d9#UKhWC3l?=Q>mvG)!8b>k^RLm2%3plw$q8&oj`=|WGCtb^8D zSnAl=w)*gC&R|KI&xB-pJnx51R>+IwBz_5@YaI{djF7BH@J%!Fc?gvf{Yz=Kf-QH7 zyhVanRYE5(VGmhIf8VN-ZRE)=ak*KUVhv5(ulvqOU4?U?)z3srGMUTHd8OCXCv@Ti~FJVYthrZhs7(4^k1Aw zKU80JaqDxtC4UQM6~?=mQ&pzl#~f8JWdP$%@a^%-w!Dd`qI zR@227CN3_}uGb=cDA1nP?^$67?G5;bd$a|`U15J5gIU%?lq*9H!q!1)MaZv0`?jVZROk zxeYEb7G@LE$hLvxwYt+aJ1>o#tn$crawj-xzEdXhavkAX)40OV3qgh7yXxLTgDcur zsSmib`fON)PcWgli3L4=gpp=F`!HyOnvI*Q+v_;be^wu_w_dHUSi?SGyOL=h=UXKP z^c$7{{Q!Jc++;U(%dZjdZI00%Lr(smo875``fWkBnSH~uXBb=2yy;B- z9m~H%{(EzrPV;AURLwk8xN884k!ei_FeAEm_qr6W+6_VP!VEw?H<_jsjyfbWHENoy z7;rkI2J>2(IteZvQkyITso_4I1Z0g&=5kMF=nd6R&XT9FiACd|U^!V`7LX6MtYT@_ zMz_3`vy05#-(X!JrVAAX#sL{`C=W<_QRsXc$X*vCZI{h$9Q3p>h^HWO`2;{@}nO{ z99^grX}iL>jc$}|Rvp^LYy<(=;Nq9o7{&tn`+cj6->?L~czQBCZw)y*LX#t;lC{2? zRzu0GK7V$6pfpRGsjvJgE4Lu8HLo+OQ61vf0>?P{UpOb?+6!xdcZ*veouoE-%0fv2 zGw_e`vi})QGu)Pwf@Wla>9;ALcMAQ1)0|wu&Go=!?Pj(^ZyYsG5(q8%8TsU7HpSh1 zinILEKsF0Y@xy5G$*Z;X7f-TaH`OwqVn!c08h_LHp#|M6->3?^aMauFzGe35c?~K6 z261Sq_meoWY>ZAQJBET)P4m&ld|}u{rlo=#ikE2=es|tkaeRz9e?Kbk}eGr3V4yJz}iRke0q8gUO&`{xaQu| zPJ0dFg##QSTodFjc%q39)Frg%!I(b6lz|r|^xUiSu=^{)kgO%~Y?3;S_{!Wu9ie^= zt+m+JKmp>`MC+td-ZjWKnyo@jX&@u%euM&uCmD+;D!a9%9>$`OAZ(>9QrfbO7=KZ- zdqULm!l&Rh1ltWi>*M0#HU*;r_Tpqp@})sdS{)Dr)s{E~Gg6k5wuq2Lq$#0F*BQAJ zJskN9&WX;v=*x(isiaGwX!*3X($y&BN{FyIz30bOs_~pDTPY|yXC6U3?rpuUoecrP zNckj{8?8Hgu6>I6w}hZZ3f5vJ;eQMCEZC#b`UXie$Iqrr24gh3!3Y$LNZ2JqKD5^aAgr*5T8MQ28_6JEHsRerZnY)VB>_ZlZcz-;U0ot8T zzt)lbeUlo}J!$3AWztX+JsWq=k6}v)cUqYdI^gs!p*^iUO|@Q3KV$w=n2i zIxxI3*+z+|#2j7mxW9;w`y4m;&@mys{^d~dFdaAJ+V<^aw!!|q)xItj+6 zm7PWnCzUmvRLwBV@2iWcJwGv+Gj=oTNeBCX<$%QzP}8j-;!sY6CY5f#ip4CE!xMit zEN!&Tl&r7l6^Q-iSFpmJs<>!s)Z6AzH|4F!w|#_1_1u!1hMN(~oAlrrv@_J2!beEU-#YPy1Q-k9Y+95~AdI-2M^PxUrou z;yR{2oaL#=FLi>|Xo}Ndt$=M;APo*LQ!r~Vm*^99iSB7XdgwdMf&Cm9iQfX;OkreI zc7bMKM_Mmq_qY%A$bUvmlw$xF5ikk*LZcx7n~R7@;_y6jgJ>-MdW&f63J^f`(`R`y z9au3C(rm-RW#%n4N>;j}?#0&>r{$w*%GgS(3S3VXAgqjYN(s;QS z6v#Xp(HDbTL;|^Vp zh$xd1sW46%&N5FMUNE%=qpV<7*aH7uEHXU=>EoHaDB*`Eiytwqsu(yJ)-Nd5AI8+qrTvoK+;Ua1b>t10hk9?O?sDt1v>)T!1Sra zUEO?8#tpsUq`XDb(WJDwh~$~jYIw-hF4|rq#Av%k{#21UsxdkGdH?~^QLiP(7@xEl zu@Xwa$0B8o69=$%4y=_f^gi8lrr7S+@WGZEDvEdT!is|RTuhl{w6JCcCs^UfT#3D8 zB_7wT#D9G8Np00zx>@(ZWgM^rcEdfku;PrUeqGG3*EnE*(WaIg;)Y`kqHjIMF6^A5 ziI8CsC4*h@YNp6+MpD}D-XJo|V790g##b8iGR-}dAZN}6J%0yK1xaGJy}k}Y1;%UK zeLTRB)15Vb{$Y9W9f5KmfS1YN&TbWME#5POo`0L&gWE~0N~2FMf!vmF8m_6dDnIxQ z4<(QpgcVP*PSR{Q@0C1KFoe1xQgA{ncjHYl*BHaX#4@{{Y^J~@D~P>81({j zBo_HSc^T01#%)#Ty&NaDKUXv^!}UPL-4tipNavQ~xys#sHVGKCP5YuDH(R678}K80`V-myi%&iBY!O>Jq63@E>YbKEgpL&Smf*T*e4@AA0 zZ4cAwU`iVWTZvIq^5j09pt{b+fn z!-U#>3HI2Oqq)o61OWgjTgxvL|2%t*EhT=Mrvu7}=_9M=ud#^DOrKMOg#881v46BGg%yBt&qU6xoizW5JWC^ijEn0goaprY zY4@7H-B|#~MUE^s>3Ag}zKyag#jB z^~xp`bvYg&R!s8v7^=SL@e@>c(SPFyI3h-m+v(Sh^l=0SPhgBxNCt{ZubECqd#@lunh7-o*l=9_|XXxa1|yJuoLZ=xTflot{3$$Ed_QMrg zCQPbFV(~q00WObl%>Z+t2XOW9fjR0b&kfgYHHPIqF}EmBXkbb%!^+mBAbjDCz6}VI zT{n`~bUda-1=~R(764hW`hUS&K_>d-BdLsAS38ofv^*l&zyzcC2zVApkk7;GTz_x` zWMwc$O#?zC;qLPur~Seef7HA}K|Zz7Dg**Yv_dg@(Xl`Tn%br2EwHtDLlctfxr%6b zB>YzWLL`o+3(aI)+}}UNcm@cGZcrPGY-i-YK;Yr?5J*} z9mM^5#*98YF3=9&U5v-x0Cf?R-s$<=Aqc8fLLnB0RZ>zh(9F0uD#@;15Y0EIID~&_ zd8UEvbzlAC=}I!`A(+QLTMbmJO*Zz!X>)OpPAwK57rSlzpkdw^Kz3n93M0@B*fB&) zCns*>EY3mrh#3pYU4M9@9Z=cR{pwN1Z+KAj5lpZVO^~}$IK+g)^Q%>2X1>{c7@mi_*s5^IL)A{*WX+P%l@zd_A5WCnwfZJ z$EyYLfAa&CI6aFG(J*_pc={`Fcw{}rG`TH8uCQgsZO~i-?tg(DRjide=#d87BlNWX zA{Yc)-^hi44%Xsin+PsZv~RvS@YgQ1+r9Dd`~pV;rx^HY;H&B1Ds`ft>rdw!Wb2Ga^w0ZX6CnyF z8^}9CltL@tmw$UPC>yu#9cN5uFrQv9${j-IegfD>bKMYvjlMDVl=l)14eao>XzyP4 zdA#bq?RPQ6bm(N_K>N?L{HGp(^3yP%E6g@wTr{yeL3)kw+g4=1>eic)31)0-Ne5T~ zhtrDRKP~!IV-3X5scS0n9P>xVZ%T}Av51oAU|gynt$%T`K|=uEaiaxoXl%!TB&l74 zmQr-#W=X|&nzY7a8yRZ8Xtu~}8%d+5x=XITi4?7o5aeud!QF0H1a8!#k-my?+9;2! z2*^=w**!ZnLykdUlOd!&rGPla?*f^o2H9P3qKx9eb<5~Rpehv$v*hht3XO(B6?zEZ zdEyo`%YRcTTyjcj6u5b^ESKyGC4OX|VB<^k12A;d_$USu4ACBMc3!_&dk^ksxV$pK zD5{TS4}=9(UN&IBh*WE@-m6GwMLxJqL@RnHHV~FvtlKO@e{k5Ho?NuRTlDw}hXRoup^=9o^RrU4-697$YqGkr zj693A(#_7^lgEfX@#+~gy5a5C>ld3HSRxvnIJ5>m;>im9;K^d7O@IJ?2TTtIR>#@Y zV}B@=bStnMa|K0z@z)V9SB*VF^Ul<=j1sj4;J9*eP=Sezq~Yx@3nVE~up=&(y+6 zo^~id%8QEILb~|mjIPkY-V9RdsuRlL!{hjrjy@hudbo#^$+CjdAt`x+7nqpncq^^o zD9~SR3Izw4y#=l-4?WjoCalj$W20HGgc0 zO|Y5zP1#aGAP4I^JmK~)hBOt1prYI~Kx&w|JX0LWYZwChB>aSjUK(1sWs6b=q*MOI ztp`lt*=v*-#UqGom}QLvJ9sKXfsQAlQV0w@o`&CGFl0sn`14F`f=)`5Xp+70Pe8_wKYU_ZFGM!L5s3#`~%lbL%f>GL1i zU|0dzV3TNraa;HXqx>h?V6ta?MbD z*X*4DPP5ksReWr+rj?dOu}MG@v9iRr&Fv~hBcGVQjTH>sOzy?}(2T!B)yl5Ho(_w3 zM}#-k?h0lb7;$&hf@7`3QO4~Ghas2iC504?7K$=G1Au}-Q*`!wkWk3m72c9$;++jA zr|6E*yc6{Za$c-GjDI4mjm&Z(wU<{BjsYYlemm7s%vR@n*%V!`ODGKN8nDLul2E;g zOIsKQPJm##tlW**~wcr!R`oqqrje+4x9Bop0*zn?p$ zj|oEDgmtrM8qus~Z zZ)e!@h>Oi4LVwIeNRF|HyMpT<3G00W##=ALK{adVyDBQC05IGkv4w|0v?=AlEqZVe zmmLuWV4z-#Qy30p-N4+XwZmjJMN{!rqmvHHki(Lnn>eMM&PHcVOoVDFam=oP?ge&D z3l<>4b?m9}C5d~?-d9tHF!4~z`1)=KbxBj z)LrYJ`zdBEPVs>RyOJdl%N5tS=#&tvPuz$d{UHehzbhi{&r#= zoqUI9;;JiwCDSH?Q-*(kOq=Yq)_J(Hpls7*l;kg9wIuu>MJ7R-Gyt};i`>uLAo-7r z+_@%|`H3y6!M4lYLRiI{H)=pBOK>2``5ofg<0j{<9DIMJy^Vu5u&8J2P&mR)Tx{;j ztVBUCAn}rr0ha~bsnc(O|CVpAGpItx8ZF~NS>9U?kd%N?!c-zE5dO`M250z%f3KUZ z+fAsH5zlH79z(npzLKIu`IAXRluHNEka}j|)j+GmlHwFFjF*r*`WCnYU121<=|pi(}5Hu$v&*Zc%Efh^Y8laJE~No9B%RtcPv8%?8dh$BQz7 zYOC6=aSGjlDMn2JKkJq=kr$Z|lad$W*O#7Wt}1`J8i?*T6QUWD>8-*>DaMA^L99&M zu;UM*?!_#EM-#ovW{6|EuiO5S z9u^RjF;ry+W>6}`)AFvMckQi9Bul$>*Q40p$ZQovvgPE-cVp0kIa|RN09K6S8OVFL zm64(hk`&BNbpI7%$5=3bQ&m=&tMn=%X`|b^O7DWYt$dk@TiBWt2TACzBM6jh zvi!a2n88+0E~D5_xW?3}3Eltn-_sP*b}iNwGAMBw&rhz*WW5skRbXw&Oi8p+#>Xa) zb^T_)mH*}svRlD`%=t>?f^FFt!ri~ruu6ZCxVgI-a@L<^JS!}za{pfQ)~Lkm=7>}P zCR!L}UiI^2>VCv6U>Jp|KWES`7Qhc+f$e3)j&yR%9TZIV5dF4{G2>UZyWv{KFmdBk zM*37kD#jl-CovzhlW7<;gHAWoY_+3Iqx1(*oq>bu01l22IFJqIcsK~CUC}xqPQ-sM z%o=E3kAqPG<_1xT5-1x;0qfvurZn0yz#6f(ihyd4Re_wN)f`6HUfvbAlruXtGm;Z1 z!hqx*4Cc&At)hDX)X0#x%TRYzC9JN2`njPn$_O_hsG3#m-R#g zkB6dehU3?CL<5pF_%9s7;;H43`7BXl=%Esua+Y>)l<~TfOJqGQ)L=uBJqF778<|6T~4DeO3ITdPdxGDi$BeD>I;xcn%MOfr;vFL(Q!NF=9_c6 ztHft&?kzGxWFySK!;{ZJ*)cd{a7e~c{5Tv<@haq*!*xOG&|WZc7+FfjwCMqN%$shm z+7$|q&c%Qh(J#Aa*p9iz!%5s0N8od&OSW2H2FCxHObbT!Q>} zVfL0RZx}46F4lc#d{xw0c1MSpeF_JuPEK5qkBLq~4=2mX5Vi+=^kZ4?Yii2o^hgdMmec z6?2l1>>4V7SbN3S5ekhOLiiFWZt+^=yu3g0ZlAGX(;e5ue;kkC`FcA9kb8&UkN)=k z;lY1*gWjJT=I=6?gewLw7xMQ^JY3`_P3~9j()xbouEkBdJ6gG`Aipbj717r(Cl+Wa z_JjUyaCtC-qlO)!RUXiVB9@xWf1}!caDCjo9+(I#h zSYMA}4M01Sr&xZl>yYwxGZZjqdFM*mdOUw9Iud@jlnb*r`b5-zNm+;n3Gb~CS zcy{fDBEXc`2iNQOz-G`*cYSJn13a*hMdl4)3Zu8&mK)Hb&O^OtSymSbu6M%8P(~mK zbA;u>A9?=rrE&Ku{`0rL!sQ$JK(`r^23rAtFf7bmG>*PT*kr6Hyg5N32P0^bwGS_O zi`8R+SDbd^5HTMy$Q1(su?WsN?fxIz1fey~oa=%gBCg@BmU(VY2D_<%dW5kmP(dH; z;msQ#?ga7nhIN39l0~h@b45?3b+9FZa~9wNFOVL#Vl#(Ch^}Drxyiu|djik~x`t_g zU{JL&$f#9q0+^G@%;}WkI>i{(zBBM?HaR%Yw=}y~APCwbxF_VBrJNS=`{D%up)9bl2POBtd2o{GPMDZfiYOTFq%PDk8dU115a(CvMN>&xg@DRfT>(s;X&blVG(v9FxCBbPcG&u+$=CiqJN42%X^p;lM*8Z-uj5b-fo2 zn^!@ZeqB?-b+V3ajgUGtgEKemt(?BnSQnVpH8?PQw-~z_gXF~#0rd6->18H=Dd+Af z^JCu^`F**x=?=rBOL0Mj8ET0Ks|**9TM8rTUclvp+A7;E2-IPp73rt|1mhSutvXQps*tadh!{h491x$ivy&<-0=}qO)i5#$HJ)3 z;}GRJA6SC0oyx~_s7PrNK+^7iTEJLaojf6N=3@cd3Ua179op;kG0GnrM~Q1_Sxpb^ z(6pggO>t@L_DEUzU0iHaRUWLSiIBF!c1yb- zdZ(-Sikps>#62z{z#Rhj5bxg&C)k9hbiYeijO&z^=Ic4Y5Yu3;^1Q--9{2vI=FT}I zRCmRxcFV;uT2LXt(IzLMQaryC5g9SPRTYu#?&9`kD>D@)dJvTO0ZXQk)?x^oYV$?E zLhg`A6K3gyaiZjR!sr&6z38K&@@pQEh^JEpMBD2Qy%CS*rX-^b`JmCkOM`HO8=5v$J6fe{2q^Gt3|27PA$Jmzi%IknM@1dC_JYgk-B^iSIt zVQqOrWBS3PbZt{bMge&!9_t@Uxb2!P61wZ_0ABy(`}wm#m0rSsTVnC>WQ5fxKTo@# z=a(}5350;6iC zbJqb1pY5?6loI8C=bJ{hB>!Dr7({8`zz{e|iWgwu`QIqj_y`C=c`97%&{5DbG&N25 zeEa1KP3dF}!yPz?{kz0|@c-|7HdGn9opw6(^FsPL4mB|g8n_2NK%P+rW9feAK(2|2G^bS}E6WpN&^UJBdSQu_FC(#VpTC}Nk zQ+cdGz`ZOlz@i-g!ey%+nxw!=RZ!QkCoA? z>iYaMT>Od&jt44yrbs|il#_rjf#b)=!J0Vfz2Surb)Ml?C{DqJMrn9S6u30EB#<=* zxB?QJo+`$0xhvkE#;DzC%lRXMo+t!M+de~vLMS+eBxsHZ-8x$>ip3-= z1=%o8Y|Y4dczEv~Rfs&cE3)5qh$tSRBh8ItWCgE=7pas&I@4(8>C2xF53wxyUqVwy z;}RyjI27`gQmg;oNxzOJUGF;;OA*)d*{zFzE*2wRETSvLD4si?Q2T}Pj6Q1hV$Xnv zMjwh0Kc0}tKIZUWSr7y_Ge^i#xWcHY3==3%0#~JlD1+N>FD$P%8m*I^!k1m`$x78| zBXp7Ps%t;c;$g&nkv?-^@QosZy@zBk39n|6Su==mV9+`Kh+~r$CuW11cUrJP&?|U< zALlRuJWSWldXU2#U0W$`VM1joz&j2P{dK*dPPmcm7}nsF9ov-&ZiAip+;IIpSTj(!ePOvK)ghR&Y$!{EUKZ~e{3$ol#*s2Y*5lU;*ykgY~)$f=L1kXO4g6;S(4oGpUPsE-e0{XC&Ah1eVEH zl7!X)b$X6f2m%AWf^-{qzz`U)R_@-_V+;#FUxaykOKTjmI|rNeMLkRwHJtf>gWL9y zqdFe;ju~F8f!H$;-VHy}Jn16^9EIyqobu02{o$Jp!JgZMZHQ(X&ObPUP}M$z*6|VNBW0 zSM zUce1?va8T+D^qLYk4r1osvX2R&JK6mQ_Sc50yuL2VN8$Qe=QmQJByQ&t|d?aY#WFzbjfFYCmXZarPNI;~?ye z(?I>Sp7~_L{j3E^XM?WlZ z59dx6VKg?rR2kxE43xQl`37mstI-*~t;xI(Kk}5qF`Ug+dHbCPf?^V1^R|H#CKd-m{mJRcW286HvW?dfPu}=dx z#%9EI5vuS3_&~ZuHShmr={~~rn2FU!xL)L8I2^82h3qQrNJtn=l zXRo(jzkMC2|CkJa%hNYco)m}Xv&fjDVSN&Ry?7gc?fm2I+MDG2S@L~j^UVg}Rip3Y z11YhDia1Nxw{b$I_o|y^0fbliWee8z*^{)c^L?<0o&5O`H@5 zVe{Fu7w_W~qcp|#o6Vn|Y`snDIVmJrdznnsR?>{8n=hW1T%HCCe@st`akeb_@Ih45 zesBLUj&%q$Q8W!gipC8v3$*#V7x}@P^Me+AJcAs4B$A@s}nd& zg>bS$-{W%J8A$+#bPpJ=Hn|9iD2TuIDkt&<4lM!5G93m>OW$ZR!yQu1{)8w#Wa&yT z&A&(*3cL=uO?enHe|a*a){jT-u>_7bJQVHgjj^m`HY1d3=)(X5Pt(>x@l8N+4Q|Xx z6F)jKVFY!66!Bwl0VB%}_*MCl1x=c%1_SP<0pR;v!T@E!hKfI?vkXO-k>@=$OsvoZ zN`|KkPw5HT!B}U;u!@h3IsDyW*d(kph!o|odK4lU0HbDee;f+hO`(+eS4o}J8Ipeh zc5d<|WM1XTF!~9BJ2&3VMVl^49Rt?Y1<*I3Sx*#V#xtjW6W7S=oQJFs8SoZP zcrX-nQ4x=A9Y6%&uua2wmb!3Txf9P7OuHWs;ioCi_din(433b$pNq)X+%SKE3nu@* z2M`(lqqw#h6__s(Jm4$?S?W`6dfh_jtSt9F6Ee!FNW@ob(J`3Xxe;h9zVW}l8?ko^D>1$cnV$WDkM|Fl> zvyU(u@%P-ibYnEevUvmM6Ncaig=B7n87Go^CSxlfupL@_r@fCuh}(A574rtA0Rri^ail#@Tu ze-w`-kPMitUAtkNO&2>`FE$@T79S;nnr8%EP9u&6fRvBdI?tb!lJ)_q4^eF)?fR2< zPhKD~5z^kmzX(p7+^}%s)Xac(;0^+K;zy8nVpFC0H(zzYAm5Z5qdTCSCe52Ox8BtC z5w0w!6@9ZS-d-u#Zp9e=|6} zInC(};$g@1=F1lfiEz{)NK1UwjJ%5UfH{%kD~^>@rB3lHMhz)2K@nPrb2^DhRWwB7 zc!;{W4=qV~5GeR4No+nlt&Joaboa{OPs@K@Qj$8qLmW#6o&c0ACQc;|Nweso+uAdRltOH~L3q~;CmG%e z(DPh^kkIBDe3}7?_C(qUlkN7W?{}z8xE5vp{w|PRYpxBE&Ln4k``Hx=X@x>yupng+ zz_{cZmUIJF%_g_T9nLxs-q2XedIEN4{HI4)XUh(;Vhh5C`6JEs6zQP5f9m#xEvUuC ziqDJ|Z{3-*5rM5B_CAA+FvNPeO`>M#PVwgvVYNl6CoTTkg0(yx+1f9d{Nh=HTuPgx zQLq=$Al%sX@qeQ0)?@Tt1_1(01i_?9q_nLNbs8+FuB2*XN`QYLNZU2hM8>p9(;@Rb z&M?_fc%o~Dpa#4;Jkyipe;!XT&*ABq<6qMuy{*EWFd86TX89J!rIvx67qaRnH16O? z2)<;+X0%6$77J#a47Z1&fd71wKD?;Sk(O_dNNt9EOrsjCC{=iori%`&(BAwNTM$1n z2QBA*Q>#_a5xuI)5omr`i*$1e17}}#F~-!|-Dz*V)R-qpm=-yr5<8l}C~49iv%T5PQ>m1e-+}m-Dyn6C-dLReOLr~ z4NPhYvq}`n34zJH&oGdiV$yh|JRXHv5)H zDn(l`=&)%DHfNS!aO{HN*YezQhkCMj!x!^9=pECt zxsLLM7i0^#7#EdFW?lz0wBi@HtCLUaqo9wvU7zm_k57>A8*s<$~56fxcMs_Yp z>(J@p!iOi2tK&U$>$BYrrq<$ce;*<$CE?OBy8=@HB13b&W_IlD zI#lZpuFs?PBixyNXRI9kaIkXpAZ!m@eFi&l3GeXF1Kckl4#p2$FE-@Ice~kIxog~p z4656nzg)OzK0L`jx95ioo#w+{w$+~BTe#%A7w!4Z!Uo>0tQEQf%fszvR(uPsACPp4 zZ*BIrf68Bc_FhCf;WcQ}A;O~?bN>gna_*yODHjI79qL`k{K~Z%L$;u6x-p0C@XggW z7CD?&zq$I1A7Pnq;lY@4JiWMXJp2(b?YSq%Nb73+@bKuzAGiU3{I-dK!3Ga!yFkao z1j%iQLs$aeG`S%_CCBFT-rgsPfO+yMbeK+le^r!fg2_avX4es}08r5tc;%1Vpkwgd z7m+N2y{OItS~`4D{~8l@Q!Z=4^E5a()trSGIu;8RdN-{Pbqmj+&iR=zYm}NB-^Nml zC4ys)(PXse~|@C5u6WZYdnIHh+{mD4D2))0w)#-^ZPpm zTQTm{$#r8FHf}UvgJ^dMpD7@m^}qlz%1U`m7*)xvmI-o(!5e*IFl!d1XaZ_zf-p1O z@Wg>mx(HCj{^-=>?b0yNefT5$3E?(FCo1N}`LnCIWB__~aWNOe;~DmGuqlGre*r|v z`r3u;y0*29_7+;(jav)DkWT@2$4OC1)0SIF7}b&my9(Cq@?g-BBE-GsD@wv49G8Sq z>kWW%Krggtq_#)f2z3pOs8YTHyq*_&4Hn_K`^c?oD4(jNeq76R@|Y%g4eS5iXJTPG&xkzRXE~bgm=DWqf)W+dQt-k8vqV zl!sZCwZxlnjV^2`g3S*Y4(bHUhOGz{!H@VivTG%>4~>Cn<^}s8J5A^{P2$!!ba!Ue z6bwiM<;_WVC?;r80ReqIe+b|;TXkigMz9w|uNrt#EPShv(=5>%xVJ2d}$O4pc6^RUj|VU zf+=wy=iMeE$vD~`#qleMCWvElo~l~fzJ_?k><6vE=?0{jDb~Vxzuc;!>I3i=_XAEq zv5h5~t{8c7E!M`ge=%>V)OSVNG|d$SrT%oFE9~H4ONt0LyE5 z5R8U36u52?nc?eGJ^=nc|6nk7_DK*gpgf!{A~jkSq=`c~e{gvOHg*+peCx)jf}QYR z@(mhYmEsmy2^US0xuG~%Ov+&&A_I&Yc|wb$;Z8q9lL$Y|bVAc5Qb`;W!E(qgp`N6; z+s#~5jR8Fru3WgGd|OpN?kJGF*sI2z&VpQ5z@uoW-OSOHFOIv6h=3quaoJHAHHIYs z;@?Mb*!{(Cf7LOyG$1)ZPW<7D=&f!EBgGR`9(|wi?uUd^@O9>{0Kzc5bLtZzJVKvXQ2AAkUfwr0rHKSq* zB7Xl^?rbQEcdBDDN_1~y#7VhY9jn71LUnqE>FsK;fBdl9n)+VG<+oBbfSYd;abIdc z6yea_{&jom-lxG^1VJEqmyY~U8Ji#oU+2KP4g`Etik z4TLDx;07C3S2PA|3d)#^0&Z0g;B-cLJ&w=zZ#3Txi3<)R$6qB<=m(JkJY*y;wBEFj zU8+#Me`jmt3J_IAas^#QK^k%#=%d`%G_IBWQVKwi1qLgNuRPUE;(wa@Ho%qv7zJCt zr$iV*)14$KIS$6zKdsl^uIjH<0ZFCI;}uv)F6o$sv|Tg}l3)W;2A+|vzLwxE8{ zhztiC5AypXdkia>7nnqY$a&D9_4F+P00mnne=1rXdWduQtvjf*j>!^2BJ zmDd4DtfOssR(dvG(fST8HkfrG&9W31@N;REZ=M5K$I5QdXfg zfA|$f40m*K6&eCfz6UOqv6qk<*TCMz_yoU1|C@?WB76YC{>#Y+geqaB8ch^Z61X5p z>}|y?U(FZA>T>0e4B&4ln2E>3LzpSS^9z5`9h1isx>wdiVQ>&efr1%c$E*85u7@)L z99(GKEY7(Yb`Ylf4jm9E_ULab)|iLvfA%Ewt8hz6DM#LGK_O8^uBB_RnEwmoC!-C>@{&!Pee1s( z$pn*?@@gao3hp~magL^z*2~fr4!*h^oz_fSp~13Rd9$j^l=_^!RF|rgoLSSfe_S2a z_0$-q1TG_06)a}VPSZ?U%jmb}j=GvCwp&HhO)+SS(ZvLGs^xE(tU+D6jE zhPJ329SDvE^BdE{7!}ljIcAr%*Vv9VP*d>TFast5cDIN66cYHW1JlqiUw&Q}zisKD zNa!ZPiTV-zrh8@vp;i#fOZR)te}~IUL6;*{NK_UGJwi`H%TU<&9)kCbv3XAB`wzc?1W1uE{$Q2GB70ioFbqvFp`P4m7Y&eC z(Mpz#cE@6F%b6c@=5u#0QIW1eP=CflE5~br*}i{h!#<@txh*)4w#6n-XxDY6A5N_gh7<+&Le-2?D5n(!fTmc>TYx<95 z$A-Zo7?$ubwi3%HR7aMH@$j`B@evonY^0iB)o@M`%vl)34fB^4>5}ir%Pp&Is-B}dbt#FY zl|3s|$GFn}=@N!DhN3TX^(~4fX83)Bs01^E3p1|k|U@DduH^4cvDgwGh ztUVUkC#aZK8~zLSf4g$MCk%WQh!5Kr6Svt7{3U8&l&Qd;Cwg1lgSpxn1@tCW6GU+1 z$Tl~k{Ob9SuYy)nSmoU59E#wGWzr`auw1~xnER%S>pfMV@ zQC-DCG!EOLd~(e34u+T7$qL-j?66I{)jlFLhI=B&;$?gk_|yavdb5^{*R*oqjVXmm zsl>x8UOu#~e`X8|`^_Vf0HJ{gx;3X6{ZbDkOi&wV5V{`*Be$}PUaABM|1d;jgG)3Z zp>%Rs3BYh%ws$%t-p_GiVfaOPcnJX!b+Go>86YR4y6>(W*hpQ9h3rQA$Bi73w1h|M z;Fc|@#pE95x$_1re6vnW)6LFSD1;uT7us&_w8m;ckI6j)QII%RyVWA%^}c zUeJ4P&90bcSohg6*{1UTjdDdpk2de6YdK0scZqlxu=2{?(YX!{fv~f%!8%#T_l;Kt zt~H!3e~P@4^F@W`bbJIZdC@G?y27P?8B!`Q>ixc?&%og14Po}!@=!3+s4x|Csb3-K z4g={~kUQr`_5xkV-$k9yd<$OU9k)GUoO2+WavE!(?+sI?`(Ye zvSAF+5A6>x8`HF?E`#BJ1lM@yBM z0m9G=8EA1tY=YzkzX0Pueve0pJ#e{DR;k|O;sCfwH9IpzzuCQ-ss@;mV;REL6>|N{Q^`yb~xj z?vF<`^1o_PR7&Qdcq|{f^tlXkc93gfFg;c0=$@TbJmBO!ylnpn3D5+ADlg_Qvt>vV zR`&A4?$O{o;$CMRiUc|o33TYg3nyOPf9G3=IB@NZZ#4A8jI!@V$#4!U^tv$RI0WN0 zQoqLjudJSE>-^j6C_9B`j+4K1);eMc|uyW*1m*G!-i{8k08-U^$}K-$9 zQY8&eh)XUymh$kQpYHGc*FQh)-v8!dbLBH=$=X8uGgg^n?Zt}EyaHTkW|W_o{$E-) zDzVbHAKXy7-CFY=kZx{hyRh+Mpw2jbXpkpIMV|cnNOUk_d?&XAS1A3DE$0sT2rv|_ z1ByP9wH+OKYrbB$MVenDN9Wb*e}pj-Q(-ktW@4c@pL3g;EV0}3PcA3cZ+eP_k0*of zN5*ZmkDrH>B-=Nb==cX32<~zVgiU6V5{O1vvw5VMhw;9njKzuL5uCtpwyg!C3$Aws zc@~Qip@hl|us+bG&Uv>-=%?G_Yd|Ny+&hL7i;~fL8HmPzONA{};;+yif5!q*32oyP zA__V+`)6|%2W93(ae*Oa&Exqd5l4z)o+t?1psPxW5r3=m94*;5)*C*WkoT8aLf#s^ zdL+*ceWV|)miUjaFEJ4!|1t6D|7Y(@l-s(lEq_HO6Bj`OA}LFXLkeQavJ>;gl3bFU zycdQ=fgnJl3=nDzmKd7; zJWkA%hz&GbXX-k_c#+KJX~@hLF@ji5j~F3LRJ%irS;BIsN_j{bF%QdJRMoSkWWB}l zj{zM9mxFqEq5>(48OjJHKK)iX49o*pN_uw%$>$&#=_WW*L_JX-&|i>&`+G*t8< z!}hmZ8Zyamz{qCj1L;r4fN#&UJ#JSH33SlR3GZGpm|)w&YEo6@#HD!2ef66Q23)f0c;Z=pIFqWi+Gb0E*e22xd3^Pl}!UOW9^CMdFr*Vd<5FXH+j(?-jXuNRTfq-x2?zNue2f0C%j#mAGWw1ucj64c{I zO_OdND=#JtqWm{3BuXgoVXMf$Yh|brEYAkzs$I;{vJ0Ar@QqlNE#hkaYSYxOz-ip((;br>h+Ne;F&;CkuWBIHO+RS5RK<46VDc z+NnErrT;<7hiU#cxq&6~YB8>%$iq>1SBc>0$yWDGQa(BD&;vEWK$hP?#ne#CD$dPh zy_yF>pSDbS-6{mVgyJ+VB6ZV6pm>5tUyMm9Riu^>CG@qi$`ev2weldqLv1yxhMifi zSttnse=y~wH8@^pkLfyF1pEoaQmU2+d;uEI0a$Lt!7}(|1=hFu^5V~}gkU>D;7tLj zM%`&7&*HPZMDXr`2NVl~P3TmEt>zK%+Oe;zol5BAt)3Q(NLaDMa@{2z7xM#i8&O{( zr%P&HTTcQl)W@6vhPpuQA1GD=Ldjt1gPzE+e@iTLcZol;fsfjcM`85nK@4vpYOApq zhgHJC#R}|Q92K4&FR61ETHA!x5tgMiu5rH+3JZI2e^t6l_$J970YxY#N*H4}=6EArqcXksd;MlM zE=So|gs)U+JpCM1js#Wc_hyL;s4TVMu8|1c5!_VF*Q$AXaC%qI;BdCN7i1)yl5X2# zayO})yaW;A#aF(n`j(8Ncf`@#4{#W1skfu!jDdPaEMBO*BJ`rY}^q3Trn!rI`>ya!Sx zJ3ocP9-(#{oIb1D%K1B`ZE)#<@6LXy#||pcTLk<#p;4*cxRu#nLe2g2ws{^$l9M7r zP$VNUXw~u#T0YKzSFmLi?Q+8+LRC7_8E^fPa>0taZ3K z5?92B7!nXabZCDIyZB=Of3^R82Za2jjg4G-bu**)6G^!g+`|Gw_TOZrsq5TD2pZqHx4*yGUwC-Q-z$EdPVscA`QT6Hc^vtj@<1PC;}+muK1NCMe9U?#nE! z!c_!YAO;GN@&NbJhi@NIXRv>|ScInMU?;BvixSL$?p8s^dFy1N^57kb{*^nU%wv!} zM!rFSe~P|F_kZ9oe;Yb8Y>geTEL(`j`Y4%O0@s(89mstZ=MM^jXUtGg2t37V17Etp z8m8E4-`Kiqpk{?{swA~FreO+JRcn1nEJ7cRpg*nmz%|&JG~2j>gob~cBaQn+Mrgw# zFC9hSmMTbyz82r}43-og+gZ5Ldzt1&c%z zs2ZJ{J74YmzIo@}1+;Cr82MsWYioSl5%MSoohPNgfY~ti?k`I17V5AhF^KG#l1Kvj zN<@7ETbBtmBm7IeeOx8G5Ff+8(7g+>_xe%bCv()71%*&Q*t`(Z8Jy2R?^*??B7vx& zcGqH>giGd0e`$>|b^%-klL$-n`Z#*Z%0a4t5R)asYK~)$G~^_0IqOYd8N>;A(s=#A zPYkY&>KX#r=yem4X$(`DXvwKSamvM)wZ+^Drf8l;C|n7YuvaXsc^yks=rokqC0>Bj zAYkSCY0*n+9VCf%6>L^YD~O#YfhCn-kbhvw;Dne2e+)UmU7*IQm`LhGZ%x2K#*O{ZJe>H z5UdKHf2&24+3koBX^r3z;Jr4vDUJ(k5muVCkv@X!X75|U>#SM|!eEpDO3VQh&>~W$ z%-b6Wd;ggH1d1#R{ounqK*Y!YJj?{@ z5E*r(QZNG2TR1FdMqqKqXm3F;5zbD#X=*1sCf3+5MsuLu3kQqm>)pvZ+8wuNQpOGdG*R&pzw#j}_Wyd+Ee ze_=I60rVZqo2=~A+`>nyf3KD%b#J>AB|c8rUP-r0x4V{Rg&uXY{ybH9`iAdNW(HHH zPOKV{lCp}iliS8X9i}{D{|&`o+0_P4*a=Ns0Xz_VY`Qm2^`{ELvTpD*>lZ~6pDTHc zufdriG$p|`CGRDSdvWJFZg@4W$FSzde+S5KCnLKXR)u_4*AP$!d1yQGC@drvVYL{@{9##9#M@d0rJ2MD*S0`2d&<2R}`pTnX~<1A%KNwrI*@c5t1N{B3sceJ={G`O4$2hwm?M*@ZIA9VA%`zDt<$P?9w+N%r1TN{@&tz zh)`9^Cw^0z&sP=Sq*Pw~f4aoU3|z0euP{GSEVc4$BoZsV6gI%M&W42O29V>&p;oTU z6SCf`A_!T+WmaJBut{_I@0m1H(4S2{%e1K&4^Sa*F`1Mb%qNqe*W}b+gYA1{$SRS4 zRo=Hz3MaqvGbaF>R6Wc``9Q{W^*g2ET6}Hsn1fBZ3rEs{}4W{aFZI@_ObweKYe|3`BuGBii@K|o1#(4#qcDFM!+ ztd76CzPM@r?z)eY=$jz|67@9tPViMXOz)-hx}rD2?Cut($y?#8U2DSfR(zCC#z~?; zRlix9ZN=9rr{vgYo+HwgrX)aG$;k8n%uMXWHRk1mnoaGJfBAI|;^S4P7v6=jU$Y)$ z%iAYd)~Y=#imMy?GT-2SI=FVP*;VF}Tw$llgt!|c2Z%E;Ez(A zNVd*&l69u$O-?u*lrh|zJ`<2P3tr?Ry8KP}vw}*AxO~8Stcqo+Ug3(bRjzQwmqJG{ zVkKw~XV4xl;C*D;!`UPJzqJ(|r$1oHH(wmpE&!QRq}}$le}V{<)b$PALQb{qwmK&! z_)xZue*ibTg3T^F=yZ90w{X`{)Gm<3Wp7F)P^&|-WzLfh98#mHOuS$ox8dHt*klAZ zNRpaK1iYSTk;2{^()wolXuLl~-`H*N9Mm=}9>s=LN?~(oU2!@_A5Q0cCKH*tW_qA; z0UB9}@YkAe$b|p9>+uc#8A7QnS+uf|c(b~$e>D4Ky3+GcaR9K4kF?I5AJ*MUI@0Tu zUCoc$DN+Lit!yGbbYj%DPwAkba?S+rlzJ2Ws5AMw%H<-hR|$j4&WtJ$o3fDXGHcGK z&^+rq@;A^!SUxA)td?&y-46!u4`tA0?@ISu~uzvj9gOlrRI{_3( zfB&LRc=0LEmFt#|SFfKu`|*}r<>{<5%41X(1})gRt+2a&{HFRA2d3SRv6DOA4+u1c zEhX-NRV8)yS^?TIBHK_5IY*9Ex2pudF_B1;9lNU#{zlL1)lK$H6g^>yR+#S7FbR!@ zvbiP&>Ss#-JHfRf*@itqggo~OZ?R*#;cnuMQVnaNF|gu~M+`YO?8!EGSQ!_; zcV|qr%-I!o%?YPc^3^6>r5ZQCZ|uVXwGwkVQue#b9Rp+nw=7V1EZ&xMc2x8ee~!Dz zfw;iYX+TitA^`VB=U@<+@j$DjuA9LH6CQq~fW&U9e(o9TST^0;c%b!Y&8-zzHw zc6D(OE3zk2!4|J5lYct&FVr~^e-{7X*EnS;0(lW{w&|Ku5dnpJik9Tf5)2qww z`asF0(rA@FB*aW`rE&fyA@TZr;!{`dw#0vSg{uf$%jW4lb-Pe*lk?UFkGJ zz8%5FLxw*F>Sc=&?qm5rz_guh!1$Fe%6-frEC}X#hej=uY_7w-UOWPISRY<~`{G%6 zxrx44s%xp~9TU(Y)HF6FcKO`ZTaW}k-S2drw8s0x4@(e5r(+Hcqgs;mBf{!20DyuV z*AyTNCBK@5c|d@t{7$nhe`@hk`KG`%CzwS!f)QL=iQgOyI(sbc#oJ_L8xj#|DvS3p zDDn1mw^_jFz`KPzbhm?HDFN)jJL%76%H51->CZG8G=>0*A9jhtOnl*{aK8Qi^|K!u zf$i51(^54`6sUH4(7F5LiywdbkpnOU|I9Ip$+u1fK^dA~%wuAMe;6=44-A`h85O@G zl2<#zGl(YLbtvA3XHt?B$3)vH2Z!ya55fVT<_l5lJVNnrRNkMTn^k+I%ie!uwR?T#B4>r0u0tZl4 zY$LMu05d?$znlz$s0kjO5PvKv2k=e}+RB~o>tzep%7QXus}C57%lS0$sjf-# zkzu{yI=FwJp9AEi&3_5bTr3_07RFS7gnT|$g~QzK7tIdLr)LA`E|=#oX>JRskg_^6_JK{pUP&H6+AmS>8$!tXYn241hCsfdBRiUt9FAD#OJM`MF zm?kmLzp5F!xmNMkT2q$_6sgzyC&s#(vUi(^CD8~HtZ{NCb$>a(`|8CHhu>naG`)~& z>_Ip;FUFI>KiQYS7nwkrcnKud`4piSj(4Bm7Rnww5_#L+_K>h`klTs&IqHOc>(wO` zQR<-Ja)SmM_DN?qE$)NIlQ%&dT_5b9NCe)G*n2=llbhB&C+@**@EUHKK&t+RM6Dp| z_(w=SF1b75iGMYiM)hW?Iz*jQzJl2{?GNltPRHP+upyR2RgMUxX4p^&t;AM_((1d> zTkN|Czt9`ref{#u^H)DSdHvnVt7lJs_yKNY+0Abb|LnV@*tLZW!CwrK`}}O$nV2!m++jzoF(cKpo`PQoFsv`zDx0la%htw|H-v85 zibUnhm+HnD%cnOMq_wzwX?jTkm!?`#ElsdfT`U3o zNeX5FKtKypT2!(mwWMsz)65HZ4B6w;S7DL0vpcFj4a+5|9G)|^!i$Xn_TtP zksKt^yaD2AjC~=7MJO)7hv(ds(o3#>{KP=faULAV@5~2HKbIkPcM3Oa5@DBz7ve-q z_6hK1Lv)SW-6G*u{ic@+3%w8Fe;zk#&)N3kBXl!Lx3=fv&QVvo9ZdO(@&(U7p`5KK zXCD**BY0t~T-MRn7LuZExKE1oezAzYiGdGEH`#pi{N;Bbv5R-?xP>CfMjJ>PU~ZMc zCgT61Ew1s?`RGUZBo3xznI#iNzx~)rzz`@JN}f7P^=}qd0u9n%K0Zbue@}|-?6ArG zjf+R^QR7-j1$CtMo1m?g-`wZ%m&xXfR(o{g+i7%*)Qtuvq3e}jh1CfCZ^Z`71}6TM4H9X zxS=;>EhL-Ly$b`q7e8uqX2W@_IFg!8zSOl5z%g^}z?{PYW(CEB9bj@<>5m3@>7# zuEM=kJBDdS-K)gde<~s3G^=nZawQMX@ZC*PEV?p=`5pJ`X*Y!}tKpERgF2-2tv(C_ zQ%YMp5iA}b`pGL7a={W8mfSWS45Z@m{OXd9gq4QRgOcA#VKLD*G!F{4+X{oOQv~lv zAWEbPrszmUSlA@UPaSN4F9`S^>HZ)IVu7284mYFzDm}}}jM%e~1!QR0J9R|56 zqfR_%Xet$>`O7a&GLP_`l9%#RBigO_0Eyk;dc6q1SqG zaC2Zbm$I{af1+rowvwtBaR?X80C0=`gxmh|3R()qs9iV5OV-VR#Wk&6H>XS2%?R6N zvQ2ge%V#uZSEMcTdEEirMHtP1y-?<`s$rqAcP?YEx#HNIn}M((hYulEt1<~xcCvSF z&2vGeO;`v5$nYigc`ndDzWna#;j6VR`0UP`@WPurG*sU?#nL?j%`7wQo!vDBft-_t1aKRzdgl!u)qa{SB{c;I@6@Ma z4vwg~03gY-gt#rB;i19Ic}iUHzPhI*y{=tGh?_B@}=zwvPA_KM8(_NwFY>lcI%UG3c>W ztY)vWNGwoAaafpgQE*}!ilM^no8CVM47MeHPd={fn~mPqgUv}}`(blqhAR+2;0kv@ zI-^%`j+ZOBbFaA}zX4O`5FK5MO2CeO{SpxfV8p?fQJX!5_IYY%PglA3Pq})Wi??%<<7qL+Q=SSj&!8}z^Q&vdElZuc6T;6agrGQ!rsHH<_hjA zinny`)B&gT5erlOL@mDkA!su1K1%ao&Q>Ylt7*7M{uv^9BUQX;Bq(8y$#A-DB{gusse4e2icvjUPM_ zqrpd^HY^oP8tms$rQ0%?9N#B6Mq!f&Z!385pyra>L`fA@uC|Y6wtDA zA}e{qrl`oP`-z$pVAdd<-ouYqf2SugG}TP;t$I6A57xagh7t}*m@pW{@%O9Y%r zV^%M2JquF=q~Fnu6px~H_!B@Dj6XgEL3R$M$HSjumGMCo;s2V*G`rI?yU#I zJ%2O@3Iu1kw%+N&$vD0kbU}9S{3keHs~{9gg;pmAcIOcq)qiu zo=$T&IDeD6-Sb3C!T7ra<8SM8<1SYZwxTYB<>OLiI~DCBGg}I zw3iBz8aeG@SV&dl3twUP+ozr~muh^m(S6iL@OuAI8_1#DEnPgu6)*aayA8fZv47iD zT@H887?faxgFf(H$2sbVqq zk1+SX!!B>1iyP-aOAsNWqq;Sz-d@&7Zgd_ch?>=dc^6wzF->>UQ;Y$$mcgSS1;tY& zh$l`b%1Ct*;joy5<>1X<5RkAB+|5W)*g@T!A5xb+cP?jZw3v-`B1ETx^zGG+l0voA||zeW#@c%uOIGYT@Uh z=+io_R}j|kgc!vs@R)Up)`(9VZ4oNn*6+38#PKeY5yGG27Pj-VpK?9g(tkUP!|?C{ z(_29$f45ti)PGHK0L*~IzN2O$2fVbu<}D6mkpAVohogr6fT3Fc!saP|=kWQZ`-%P< z?Zf3nFE0dR^L&5(mlPIrDfs0Jr3+~979YHJR%J(Mk`9c+<43!EO^*(%Lhw)_lq3Q@0Juv>-nf?8O$|DW zwqb=UNM0TLz3k1Cuq+}|y)wGaJi4{arE`10$=ED8;-ujG3F`T5a%G{t61(66^O{gY zaHwCC@6aps-M0oj5Pt}QlPFh`LAYlA>cs-m{4u`#{^>Ird|X4E8AD<&5>i4Pmd)aD zu?N2h=Uy!Pp9XM{&Py&u{n!#|Hs%|xF(O62BHRm}kQx*5x?HN@WO{um@j9pwKO}7c zF{KqS5dojvK0))u*a#AlBJR6g2d!@2-PwVX>VAUqdE6y8kAEDSK#&Rak5bzwfyJ(j zb~!~u@JKnIdk-YH61d3OfYu0f2BTevGnCuP!(B{P9t-RbN?r)=$9an#C%2FEgh&hC z*iMS9=S2pxpbxA9bQ!oVY8hzEW-`|iKEdE!>XY~}34VfTv=Dr|d-p+zwL$5nH52ok z4Z`hvTd;JpJ%2DlvEwlMO4v`r@s7z+2kd}CBQQU}oWTfStPbuFocG}-66212(V5}H#X(>fsdHH~KKgJ3R?Pagj8iXt4{3L)^Q?m6_zBF^cmlZ)s+I=6L zlp<=NY0(^jKS(U?*;2s`s5PLKTI-%!qhKjne_{7zV1G6@=Gyn3?$%cicN)LvKTFzf z)vWs!S!?s)oP1#m*?Jt$N2N;_qZ8-=_ai}qCnXR@=J{*LMZ?0$jqM1dPfH2t!4kJL zp%}I-A4`7o3~&Ki7Mt_!Gdmaw$2gWs_?YReT1=kXtX$5J?3K62D&@4$? zIezf^`@^SydH&t2SLsJ_FA%_zL&(M9B|`?ZBq`c&gvQD@es5R8SuWPV9e7Ge%T*5Z??cI&gytQFqHW0BZn^2@BT1@qJZI!oh?e_e&Xq zo5^Su#NV_(Y-dpg0*siUPYVNF?8{YffK5L_bRky3p!;nE)mf^4(iNO4sL(5`p+sLJ z(0>)(fr^&nbF^(lVm=QpC+`TZT+_e_AZvhBPVYhXebTl(eEyeYe1D3T4BLa)nsLX_ z)7DxJT^?&zln{C^e3c_cYuw&#er*RzizSP_e3^-Rxadk2Nad zsudxWZ<)>t>^&4rCo*%6Z_VeMKuA}Y)rCG`f=;0V8QIev^vFd zp|7ujn&As|vfH(7DG)&lJI4*(@qeV-EM4BYi-TXm-rCNcojbdCcGtjehy_1czY8nB zE#_F{EB2sa^J)ElQ`k;*iyO{eO1e<}VySPn-wj#ba?|TW)MGBgOah3B5*t|i`cYnB zLc!)SJJwkg6AZ#5`sYn5LvZ1gp|6MoS!F0LUg6hvQWLVhG1Fl{kO&PJSbwB-3^~WL zneZ^cHVne9w9ST!QQnmIU?27Ss~MZ9Ys{AI{)yeeVW=RJBgmtcmuC$tJE#8bck#%0 zNvf-Xgt{dzhxxQNypSWo3b@i?=d|b8o$Ek^D!yb0sH4v0=YX1o9^p7EfpCM=I)X+n zp$b@kUIl4iRDDkLz7viI#eZ_R1n460Ez{+?s@jhJyoS>Xlp8NqLz>o1su;LiC&_ax zoRUB{OPmRG><|9usj0VGzvdBWq@^6xNC|_gzd$4S3l1u4AWVBV$wv`*-8nt71$>2F z6~=5T%9toYk9IgD)AD?_oOYShI>KEV*W76>#5j(JQgZT?*tl#xn|}lDPgZ=>!h*?5 zC78+EmqeV;9EbJ!SMfOv+qU(`uS|1rHO3W>IoE3VNC2fN4eV;>rTU2)CD zbZr0W3zO+LAKmy(*R-t5Lj!uo@kY!#ZSq^^9W!LlyRfmrq)o3|rxWhv{xo=B+8nqF zN8oR$bq+lgv_Ee$d4HN2VhcP3tC}3bI!}4B_k}J3w>0n8q=TVfa&4Ha79Aj@c5c>x zPS%B>yDC6enK&RvvQ6bzhGYu|B0ph)=Rna9(tUw8fnVXyM5*WM5T2`D^IV;~=js_f zSA#bRBKtObTN5~{ZS2Ayb91)U*%xRQ;<4O6hC{Uhv+xfbp?~}G8?Hb6^AOLs=3o)x zj|Y114|u0_21OYtFJDIwk@Y{7_)$T*oFeALEuKTJ5FRmj22ik4eYsX3cc=jG0dI8$ zSS#0I-UD&&3ecWf-=WtRR$tjnRx?qYo}m%*+=YYbv~>s;5NQ{?~X$eGEA1 z^8z^O|9_fy&J=?Q5e@ROtb!6{{S@ZzNd_hAhuvA* zUIC^vZCg<6Q&g_dvI&{~-gV&fhLHFdH*_?PUw<`|(*GM9+L(}}tb?@sK_%n`9ESk{ z9Pb`t6P5tHcI}X>0?ZW=X9Ut}!-Tinq;EfdWv*^~UJvO?g{B75)igjk>PDPILH!fg zZM~hc7|>@w!bzhn65-^oyQDuqe-uJv&!KKL4D%c7DS#@@jZENbZcZsJzJeG0)Aq=#ef8++{*{K5 zy+=&o71KY5pMd0WrB!a8%F=i4{zW?ZqJM0E1(VlDDFHU5iYq_H$_Fp|rzO$!e8TYsXNYcc9DL{Nr0%pK1sK^%tZYAL?(Q@myP!k}STfPXKH zQ(?RutiyH&eR}}m91oc1@9oDELI)FdX%+b23Zz<&j=U9$`O<=rBG?98?E*S2?#MFZ z?wDYQ5*3rmB}cbun8Bn0TZsDp|NMXs|5%Dq9#cy<PP(-=iM(_u4`F3g>qE zmOIQuMO+P9y$IGX=T%TNEML@UqJQr-XdT5~dHS~jq{Z3^=|GaKLOxvnET3Zb4ooTK zw8)xRlp@+taJ6@b=ZdB8~sh!+)bd>{mxH zg6xL{gxIff_G_5Dc<1Es`Sb5yo;-W<^3R9Q+h673Q|{s)Jk#lKPTSl!@UI~Yq1b}m zCH@3*BPCP9 zb27es*+ali!ghMwHe0kNpr*Ra{@8eaMX9XQ=}637uT)2|CxqQ9E`EzBS1E!qO&Jop}TlTxSQ< z7ne%eTK1(aIn$Dp=@YxiLd6T(wa+-}*q_C3wq$tHYP=F^bM#|Cs|y|z3=a-Iw(0KW z?5zGP(%5|#SKN}nE&27b{mTbCuv!8>+>$MIs$D~c)uo(9nYBfoMQ^x11t$xk(Xcaw ziJuyfXn*V@D;5gH!mv;*+$}2>8YfSqzG4!OhEa5@Kxi_r1&L&X?elt>>rhK{w1k?a zzDq*e53G0Gz>njza(6K>HSeR1!RCFE>im(YdFp~!>zRCSv0w66RbI*Z=zh{IEp**@ z8(Ru=-EbTDS@zpreNY-J>C5)g!?Yxx4nL?)^M4PaWFhnP!|FV~4rNAF@|ylJD`QsE z-35bqH?%F2;VpCM?JuCKqaI%%RIn4l^)P>fg8$*MOMp)qTT@|zLsL)u17 zjfdtmk`lu$v{TCIj`w?Dzf#S<*A#wP0MLFjh}Ez@r7ef?~>-VE;Vqf(xv9&MycK_T`c=;Ca)&sqN63z zfeMb6ePPSuCuH{2*US0ORnYZ2hHOEblxVV7|mi!;uRuT~72XmG+Ty22+bkNSanX$Vjk(o%EUhP3V2 zm=mF}G}JjF$x+%INC(rWQaMDXaCaJP%&PbQfI;q4J$~VSeXCWQ^iO%ui24rkx5SNg zVN2AxvGOCKPG9QADoYIcZmU9L>VJ}%jpyA9O@z&Ves>1h1Ut>>EjoeigB{GcgRz%) zC^1QBJ_uqRu`Y(R#{K*^9oRb|B54PaM)uRWTUhV4b3};XXq!;5LY4po)UekHmQO(R z`4L8*sAX^F*(zxk)0J1vbG`N;r}AKe!X^0gX0@nr)HShN)&V5@ic>Ldh<}=sF*w-3 zY7+qRYy{Z;K>Cj^n_p-rWOC9aFHGYmc_)eF?HJLzO9x19`-S-~__qMwv~9Rg1D=DV zyU>q1ywO^VxdX;o`_fWo^1GaoPqGhJU{+=jC#x$K$b=VteI)2YIo?DM^*2!ek3kq@m6j17PmH ztE(zcBd9}Rh5xWdr``knI~^aG>NY++ey`?mF`kx5Dh`EF$N?a~oLre41`KrREM!B# zJrQ#nO+U8oh;I>2jxAu;X&)H_;Ts+A7^ zdsSL#6glrvU*=zE%TR42JQ=Wc&5toJ9v3+luH5R3cUkIu?2eVm3Ys+weKU(*HHf<9 zZJN5fcT4-w=*Ef5=&zZH#mokk$CruUMpaN+!Nn_y)e5A0G=Fj~@Zk%<#+lPyok!n? z`r=*uB<@`v8u#$NhQ@&^OgJG@!X^RFb>Llm@C|65h3vVO$jKo99rrXcDMyf`0YH+H z&^{Q|6CPft9gGA{8JlweLX-po80yirKor>i&Am%IfP{^`G20lk*{U24d5XS<3XOm6 zwPdHZ7S2nclz)lcKZRQ%DNY4rxpNZdykjs%7Kx+HxfIZ>PP!0jd+~C%iO3@WJND)y z&~6AzvlOeYF-yF01&UkXrUHo$^R^WRZ^FZD)d8ZlRR{#FkJ|Ul9oEYec$A%SFpv=& zUl}3%q^|<+a1HORB$9_s<#AGb8G)6sS-TwxW*|jhe}5RcZ!Ldk6PGds3=As+DJCvW zv}6S9$yYpNUr;I@gQo6j?y}>(6I{pqSSWNNy8GV2f}|yaM1;3)LlWc1;%Qbpxg1b` zrO8#8kiufpimq^s_88ygv@3_%>U|6_-6K~7;`);S%wTjZI*+l!#gN-eAI(<2%w3da4Wx8%JCZUd1zR|n1NKR=0CotR7d}Sn z`&P;dIIPknBgM@)p7)A0_n?p-+b#60g@*JV0qH*wBxqOI#%#)6nY|8|XUhPj0wq$u zsvdD_upA%;*mjka1elT2U(R3BH0G!6AOaKS{C|ok2)RihW|OIvx6`!!CJ@Zs+<8U{ zWTBiRL#{VaIh{w5AI#zPlu|(g6khZ<)}94$-ZTdf@nT#+nwe)c26<#vq3N+RqmXPssTEN2Kb1JPWpCavOubP%3wypm z6A?sYnozAMZd|P#I`$@7U<^*?ups_l_P+hAts`6W_xURb zzBeP_fWe8=X<@;_#7?-uhBny!;4)Z90@N)bt{x5q^S{sc?MGFehXlmQ%$>Dn^?&ME zoJXB{?5f(e_qV_8Yc#+c%3kQ9O2th9%Jl5rz=V)-`qP*8%JsWgjI7JE3b`*=i>}UN zQd78|DbX)6QA=)>-~uX>H+K8$jYmyWBUboo-QbmCK{)m%R!{Ue{T4)Tr( z-6UTPUqjb~Zo-%CYa({ZY}#^N=P;dCmc3^isRDgayPGjZ(3YnNQgvOFUVZ+s^7+HU z^R|;n4H%|vRTyaWU`6pQ~WhuduTr7p_wRs|C7qA%3mUF;>Yu+-<(GelF zbwLFx%tREqFO!jmExYp+pqa+_DN>(dG}iDJMq}-1QTlT4`55ALyolGO6u!-|L>Wc- zDt;A@<8yeAub=UI{A}T?6rCxb)#^foq#P+gq$qrvi`-XCMx9TJb$`MfQJk;x*FobX zB)U4Q9f+cNYa&ukyI4GBoiMWd1cBUGG;@n93xe|Z_<~9qyib^K@C12na-Y!3-&CZC zU#uMw_mX5_ zyN#2hz2j`3|1cSt7JpTJ{S zg44_-Jz1V3TL0u&c8Z(E#?9uYI8{vcLzd$6+F-_0fzwX|@zoUQIhE3w6ju^YO|_fI zWL=XD3^2k|#shkUC}&%aDDZL#oUE2Qw_sZw{5$3c)$`4xv45uRfM)2wn#c8U6-tud z2Z=dB!+}>z^X-MS^NE$H1!fBS-ce@>1ur2aWceA*=lJgk1rY^Xh;OY(IaEBhBZhd75`F}a`Na_}616VYmb5v(;rk;|#M?-g)L|~1+F?1yMW%M@`73O#S3!I9Q zsfBtpoNCNBDAy#LtX%_KakW zG-_^ZZ7R|&D=7=B(`(j7V;|0W#r_`x_`^y?hi3kF7G||2lVuz44%tl$J9jZ?v28?t!mwHI)K_44j0anDb#0CeNkB&XdOGlJTwD>njD?TmX(zSP zn3j~`B!63CWh`L2IE014m6QCbP;S~EPQU>$npJFhFzmw9GGC|pAyNBb*(x3ca0sww zl$sZ+lZk0ER468NUB#SQW%5BN;;R^&)x3sHd#vdp7}}@IEDDVShyw^?LDLx0J3r!o zaFaq<)F_%%I#>b=i1+iDO%P4#kB|K(0DIT9kbf&vtS)~1NIL-Wc!evl_bz;7k4%qC zDCiy7}@h>HbaV6~TKg%#c>S#CIkz7S5m14Vpy+`v-)OSv`WBtZSxN-8|y=(6YJ%6oI zD25?RHRK=uRAz}+mntShbSN+_Hj*2=s?lh4i#^=(9-d4W+?HCuih?Vt{edFX+|-uY z*lN|qA=h=4=F@Iad)$7CROZDg)b^TOOdIQVwBP5)`Xbyw%H$E&fkkLSBP;}qjY*)k z)y0DSgT>+jqEH?xLf^kc+n8bkuYcz3nOVasYxtMcnojLv#i_eLT(Zp?4;mq}!e3nl zD?DhJDoJo0i^OIL2L&M2Lu6XDpvV${O_Np4UxHU?o?Kiw9MnlZ=9yz5MaJxECx^iB zwiYhwVIsLe*#m|dSx$#+HsTwS8&qD)cYwlp9qkKmx3^CHPk_V$GPaFJ*e1S8_ zNJ7`jgiN~iA*48YXk;~2i+>GeFuzpsYh~j{(ck3AauVL1VlHmKr8&6yj3mR$C;cjl zu0Ns4)$DF^eQ$qjd*|@)rFkhSupbzBlVp0oNR!6T=*Qv|3*VZFWwZ~yY?pC?o?8A3 zn0=?R&%)Y8%R3D4(Q*!ieaom1vDq5+VS5S>?M1>vdzRy&MK+(QJb$$3GkIt+cx47! z&81@|eQdppsq#m)N{pgFj*0OT_ynYW`80xYOw{_B=fBlKsq(LN@EC9#nLtT^?q#>Q|tpT%99Fbd>U_TPoSmQm`PwH~7m5mQSAtY@gg zS&X(Fyk`(zygGx?mih6Ld}qdJoAgTL0M;l0?FL46Jd*QPpU3r=V8vkwSzxcUYi6t} zvf~mX)YxDc?td6g9}+7^-f>*SB9HhXts?$Ja4g^;UQb-;-b<(J8z?p?j;80<&kHT% zpTL={PZVj83({OVYWN54rRN3E`hI#|fWvIhm4m}}JUF~;-==^fMSyyC)o?u?M);C) z;{pW);BsfF!C!JHQIhhj#`oF#Hd$5WTdj$mOyCN=P0iYEX+aUwmbR>=@P+wZ!3}{+~B?^isR}Xc=QEDaiHk7n*<;8f%ur# z0;>9f8%m=AD8o(TgJEiJHgB*)vGC0Ur=mK+H7mJSPpXGQ=fOpTFP`p4p4 zr)3#v1$=uO9|kV>mL1<%9>BbKLGdhf2Y;`oJ;JtZC4#u8RU!|tNsYp!$8%{s=A^))t@ngR>cJZ;F8~ga! zsdoI&*{=>edEeNDlbcdKU;$lm3NTRvDiSX_i-YFl5$=4Y?)1M!8W(}hLk*sr>^EVp!KZNZlfsR-)~ z`fUk)7JJSlY%dPh#WFI=Ngpn?`2$_Kx3R?-ameWw2KjDlqt;s7UO+WHoPR|J>u~8= zM3nQ=p^V=`-G(Qzu{;^1HZuTUfvXNM-5lf|#UQnK5f*_2?AYw7M=oH3=pxA zK*R<|=ZmAIlVk1E&h=HTc7M8ragjF`z|&+xsmbqhb$Rw20cXH8!UdO>u64josl@~t zV`ACocz~5`($ZFdU*U~Q*zB81s__b49JH>`~8rzSx9!th4 z;jjR<=@Kq!Vd6Gn>LaJeOc;Gr~U|7h!YX~|PI6R719MFRdHv{O6MVqdtAbrujciNbLrB{Q<5GTF@Jc0`d6K{7CqkBfNNTeV(E!}t$>wb9?5Mh1HC)qg~ zym;~K7#6{>t^j;QB$@t=C8~?Rt!qY&XV0HMg$FoMq^5jEO0V(1cz7{j3!Qn1A%n*0 ziS|kDwGlRa)Z#$&-*s})r!OlHz{a}$bh^FT1@R4o(djrm_LaPFN)KtHc}WV|*~uE7`7 zm_NsaRPXfK0-r7RO~-gEJ4SUDI?8%}f<$7dp1dMvXTQHf$AKedJ^BMSd7=gb8^<*| zv?XmDOn-)>*D%{3vXKzOGhBP!?03H!a$jmTnk58?nz#Yd`{ z@5N^C>Y_;wX>Uxs@oW|1(3pU87}_=5&k>{6zPq}%D8*aUdD849nAY9S*%&td()D*z z&wlyF)~H2A{=9tW2Y>~5>r`4=e&wWi-CsB`#(&P6JJi45X^ud5rM*e*Yi;E@w4FG4 z3fh<)hN1%3hgoA4U>~SO(6?s2b)LL+inrPk(sYvCI^Zo9w_ZI+0Its-q*b)8Qsy%o zED%La5o)|oE zWq&#>;E3daF_22{hA8yC1sod;a#Dj@3RQDAAFv7teG7&&8r3d|Ab^Qm?X9=4$A7}V z`!@WD!_nDssP=(^-!lnabx@oTPZJ^T7kWZ>(o+eEr+*TI@gsUYF^9#Fb}@;CKciiYilz6Tq*M0( zQydVZVjt6g7uJ6R?>}HgV*k-g6#5Tldhb89J?TFs#d&c5l`GTvvQLh3UmU=3(qu3M zH4rEg3O{G&4=4y`x7N1ztnD}y>gOg@1(>!vSZo!gOtY9A5G)msy$K78WTSp&Q*$=Gv z&zCV32NVS}Vu?O@mr4}}c7L|F6y!4u({|$-WHnsgezCQ_9TojUjLr7(GX8_Jzw3yc zQX_6erXg~l9pLXfF~qgjM;oZbv+qIs$N-=}ZMGV)5bIgE&U@cH`_p%Nm%r@(+IRYZ z{9$t=sBYn;)^7B#mfp7)flMqN1hJ6v`)6qS#nIW)(s84`nA~4^`G5DrR|hBiAg+3~ z`|8cBw}%Lc#ep9Irmgb5%!VuECb4GmWvalCp@$0WJXAgOa zr~&+y`FlurtjLaY;(z1XH^?O`iG5(Z2vKsd9ao0OmF3JALssat7F!S(hb>4QWXq*) z>&4;v7NlniNG)nbMi_$aEOsM zKuyv|#YuL9^^yGvZSmU$!dx?9od)V2r#1LA!jQV5pjZIXQF#F#<4G$EtbdFS>Pe%g!? zCWxKC2aW?sfA8o|$FldsNL#iduLgHX0(A1SQ2~ zZ&n%h$c#d!);tzc>V7Ze&g8+9Oe3>&A4a>d18k$m(0@laOZ_XT5EV+z5~j83L0fTx zs~z%v8+IR>BDanXk7GeghjfzUAKmunkeeHN!Qt`J0m46*j-7NU-4BK9#rDIqn2h+; zw#JatyA6w@OoJE*`R20rv0`ddnuHNYJ@4jv--@pH0_HkGu4iJaXQHVM?m~6D3TwQz z_5f7zb$_hk)m1erynu5~>-Z4Nw*$PV)be`mHzT6oj8a525C=#-WE?nPm$83y`D7h0 zEi}>`wrQy8gPkAWZXLdV_v#C=({cscaJ@a8ph=ZZlka4`u3 za3ZrAfI+l{4ZG6X`d5bO8i(@%mnS5OI4l>M^IkA>=zP8~CZ5o*;`&x^OoLE;EKh=& zR?f!F(c3}c&KmD%OwH89Y?Wz1ikYgWU|S!Tu)~0`3Wy76R~qyKDYt{=)?n-|rt=7? z)_?Sq`E*s5C@TbXfmS{RIKn*;jTB%?NcNl&;L>r-2H9i+XhqLP19!g;@{ zXm}^7p`@K~x*(54nhPax@gl+%v=`HCFpAf!Dmp1SXM=fDr0$*GTIh_9RE+vBz~N%V zRxCltdzVjcLi^!z4-3~aK02Du{^MZpEq_7Mkc95p4LE+2ZbY!PQ%ABOO^FiL%Opt& zL^D=H_7O$a{0?=n$@lrQR3^C5O0wpasz`Sdn?UNZ_mGT`zc3P)F>?ae>q7;%D~Xvr zTBH@T*tSr^;saRs3J-*j(Oc$K@dkWZ?|>`YXH>BPdLkKE$H#Stm8Rb$S8;M0&L`vnXc+0(Muvag4#qOee<#Y1g{^iPgEWL^+f

    _FYY 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�MccNEd>#*B#&l21y1J zhodxJWcejh(v|Rf0Xd@37}FoAF&}BT+8SPJz*zt%Fmn)4s5@i|Ko3|N0pFu38vxZT zt`RGKN!%-3mR^t)CVy#?Vmt`hkG(X!J~T+jM+uVcx__a)t}wNAXavTQAX^OMQJ>5O z5*78bgws8s2T(O0G|s{vP*$yx_trMsXD~{b!>+M7&|rC0--dulQ4y6)eiB0-2=X7h zQgjg!gP^-?F2)C=dV9G~Rt^t4~+ZdxT+F>ouS*<_>Vd)srD& zP;Ah0+wPGqA6pc;GeAUxwyC5lMsl!mLDb|SEl;$yl`KNy1WR%NErbAK0re;ZU@5vK zOz7moY=5L=3+BqNC+Fy=b;t#5EGEzfdKDtHN~2qiHY!NFnrGpoO`U1&ZfA#OiK=ly zmtqYBy>o!x_XbY4K-&1!NBk55#_7_!U2}t)z?PqV;44 zrxMhSkPVc*vQm&LZUA7l0<`ilGPlzbVTkt_pnsN3tkrhXX+a@M)1MfQA%qC!rWYY} zTub#%0-3*l+5tP@vff*peX<5WPrQ_h?ZQYK#G7=d!8odusav!*BtnoJ{k0QHTxrYM zMeWG$IVh847$D)&RN6U(M8i{%wb$$&R>Iue?%BCoV#PaBz>5{(er>P>sk$#g@q^^x zI)4d#q+zk8a_4ie+Ysh6hh-;z0Oo}Kq;&n4*PmVg?E2H|kFS4Sy8a&s{u=-O8vj1K z{_NF{Ui~ovKfV6^`Zw2q^XmJr{^-@8WdPUzbp11g{?sA<4oUyZ_2&-o5deP?Cbpn# z@_(j$xdxwK|Kj>%N%vO>et!KQHgNsp>wjM&i$5p8FA@F72Cjei>U$h{^}Sbr%%%Lr z_5XbJJW>fv^q1GarP8RY zkl8;Xi{GK1lvI$f{(^!(y8bzmeUGM<#Hdhi;@@(LkC7p@1gQT&D)c!cKf+%s5`W-d zQ-!p>i2e@M`IKwzfxKFBtI*RQzxp8>@O@P2s zkD}4TB^qq*Zrc`gA^Pt67lfid{t5y7^Po`iIC2t)ZSvga3{@Lc5Z357E>N9+MEPQyE!OS5nP> zDI~v@UN#ZNnaM8@q)1ImCAC?7k|m%z{saX7ZX%hsf5zkXn^)gA5$-G+0DmN-PW=rg z$&XB1(gZ)jZy~||LJnN`XEdjHRDOdHRS?_*RsJWG{wu_P3nEH`IrCG@icd`q|DM;gC#})7q6~oMd2h0F%Zl8uTNYoaiktoep%70r|v|E-2iBU2&`A6=%kA=bgy}-kM!qCeoY9NQkOb?1E zd(?nqvp=R~TEepZneZ#0+cWeN9zjb_AnI9fEF91q1p{&v($#2{%yntyFNJ?&c1RPz z@rC$@ruQXcJM$lq>#ru^+G9q3YZ)H$~nPMJT=dCcCAE0THn{Zm1Rn#wk^6E#1F+ zt*CB11=~?x5?=cGNPpgg^U$a;_Y(FV5K%|a{${pX;Q_ypsiHIWXFSoUx1_1#NE|E3 zl0u&0?Gh7-hC*2W&rL5%^fO5@5|g_G*5jSN2Ko+khe2FX?0W9dyhMv~gL ziR9PBuXr|k;(uEK%CQ}8!LNY>d%^}`#`!lip(oA2@Hc6Y($J|Gm?#>h$aWl`Q z{rwY%Rz^Y-gBF+<#XPYA2luMu)+8eoAFBxgGw0$E?45aY5KhDj38Lp;A(1nIObMP2 z24Oh}MXVrX0GJ-J+%kN^0KF560eigMiQ_o;xQ#Ca>y9iyhDa-G z6IdICr_#oNX%CEmz>GR*ae`MNJ}$uq9~U!q@E<10gX%PDZU(- zwq9m?AxM~SidMGT6fkn6cE}$CNK@x?)*@vZp5k)`oO_nal90569WP#b^las!MdASZ zbAKKHIxl!=PXpwDDL&-H)bFEvKb4bX9!catnIq;JaB2zv3r6{maN0Cy1dfLhUDXoN zbHl$_85d;#8XV65H*+8EWkJT34~98I7cKJdzXm7Ja&>V8r-crAIYWyMPf<8Ti&Gr= z0A6n;)mpt9<(0>Swg2wa23#whWj{BpqWr!7GP!b2)+VY@8 zemYzlTOh=sB7XVKl5OH@bs>Y|K!JKCNzLW3%dy{!vD~RO6Vx^{3L3u#u~@KuQi6o! z7KvRPAGhZ0=_}W4ZNXa%!yz0Eq>TnvgE7Oz*ib~)5SWny4{nN}8&_edBRfL3{4XnwAe%VW)=DB+E1x+@c_})OZ1sG9#me_geIuzIO_U=qp}p-O&|m3x#NW;3*&WS z0x}ys9Jw9A9!&zW@!Ss9Q&2H0WT$$fB;n|0|qp07zxEIB^9Q&wn*zZYM99 znlXFpwHq@k5+zqMTed7k#S9!}ZK>`e-eoV2Id9Qg$|I<@;$I>SVnXjjP%im=*bx^; zBKFxt7&qizoOW;_3Y|$Y!dF+d4G5VA#PH9A<5x>gnVFuBfnAY}DMy zb`ayXlYs=i7~c#W+@Gxk1b>}-C&oZHC3DQ0K6)eW4&pulR)2=;P1Kxjla>w#iTCP{ ztS;xEfuKB^p$yu_&CRKr?GCn@(+`|ov`NNKL%qQK{tX<%H0H8$Uc?CZSHRXdfH^{c zx7$N<)1aW=CuX~}*%*Li#4oYb9yA7cV+y|!erq2yv9pt(Inl>RB!A*i?)?&k-771I zh$pP$0}7G8)rhya6rv2kJvt)|W|oFOK}`|2t)#G_l$Np&xvi*whsUdw5B4hKgSAF$ z*pcyQhUOhQB_mFavfP!u3`~!61Op^>7A_UK@gYhc6y#20nuD8q4R|Ls{LNLJtMykh zH+NiIixlEDMj_e`!+%U7j6^vGKW0I*!{;FOF^QV@N==P@mR;EtHCKQo=2atz2IXeh zas-4$M=)&!u6~_ig;Cerpp1cWN;3i5qv4fDj*DL;g-ngj^<{UFvs4q0$(j=}UC?W~ zg$4Y^LTxoHB)0S{Qu;jNqVKQttdCJVGuH7iJQw{7&oHhUT(?)kbRW+nR|;#GsCeV^VF{%hXmMnSiC`7wxoe)J8B(k&9dKg6jj z4bUFvus6~vK!4a1jMFI;oJ3ru87iG>AJ0MvM;HFf4)*Y78}w8{HaAoJ`Ax8(V7~fn zimQ4d4q>dtWfIJvde ztUm0_FOI51+{WmV7ayKhz-uXu4%`B}ZCqliHv980n;p1J)3JUIMC5{5t{%`;iMeE2 zz6XXUBY&%X%#t&@Xf=1|s@iP?sfZJFkIL0E@^^-CIJf&!GWc@&%T*li>G!Itu=1D7 z48!l${#A7|%&OIELYy!aDDUkZOx>H?-dNtaT*f=%my0X-l+7g`mA$NQ?<`&}J-C0l zie6Z`q|Z2BF7DjFeDdT;1*ytmg_B-TN)wN}V1E|cVrFKvPB(&dRot(n`@LvTGQIg= zYoU%W(cpz!yswY9o>x$JG+?`3ob}$`P0bu3l=HgzuMX#5x{ghHC=k$YcmCy#)5efw z@VR02d2&JT^2{}=2e{TUe2S8HhE=ZC+`~>)Ttho^!^Ty$iIlc?r}y>-H_Nw@X?!~d zPk*!Gd20GRjJzjqG9AoyyJ2r`A`7p{LrBZEy>q*zy}jZ7&8hOO_2x7t#>rG=8n3gF zSUfeeH<&r9mM_bdTjh%Oiqg*``l8txwIDsT=DvVZw!*2&eSl?G4(cVP4s&{Svy0}U zw^kbS{aa}6RQc_Gf{mp6lH7*p_)%A^0e^VOqQ?f1ZQJA)j?#lN+PD&Rgx*62H!k<~ z?p^-DW%csy8<*d`{Nm*|FTa5?btU>WKGcgLrf*gnW*$^{o>4{kPEu}xyL)^1Z+~wO z#oj>4e^CAI7r(imSKg3LLtgjz6U0u7I;KFnI#Ze2q=ur|#b{vFgI!=g(yFD74S!)* zl11rgcD`FZn!Un!m7dO4Z*0A7`k@4wW~%bCeK>VvtD@9TXWzcDHGlVQqVCR@ckkT( z`u^0@oBUg$g){#FX6e+8m))z%2i2iaG;SX*++HA5TetV`3C-@|YJY2a{~pqOV7VA-73ScGD6c7rB38Lq@lvH}V;S0{ zA@a`dizoY3*zgJrZkj8LAabGZL8!8Ox;d`e%uw%K?%oZ$xw6|?W5RNzM9$j~ggM=j zEWU~?vNNSOq>7nz1#oyf3a#cTRdO9D@+(lh}&$Db=1|9i&jJN7*NM%#4y>kgADNo=e$-nb^HdxA_XZ-2$;<3bzdgm(o8W$?+PfFa?|f5UE+-^6_K8M%OG_NHc-Ezj&# zW;`^S+&M&!$nzk`6ZbMW zXav+bm=#p9XMW$a(?TZGocVt zAT@q-7t0!pd;b=Rm=(j3W@N3Do}mSM)4NQtH|=$kT}-Z^*{dpb5_GujBds6^!y=dSP>eJ{OA5W8w=-QsjF({H+cT_7Yd} zn#XgyGb|``F@Kl*B+w!FQ>y;X z%mX=JnMqedWJ=V)iG6R*l}R;4@1byAw3r!OXhXrT-+vr$1P)$nkTE(^_`7!EphHW{ z-|zww?^?oc!wIVurVXZit4Z?c;1;CdK~(rgYi>^6o8OyC_06nlg_SO^{KXfS4FA8F z#L=X4v7g^xui3r*>X8#DpU%#=t4~FsJeaM%>j{)2BT&9;1)Pk)PtAn#>@g;8Buo6mPwnJ__{qjsFvV+kP^!U7sLqMV5bG$?nNFhd$IK&lD zyXA6#`3FLy0dX$un&>#)N6og%`za{Qb3O>KH-Fag7y2m}w}%%<)<-hYDgth9%_FF< zc_383z-#!F&qG{##t)f8DJK==%Zu$JSR{y0nP?d|L18FFfFC!Yd}+&mV>XDs^%WCE z>aUsb4)|mkS?b^=Z#XSD;=6Bo5tl1bI~2tnPU`52M4Sj50Ok&EA=UaZria8SBrv91 z9Df}`Swz$jO|(iDwm{#IXwry~`Giz+2!5-+LH!N==LzohB6L52U5dG-7xub+fo6gi zhkA+>fs)4yZ8Hr9w0`ui#>oLz!G5)YQRF9Ifmu0&Jy65uQGFBVck*n+ng$e5zW{rA zVPfQ4W5PRIH3{xl+b9apWpK_Yi3LA?a(^9~PM+P+M|(()JG6?Af%FLWMwD&b`NpIq zTpKKs`VA~{knn6V5t(T%zK@Mc`C)5tXZhL@*l<9Ar*~;H!{X53esw^sr+*~gKSo|e z^HhAK^@}yZJc1tlV=g1MUlvYbO;g)4_X%D*AzQBjSONNo&7LT(H@~}YcH=g=F3od+&WBl@9acPlC) zmJXBYHaRBYFWRm-n0W`A*vb6NHW}tG8>;UULRz(Zp6tJk-3Fj}^g{XaQbN^o<>fYLj=FGI0PAWVPnjOM5{h@qU;5Hi z%j?r~QaW6w6II>@A1^&hboctUD|&h`qLU;lk1nlHB_1X7-%h4kAe)-`Lx1$s{7fak z8c2{yaZ5Qn$xW5Ym%j8!n~VzI$*HiH5^i+`zor5n+ZK*tj3w3yiHw7R)UmD{9MA!1UiM9F#^MD|rB zBP~soj8L}}6Dnn@3!$2yrl6;qheqS=(UwS?b zib{?GEK`iNj(5F0nwbMqbpbqdbg-r~YOeg^q(g^-7hX}#!QelmB!6T}C2e>m9ewzp z(k8r;dwTpKw`(nGZ_x^vvhh16|EubwxUs^mmZm+UgP-Dzjzh>7_GWNSnCPI6v(3Ca zedBPGLp|BqJvieBR)*Bf3)IynW|i5wY6Ew+lx&Z0QT<8RH+8#mc|$A|P7xA4&f#!7 zzx#)K-Tew|8vz9=Ykw+L^k+;@K;X=Q2;=jed5l2jwAGB9wzjJ;svFfcdnU(nY~7l< zsxIxny+C_CclG>t%(ibeDKE`#dF7q`{1vOJCX?_xm8**GNAG%K#G|S!rBdCQf7c+a z&SnbzScxAs3yOQUamQ)H%ds)GBTAMI5<_n79R&JFD}SEx8b?#ho-wACKxVb37(36w zCcjXwLN>Ox zia0Q=k{?tm=-bhB2Uiyw$9VUN?8oS22&>s?;uJCgm;TUf)8QKRGxZiTX)1j!(bRqg zg;ki*9DirHjME#FMWZJhl+U)*l`d7Kr?z``XO5ELCC;>|nUvP~jhiDeD+1W!RrLX8 z<1r3w5Phe1|8S}TvwS23d$a^9so*8llriNbjQ2D|^Ekj=c#YxFzr=jH#3?3Vp~MSl zf#7F~6;Q;%?}fu~oPcAxE>%6%@6`)vcGhMg&VO^EF8QD5yTGzEn*;4sKX`LU4S`AA<567IH9G zFMn`gHIf}o2J_Kc`4sf6GEP7TQ>3`Ol>WYCWhR}4c!qdvTQ#JrB^O<1TsVA$wr%0F z=}$J*#8KclRZ~_B$cPrs1s+xU=NVNe; zX(erTD`cwGPEuX2zKq;Keb~9U-R!je-Oj1>$|R1X(UyCoODJ{efR|g7zA8=cM3VLZmw)ifSNY5@df_&# z&+Pf@f!gG#O!ql%59B^m3(h>f3;iKAgp#;8eXo-~1D)XZBmcSGI_Z~=lYh=>3Hov_ z0KDK?>!5kNMX&1iC5LAxgWDgDl2LLwdxs;#-f6o@kh4{XPUix~`xb3ySY}J3IY)ccb++f8e(+@~{6X*?+$hJSIHmcC-yCrx= zE_i3M1TSW*PrM~~Y?j~?y96(0-+q#}1mSy{w=hVkoW6wWW3Rl|C;i7wR-O!Q&S61% zhpp*5(EMX5E5q1*d9}N@U!B_z4k4#h_J}(@B`uS=DQ0UV>yVLXv?H}@cDsLQ=<%e4 zlSyh_u&vCO1aSfg7K0fZa+tLP0yop>0JH&JdaAzCI!rNpH$h|WHlBlN9mjP$E*QlN z8O8c+^*wJC56vjPXGgI<`}TYJqiC$)PxtmlckV3Qy^Y^h{Ev@?1ZR^;h=TM6#uITe z-Yp+MC1$NmA|hmM-A!1j*eri%jM2`1%_eg-k<$;G-NDU$v$Gj(XMY#Fyk~h=`<9yR ztpS^BgJ;OCS)2`KB;_~og=*hG_TdPgXukDcXPQ{v#oW!lWNbzhj{x7PY+>tu9S9ox zH8>KNmsd77wx4b;Y(F65==ySPVg2di#zT%g5@Wdhz5AB@zA-DmZ+(A-f62j)FMM)4 z);1QFO=b@h+{RP57%cIZbHOj?f?v*Mb8F*14l7SrYilcr^5;o4AwP{wAI&jgdhPk! z3HJ%d*TL3tuO}7V##`YF=WM%9gLlYa&A{!RpAo|!LFlS&tY6+?)9IPI2$*qglam2V z)!NBj`4%r3U)$`KfIELY;w6b!+~rryy8n;8v)yXz$ol-}nX6EobVtNsCv>`>9;Y3* z0NGXt5RWAM5=_*91gH&&Ah5A>GHX7}{miAzJ|13Z0seMN-yV{bsz2VI|`^BX`} zGS2P#P3-7R=!Je$H*R9vEs-**@}O6={$92CD}*WvbxVH@L^>2o%0f5Jq-D}vS}sGQ znD?@#LU=551un_LmiXpH@u%0%1?830)dn&#Ju=(BzAX;AWW>S}&N zH1>aeqH&vkn^r|_AY}L$$1SCaOcC_qMy2Lj$fl_c`E2c%5MTXi3-W{^e){gsVX8Pr zCh+tOc>$5`rF;~DQG?ITUz36tCX3-`eoADM8h*7^H$)TQz?Ih2uj~M-z-GuH^Y@nfFfEFX7@mnRf48 zXla;QENSiU6^dU<5J2Dcu{{%KCQV83;gMF3Gz4i}pj^rc^N`A5+n5e6vx@pXvV*fv z*mokFJpB50@68Bx*d`kBmO!E9>stg(qmaGaTe*+P&WQUush&)4bz3Lx6kR5jNs50K zR2N^%tIH~DqGfZ;sUuXWJAle*@90y~kuRGMkT;_+bF*tVh8$h<l+u`gwD=s*0rG z3$LM3LmJ&-V^}J=+`E4*&9z1C%8%-E+7>s=vYN#K^2ow z6!p3Pr-sa_ib&z^Q?@B|x@x?#Kv#bxid;XJ@usSM{CV}BwUo;8AQ;%vi>NI)eW2s` z<9mO*;Us=<*$f6;ZD9}77_N?vm(Q0GG%t{YO#r1MXM*-lnp7%hPy9@9T`-_cMBXb@|8ajDCL^&*(p< zGkSaVyC3Jz=vB#thN97H@5nB7p>$Fc^?<8I;CxroJ(CuRTcoSX^!`$Zs$uY`7s| z;{u5v5thacBt7C*Ej{|c;^Lu+k{U9KlH6E=r^bkow05b4aETOE`vs-Mx#4!n>27vGmQ!+n->b)!=`0J9Tc*1mpBo zCRJWQEk&9=xmAZf2(&`-ADT=(UgR`Pk%BnblQXQK)P8)V_z+Lzm5S#xhHKOi(R10f zG?}b&1Z^5lMjj__P?9J-xwnRyqk>u~45H#x!Y|=HlE_mrY^+C_-LT_&;|1r^hBzKV zjRj_Zfn2*`!XIN*?k0cSvSBkJVi84!<*o8$wj>pjNYWOQ##vxKLv??}YS3<`YD`eI z*ktkb;9n(*|1?jLYtoesnp8!>?AcY;WHFDiuoZRo@`O3BGFWx4 zXyKc`-HLaTE`moD4kk=2x*nOG@A+fQ;2wicxy@{8Fk8jAMP_tMQq<3It0z+>hrJ+{r&?OcE3rF~Vmdf|TnEHVX0|HZ1k>$~dioLzD`z|Q!T z41-neSoLu4(VJg{SV^HMU{bnF3_8nVT!P*AyjD($u7Q6l8LGsEL|!Z7J80w`IP{w^ z=+hcdcOrjNrMf+?kWHh|2jeeqn#)VSyqV<#lC6SdfspLzCkdx^BzmS4AQ2m9ep1`Ym@KXqL z0}X#N;}{#kBL{4+90rGl(KwT5I=j>zqs4)uhpS>pW~#r~Gy8|FNIXy&)79`R zw@UKg$}r)@*8U7b{}lRIW}g}8#5|ei5cjFzpb={WUvZW`o?OlH;+D?~gQNL#W%I{e zq2!O1%^zQ0jo)RDm5q<_O^BlEWy402L)ds|*Yi3QVIDa&bk+eaBUpi!aT-$CDNI z_GUaZjP--&f&4z20<51vk2U$sVffXmQ<7;N65tw_tR#HNlCVX=uPtPa$Iz>@WIQ#+ zoMH$21{{8d3~V4m{xh`JNu_CsEBSx35mQfZ4lbEG^g+C?#2 z37p{Z53Ku+27&X<^EJm+uZo}akTW-R(WM5i20rphpYnj)>b%xpIB#>vhEkx^#larS zf@|o7)(Q8fqFxO!nYm>y>7mw1CJ=B(piwXotieOaPq}7kNdL6KeZ%B>=yQL@arvCy zyroN?=exG$+W9#gujRF&VU8C3uc~4{oIOUnC$gk}`D|qcespC8s+_Z<@RrpRaAn^? zwtX?B*}Axbs@F^jd5Yha{BgdmHc|t(=cJB;IE?!CNB-S>(&V zU9kypJnq!>qXP4kflZsdx$=KRG7tHSD9~qdi7e(9Sv_-#@V~@eS!<(Kc!9s1TIt_p zR=G%#`rh8>U+kNhye{H?!^K9)E0BF@jxO)^nCPccd-=Nd-a=-2zAY;VcjLgJ@mz6- zST;}!d;V|9TNH1BREdzn2}ygLrGv`I z)EA~!QMKE5_}kLb)G6}QG+;P`JYJ25hsZ_Wj>Wexpak_oMiTx5`;^m~`TouKDOqsd zEXiK+6CM1-d9luihb4byllk8&&RMx!s(djq*IZHzoE2YRUB1p(@nK}euM;c2zWUwu zU99*O1l^orL?cN|*UWd*_INy+4aTqJbNAr7Fz3ow`1CcoaPbU(B^KfY?p#_3+Jk1i zrEnHYPe{aqIGcg|DoBD#@?c}kKwOQxb}e261qRQ}LXqeM#E*ZRSSID7+r6)nd+n-;Jmw3p5 zXo7pgaBpqH@t!fzYoWJA=*W`yn)k&4FFlFTD^Ra0E4};e6n3NjLH>=4lj3&i2?R%` zW}*FtHMl$*g*<=c^14716&+mfpDMv)X6*VP)HdOsAiaO}_Tci8qMK*bdN?{L&Too~ zn_}Lja?eK;rs<7k6*=Lp${LslUz-ETKVW z{B)=L=j=}+XGiZwll>>7DW2*^`YBFXXE>t-JJ38{3ihHe z9)JHr2K%3d6Z2mm4fioZUE)xz!>W6RYTA+=4ws&UQf7=ij2S&kPnPaKib+WmIXxfk z56j2ZvR|b-RH2IhJiEIz41uhZ1)MC==j=1WF1UYtB-+LFYUxp!@8jZVhUdP^rAKo9 z1LPFVi{c%BmL3T?AEi2mHy7FhOvNNYAMM{UNIpiT-7dn;$EDFs7)UcZNx+{X^ocIS zk=rK8@K4+(hl^TWEN3tA=#S;2Kh_?7TR!@>_UI4gqd(Lht(K2g=O0OV{p+t+^z(1W zGDv^=XLn6+?qYVd17?CrFAtNv5RQF74W76&v`cD_^6#Z$6R~1dc0DqBdHK-n&+oq( zF%RO{^AA<8n4$n?VGVm<{Qjq*tlO)1OZm?G@OO_p^_Q@iT6pN?CZ$)JBFVWozUyI!1c~#tB z9q+P&^YE@+iNx>j#qS0w^5Th_uY_xlRL7jjW&iOW(&Z0!@v;6mG8VYY_?R?3${M)= ziEP)xPritcKg#V=YjJgnvBDDP{sM})$ixfukMx5MB=MHjfVIxT?w5_FH8}NI)R=!p zIWu{?EU9bB#(yy@%PTYmE-WK8hhMDOICA+H+vnA z4e82wnCqWvKbjR($<|QDz%N__mCk>9*Z8Q^f$n_cUtOVYxl7-79?R3i-aW)Xgks=C zhG0q}%5qm~fi~GnxW&R2O_$|X6PplmdYZ?(pNHD&r8b*O%UQ{rE2J2e$C!#;yv4{p zr9=`ad8&Y4uyu=z$3j+Mz4_s;LQ5hLrHdRJ0l$_k`@IK+)TkhLJZGMlyOn<|Rq$L_ z-TH#v*-%Ekq+AUw#}x4sYtrowANlzB`$6;Led&*;uc*=88j$yw_WgqzQZW!J7Csh0 zR;Yg7=J1oBx7i_d#7;v(qjmzRjK{Kd9n04JSk_uyzQ~Schw)f;k&b1p)$cCmk7dO9r6HHhIir_@dq0gteI9>R{85>9;-}x@0_MKIS1p?C4P(I-3M|l4Ec@S5|6AVw z+tuZ(tpD#~|F2U2Z&$y&y8DLcq4~^_(Oz!7CsO)QM#;e@^6r~gt@=k#=9YaqGXIv3 zYpAX&8>_~3sd<17qcUf<39a5Q8PD>)QXwXqh%W4&IKJ>kas!=w+@OD)yi&ZuNzudN z&F_jgkKa7zPx0on;tis$zZ7qN|K|4vK{N`}q2-<|H1Rs~w=(ZYDL4JZ(@@lOI4BiZ zuS7~$U03dw- z(UafwZ8=z}RGb<3-wJ=1ZylF=tIG!&E`Nx)jO;d)?yY`zAY6|Am~XU$b+&f8y+Lbx z@F-4cMey^P%l^$5(Q-wuj2oYYlIG{_SL@x)ZZFkWQ*{5l*~~ObfBD1mx2T3zVXMC` zIb4cngx%TQULRn+INa#;vB6w_&NM9Iuq$o?!tBDT4Ujpn?Mi?6+}>=j54tY*PR;W> zr0JEJo|lU>=SY(v7+yNlhPK$T!1pGMwd|sUEq+eX3RDD!j-lAW1QXn}Q75ZzjNNZ|hKQ({wMXT3o5#_Qnwv{2lyFrZ_$kt#*z-%>*bkat% z%>L?X)I4k-n=9}M+5-1R_Q+iS%Gk_Q)wo);e4#Kt@3n`-RxZbT2dTn~?7r37Eo+yKd1znrVs5&#Op5aj2Togx} zJx6>cf)js)dtBzaeJ?^jwHdJztuW8$_7%H7*Ke4pYqeP>ee7JC`)duKxlp!0jE;U0 zM47Fy7BM2&X zrn22}Q!C|T^lQafaXZ8Sl~HNPT@Ya9U1^(nOz?lh<6}fbn-Z0|EtOz0hdMIt9d{0X zEFaZorFT4jc5s7=^TEX$_oW7~xU`lsb8$~ik>%0C6SJTnBkm2TIPRnWdxNO8^2I@L zdOsfATpeQC$6_@Uks0ALR(S{+qtpQrP!j-e9BSUtYyY&DXX z)3bjMCyqR%!ZR-FZ6@6wjKK(*9e?LKpbE=mj8Ro`C66PMODke7=3zX?;y$n4Rr$fi zhm}*QXp07rzO=yS?g?KC&?}~nVyl~JjK3=<2Uv)toVi7ID|QSiS88tt=qZglb(i6m ze?J*nvqx^zwu09IU+v)iXvHcv1Vne-mUVx4J2rN5!7nU$S@L{(F;#3KL+$C6Mn3G^ z_w?#+FS*kjUovDK7m;Av#^AY|}74ufEk<>Y@| z1+K%K#Y?xvVjyXz?N}yae_+3KlY26Yj^H{jl~@a9*n*K+n=)w@<55X;j*XV1jA3pn z;saBDiN7nRK#_9O;}yT;MGy4sjJ{(uYMDSJkGb8@oZ9coJEC(smGiuG42&M1+D>#j zweRT1X2;h@i70GCiho1|DCe`mOt*hN1cziwZ0<0O^xNo5c_TH~GG%KeuJ^^NF*60K zIFM+j=~J+pnrtS9A#hX=8LmjO*hBO!9^ ziz^t+n|}-UU<{a#vLWmo`x$F3#x>pO^XNVelhb1Egu*?=O67Q``4zZQR6RVnur zvH&^F-@hEc3n96)3pjN+7A-TB41ZZsCy_l69{KfMnf0{{&!tUr#q_}P4NP}l)d5L+ zZdiTxjg!>i zLc`r73@jk#B`Z2HS&l6tG%tUp`G)V8bvTTd*#~D3W;1p#g9bgr3J?j(S){`y)Yazv zqv%Xkp4HnZA5b4wq-0nHM~tjNR-8$wL+xN!fs0{@W0V6mL7B%JZvNPa#X`?-U=gp> z%M#P1H|+Ffg4n`1U7%v&tYu|JM-j9e!#!&Tm-?bezl~Z3*S1@O1T25aKymlaK zVNeOnrg{N%MSJfec(psM9qIE`Ve-Ub5XV920|)ka21rj$hb$%1E}Cb{-sM1_-#X~d zvdp|YlbCxDcf87jh$r*F#b5A83%}uy?)b`r^7WFC4GRlY$b zxpzIRx5S~frtrYzSej*5*lV0su0Ts1%b^wrWeymR zI2CBEH;F&1Kn~upM=b%b|CCWg*U0p567OMQ_x~26iON)mve( zT3rUK)l{GIxcBGTdfg7JRqnuA?b1kg);0pH=Zml~j@KeQtbKpV&s1fm-adgAt~EVa zywLPy{wwwFl-acEZ&z$X4{1e03VUXB`)1&5D^{L>QbxK%awSR*1kiMQ!*1CU%qdLe zxgT&sMtV*mIXgY@h)9;1dB!8LfN;Pl`Pq=FGE6q^Mxr>z1^$01!Z_*L9ue~)m)QA;kxFOW z{uRu&5?UR0V$N4i5Ez)BM4jrYEVP|NSB_xbEufj5MtPp`bS7{tmqx%7<9(;1Q`RZV z20Td&V_2`YR{5kI8ZDDI&j6Aw#55mH>DehWp`~iM_h{8+VRZSOmYbF5vKECZnS$`c zXX8j%_85OF{@@8xIrd==(;9M#75p>}oRg4TRL5+LI%VEuWv3q>=vb-aZ8=baUSd?l z2`Od+rls`C!RQ}1e(E>SIY&n!T$al!laYi=4nx-0n`cnMJjLx;YIg$U+;Hs)F4>qi z2-t$R7T3P=J}xtZ2c@A}7TRvcei&KRpXA?)u(5wm@}NhM#^q1Wr~i;RxdLS0u$h{x zhr0+Uo`O$S!1eAM+$nZ#s&Wh-xSAZOti z8drbv)``@f1g-TX!9(M*%;Cg#vQoJ%%p{f!AaqFe;4cChoL^5QDEgrjNrq55O>hgl z3bl;_;(P)UEZ-6%Boi!hWRAyDSw0|;F2yBPK;m7h8;cAA!u1FoK$u_8#1mka3j>}* z;+Q)uvGRGg@>Y$>p3s@tW1;Ni7{Z?Rq6mM9(v_GG@|BXzMVXytPCa>`QM=WbYSB`k@0s$dKhC{^oz6 zbneW7>DZYAO+M{BIP>eByky|PR%t^0Vf=r39j?z` zqLC1sT6-#erjic?r3#CrBtawni-7WGuL7u5RwIEC91u2UBhtpaQ$d-$gdg8F(s3pO zrBh7?OGj-C`^9MoY`f&b+M)brbtzX?!%#}D?H74jt|UQry^-ydo{#&a=fW--Zar7H z)bL2l+44wYnHWkGO2szol{tp;@zCd zySh1qKn705GFfA}MYY8?kIey+R!$|K5N-i9V9KH=5nXD}A_`W)2@w~87k;FMl+}j; zHLJilY*nbEX@HfBtqQ0Q!J?(N@KLRKa|^KsuMfk*Wx4p-9bc-BM16m)*1(mqm|YxP zCREB{K~EzGg&jJ8vWuu1WaZ%2gOu06L8{_l?6cCwQ9@2ouJWtM1d5vl;=IeiQ?AJB zp8H$719o_c)Rq-%L#lhEc z21;9BfT`acjH>{tww8Yojy!BaI{B2a`ghYHpyL!d5L0(TXz?LLJK(NAO=OwjuULr; zpxgBXiS*2J@OXH#8N-Z3%rS5&!kvet;i|&}X4Jv*q;Llq6xXcGJqo--9gg_q=q-X_ z3yQC297R!rFvP3mt4&PMjAB+FR6Z!y&2|pUg@aYhR!^c1Dmi}|%jbA!fFzXmTt!f1 zAXAVD`h5ma{0i_R=c{V)dRGG5lhTnbEdi;IacL%v23z#kQ$i4|xc?VZj?0=9(@-}t zG-W<*x+N%mMv&CRl*#v|3>q))b5MClpFzv8nK^X+F5DglA;--H!h{iA#AGD#lPPL2 zJU*+IONxi@T=9Q)OoV`tcWF;rW$z~A_cLHRhk7$E@#@y*tbNMAJM9RfL zky;Tz3>l<^LiQN$E(sMZQ%WE#8}L^8H=4nKwZby>7k1xnzmUxEUAqo}ApOq^Fo#SN-+YSqHc0zR2d-uz=)m`td#=e%{Z^ z9oqN(ChlRD_`x1zX?gUZrh8sGAi*H3un=fBR}-AO(6(gaaEDzS^F+Z5Tw7F(?HHTU zgQ)bs+*8dz#lnl;Us0?B`)KrF{4) zM~Qc~DjBm4!K-e>tCKVU3!<++-23iV>=!=m#c`$ieth_Lf>VI$N0|&vmsVtwY^W2h z0zQ8|3Fh(o-u-E5Qe$|S^Xue>fZ0~2|jvohuu=uO;&sr_TWa5{GuN#`Z%fdv1T@T_luA4 zjC1e)Z0_YnZetft=AcB$it*S2n#y|q80pyg{lELizxd@eGfgBQK@GvO=+vbl;Nkzn zR=K&nv;2`D-7mnXMFhXJBh;KNa$A2@qW9zPzkK+YreS!t0Yo#s-sKHjDleBhEiNW!A)-e$eD0mWBP#B&GPiEc!(wd-OTllj?|bOK<|(`^FfF<&@Nc02 zzqJCl#VZwvwuW9TY-gNhJ7fs}3O^-IMneMVl#ohT$+wo zV)M}>`z2b5UQBLA)PT~zUuYZ-MCKWi3LBnCOzAGYg2Z-)oNL-*$A5p;6TEjA4;d;` zTphe)Gpf-m%c;gTQXlkg^3VYN-1GYkQ}_P!_F8NEnapmi0eF5QZgw~I`K|nlmj2$!_2tY=MfV{BS(GSZPr+O~fO_ql8#c`eE~s)u z`C@4A$q9UQ9I-09)5Cw|q7cn#xtSNxFW>|+*xpaXKE_SG;4)FW%M;?l{tdrE9AmA_ ztYM+NklRXp7IRKzF@1H&b*J`sekmWmYOVK!2hN%U2zH`%JH^lMPv2x~E4ga3e-hfJ^ak`xxsda9rDvE}@EzukXVU|CD`h%$?7a;}ke z(^ID8r`MwG#ow7dLr~;}lu#MnA>mm)CUD=2*MgUFIUE!2J=Yw>HSA8uyio_2)MGrC zO=hP!j2#p08y{u3ZN9!#G#Lpfa<8}UuGsuEBP==lvpbTV*~Ju5W)#fDLfoc+Ghm># z-&|hXkW%Ufw{U+Azf5Xi*@nYwlt5I^%=ePb>U6YyulSWK;Pww_M6XDRr)i=Ooq>E*a@hE@bInwZOkm@p-u0%=K2^JT*rn@bFI16tdz5qIZQT{gi~A$ zYp_>5I>6ra#H3~n&;c)4FG$C&K;!6L10x|Ja(z9PlXhY? z9oui_dcNOz)flw58&A8vt*7nwMq?Y6x$$GW*KL1ncS*tjuD5x*+iN^+ZT8y@iFURd z>%GmVjhzm;t*urA4^G{uA|Vap%{JPdXU_+Xr=1t=hOt47_SVkebwjlcdb@3+s10^| zs-hwG+&i6EtOB<|i@wV6BbuooU(**dh3 z+J#L+%Do7>p)%(F+eij(st?UeH7~!P(ytI~n^b?$Vk|UDcy%CxxQM)GU-mjMiwpA` zo!;DIdwX}Q)&C(c?f{j~o|ms%K92!_2LgZ4az>!3DSzZNh_IEINs8(c0P6+;c*CyT zaQq2f_H^6a;Ilr2dYt9#&uVfje(+8%#!ogtb!kTb>D%zGXTrFt_n;fF0r9y77H|sT{$~|fAr@9l>M*jdu&t{sfoE^~hOZmj{r>n$ zl5>Us(*JMtXVp?)TWm0GltNklo^iTuo8AP7E?ZLl+BYMg=B+vzW0KAeadPdD@`D1noV~VOM8c z7>`e6bE_(8p<)y-dX#-FM0K?_9$I}y?&2GdR^cP+(GE^l^@n-U-X=%Ea&mt_=DkJD zI2ueD0(XbMetJWc2TLl7u2Q&_@Fu`Xn6v!RA2%i^a^P=bN@6z3MFf9mGgegVM*Ftz z!8EO6?&6d9QrN>&VwP{~)h%9r`I+hKQ|}Bqz+xEF>hb-XD^hE!g7Nv0Tt9=UMW3^j z1)uX&V(%=wohoFXu@SVGfck&qn5$IqpIps#Hay!$y#troC1V$6!klKUmw^*f_=NHJ zDk7lb=_#bM4-a{`B`pi0Ph9q|N1{ojaIE2Rk>&pQN>Eo}&z=zpn0a7T0xHw7p$)F{ zF#iZY8Wm$-q}ycU<`FCSdAAO~aXo&uwK>pkPzOAPVH57y19yDT^N@cUbwFqK)EJC; zxKLkUp|Mj{sf+tK&4D{CP%ZTOA!`6ehr^?@X{La*n!5%2?;CIk^&_gXn+|V3pu62}YmF(iL#!)i|W&Mu!$K zBV;D1A>@r2-{N?NRqi>+2Fy`RAExvK zcQ2m<*GYnb_iPri2LKM;BLZx|R*$cY3iH4*u}g697+&UG7vg^q3)k~jz)&VHQ30&6 zXC`2YwwCS8TGvn$_Lm&Om51`g-@Fw@vK_|OvHV-{%B-HZrsM!ZlM~w|K-cAkgSF$l zKn6<-LI9&NIf0Qd%SwpTm@l^Qaa>8S)ataHc+gg08WFLqJ4T(XApu}f_94ZJ;~zlV zU_>8RDjw6vAUuDpbtX=n)uoU(4t7ag%;;P-y_r=j>tWxOeXX~%KJ*?c2!OW95+2>x z$BznTj7XLTwVuP^R3Teqj*7910Y=lNp2Q)jy{ z8a*`**`fHqR~)k1&M&7SJ#T`u35qs^$iT6}We1Tv)R9M4SjGfP(h-g>N``}rNgSf^ zL8XXQBr$(QX!-SY(-_6;=`KD)_%#nrY*KdElyD;!B>K}4va3n>1gY=^Zm4+?o;5rX zEA3B6L5r?$5GLIq1o9|SQ8eph!o`;iu}&N6(tF}4ZOGW8@qRphJ39E_<+7IC&d#n| zmoTh-DVQlWmxqQV@R>s&Qw8md4z>3>4=<;_S#CBF%9+ z_rp&*QhhL?k!|<{!!qm*T$_$UmjB&Xb12bO#6Ku7Psy?yqeEiuyb>bczA!B zL3&{S8d#B!pU`z7AIO6R%$Bw{mk6Yt+t`9Qc6I)MvSE7*C7+giVaz&uRI7^h%sr@o znP%3Q4Ip#O2C&*DFUb5RuLYELZZ=w)uYFfso(VhVpb_;Py30P|LaXr|?=32k)v@m6 zJ7k3YVVh43g2o_c4~R60&|Q!~=oWv#jV}<@^=IDo6Ez~y34cP!A{KF0eb1Nkg1*$A zWS`EM6Y(9o4Dqm%9+XfFgE10By(CVNH4`?0c%YKCX`hBp-5BX+lhu~6F;#o<$jGIU zq87T#yWA!8bwwekuF0m53JO3ln;g65#BU9B9UjEsAo=$u+_SN!z2!23FyaY;L%EA4=; zYX@{zm#3L_0J^HK9WYJW0iA!<@20s6al8_m`v5m_HLu6+0>X9JgG&>;L`|N5;k?ZK zX0jfT{u!ou`he@jOLi69RXC65Ci_x@m%kP-Y6c@wVQ(}(ygA{T&s_a|xR5Q=f!4Lz4=I1jvH3udvYWaF zkD(sihJ1+rZRQVBr`|Vb*)^B^5;~dnMCtyNu$%lPfSm=C48D?+tKFyN0IqpxW>Wp= z6`2FMx(xAC<$lao$;k=(s|p6q?t31ai$p8fTH)0A;Q9}%mF%CsjalCQb4>5T!&Wl{ z(mTH#kFvtw{3*+nwW@z~`AE6)nYXe0BzYAm0qh0VL$&%P=;3*#9A@R#Zgc^o(g>$R zlM<|D0f99m+8th?-b?at{jSCvvVD#qjMOuvS|PYWna+m2B}~ZjT&4xX7V5YSeb!{W z93QsWJkJkV1?Cv}o*gt50+91sOjFpRyvKY`Rvjr5FX|$|0|$S`oFoP@z1!<}(!DOT zlUdDt$sCYgi}!YmHal@;4=rCl4*YOJWpi@mB_{}|K}z$m0fp4K!Gh1^5!-wZSjI6; zmtvzajmp!>F}L|mDhs4^r2q!EW;=C*PJ|`*SANXR;Ve>MBL${fVh(xDlFO*bp(fi^ z`=zgM*8I`aFY;vbL12Du^KV!j$oGzFfn;2(NnSm4;Y@_>=EO*slQw+8tC(No1P>qP zWZ$aOH5K3&2DNn?L7Y6o4EQ9P5jz&OH=2-p>G zl9LtC8KwxQ=%l)?(icO;+FOxAWdanH94dL30Zo(k({zFM(bx38p|EB#XGa-qmo2#yLZ zKcfQWuF-#z0&zW1HUlj^K{;;tl_I}2iMxwd<*2DAY~SJO-cYs-Usc$RTJTuYcYIh6 z_)yaY4_m<;bMx@aFTV_9WvP`3vm?%4IYkrYusD!zFdJpLBJbpFjSd zK-GU>d-47E#mW-`V}G`ysM8qnpukQM{*5OC*u za(xE1bB^!ZNN1#;YefS0vQ<@9JkpO>_hN|h~D>SKV z`lG(O0I8N0cx}-^tQ_oPDIM1)Z62RdbU%M}DTAK z-_szdilJY~WYNvf_mR$4^slSC`MS)6^iIrq0r7>h0=xXLsvbhnUy!i-Z|larJ-c zFCGwl=gs>s9-wB-!Xn1l9ii+WzB!!8umc)0E8Y+;)M9OAh0DNQ3t|{Prg+sGg-LmaHv0f0#Zr|-vNU|d?ctXsz zy0UmRlxsAZm~YTeAdTAvKANiogN%RQrt^Ls*YCsMVHu^MYB7Q<&C5FVxn;q+szHZQ zn@?8z*J`zYtyEhU`>awdgR6X{27}O&8Wr1ovDN7Ga?6aQJ#H_W&aSCRy1FGyy`qHk ztAlG)I!pI1Q2|z=E5=vDn00kx3bGkZ2!wPtHkMT&B>O5%yZtRChSSj%w^e@!Z|#re zozE`6{lnLsJ+80F%`PWbLs3mng;(_XKYcso`u1ID47vA{i$8rEvZzeU zcaz$te+=S@>8)s{O@;jeirbj69MFurx!_fqUI$`*G4)9x@DEO_@u7;6Du-b%5>1kS zFfwIiCFI$Fx^z>BPK1Bz@(i>1{@?>5Aj{zMR?bNpvl%kw8N>aveQSg_RM2J$LUU@H zT${sQ6!(ai)3EcGX?>%3aWReA3(!J^?OKzMAAJ0vbDq8s+N2K5hS%>k#xsIiT=QX@ zQXxYEoV#*p%KK_i<2)i*8Bc)j-?iIgNil-yWT!@yreOvHrkVH;(m(OUcHu{t(;_eFFVC)*lds)v71L^=1hN%FCB7xsT|tc(_>J_e|R>%nb^;4 zqCw!Q;`)jOb#-lb>=+UtLqPpIk`~Lk88A28LkO9sm1}?bXm>$y9dsDzxGjSlmInIQ zHvQ!78k({=Nf8Cc@s(*oa+xZx$Ws=%{vN2$&~ROgaCgEaLM?+Wjao-H%=#i&*T{N_ zFk2xvJ4IT@Mr_w9dNHV3hL>E?!C&#TW5w0^`v#+Evvlm5?N=BbfdLXh3t`#Ck?x=a zjeWqOFE4-pi^-3v99(|0`e&zQmw*1cad~+}B7zRiZ|(P-Uv{XTjx+`w&9c{15Z@9g< zzJT*5Ts{r2GQN@3oaalk+mT+o&H^WU<;C`kJDmdalOaDlo#EQ+A(>*M{cJesV*9pH z@Lx$FMgQM>gVkW+oY(MbXV~ubFx+ppU+uIJ%Wki?`!X<>OAV~56L8o}!2WK32iuzV z#!`RL*?!U5>}=$37dx#UVbcd#m@E}Pw2?%02SY4%wl|8c7A7{G!RsNeSg^05DjD-A5-^XYNS=a8)21YDJ9|r`jXKj1BBSU$E zw9DRLu+tqN%iAb+w}05~zTEb{FBOuj4_kjb>J{(M%Kosq^Za$cv)(Uwg#b%Hw7<%S zd#_&qxL@o%$16*BtLW3XweG9JjXan#it`_Ee&-Ix8M`vYUKDdVR0#?Z#AUkqOFAY|5c>jvl%hv1SWoz>XfjbOar>C|nx8CdS zu0L05ZMXlrXl+uoKkV&p7p>hvcc-)29Te7o!X|xQZ*MYYFSlvW6GrP9^F{RVCk)h9 zyVs&fN8`ZU;RuI`Uu#qG#x}N`!zQ-Go9$w=^$a=X)9(6izu<1NqZwbKyE4n_KksgC z6q+1*qk>dyC5Kpq_1p9UPYN&EjL~*yYY3*$*&SLTyC^VN_nA9g`qAI&b_dS`4lq7{ zExy~@+#L2h8|^-Q+5TbJ>`|n!I(g8fICT^Z!{$b>y}bm|byx`gJ=R9Q-&BH5*yt3U zr?x=As|_LMwwkcCR8GZucYDz5Qt{K58-;|11s@y?Ic9FQpAHH$QCli@cM1?|yJ&80 z@@NyE90LZ!my=n)(o93hFpGW2#9C*6P;~iPkG>2w4lRu!SOE4QwrQJX*l?@04IT+U zib3lKxvjAFfUkV|8AL0+8BmF?Ge2!Px%i=9G(&lc)ApsI&u#&xwuQ$=L8!aSDsB$i zuV^B}Y?vO<%?E-x+}_w~^?oSUK_WvjMyM*x=OY^S5V}%*L1sw)$uo!CCZBf!x8MJHBJ^8com9J?GI~^23@_To9Oct5>vNw~M{q&HZMpw^cyVmx|||9a@x8g5geky?DOM zSbGbGd*7_?GcI6;6(~Z(^vV)T2Rg9@&Gcsm)SjzG=+i?D$2Tne4g_eeMI#6LpdP=} zKt06@ci8+}>!pFzMEj+g14jNCQwu`SNs;cM9;qu!wwSdgfkN^TRQUm{;+HQ9R zGGa_&wsv-d?zXIQ9huj3wr1p#6_I?12f; zHm^F)V2|~n+3K}-Hed68pS?@V0nAx@I&8}Lm_^lYvPo}?L10Y@?~I6Gh^&!lZL%nx zu-IPq&x*i5fcis!Irj1TLa`hbrTUOi*jmf$2_4I$C2jLzB` zn99s-ICH?HhmWhcrkfA3^LItshRuF&J*{HaL#rpB3O1%1>lS=b+jbB3Nw$Ih59~@k z+8Mvc+7tr<*=09oj35--)>L-?o;G==#JIt@I$=jU%oNOjqi6x6sHQUrt#v3)BEF#= zT7ynm!gm-TQDS((O)eDtt4(c3{54Z<$yXV5y7auWt`_yM;)b*^>QBXyh81rtXJ30Q zy9YzUvWJD)0VlyM5q(j+rjLNWvb)Jhu>Er3Z_bxQK79DWAsA5zm6 z)$aSLN^s92ey;L(tMe)^B8=4Nu^Xi(!FFtRVA#b3!ThjDdCl6h3z-OAZ@vT%;1S_8 zTFg05ydc=ic!!-){RliKh&gEUg4)E!?d%}kV`mY6Tg%F{J+{}@h$OuejxiXm-A%}9rw7h)%-U_~EnE@`KeagNcc;aMO0R@@oQ!C|GZ=w>@v_^6 zy5r)19gm;8141;Y|Ux+hL|I(a7`(o z+%IeYfdytC>Ta_evm6H^g5DBXYf5l-5gFznvnJM0J1z8COVCU1uCI4FbvQ5cvQ1$~ zMf(*;i?Z`tJR%p7X@xz8%h4SBaKYNy(yNSrsjs*+>P}!B$+kLnqR~Fi4#0#vhodnR zS0Jj!qgQ@<6gJpA8pSp8#iqS9gsy3(*`%GZ(?GxKfE@5aP)GPv4Vy7d&MK7*RX9xO z@B=HOu^{;)7!a9(NULl+aw=sUmK_Mf8%}v`qHHRQr+AMDljQ?w^xJtyp)*_6mK|Sz zx5X7j#$PP-ZVxghQUc>LL^IxwQ*59*voMSrX3?V`yWK5@up{E@EU4`Qto)++va`X? z8rB*DgI8^8PDe&4sC|?H)RBSBExj3WT2r1_n>M_*OF(;n7qwM{T__URki2^F3Hku6)GJ>1MnLek`;dRg z%0}m@nEf4*Cg=fl!#cyBBbHEuZ|*|GlCUrs(H4Zr$JItSPPPW#7;igQ!<@r1ZunHd z89oCm#GhJE92s~SmqRqkvDyh%lXG{`w3b7yeZ{ch#^a4qNeKp6(8301qCxq8_(nLt zapdcZn_%nIiP%R%V`;P;#%l<-SR^g|VX`FD;ZW9pegRQ}b9I8-7ir(!3Vg=1HVZ`^8`^7Nf;dt5LAGJe zx-`Scme@d@ZHD>ugi(JA(m}?MT)2d%oR%p02|^{~uxPNIoCBQ_Tc?*a)1g-55vV1c z7Z(gX+a-of!pOmMi1-$WX82@>A&o;=H2A97UI!y!vk+%MuGm0ZzHPOCo^7=dCUC}v z>}&U5<5)3_LN5VW37kyCRg1LgEbP)d$7rKou{GP>CUag2-XgB$BEeF;kdaEQ)Swd1 zD(vWVVdozqf*mgM({Z2{oE8uqXeVFWeXW@)y2#?-wC!9CQPN^`@@7SK#Iu&`07B2Z z=5Z#lc7EFP!ya=i&RTqbzH`(dq-G+LdgFMl-=I(A4kXYK|LGJ9BE^o<_LIG)r0)a( z!p!%Up7^Bmnh7lRL2w1M&`Dq9q7+u@$ik34WovpF&-U=xE@z1=If@;^oY*>n4{U8n z*eL>L3w)arR-p1k>rMO+drjb04bwV1Y z>k$V3o0G#g7&Jc~NE)E!Z@qWKBf9pJTnEXQVaj0Wf8;uETTY6{LSV)YF1sVw-b0n~ zdh86e6k`Sw2wQf4+ql6|cqj+O_*S>oi&AhaL5>SSMr!ZK4vkz(+33GxzhyU^V#c9X zG7VJm$dTudGpqz3-%yIgXY%afbL*Jn+Ft_SLn|E`_v!SW7|eit=Fm7 z`Vn*DA6T8ST7m*Ii;LDx3@tPppMhV2B4+G~ctii&BB*Kd_FP~1 zChT{vJXoNAup4|pN1}bI=D`<6t2SP28}UQnD^6$^N#QfTe~bMB4VTc!Z;IJM$tNEw zLGca)O;Or}rGl*OyHj?eeWC-*Nn;xMXA(A}PdJN=KZUgFh`k6d`|RjYT7mW9;VDKA z);;l%|4S9{YJ+5B?=6KYIi}FjXcYQ^($0^VPhjJJ(JkDjv6Dg8E4CA|fAYh&*|oup zRdw(1y#%!%jt}2suXKUEq^KAdagK;;-);5S{BRP>TkmkK(H44wvB1aBcW0lYc#9H9 zA=J3D>~E>0+~ZTs?Jf0)t!DZYNTuFk?HFT|!$HID=_3G}GbORoa;0F`WNmt?>UHFI zW{anPI2`|CtG2Bl+rU3`!qEbQQGqW9J_rn@i*CraU|q+^!(e^G3HHqExNxuEODKOv z+KonIMJil>t>rY~v4pS+NWE#^HmlvI5&HS~8+<^Z z&w}m1=mp)K*T1|v{pa-FZmR$3hk@}io3Hm4tM%DrzJAGQY3ozOAy}U*zO7%Luhs{M z!L~kNG@&*8B^Jx|-gI`mRy>0Bhv~)WXmYiFi!es(F`j{zEbd3U(|fq;&(|+T`>>>c zSgsGgU9Jz2k_xYebeJ5!M6ik#*e8=;a)L>87YQKK6{zYl~2J$ZSpP6Xg6nVu&m`(5}|_ zfv4#ayr?dCUa*gY@3*>Gvtd|NuVG$uv4ZmxKJMgpZI0#ZQyMkliy%wU`sFRM5Um-x z1C|+TJDZHiU>H(oizW2-{PuJJ-)P#%?qeYm_-7ncai7-qWAAd=v<{GxI9|08m(5q6!o-yO|}^wcZJwh_@?Oj z1v6Q#cOMo{(0xCxUo%D0YlS$p_d--jd$TotdzOkLhd!a9GCPP#|HON+W4d`MO9G9ck$o@wc7uyY2e4tGrpVf@!NhGx&%r># zz~Q(20+T;`+m{z~`#-_#JefSY)j>K9U2N#`d@jYy+5Lj`44rd&g#^4?bIe0XUAvu-epTIyiwSYyo>POfIg{-UbHf8DXp{(^4B9YX(T- z-(x#hEB(eh2e*?e4D64v99q9RI@>{1kBb}jDPy!PmUNh>DdKvUBNJnCckzg?*Fu5 z+}F#GV2JkR4oks!@`Ryop9JeTTXFmu6CNAdn*SX^3b>E1xr!xo!SxZu*;lMqjkioEyC4>FsoS z#{~$^cIZ(A4PetoXRye`-^h4y$M;d2XcyNEbn_BcxD(6>%`U{u6gfIWAR)XE+DO}I zXExML44<*{!~Pe{Q@y5EajrgEuJL}@yD=J~QF^=hgyVaY})j4eS#3F z{sGyN{JRzSqS*@jsv0T@Gu>0hi03>)Vy!GN+Hhm1oN=(>u z>-jfypVW+aG1@!*fHzbWXz_+*>aZ>P0OT}nJEYA#Rw1Mf-`8pI1M zRZKbrKVXEN5jHoR<5SR|u4a80oi{>z7J*sQ&t(^m1&(3tPBt zBB@S)JQg}`pMAz5tNzyOV5L}1?FDv>(FQ{T#cyGj^E8a48Yr3dV~Q z0s)yZ-&9F{@)iSBtAPfOGZMDw<1WW@4Y!faljAu}Z~%a3o!vX%!9Mi$p$BMB5ibo}YOu&eLQ9o=$-?4fQPXseXghWh2SSL2rZ@?lu z{)ykhKDl=j!lf$W@fz{Ey>z&^8X@u74{M{b6#1C&Kh-`R{rn?V8Aj{m-1+S#qLXo` z+APXFPz@1FcZ8riSOpj8F}_nQL^uiHqfB>X@VP@C*;!_C6WI6_K||kD5&j^5T3qsf zR06+waM7?Ow>880SB?n`CNPiIpF8~g*tM~>?M~(zc=k>A=r_J&+oy9jWL$6?wV!{j zaC49vV3p&>9R~`n7o+zda3%sXCe9X8VN69EMii`%j>i8=L!v*g#}8lbH05G(k5%Rr z;f@n;S)?p6@Fx3{UT%6M-9smcEF>^I8x%JPnGVL=q#MHRXc3!ouiZOE)d4A34 zOiAs1!G!z@h7YTV1$4x2|8;i7(2WaxO>Q${Ji*K%

cqiAtxS?^JSm@$Ejn$VW;10T)Hb*GHf7S+-tNBs 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