From 5126c41c1cae810a28e89dd424f729ef59417341 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Mon, 5 Jan 2026 01:37:09 +0800 Subject: [PATCH 01/38] ggml-cuda: remove unused params in ggml_cuda_graph (#18579) --- ggml/src/ggml-cuda/common.cuh | 1 - 1 file changed, 1 deletion(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 302065ce9f..78502057a8 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1058,7 +1058,6 @@ struct ggml_cuda_graph { cudaGraphExec_t instance = nullptr; size_t num_nodes = 0; std::vector nodes; - std::vector params; bool disable_due_to_gpu_arch = false; bool disable_due_to_too_many_updates = false; bool disable_due_to_failed_graph_capture = false; From 908a9e5a1eaaff345f05087beafdf43d31e3f00a Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Mon, 5 Jan 2026 01:37:48 +0800 Subject: [PATCH 02/38] CUDA: disable cuda graph when using n-cpu-moe (#18593) * CUDA: disable cuda graph when using n-cpu-moe * call ggml_cuda_set_device --- ggml/src/ggml-cuda/ggml-cuda.cu | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index f05d5562ba..80d983f9ee 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -3696,6 +3696,7 @@ static void evaluate_and_capture_cuda_graph(ggml_backend_cuda_context * cuda_ctx } static bool ggml_cuda_set_cuda_graph_enabled(ggml_backend_cuda_context * cuda_ctx) { + #ifdef USE_CUDA_GRAPH static const bool disable_cuda_graphs_due_to_env = (getenv("GGML_CUDA_DISABLE_GRAPHS") != nullptr); @@ -3736,17 +3737,15 @@ static bool ggml_cuda_set_cuda_graph_enabled(ggml_backend_cuda_context * cuda_ct static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) { ggml_backend_cuda_context * cuda_ctx = (ggml_backend_cuda_context *) backend->context; + ggml_cuda_set_device(cuda_ctx->device); + bool use_cuda_graph = false; bool cuda_graph_update_required = false; // graph_optimize calls set_cuda_graph_enabled, in-case it not called (i.e. graph_compute is directly called) // we call it here instead. #ifdef USE_CUDA_GRAPH - if (!cuda_ctx->cuda_graph) { - use_cuda_graph = ggml_cuda_set_cuda_graph_enabled(cuda_ctx); - } else { - use_cuda_graph = cuda_ctx->cuda_graph && cuda_ctx->cuda_graph->cuda_graphs_enabled; - } + use_cuda_graph = ggml_cuda_set_cuda_graph_enabled(cuda_ctx); if (use_cuda_graph) { cuda_graph_update_required = is_cuda_graph_update_required(cuda_ctx, cgraph); @@ -3762,6 +3761,7 @@ static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, if (cuda_ctx->cuda_graph->number_consecutive_updates >= 4) { cuda_ctx->cuda_graph->disable_due_to_too_many_updates = true; + cuda_ctx->cuda_graph->cuda_graphs_enabled = false; #ifndef NDEBUG GGML_LOG_DEBUG("%s: disabling CUDA graphs due to too many consecutive updates\n", __func__); #endif From 4974bf53cf14073c7b66e1151348156aabd42cb8 Mon Sep 17 00:00:00 2001 From: Tarek Dakhran Date: Sun, 4 Jan 2026 18:50:02 +0100 Subject: [PATCH 03/38] model : mtmd : make input norm optional in LFM2-VL (#18594) Upcoming LFM2-VL releases will have configurable input norm. See https://github.com/huggingface/transformers/pull/43087 for details. --- tools/mtmd/clip.cpp | 8 ++++++++ tools/mtmd/models/siglip.cpp | 13 +++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 9f551e8f3c..9c9abd8d2e 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -1552,6 +1552,14 @@ struct clip_model_loader { model.projection = get_tensor(TN_MM_PROJECTOR); } break; case PROJECTOR_TYPE_LFM2: + { + model.mm_input_norm_w = get_tensor(TN_MM_INP_NORM, false); + model.mm_input_norm_b = get_tensor(TN_MM_INP_NORM_B, false); + 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")); + model.mm_2_w = get_tensor(string_format(TN_LLAVA_PROJ, 2, "weight")); + model.mm_2_b = get_tensor(string_format(TN_LLAVA_PROJ, 2, "bias")); + } break; case PROJECTOR_TYPE_KIMIVL: { model.mm_input_norm_w = get_tensor(TN_MM_INP_NORM); diff --git a/tools/mtmd/models/siglip.cpp b/tools/mtmd/models/siglip.cpp index ef094cfd0e..b866a11c5a 100644 --- a/tools/mtmd/models/siglip.cpp +++ b/tools/mtmd/models/siglip.cpp @@ -50,10 +50,15 @@ ggml_cgraph * clip_graph_siglip::build() { const int scale_factor = model.hparams.n_merge; cur = build_patch_merge_permute(cur, scale_factor); - // projection - cur = ggml_norm(ctx0, cur, 1e-5); // default nn.LayerNorm - cur = ggml_mul(ctx0, cur, model.mm_input_norm_w); - cur = ggml_add(ctx0, cur, model.mm_input_norm_b); + // projection, in LFM2-VL input norm is optional + if (model.mm_input_norm_w) { + cur = ggml_norm(ctx0, cur, 1e-5); // default nn.LayerNorm + cur = ggml_mul(ctx0, cur, model.mm_input_norm_w); + } + + if (model.mm_input_norm_b) { + cur = ggml_add(ctx0, cur, model.mm_input_norm_b); + } cur = build_ffn(cur, model.mm_1_w, model.mm_1_b, From d3dce4e0a5f2fd497a312a3152f2eab939f0d519 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Sun, 4 Jan 2026 21:22:16 +0100 Subject: [PATCH 04/38] sampling : add support for backend sampling (#17004) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sampling : add support for backend sampling This commit adds support for performing sampling operations on the backend (e.g. GPU) as part of the model computation graph. The motivation for this feature is to enable sampling to be performed directly on the backend as part of the computation graph being executed, allowing for some or all of the sampling to be done on the backend. For example, the backend sampler chain might select/sample a token directly in which case only the sampled token needs to be transferred from device memory to host memory. It is also possible for the backend samplers to perform filtering of the logits, or compute and filter the probability distribution, in which case only the filtered logits or probabilites need to be transferred back to system memory for further processing by CPU samplers. Currently the backend sampling works in a similar manner to how pooling works, it is a function that is called by build_graph and the sampler operations become part of the models computation graph. * llama-cli : add backend sampler configuration * server : add backend sampling options/configuration * webui : add backend sampling options * ggml : add initial cumsum implementation for CUDA * sampling : enable all backend sampler tests This commit enables all exisiting backend sampler tests in the test-backend-sampler. Previously, some tests were disabled because there were missing ggml operation implementations. * graph : do not include llama-model.h * sampling : always expose sampled_ids This commit precomputes and caches the full-vocab token id list in llama_context's constructor, so llama_get_backend_sampled_token_ids_ith always returns a valid pointer. The motivation for this is that this enables both common/sampling.cpp and src/llama-sampling.cpp can simplify their logic. Not all backends samplers that process logits need to set the sampled_tokens_id as they may not change the order of the logits, for example the temperature sampler only scales the logits but does not change their order. Simliar the logit bias sampler only adds bias to specific token ids but does not change the order of the logits. In these cases there will not be a device to host copy of the sampled token ids, and this is the use case where having this precomputed list is useful. * sampling : ensure at most one output token per seq This commit adds a check in the batch allocator to ensure that when backend sampling is enabled, at most one output token is specified per sequence. * CUDA: Optimize argsort for gpu-based token sampling Argsort is used for top-k currently. WE optimize argsort by 2 things: 1. Use `DeviceRadixSort` for single-row/sequence to parallelize it across our SMs 2. Use `DeviceSegmentedSort` for multi-row/sequence as this is the correct entrypoint (the function chooses different execution paths, it contains `DeviceSegmentedRadixSort` as one of the paths and will choose the best one according to heuristics. https://nvidia.github.io/cccl/cub/api/structcub_1_1DeviceSegmentedSort.html#overview Some perf numbers for a RTX PRO 6000: On the kernel level, tested with `GGML_CUDA_DISABLE_GRAPHS=1 ./test-backend-ops -o ARGSORT perf` Before: ``` ARGSORT(type=f32,ne=[65000,16,1,1],order=0): 4130 runs - 359.24 us/run ARGSORT(type=f32,ne=[200000,1,1,1],order=0): 8192 runs - 861.34 us/run ARGSORT(type=f32,ne=[200000,16,1,1],order=0): 1343 runs - 1020.01 us/run ``` After: ``` ARGSORT(type=f32,ne=[65000,16,1,1],order=0): 4130 runs - 312.41 us/run ARGSORT(type=f32,ne=[200000,1,1,1],order=0): 16384 runs - 63.48 us/run ARGSORT(type=f32,ne=[200000,16,1,1],order=0): 1343 runs - 874.36 us/run ``` --- On the model level, tested with `llama-cli -m gpt-oss-20b-mxfp4.gguf -n 200 -p "What is the Capital of Sweden?" -no-cnv -fa 1 --backend-sampling` Before: ``` llama_perf_sampler_print: sampling time = 0.25 ms / 207 runs ( 0.00 ms per token, 824701.20 tokens per second) llama_perf_context_print: load time = 18215.58 ms llama_perf_context_print: prompt eval time = 28.20 ms / 7 tokens ( 4.03 ms per token, 248.19 tokens per second) llama_perf_context_print: eval time = 714.79 ms / 199 runs ( 3.59 ms per token, 278.40 tokens per second) llama_perf_context_print: total time = 857.62 ms / 206 tokens ``` After ``` llama_perf_sampler_print: sampling time = 0.25 ms / 207 runs ( 0.00 ms per token, 828000.00 tokens per second) llama_perf_context_print: load time = 18366.92 ms llama_perf_context_print: prompt eval time = 35.92 ms / 7 tokens ( 5.13 ms per token, 194.87 tokens per second) llama_perf_context_print: eval time = 532.79 ms / 199 runs ( 2.68 ms per token, 373.50 tokens per second) llama_perf_context_print: total time = 683.65 ms / 206 tokens ``` * sampling : remove version from sampler chain This commit removes the version field from the sampler chain and instead used the sampler pointer itself for change detection. * sampling : always populate logits for sampled probs This commit updates common/sampler.cpp set_logits and src/llama-sampling.cpp llama_sampler_sample to always populate the logits field when backend sampled probabilities are available. The motivation for this is that this ensure that CPU sampler always have access to the logits values even when probabilites have been produced by backend samplers. * sampling : simplify backend sampling logic decode This commit tries to simplify the backend sampling logic in llama_context::decode. * squash! sampling : simplify backend sampling logic decode Fix condition to check if backend actually sampled tokens, not just that backend samplers are available. * common : fix regression caused by extra memory allocations during sampling * squash! sampling : simplify backend sampling logic decode The commit fixes a variable shadowing issue in the `llama_context::decode` function which was introduced in a previous refactoring. * squash! common : fix regression caused by extra memory allocations during sampling Apply the same changes to llama-sampling.cpp, llama_sampler_sample as were applied in commit 38f408c25. * sampling : introduce sampling_info struct This commit introduces a sampling_info struct to encapsulate all backend sampling related data within the llama_context class. It also updates to use more descriptive names for sampled tokens and candidates in the backend sampler ggml data structure. * sampling : return early if backend sampling is disabled * sampling : use pinned memory for backend sampling buffers * common, tools : refactor model loading to support backend samplers This commit refactors the model loading process in common/common.cpp to enable backend sampler to be configure prior to the llama_context creation. The motivation for this change is that just being able to set/reset the backend samplers after the llama_context has been created will cause a resize to occur in llama_context::output_reserve which we want to avoid. * sampling : add stride variable for clarity * sampling: clarify candidate ids usage in comments * sampling : fix copying both sampled tokens and logits/probs from backend This commit fixes the issue where both sampled tokens and logits/probs were not being copied correctly from the backend to the host when multiple backend samplers were used. A test for this scenario has also been added to ensure that both types of data are copied correctly when different backend samplers are employed. * tests : cleanup test-backend-sampler.cpp * common : remove build-info.cpp from commit [no ci] This file was generated during the build process and should not be included in previous commits. * sampling : cleanup and clarify output_reserve * sampling : remove redundant checks for stride and size [no ci] * sampling : add debug log when backend sampler selects token This commit adds a debug log statement in the llama_sampler_sample to indicate when a backend sampler has selected a token for a given index. The modification helps in tracing the sampling process and understanding the flow of control when backend samplers are used. * examples : update batched to use backend sampling This commit updates the batched example to demonstrate how to use backend samplers. * llama-cli : fix dangling reference to sampler config * common : initialize backend samplers * samplers : add missing cont * sampling : add assertions for contiguous tensors in async copy functions * examples : add info about hybrid sampling in batched [no ci] * sampling : remove backend-dist option (wip) This commit removes the `--backend-dist` option and instead uses the configured --samplers chain to determine which samplers run on the backend. Backend sampling is still enabled using With `--backend_sampling`, and the sampler chain, either explictly specified using `--samplers` or the default, is automatically analyzed to determine which samplers can run on the backend. The system finds the longest contiguous chain of backend supported samplers from the start of the sampler sequence. For example: * If the chain is `top-k -> temperature -> top-p`, and both `top-k` and `temperature` are backend-supported but `top-p` is not, then `top-k` and `temperature` will run on the backend, while `top-p` and subsequent samplers run on the CPU. * If all configured samplers are supported, the final distribution sampling will also happen on the backend, transferring only the sampled token IDs back to the host. * If the sampler chain starts with an unsupported sampler (e.g., `penalties`), all sampling runs on the CPU. Note that this is currently the case with the default sampler so to use backend sampling it is required to specify a sampler chain. See below for an example. The following shows how llama-cli can be run with backend sampling: ```console $ llama-cli -m models/Qwen2.5-VL-3B-Instruct-Q8_0.gguf \ --prompt 'What is the capital of Sweden?' \ -n 20 \ -no-cnv \ --verbose-prompt \ -ngl 40 \ --backend-sampling \ --samplers 'top_k;temperature' ``` In this case the all sampling will happen on the backend since both `top_k` and `temperature` are supported backend samplers. To enable a partial backend sampling (hybrid sampling), for example running `top_k` and `temperature` on the backend and `typ_p` on the CPU the following sampler chain could be specified: ```console $ llama-cli -m models/Qwen2.5-VL-3B-Instruct-Q8_0.gguf \ --prompt 'What is the capital of Sweden?' \ -n 20 \ -no-cnv \ --verbose-prompt \ -ngl 40 \ --backend-sampling \ --samplers 'top_k;temperature;top_p' ``` If this looks good then I'll follow up with updates the llama-cli and llama-server documentation to reflect these changes. * CUDA: Add top-k implementation * sampling : add min-p backend sampler * Use `FetchContent` over CPM as it's bundled with CMake Thanks @ggerganov for the suggestion * common : add get_active_samplers function to check enabled samplers This commit adds a function to check if a sampler is actually enabled, meaning that it does not have values that disables its effect. This is then used by the backend samplers initialization to avoid considering samplers that are not enabled when determining the split point between them. The motivation for this is that this allows the default sampler chain for `--samplers` to be used and any sampler that is not enabled will not cause the backend samplers to be skipped. For example, before this change if the penalties sampler was included in the samplers list but had default values that disable it, it would cause the backend samplers to be skipped entirely. This commit also contains some refactoring to remove some code duplication. * cuda : fix editorconfig-checker warning * sampling : use argmax for min-p sampling * sampling : fix temperature check to allow zero temperature This commit modifies the temperature sampling check to allow a temperature value of zero. Previously, the check only allowed positive temperature values, which excluded the valid case of zero temperature. The motivation for this is to enable a zero temperature setting which is also currently causing the following test to fail: ```console (venv) $ cd tools/server/tests (venv) $ ./tests.sh unit/test_basic.py::test_load_split_model ``` * cuda : fix top-k compilation when CUB is unavailable This commit adds a macro guard around argsort_f32_i32_cuda_cub usage in the top-k fallback path, falling back to bitonic sort when GGML_CUDA_USE_CUB is not defined. The motivation for this is that some environments like AMD HIP do not have CUB available, causing compilation failure. Refs: https://github.com/ggml-org/llama.cpp/actions/runs/19728226426/job/56523606840#step:6:208 * sampling : add comments about backend sampler [no ci] This commit adds a comment to llama_context's constructor explaining why backend samplers are initialized early in the process. * sampling : remove backend sampling chain from common_sampler This commit removes the backend sampling chain from the common_sampler structure and related functions. The motivation for this change is that the backend samplers are not currently set on the context, and if they are they would cause the a graph reallocation to occur. Instead, the intialization is handled like it currently is by llama_context's constructor. * Fix top-k comp & behavior for non-CUB path Some changes were made in 5ea3be265ba6f8916daf52e19e3fb8efe9a03637 which were incomplete. In the case of non-CUB, bitonic sort and its limitations of ncols < 1024 have to apply, similar to argsort.cu * sampling : support intermixed backend/cpu samplers This commit updates the backend sampling implementation to support intermixed usage of backend and CPU samplers within the same batch. The initial implementation was developed as an all-or-nothing solution: either perform backend sampling for the entire batch, or perform CPU sampling for the entire batch. The motivation for this change is to support batches with mixed sequences. For example, we may have a backend sampler configured for sequence 0, while sequence 1 in the same batch uses CPU sampling. This was not supported in the initial implementation. This issue manifested in llama-server with the webui: decoding with backend samplers would work initially, but after changing to CPU sampling, a slot (sequence) could still be using a backend sampler. This meant that logits in output_reserve would not be allocated, resulting in an error. The solution in this commit inspects the batch to determine which sampling modes are needed and allocates buffers accordingly. However, there is a known inefficiency: when we have intermixed backend/CPU samplers in the same batch, we currently copy all logits to the host, even for sequences using backend samplers. Added test_backend_cpu_mixed_batch to verify correct behavior with mixed backend/CPU samplers in a single batch, including dynamic sampler switching between decode calls. * squash! sampling : support intermixed backend/cpu samplers Add check that logits is not null which is can happen for embeddings. * squash! sampling : support intermixed backend/cpu samplers Fix llama-save-load-state which currently fails by handling the case when batch.logits is nullptr (like when loading state) by allocating space for all outputs as CPU logits. * refactor : simplify and improve memory management * Add initial version for top-p sampling As we only support static graphs for the time and we don't know the size of the output of top-p, we have to do value-scaling same as for min-p operator. Further improvements can be applied to the unit-test (i.e. check for equivalence of top_p happening on backend with top_p happening on cpu) and also by constructing candidates and sorting those as opposed to reversing the sort of the logits (this would be arange + get_rows instead of argsort + get_rows) * sampling : use logits directly for min-p filtering * sampling : simplify * llama : simplify * llama : cleanup + naming * llama : call backend_init once * llama : reserve graphs with samplers * llama : naming * cont : naming * sampling : lower log level for output buffer reallocations [no ci] This commit changes the logging level for output buffer reallocations in the llama_context::output_reserve function from INFO to DEBUG. The motivation for this is that it currently logs to info and when enabling verbose logging for llama-cli this will get mixed with the output, for example: ```console What is the capital of Sweden?output_reserve: reallocating output buffer from size 0.58 MiB to 1.74 MiB 1. Stockholm 2\. Helsinki Based are the options 1. Stockholm Explanation: Stockholm is the capital of ... ``` * Fix backend_top_p_sampler softmax(softmax) will return uniform distribution, so we should not return the softmax but the logits instead. * Factor out `ggml_sort` into its own function * Make backend's top_p sampler inclusive In addition to match the algorithm proposed in the original [paper](https://arxiv.org/abs/1904.09751), this resolves the edge-case where `max_p is > top_p` for a single logit, where the mask would otherwise be empty (and we thus sample from the whole vocabulary with equal likelihood) * common : simplify sampler chain initialization * sampling : do not create empty samplers * sampling : fix top_p empty condition * examples : remove outdated backend sampling section This commit removes the outdated section about using backend samplers from the README.md file in the examples/batched. * sampling : fix backend temp sampler for zero temperature This commit fixes the implementation of the temperature-based sampler for the case when the temperature is set to zero. This now correctly selects the most probable token by masking out all other tokens in the logits. * CUDA: Move cccl fetch to after cuda has been enabled in CMakeLists.txt This will allow cccl to set build flags for the CUDA compiler, required e.g. for MSVC compat, see also https://github.com/NVIDIA/cccl/pull/6791 * CUDA: Use standard-compliant preprocessor for MSVC builds Workarounds of https://github.com/NVIDIA/cccl/pull/6791 will not be backported to CCCL 3.2, only the diagnostics/error messages will: https://github.com/NVIDIA/cccl/pull/6827 * CUDA: Update CCCL's rc candidate * squash! sampling : fix backend temp sampler for zero temperature This modifies the parent commit to simply return the most probably token instead of masking the logits. * sampling : implement temp_ext_backend sampling This commit implements the apply function for the extended temperature sampling. * sampling : minor cleanup * sampling : stop short if backend sampler sampled a token This commit modifies the graph building logic to immediately continue when a token has already been sampled by the backend sampler. It also updates the test for backend temporary sampling to include top-k and distribution samplers in the chain to verify that they are not producing any logits (they are not run). * Revert "sampling : stop short if backend sampler sampled a token" This reverts commit 87b2719eca55b30afff600fc7f61c6cce9452cbf. * sampling : fix backend temp sampling to use logits masking * sampling : simplify temp sampling * sampling : remove redundant calls to ggml_build_forward_expand * sampling : check backend support during init * cont : keep backend sampling disabled for now * sampling : fix outputs and device checks * sampling : fix candidates logic * Add perf-tests for CUMSUM * Readd `cub::DeviceScan::InclusiveSum`-based CumSum For single rows and large columns doing a for-loop over the function `cub::DeviceScan::InclusiveSum` offered by CUB outperforms the `cumsum_cub_kernel` where `cub::BlockScan` is used. Numbers before this change Backend 1/3: CUDA0 Device description: NVIDIA RTX 6000 Ada Generation Device memory: 48510 MB (48039 MB free) CUMSUM(type=f32,ne=[128,128,4,4]): 311258 runs - 3.26 us/run - 2048 kB/run - 599.76 GB/s CUMSUM(type=f32,ne=[2048,16,5,4]): 229390 runs - 4.40 us/run - 5120 kB/run - 1110.23 GB/s CUMSUM(type=f32,ne=[20000,10,4,1]): 37583 runs - 29.63 us/run - 6250 kB/run - 201.18 GB/s CUMSUM(type=f32,ne=[128,1,1,1]): 892819 runs - 1.12 us/run - 1 kB/run - 0.85 GB/s CUMSUM(type=f32,ne=[1024,1,1,1]): 450505 runs - 2.25 us/run - 8 kB/run - 3.39 GB/s CUMSUM(type=f32,ne=[4096,1,1,1]): 155629 runs - 6.61 us/run - 32 kB/run - 4.62 GB/s CUMSUM(type=f32,ne=[8192,1,1,1]): 81910 runs - 12.60 us/run - 64 kB/run - 4.85 GB/s CUMSUM(type=f32,ne=[16384,1,1,1]): 49146 runs - 23.99 us/run - 128 kB/run - 5.09 GB/s CUMSUM(type=f32,ne=[32768,1,1,1]): 24573 runs - 47.10 us/run - 256 kB/run - 5.18 GB/s CUMSUM(type=f32,ne=[65536,1,1,1]): 16382 runs - 93.57 us/run - 512 kB/run - 5.22 GB/s CUMSUM(type=f32,ne=[131072,1,1,1]): 8191 runs - 184.79 us/run - 1024 kB/run - 5.29 GB/s CUMSUM(type=f32,ne=[200000,1,1,1]): 8191 runs - 280.43 us/run - 1562 kB/run - 5.31 GB/s CUMSUM(type=f32,ne=[2000000,1,1,1]): 2148 runs - 2771.23 us/run - 15625 kB/run - 5.38 GB/s CUMSUM(type=f32,ne=[128,4,1,1]): 458696 runs - 2.21 us/run - 4 kB/run - 1.73 GB/s CUMSUM(type=f32,ne=[1024,4,1,1]): 360404 runs - 2.82 us/run - 32 kB/run - 10.83 GB/s CUMSUM(type=f32,ne=[4096,4,1,1]): 147438 runs - 7.12 us/run - 128 kB/run - 17.15 GB/s CUMSUM(type=f32,ne=[8192,4,1,1]): 81910 runs - 12.90 us/run - 256 kB/run - 18.92 GB/s CUMSUM(type=f32,ne=[16384,4,1,1]): 49146 runs - 24.32 us/run - 512 kB/run - 20.08 GB/s CUMSUM(type=f32,ne=[32768,4,1,1]): 24573 runs - 47.28 us/run - 1024 kB/run - 20.66 GB/s CUMSUM(type=f32,ne=[65536,4,1,1]): 16382 runs - 93.21 us/run - 2048 kB/run - 20.96 GB/s CUMSUM(type=f32,ne=[131072,4,1,1]): 8191 runs - 185.04 us/run - 4096 kB/run - 21.11 GB/s CUMSUM(type=f32,ne=[200000,4,1,1]): 5369 runs - 282.08 us/run - 6250 kB/run - 21.13 GB/s CUMSUM(type=f32,ne=[2000000,4,1,1]): 537 runs - 2806.46 us/run - 62500 kB/run - 21.26 GB/s CUMSUM(type=f32,ne=[128,8,1,1]): 458696 runs - 2.20 us/run - 8 kB/run - 3.47 GB/s CUMSUM(type=f32,ne=[1024,8,1,1]): 360404 runs - 2.82 us/run - 64 kB/run - 21.66 GB/s CUMSUM(type=f32,ne=[4096,8,1,1]): 147438 runs - 7.12 us/run - 256 kB/run - 34.28 GB/s CUMSUM(type=f32,ne=[8192,8,1,1]): 81910 runs - 12.90 us/run - 512 kB/run - 37.84 GB/s CUMSUM(type=f32,ne=[16384,8,1,1]): 49146 runs - 24.32 us/run - 1024 kB/run - 40.15 GB/s CUMSUM(type=f32,ne=[32768,8,1,1]): 24573 runs - 47.28 us/run - 2048 kB/run - 41.31 GB/s CUMSUM(type=f32,ne=[65536,8,1,1]): 16382 runs - 93.20 us/run - 4096 kB/run - 41.92 GB/s CUMSUM(type=f32,ne=[131072,8,1,1]): 8194 runs - 185.05 us/run - 8192 kB/run - 42.22 GB/s CUMSUM(type=f32,ne=[200000,8,1,1]): 5370 runs - 282.15 us/run - 12500 kB/run - 42.26 GB/s CUMSUM(type=f32,ne=[2000000,8,1,1]): 269 runs - 4067.61 us/run - 125000 kB/run - 29.36 GB/s CUMSUM(type=f32,ne=[128,16,1,1]): 303067 runs - 3.32 us/run - 16 kB/run - 4.60 GB/s CUMSUM(type=f32,ne=[1024,16,1,1]): 303067 runs - 3.32 us/run - 128 kB/run - 36.76 GB/s CUMSUM(type=f32,ne=[4096,16,1,1]): 147438 runs - 7.17 us/run - 512 kB/run - 68.13 GB/s CUMSUM(type=f32,ne=[8192,16,1,1]): 81910 runs - 12.90 us/run - 1024 kB/run - 75.68 GB/s CUMSUM(type=f32,ne=[16384,16,1,1]): 49146 runs - 24.33 us/run - 2048 kB/run - 80.28 GB/s CUMSUM(type=f32,ne=[32768,16,1,1]): 24573 runs - 47.30 us/run - 4096 kB/run - 82.59 GB/s CUMSUM(type=f32,ne=[65536,16,1,1]): 12291 runs - 93.24 us/run - 8192 kB/run - 83.80 GB/s CUMSUM(type=f32,ne=[131072,16,1,1]): 6147 runs - 185.07 us/run - 16384 kB/run - 84.45 GB/s CUMSUM(type=f32,ne=[200000,16,1,1]): 4029 runs - 282.40 us/run - 25000 kB/run - 84.46 GB/s CUMSUM(type=f32,ne=[2000000,16,1,1]): 270 runs - 4118.40 us/run - 250000 kB/run - 58.11 GB/s Backend CUDA0: OK Backend 2/3: CUDA1 Device description: NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition Device memory: 97250 MB (96677 MB free) CUMSUM(type=f32,ne=[128,128,4,4]): 368595 runs - 2.73 us/run - 2048 kB/run - 715.83 GB/s CUMSUM(type=f32,ne=[2048,16,5,4]): 216282 runs - 4.72 us/run - 5120 kB/run - 1035.32 GB/s CUMSUM(type=f32,ne=[20000,10,4,1]): 32214 runs - 34.33 us/run - 6250 kB/run - 173.64 GB/s CUMSUM(type=f32,ne=[128,1,1,1]): 810909 runs - 1.24 us/run - 1 kB/run - 0.77 GB/s CUMSUM(type=f32,ne=[1024,1,1,1]): 401359 runs - 2.52 us/run - 8 kB/run - 3.03 GB/s CUMSUM(type=f32,ne=[4096,1,1,1]): 139247 runs - 7.44 us/run - 32 kB/run - 4.10 GB/s CUMSUM(type=f32,ne=[8192,1,1,1]): 73719 runs - 14.27 us/run - 64 kB/run - 4.28 GB/s CUMSUM(type=f32,ne=[16384,1,1,1]): 40955 runs - 27.24 us/run - 128 kB/run - 4.48 GB/s CUMSUM(type=f32,ne=[32768,1,1,1]): 24573 runs - 53.46 us/run - 256 kB/run - 4.57 GB/s CUMSUM(type=f32,ne=[65536,1,1,1]): 16382 runs - 105.29 us/run - 512 kB/run - 4.64 GB/s CUMSUM(type=f32,ne=[131072,1,1,1]): 8191 runs - 210.15 us/run - 1024 kB/run - 4.65 GB/s CUMSUM(type=f32,ne=[200000,1,1,1]): 8191 runs - 318.22 us/run - 1562 kB/run - 4.68 GB/s CUMSUM(type=f32,ne=[2000000,1,1,1]): 2148 runs - 3142.23 us/run - 15625 kB/run - 4.74 GB/s CUMSUM(type=f32,ne=[128,4,1,1]): 303067 runs - 3.34 us/run - 4 kB/run - 1.14 GB/s CUMSUM(type=f32,ne=[1024,4,1,1]): 253921 runs - 4.03 us/run - 32 kB/run - 7.58 GB/s CUMSUM(type=f32,ne=[4096,4,1,1]): 122865 runs - 8.20 us/run - 128 kB/run - 14.89 GB/s CUMSUM(type=f32,ne=[8192,4,1,1]): 73719 runs - 14.96 us/run - 256 kB/run - 16.32 GB/s CUMSUM(type=f32,ne=[16384,4,1,1]): 40955 runs - 28.66 us/run - 512 kB/run - 17.04 GB/s CUMSUM(type=f32,ne=[32768,4,1,1]): 24573 runs - 54.21 us/run - 1024 kB/run - 18.01 GB/s CUMSUM(type=f32,ne=[65536,4,1,1]): 16382 runs - 106.49 us/run - 2048 kB/run - 18.34 GB/s CUMSUM(type=f32,ne=[131072,4,1,1]): 8191 runs - 210.88 us/run - 4096 kB/run - 18.52 GB/s CUMSUM(type=f32,ne=[200000,4,1,1]): 5369 runs - 321.77 us/run - 6250 kB/run - 18.53 GB/s CUMSUM(type=f32,ne=[2000000,4,1,1]): 537 runs - 3191.79 us/run - 62500 kB/run - 18.69 GB/s CUMSUM(type=f32,ne=[128,8,1,1]): 376786 runs - 2.67 us/run - 8 kB/run - 2.86 GB/s CUMSUM(type=f32,ne=[1024,8,1,1]): 245730 runs - 4.10 us/run - 64 kB/run - 14.90 GB/s CUMSUM(type=f32,ne=[4096,8,1,1]): 122865 runs - 8.20 us/run - 256 kB/run - 29.79 GB/s CUMSUM(type=f32,ne=[8192,8,1,1]): 65528 runs - 16.38 us/run - 512 kB/run - 29.82 GB/s CUMSUM(type=f32,ne=[16384,8,1,1]): 40955 runs - 28.69 us/run - 1024 kB/run - 34.04 GB/s CUMSUM(type=f32,ne=[32768,8,1,1]): 24573 runs - 55.28 us/run - 2048 kB/run - 35.33 GB/s CUMSUM(type=f32,ne=[65536,8,1,1]): 16382 runs - 108.50 us/run - 4096 kB/run - 36.00 GB/s CUMSUM(type=f32,ne=[131072,8,1,1]): 8194 runs - 213.75 us/run - 8192 kB/run - 36.55 GB/s CUMSUM(type=f32,ne=[200000,8,1,1]): 5370 runs - 326.31 us/run - 12500 kB/run - 36.54 GB/s CUMSUM(type=f32,ne=[2000000,8,1,1]): 538 runs - 3252.68 us/run - 125000 kB/run - 36.72 GB/s CUMSUM(type=f32,ne=[128,16,1,1]): 303067 runs - 3.32 us/run - 16 kB/run - 4.60 GB/s CUMSUM(type=f32,ne=[1024,16,1,1]): 253921 runs - 4.06 us/run - 128 kB/run - 30.09 GB/s CUMSUM(type=f32,ne=[4096,16,1,1]): 122865 runs - 8.20 us/run - 512 kB/run - 59.57 GB/s CUMSUM(type=f32,ne=[8192,16,1,1]): 65528 runs - 16.38 us/run - 1024 kB/run - 59.63 GB/s CUMSUM(type=f32,ne=[16384,16,1,1]): 40955 runs - 28.69 us/run - 2048 kB/run - 68.09 GB/s CUMSUM(type=f32,ne=[32768,16,1,1]): 24573 runs - 55.28 us/run - 4096 kB/run - 70.67 GB/s CUMSUM(type=f32,ne=[65536,16,1,1]): 12291 runs - 108.50 us/run - 8192 kB/run - 72.02 GB/s CUMSUM(type=f32,ne=[131072,16,1,1]): 6147 runs - 213.60 us/run - 16384 kB/run - 73.17 GB/s CUMSUM(type=f32,ne=[200000,16,1,1]): 4029 runs - 326.04 us/run - 25000 kB/run - 73.15 GB/s CUMSUM(type=f32,ne=[2000000,16,1,1]): 270 runs - 5458.69 us/run - 250000 kB/run - 43.84 GB/s ---- Numbers after: Backend 1/3: CUDA0 Device description: NVIDIA RTX 6000 Ada Generation Device memory: 48510 MB (48039 MB free) CUMSUM(type=f32,ne=[128,128,4,4]): 311258 runs - 3.25 us/run - 2048 kB/run - 601.62 GB/s CUMSUM(type=f32,ne=[2048,16,5,4]): 229390 runs - 4.40 us/run - 5120 kB/run - 1110.14 GB/s CUMSUM(type=f32,ne=[20000,10,4,1]): 37583 runs - 29.67 us/run - 6250 kB/run - 200.89 GB/s CUMSUM(type=f32,ne=[128,1,1,1]): 892819 runs - 1.12 us/run - 1 kB/run - 0.85 GB/s CUMSUM(type=f32,ne=[1024,1,1,1]): 458696 runs - 2.21 us/run - 8 kB/run - 3.45 GB/s CUMSUM(type=f32,ne=[4096,1,1,1]): 376786 runs - 2.66 us/run - 32 kB/run - 11.46 GB/s CUMSUM(type=f32,ne=[8192,1,1,1]): 393168 runs - 2.59 us/run - 64 kB/run - 23.57 GB/s CUMSUM(type=f32,ne=[16384,1,1,1]): 393168 runs - 2.59 us/run - 128 kB/run - 47.15 GB/s CUMSUM(type=f32,ne=[32768,1,1,1]): 376786 runs - 2.69 us/run - 256 kB/run - 90.69 GB/s CUMSUM(type=f32,ne=[65536,1,1,1]): 327640 runs - 3.06 us/run - 512 kB/run - 159.65 GB/s CUMSUM(type=f32,ne=[131072,1,1,1]): 311258 runs - 3.28 us/run - 1024 kB/run - 297.77 GB/s CUMSUM(type=f32,ne=[200000,1,1,1]): 270303 runs - 3.74 us/run - 1562 kB/run - 398.14 GB/s CUMSUM(type=f32,ne=[2000000,1,1,1]): 137472 runs - 7.35 us/run - 15625 kB/run - 2026.94 GB/s CUMSUM(type=f32,ne=[128,4,1,1]): 876437 runs - 1.14 us/run - 4 kB/run - 3.33 GB/s CUMSUM(type=f32,ne=[1024,4,1,1]): 442314 runs - 2.28 us/run - 32 kB/run - 13.39 GB/s CUMSUM(type=f32,ne=[4096,4,1,1]): 155629 runs - 6.69 us/run - 128 kB/run - 18.24 GB/s CUMSUM(type=f32,ne=[8192,4,1,1]): 81910 runs - 12.53 us/run - 256 kB/run - 19.49 GB/s CUMSUM(type=f32,ne=[16384,4,1,1]): 49146 runs - 24.18 us/run - 512 kB/run - 20.20 GB/s CUMSUM(type=f32,ne=[32768,4,1,1]): 65528 runs - 15.34 us/run - 1024 kB/run - 63.66 GB/s CUMSUM(type=f32,ne=[65536,4,1,1]): 73719 runs - 14.76 us/run - 2048 kB/run - 132.35 GB/s CUMSUM(type=f32,ne=[131072,4,1,1]): 65528 runs - 16.01 us/run - 4096 kB/run - 244.07 GB/s CUMSUM(type=f32,ne=[200000,4,1,1]): 64428 runs - 16.51 us/run - 6250 kB/run - 360.97 GB/s CUMSUM(type=f32,ne=[2000000,4,1,1]): 33831 runs - 29.59 us/run - 62500 kB/run - 2016.08 GB/s CUMSUM(type=f32,ne=[128,8,1,1]): 868246 runs - 1.16 us/run - 8 kB/run - 6.59 GB/s CUMSUM(type=f32,ne=[1024,8,1,1]): 442314 runs - 2.28 us/run - 64 kB/run - 26.76 GB/s CUMSUM(type=f32,ne=[4096,8,1,1]): 155629 runs - 6.69 us/run - 256 kB/run - 36.48 GB/s CUMSUM(type=f32,ne=[8192,8,1,1]): 81910 runs - 12.53 us/run - 512 kB/run - 38.97 GB/s CUMSUM(type=f32,ne=[16384,8,1,1]): 49146 runs - 24.17 us/run - 1024 kB/run - 40.41 GB/s CUMSUM(type=f32,ne=[32768,8,1,1]): 24573 runs - 47.53 us/run - 2048 kB/run - 41.10 GB/s CUMSUM(type=f32,ne=[65536,8,1,1]): 16382 runs - 61.25 us/run - 4096 kB/run - 63.77 GB/s CUMSUM(type=f32,ne=[131072,8,1,1]): 32776 runs - 31.79 us/run - 8192 kB/run - 245.82 GB/s CUMSUM(type=f32,ne=[200000,8,1,1]): 32220 runs - 32.90 us/run - 12500 kB/run - 362.35 GB/s CUMSUM(type=f32,ne=[2000000,8,1,1]): 6725 runs - 151.99 us/run - 125000 kB/run - 785.77 GB/s CUMSUM(type=f32,ne=[128,16,1,1]): 851864 runs - 1.18 us/run - 16 kB/run - 12.97 GB/s CUMSUM(type=f32,ne=[1024,16,1,1]): 442314 runs - 2.30 us/run - 128 kB/run - 53.13 GB/s CUMSUM(type=f32,ne=[4096,16,1,1]): 155629 runs - 6.68 us/run - 512 kB/run - 73.13 GB/s CUMSUM(type=f32,ne=[8192,16,1,1]): 81910 runs - 12.68 us/run - 1024 kB/run - 77.00 GB/s CUMSUM(type=f32,ne=[16384,16,1,1]): 40955 runs - 24.56 us/run - 2048 kB/run - 79.53 GB/s CUMSUM(type=f32,ne=[32768,16,1,1]): 24573 runs - 47.52 us/run - 4096 kB/run - 82.21 GB/s CUMSUM(type=f32,ne=[65536,16,1,1]): 12291 runs - 93.44 us/run - 8192 kB/run - 83.62 GB/s CUMSUM(type=f32,ne=[131072,16,1,1]): 16392 runs - 63.36 us/run - 16384 kB/run - 246.68 GB/s CUMSUM(type=f32,ne=[200000,16,1,1]): 16116 runs - 65.25 us/run - 25000 kB/run - 365.53 GB/s CUMSUM(type=f32,ne=[2000000,16,1,1]): 3375 runs - 304.46 us/run - 250000 kB/run - 785.98 GB/s Backend CUDA0: OK Backend 2/3: CUDA1 Device description: NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition Device memory: 97250 MB (96677 MB free) CUMSUM(type=f32,ne=[128,128,4,4]): 376786 runs - 2.69 us/run - 2048 kB/run - 727.04 GB/s CUMSUM(type=f32,ne=[2048,16,5,4]): 216282 runs - 4.64 us/run - 5120 kB/run - 1053.30 GB/s CUMSUM(type=f32,ne=[20000,10,4,1]): 32214 runs - 34.21 us/run - 6250 kB/run - 174.27 GB/s CUMSUM(type=f32,ne=[128,1,1,1]): 819100 runs - 1.22 us/run - 1 kB/run - 0.78 GB/s CUMSUM(type=f32,ne=[1024,1,1,1]): 409550 runs - 2.47 us/run - 8 kB/run - 3.09 GB/s CUMSUM(type=f32,ne=[4096,1,1,1]): 303067 runs - 3.31 us/run - 32 kB/run - 9.21 GB/s CUMSUM(type=f32,ne=[8192,1,1,1]): 237539 runs - 4.33 us/run - 64 kB/run - 14.08 GB/s CUMSUM(type=f32,ne=[16384,1,1,1]): 237539 runs - 4.33 us/run - 128 kB/run - 28.17 GB/s CUMSUM(type=f32,ne=[32768,1,1,1]): 188393 runs - 5.37 us/run - 256 kB/run - 45.47 GB/s CUMSUM(type=f32,ne=[65536,1,1,1]): 188393 runs - 5.41 us/run - 512 kB/run - 90.20 GB/s CUMSUM(type=f32,ne=[131072,1,1,1]): 188393 runs - 5.41 us/run - 1024 kB/run - 180.41 GB/s CUMSUM(type=f32,ne=[200000,1,1,1]): 188393 runs - 5.41 us/run - 1562 kB/run - 275.27 GB/s CUMSUM(type=f32,ne=[2000000,1,1,1]): 128880 runs - 7.76 us/run - 15625 kB/run - 1920.33 GB/s CUMSUM(type=f32,ne=[128,4,1,1]): 802718 runs - 1.26 us/run - 4 kB/run - 3.03 GB/s CUMSUM(type=f32,ne=[1024,4,1,1]): 401359 runs - 2.51 us/run - 32 kB/run - 12.18 GB/s CUMSUM(type=f32,ne=[4096,4,1,1]): 139247 runs - 7.51 us/run - 128 kB/run - 16.26 GB/s CUMSUM(type=f32,ne=[8192,4,1,1]): 73719 runs - 14.17 us/run - 256 kB/run - 17.23 GB/s CUMSUM(type=f32,ne=[16384,4,1,1]): 40955 runs - 27.37 us/run - 512 kB/run - 17.84 GB/s CUMSUM(type=f32,ne=[32768,4,1,1]): 40955 runs - 26.33 us/run - 1024 kB/run - 37.10 GB/s CUMSUM(type=f32,ne=[65536,4,1,1]): 40955 runs - 26.19 us/run - 2048 kB/run - 74.59 GB/s CUMSUM(type=f32,ne=[131072,4,1,1]): 40955 runs - 26.35 us/run - 4096 kB/run - 148.26 GB/s CUMSUM(type=f32,ne=[200000,4,1,1]): 42952 runs - 24.18 us/run - 6250 kB/run - 246.51 GB/s CUMSUM(type=f32,ne=[2000000,4,1,1]): 32757 runs - 31.01 us/run - 62500 kB/run - 1923.68 GB/s CUMSUM(type=f32,ne=[128,8,1,1]): 786336 runs - 1.28 us/run - 8 kB/run - 5.95 GB/s CUMSUM(type=f32,ne=[1024,8,1,1]): 393168 runs - 2.57 us/run - 64 kB/run - 23.73 GB/s CUMSUM(type=f32,ne=[4096,8,1,1]): 131056 runs - 7.67 us/run - 256 kB/run - 31.82 GB/s CUMSUM(type=f32,ne=[8192,8,1,1]): 73719 runs - 14.43 us/run - 512 kB/run - 33.84 GB/s CUMSUM(type=f32,ne=[16384,8,1,1]): 40955 runs - 27.90 us/run - 1024 kB/run - 35.01 GB/s CUMSUM(type=f32,ne=[32768,8,1,1]): 24573 runs - 54.63 us/run - 2048 kB/run - 35.75 GB/s CUMSUM(type=f32,ne=[65536,8,1,1]): 16382 runs - 72.24 us/run - 4096 kB/run - 54.08 GB/s CUMSUM(type=f32,ne=[131072,8,1,1]): 20485 runs - 52.66 us/run - 8192 kB/run - 148.37 GB/s CUMSUM(type=f32,ne=[200000,8,1,1]): 21480 runs - 48.00 us/run - 12500 kB/run - 248.42 GB/s CUMSUM(type=f32,ne=[2000000,8,1,1]): 16140 runs - 61.99 us/run - 125000 kB/run - 1926.51 GB/s CUMSUM(type=f32,ne=[128,16,1,1]): 786336 runs - 1.28 us/run - 16 kB/run - 11.90 GB/s CUMSUM(type=f32,ne=[1024,16,1,1]): 393168 runs - 2.57 us/run - 128 kB/run - 47.57 GB/s CUMSUM(type=f32,ne=[4096,16,1,1]): 131056 runs - 7.65 us/run - 512 kB/run - 63.83 GB/s CUMSUM(type=f32,ne=[8192,16,1,1]): 73719 runs - 14.42 us/run - 1024 kB/run - 67.74 GB/s CUMSUM(type=f32,ne=[16384,16,1,1]): 40955 runs - 27.87 us/run - 2048 kB/run - 70.09 GB/s CUMSUM(type=f32,ne=[32768,16,1,1]): 24573 runs - 54.54 us/run - 4096 kB/run - 71.63 GB/s CUMSUM(type=f32,ne=[65536,16,1,1]): 12291 runs - 107.53 us/run - 8192 kB/run - 72.66 GB/s CUMSUM(type=f32,ne=[131072,16,1,1]): 10245 runs - 105.10 us/run - 16384 kB/run - 148.70 GB/s CUMSUM(type=f32,ne=[200000,16,1,1]): 10744 runs - 95.36 us/run - 25000 kB/run - 250.11 GB/s CUMSUM(type=f32,ne=[2000000,16,1,1]): 5400 runs - 186.97 us/run - 250000 kB/run - 1279.90 GB/s * sampling : expand support (wip) * tests : fix memory leaks * cont : fixes * tests : check temp back to 0.0 * sampling : fix top-p * sampling : handle n_probs case * server : handle unsupported cases * metal : print node names for debugging * ggml : remove redundant src in ggml_cast * ggml-alloc : fix reuse-parent logic for misaligned sizes * Revert "ggml : remove redundant src in ggml_cast" This reverts commit 62d1b0082dbad699fbeea85a096bc334e3c1c0e6. * CUDA: Add Cooperative-Groups-based parallelization of ncols in softmax Old implementation parallelizes rows across SMs, which does not fit the needs of backend-sampling (where we have ncols >> nrows and thus want to parallelize ncols across SMs) * Add TODOs to and adjust heuristics of row-wise soft_max in CUDA Heuristics were selected based on the following numbers: ``` -- Before Backend 1/2: CUDA0 Device description: NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition Device memory: 97250 MB (96691 MB free) SOFT_MAX(type=f32,ne=[4096,4096,5,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 2236 runs - 450.34 us/run - 655360 kB/run - 1401.20 GB/s SOFT_MAX(type=f32,ne=[12888,256,5,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 17748 runs - 56.80 us/run - 128880 kB/run - 2168.19 GB/s SOFT_MAX(type=f32,ne=[77,4096,5,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 57204 runs - 18.35 us/run - 12320 kB/run - 640.57 GB/s SOFT_MAX(type=f32,ne=[1024,1024,10,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 9840 runs - 102.46 us/run - 81920 kB/run - 763.45 GB/s SOFT_MAX(type=f32,ne=[77,1024,10,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98064 runs - 10.25 us/run - 6160 kB/run - 573.43 GB/s SOFT_MAX(type=f32,ne=[256,256,20,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98310 runs - 10.25 us/run - 10240 kB/run - 953.20 GB/s SOFT_MAX(type=f32,ne=[64,64,20,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 172011 runs - 5.99 us/run - 640 kB/run - 101.84 GB/s SOFT_MAX(type=f32,ne=[77,64,20,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 172011 runs - 5.97 us/run - 770 kB/run - 123.02 GB/s SOFT_MAX(type=f32,ne=[8192,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 172011 runs - 6.00 us/run - 64 kB/run - 10.16 GB/s SOFT_MAX(type=f32,ne=[8192,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 163820 runs - 6.12 us/run - 256 kB/run - 39.91 GB/s SOFT_MAX(type=f32,ne=[8192,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 147438 runs - 6.88 us/run - 1024 kB/run - 141.92 GB/s SOFT_MAX(type=f32,ne=[16384,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 122865 runs - 8.20 us/run - 128 kB/run - 14.89 GB/s SOFT_MAX(type=f32,ne=[16384,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 114674 runs - 8.87 us/run - 512 kB/run - 55.06 GB/s SOFT_MAX(type=f32,ne=[16384,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98292 runs - 10.24 us/run - 2048 kB/run - 190.82 GB/s SOFT_MAX(type=f32,ne=[32768,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 49146 runs - 21.37 us/run - 256 kB/run - 11.43 GB/s SOFT_MAX(type=f32,ne=[32768,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 49146 runs - 22.54 us/run - 1024 kB/run - 43.33 GB/s SOFT_MAX(type=f32,ne=[32768,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 49146 runs - 23.92 us/run - 4096 kB/run - 163.32 GB/s SOFT_MAX(type=f32,ne=[65536,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 32764 runs - 38.94 us/run - 512 kB/run - 12.54 GB/s SOFT_MAX(type=f32,ne=[65536,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 24573 runs - 41.94 us/run - 2048 kB/run - 46.57 GB/s SOFT_MAX(type=f32,ne=[65536,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 24582 runs - 43.09 us/run - 8192 kB/run - 181.32 GB/s SOFT_MAX(type=f32,ne=[131072,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 16382 runs - 74.56 us/run - 1024 kB/run - 13.10 GB/s SOFT_MAX(type=f32,ne=[131072,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 16382 runs - 79.85 us/run - 4096 kB/run - 48.92 GB/s SOFT_MAX(type=f32,ne=[131072,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 12294 runs - 82.41 us/run - 16384 kB/run - 189.64 GB/s SOFT_MAX(type=f32,ne=[262144,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 8191 runs - 145.16 us/run - 2048 kB/run - 13.46 GB/s SOFT_MAX(type=f32,ne=[262144,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 8194 runs - 155.46 us/run - 8192 kB/run - 50.26 GB/s SOFT_MAX(type=f32,ne=[262144,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 7175 runs - 160.70 us/run - 32768 kB/run - 194.56 GB/s SOFT_MAX(type=f32,ne=[524288,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 8191 runs - 285.81 us/run - 4096 kB/run - 13.67 GB/s SOFT_MAX(type=f32,ne=[524288,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 4098 runs - 306.91 us/run - 16384 kB/run - 50.92 GB/s SOFT_MAX(type=f32,ne=[524288,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 3591 runs - 317.06 us/run - 65536 kB/run - 197.32 GB/s -- After Backend 1/2: CUDA0 Device description: NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition Device memory: 97250 MB (96691 MB free) SOFT_MAX(type=f32,ne=[4096,4096,5,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 2236 runs - 450.67 us/run - 655360 kB/run - 1400.15 GB/s SOFT_MAX(type=f32,ne=[12888,256,5,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 17748 runs - 56.97 us/run - 128880 kB/run - 2161.50 GB/s SOFT_MAX(type=f32,ne=[77,4096,5,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 57204 runs - 18.35 us/run - 12320 kB/run - 640.36 GB/s SOFT_MAX(type=f32,ne=[1024,1024,10,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 9840 runs - 102.46 us/run - 81920 kB/run - 763.42 GB/s SOFT_MAX(type=f32,ne=[77,1024,10,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98064 runs - 10.25 us/run - 6160 kB/run - 573.43 GB/s SOFT_MAX(type=f32,ne=[256,256,20,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98310 runs - 10.25 us/run - 10240 kB/run - 953.21 GB/s SOFT_MAX(type=f32,ne=[64,64,20,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 147438 runs - 7.00 us/run - 640 kB/run - 87.26 GB/s SOFT_MAX(type=f32,ne=[77,64,20,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 147438 runs - 6.99 us/run - 770 kB/run - 105.05 GB/s SOFT_MAX(type=f32,ne=[8192,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 172011 runs - 6.02 us/run - 64 kB/run - 10.13 GB/s SOFT_MAX(type=f32,ne=[8192,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 163820 runs - 6.12 us/run - 256 kB/run - 39.87 GB/s SOFT_MAX(type=f32,ne=[8192,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 147438 runs - 6.91 us/run - 1024 kB/run - 141.40 GB/s SOFT_MAX(type=f32,ne=[16384,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 122865 runs - 8.20 us/run - 128 kB/run - 14.89 GB/s SOFT_MAX(type=f32,ne=[16384,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 114674 runs - 8.79 us/run - 512 kB/run - 55.54 GB/s SOFT_MAX(type=f32,ne=[16384,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98292 runs - 10.24 us/run - 2048 kB/run - 190.82 GB/s SOFT_MAX(type=f32,ne=[32768,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 131056 runs - 8.11 us/run - 256 kB/run - 30.12 GB/s SOFT_MAX(type=f32,ne=[32768,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 49146 runs - 22.54 us/run - 1024 kB/run - 43.33 GB/s SOFT_MAX(type=f32,ne=[32768,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 49146 runs - 23.32 us/run - 4096 kB/run - 167.50 GB/s SOFT_MAX(type=f32,ne=[65536,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 122865 runs - 8.19 us/run - 512 kB/run - 59.63 GB/s SOFT_MAX(type=f32,ne=[65536,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 40955 runs - 24.59 us/run - 2048 kB/run - 79.43 GB/s SOFT_MAX(type=f32,ne=[65536,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 24582 runs - 43.21 us/run - 8192 kB/run - 180.84 GB/s SOFT_MAX(type=f32,ne=[131072,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 122865 runs - 8.19 us/run - 1024 kB/run - 119.25 GB/s SOFT_MAX(type=f32,ne=[131072,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 40955 runs - 24.59 us/run - 4096 kB/run - 158.87 GB/s SOFT_MAX(type=f32,ne=[131072,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 12294 runs - 82.37 us/run - 16384 kB/run - 189.74 GB/s SOFT_MAX(type=f32,ne=[262144,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 122865 runs - 8.20 us/run - 2048 kB/run - 238.28 GB/s SOFT_MAX(type=f32,ne=[262144,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 36873 runs - 28.66 us/run - 8192 kB/run - 272.61 GB/s SOFT_MAX(type=f32,ne=[262144,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 9225 runs - 108.51 us/run - 32768 kB/run - 288.13 GB/s SOFT_MAX(type=f32,ne=[524288,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 98292 runs - 10.24 us/run - 4096 kB/run - 381.65 GB/s SOFT_MAX(type=f32,ne=[524288,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 32784 runs - 31.74 us/run - 16384 kB/run - 492.43 GB/s SOFT_MAX(type=f32,ne=[524288,16,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0): 8721 runs - 121.20 us/run - 65536 kB/run - 516.19 GB/s ``` * Fix compiler warnings by casting `const` away * llama : require backend samplers to be of type llama_sampler_chain * sampling : use host buffer type for inputs * Try fixing HIP build errors by adding corresponding #defines Will likely have to disable for MUSA as I didn't find any docs online * Fix launch logic when supports_cooperative_launch=false * Disable cooperative groups for musa Didn't find any doc online, so I don't even know if they support this * server : reconnect the backend_sampling setting in the WebUI * graph : make the compute graph constant with respect to active samplers * batch : fix sequence id ownage * graph : respect sampler order for graph reuse * HIP/MUSA: fix build for backend sampling * sampling : optimize logit_bias sampler * cont : fix build * sampling : generic ggml op support detection * sampling : fix greedy * tests : run backend sampler tests always on the CPU * Apply suggestions from code review Co-authored-by: Johannes Gäßler * webui : fix lint * Fix data-race in `soft_max_f32_parallelize_cols_single_row` By using `tmp_vals` to store both max values and exponential accumulator there was a potential data-race, where the exponential accumulator for a given CTA may have written to `tmp_vals` before all others CTAs have read the max value from it. To avoid a third g.sync(), an additional temporary data-storage was added. Given that there are syncs in place after writing to gmem, it is guaranteed that the previous values for sums/max were read by all CTAs now. * Apply automated code-formating to softmax.cu * llama : clarify backend_accept/backend_set_input comments [no ci] * llama : fix typo in comment [no ci] * tests : use smart pointers for backend samplers * tests : use smart pointers for model and context * tests : remove vocab member from test_model_context Also includes some minor cleanups related to nullptr checks. * tests : extract batch info update to separate method * tests : fix batch token position tracking in test_backend_sampler.cpp * tests : add --device option support to backend sampler tests This commit adds support for specifying a device to run the test on. * common : disable backend sampling when grammar is involved * Fix different RNG-states between backend-sampling and llama-sampling By default, we perform a warm-up step where the ggml_cgraph is computed once. For backend-sampling, this graph contains the sampler, and thus the RNG state of the backend's dist sampler is advanced once. Solution to this is to reset the samplers after the warmup has finished * Make backend dist sampler use same rnd's as dist sampler We sample in double precision and cast to float to match rnd numbers of llama_dampler_dist which uses double precision (sampling from std::uniform_real_distribution and std::uniform_real_distribution with same rng will produce different sequences). * Update CCCL version to v3.2.0-rc2 * Build with CCCL 3.2 for CUDA backends Gives best perf for backend-sampling on CUDA. Flag can be removed once CCCL 3.2 is bundled within CTK and that CTK version is used in llama.cpp * tests : revert server test changes (no longer needed) * ggml : include cub/cub.cuh instead of block_scan.cuh This commit updates the include directive in cumsum.cu to use cub/cub.cuh instead of cub/block/block_scan.cuh. The motivation of this change is that without it compilation fails with the following error: ```console /llama.cpp/ggml/src/ggml-cuda/cumsum.cu(196): error: name followed by "::" must be a class or namespace name cub::DeviceScan::InclusiveSum(nullptr, ^ /llama.cpp/ggml/src/ggml-cuda/cumsum.cu(207): error: name followed by "::" must be a class or namespace name cub::DeviceScan::InclusiveSum((void *) tmp_alloc.get(), tmp_size, src, dst, ne, stream); ^ 2 errors detected in the compilation of "/llama.cpp/ggml/src/ggml-cuda/cumsum.cu". gmake[2]: *** [ggml/src/ggml-cuda/CMakeFiles/ggml-cuda.dir/build.make:317: ggml/src/ggml-cuda/CMakeFiles/ggml-cuda.dir/cumsum.cu.o] Error 2 ``` Commit 83b3b1c271c78bd77664120431aa8c354d68daac ("cuda: optimize cumsum cub path (#18362)") updated the include directive replacing device_scan.cuh which is causing this issue. This commit uses cub/cub.cuh umbrella header which is consistent with other files in the ggml-cuda directory like mean.cu, sum.cu, etc. * arg : add shorthand for --backend-sampling * ci : add server workflow with backend sampling * sampling : fix reshapes * server : remove printfs * sampling : zero-initialize input buffers * minor : add comments + some cleanup * llama : assert at most one output token per sequence * tests : add more top_k tests * CUDA: Fix non-determinism of CUB-based Top-K DeviceTopK::MaxPairs is an iterative algorithm, where `d_keys_out` is written after every iteration. As a consequence, it must not overlap with `d_keys_in`, or otherwise undefined behavior occurs (keys are no longer unique in d_keys_in and may map to different values between iterations) * CUDA: Optimize index of top_k_cub By using the fancy [`counting_iterator`](https://nvidia.github.io/cccl/thrust/api/classthrust_1_1counting__iterator.html#classthrust_1_1counting__iterator) exposed by CCCL, we can avoid materializing the index to GPU memory, saving VRAM + 1 kernel invocation * Apply code-formatting to top-k.cu * CUDA: Remove obsolete temp_keys from CUB Since we use cuda::discard_iterator to avoid writing out the keys, we can directly pass in src instead of copying it to `temp_keys` * minor : cleanup, TODOs, etc. --------- Co-authored-by: Georgi Gerganov Co-authored-by: Oliver Simons Co-authored-by: Johannes Gäßler --- .github/workflows/build.yml | 8 +- .github/workflows/release.yml | 4 +- .github/workflows/server.yml | 18 + ci/run.sh | 3 +- common/arg.cpp | 7 + common/common.cpp | 19 + common/common.h | 4 + common/llguidance.cpp | 16 +- common/sampling.cpp | 54 +- common/sampling.h | 4 +- examples/batched/batched.cpp | 18 +- ggml/src/ggml-cuda/CMakeLists.txt | 24 + ggml/src/ggml-cuda/argsort.cu | 79 +- ggml/src/ggml-cuda/argsort.cuh | 16 + ggml/src/ggml-cuda/common.cuh | 17 +- ggml/src/ggml-cuda/cumsum.cu | 40 +- ggml/src/ggml-cuda/ggml-cuda.cu | 20 +- ggml/src/ggml-cuda/softmax.cu | 209 ++- ggml/src/ggml-cuda/top-k.cu | 96 ++ ggml/src/ggml-cuda/top-k.cuh | 3 + ggml/src/ggml-cuda/vendors/hip.h | 3 + ggml/src/ggml-cuda/vendors/musa.h | 1 + include/llama.h | 94 +- src/llama-context.cpp | 620 +++++++- src/llama-context.h | 44 +- src/llama-graph.cpp | 160 ++ src/llama-graph.h | 77 +- src/llama-model.cpp | 5 + src/llama-sampling.cpp | 1402 +++++++++++++++-- src/llama-sampling.h | 23 +- src/llama.cpp | 2 +- tests/CMakeLists.txt | 14 +- tests/test-backend-ops.cpp | 30 +- tests/test-backend-sampler.cpp | 1237 +++++++++++++++ tools/server/public/index.html.gz | Bin 1451947 -> 1451168 bytes tools/server/server-common.cpp | 19 +- tools/server/server-context.cpp | 19 + tools/server/server-task.cpp | 3 + .../app/chat/ChatSettings/ChatSettings.svelte | 5 + .../src/lib/constants/settings-config.ts | 3 + tools/server/webui/src/lib/services/chat.ts | 3 + .../webui/src/lib/stores/chat.svelte.ts | 2 + tools/server/webui/src/lib/types/api.d.ts | 3 + .../server/webui/src/lib/types/settings.d.ts | 1 + 44 files changed, 4133 insertions(+), 296 deletions(-) create mode 100644 ggml/src/ggml-cuda/top-k.cu create mode 100644 ggml/src/ggml-cuda/top-k.cuh create mode 100644 tests/test-backend-sampler.cpp diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de3ad06065..b7de8bee25 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1098,6 +1098,7 @@ jobs: save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} - name: Build with CMake + # TODO: Remove GGML_CUDA_CUB_3DOT2 flag once CCCL 3.2 is bundled within CTK and that CTK version is used in this project run: | cmake -S . -B build -G Ninja \ -DLLAMA_CURL=OFF \ @@ -1107,7 +1108,8 @@ jobs: -DCMAKE_CUDA_ARCHITECTURES=89-real \ -DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined \ -DGGML_NATIVE=OFF \ - -DGGML_CUDA=ON + -DGGML_CUDA=ON \ + -DGGML_CUDA_CUB_3DOT2=ON cmake --build build windows-2022-cmake-cuda: @@ -1143,6 +1145,7 @@ jobs: - name: Build id: cmake_build shell: cmd + # TODO: Remove GGML_CUDA_CUB_3DOT2 flag once CCCL 3.2 is bundled within CTK and that CTK version is used in this project run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 cmake -S . -B build -G "Ninja Multi-Config" ^ @@ -1153,7 +1156,8 @@ jobs: -DGGML_BACKEND_DL=ON ^ -DGGML_CPU_ALL_VARIANTS=ON ^ -DGGML_CUDA=ON ^ - -DGGML_RPC=ON + -DGGML_RPC=ON ^ + -DGGML_CUDA_CUB_3DOT2=ON set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1 cmake --build build --config Release -j %NINJA_JOBS% -t ggml cmake --build build --config Release diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4cc2f4665c..bf5ebb7559 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -420,6 +420,7 @@ jobs: - name: Build id: cmake_build shell: cmd + # TODO: Remove GGML_CUDA_CUB_3DOT2 flag once CCCL 3.2 is bundled within CTK and that CTK version is used in this project run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 cmake -S . -B build -G "Ninja Multi-Config" ^ @@ -427,7 +428,8 @@ jobs: -DGGML_NATIVE=OFF ^ -DGGML_CPU=OFF ^ -DGGML_CUDA=ON ^ - -DLLAMA_CURL=OFF + -DLLAMA_CURL=OFF ^ + -DGGML_CUDA_CUB_3DOT2=ON set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1 cmake --build build --config Release -j %NINJA_JOBS% --target ggml-cuda diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index f9e2a79af7..5694feb2c9 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -41,6 +41,10 @@ jobs: include: - build_type: Release sanitizer: "" + extra_args: "" + - build_type: Release + sanitizer: "" + extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1" fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken steps: @@ -65,6 +69,12 @@ jobs: fetch-depth: 0 ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} + - name: Build + id: cmake_build + run: | + cmake -B build -DLLAMA_CURL=OFF -DLLAMA_BUILD_BORINGSSL=ON + cmake --build build --config ${{ matrix.build_type }} -j ${env:NUMBER_OF_PROCESSORS} --target llama-server + - name: Python setup id: setup_python uses: actions/setup-python@v5 @@ -76,6 +86,14 @@ jobs: run: | pip install -r tools/server/tests/requirements.txt + - name: Tests + id: server_integration_tests + if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) && matrix.build_type == 'Release' }} + run: | + cd tools/server/tests + export ${{ matrix.extra_args }} + pytest -v -x -m "not slow" + server-windows: runs-on: windows-2022 diff --git a/ci/run.sh b/ci/run.sh index 0a4a0e41eb..5c2d325a56 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -52,7 +52,8 @@ if [ ! -z ${GG_BUILD_METAL} ]; then fi if [ ! -z ${GG_BUILD_CUDA} ]; then - CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_CUDA=ON" + # TODO: Remove GGML_CUDA_CUB_3DOT2 flag once CCCL 3.2 is bundled within CTK and that CTK version is used in this project + CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_CUDA=ON -DGGML_CUDA_CUB_3DOT2=ON" if command -v nvidia-smi >/dev/null 2>&1; then CUDA_ARCH=$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader,nounits 2>/dev/null | head -1 | tr -d '.') diff --git a/common/arg.cpp b/common/arg.cpp index 62d31393c4..b52b3e70b7 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1695,6 +1695,13 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.sampling.grammar = json_schema_to_grammar(json::parse(schema)); } ).set_sparam()); + add_opt(common_arg( + {"-bs", "--backend-sampling"}, + "enable backend sampling (experimental) (default: disabled)", + [](common_params & params) { + params.sampling.backend_sampling = true; + } + ).set_sparam().set_env("LLAMA_ARG_BACKEND_SAMPLING")); add_opt(common_arg( {"--pooling"}, "{none,mean,cls,last,rank}", "pooling type for embeddings, use model default if unspecified", diff --git a/common/common.cpp b/common/common.cpp index 79c4756125..41b2b6833e 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1086,6 +1086,7 @@ struct common_init_result::impl { std::vector lora; std::vector samplers; + std::vector samplers_seq_config; }; common_init_result::common_init_result(common_params & params) : @@ -1162,10 +1163,19 @@ common_init_result::common_init_result(common_params & params) : // params.sampling.dry_penalty_last_n = llama_n_ctx(lctx); //} + // init the backend samplers as part of the context creation pimpl->samplers.resize(cparams.n_seq_max); + pimpl->samplers_seq_config.resize(cparams.n_seq_max); for (int i = 0; i < (int) cparams.n_seq_max; ++i) { pimpl->samplers[i].reset(common_sampler_init(model, params.sampling)); + pimpl->samplers_seq_config[i] = { i, common_sampler_get(pimpl->samplers[i].get()) }; + } + + // TODO: temporarily gated behind a flag + if (params.sampling.backend_sampling) { + cparams.samplers = pimpl->samplers_seq_config.data(); + cparams.n_samplers = pimpl->samplers_seq_config.size(); } llama_context * lctx = llama_init_from_model(model, cparams); @@ -1189,6 +1199,12 @@ common_sampler * common_init_result::sampler(llama_seq_id seq_id) { return pimpl->samplers[seq_id].get(); } +void common_init_result::reset_samplers() { + for (int i = 0; i < (int) pimpl->samplers.size(); ++i) { + llama_sampler_reset(common_sampler_get(pimpl->samplers[i].get())); + } +} + std::vector & common_init_result::lora() { return pimpl->lora; } @@ -1304,6 +1320,9 @@ common_init_result_ptr common_init_from_params(common_params & params) { llama_synchronize(lctx); llama_perf_context_reset(lctx); llama_set_warmup(lctx, false); + + // reset samplers to reset RNG state after warmup to the seeded state + res->reset_samplers(); } return res; diff --git a/common/common.h b/common/common.h index f8bc686b6f..daea6ded5b 100644 --- a/common/common.h +++ b/common/common.h @@ -216,6 +216,8 @@ struct common_params_sampling { std::vector logit_bias; // logit biases to apply std::vector logit_bias_eog; // pre-calculated logit biases for EOG tokens + bool backend_sampling = false; + bool has_logit_bias() const { return !logit_bias.empty(); } @@ -689,7 +691,9 @@ struct common_init_result { llama_model * model(); llama_context * context(); + common_sampler * sampler(llama_seq_id seq_id); + void reset_samplers(); std::vector & lora(); diff --git a/common/llguidance.cpp b/common/llguidance.cpp index adce620e4d..d58f147a76 100644 --- a/common/llguidance.cpp +++ b/common/llguidance.cpp @@ -106,12 +106,16 @@ static void llama_sampler_llg_free(llama_sampler * smpl) { } static llama_sampler_i llama_sampler_llg_i = { - /* .name = */ llama_sampler_llg_name, - /* .accept = */ llama_sampler_llg_accept_impl, - /* .apply = */ llama_sampler_llg_apply, - /* .reset = */ llama_sampler_llg_reset, - /* .clone = */ llama_sampler_llg_clone, - /* .free = */ llama_sampler_llg_free, + /* .name = */ llama_sampler_llg_name, + /* .accept = */ llama_sampler_llg_accept_impl, + /* .apply = */ llama_sampler_llg_apply, + /* .reset = */ llama_sampler_llg_reset, + /* .clone = */ llama_sampler_llg_clone, + /* .free = */ llama_sampler_llg_free, + /* .backend_init = */ NULL, + /* .backend_accept = */ NULL, + /* .backend_apply = */ NULL, + /* .backend_set_input = */ NULL, }; static size_t llama_sampler_llg_tokenize_fn(const void * user_data, const uint8_t * bytes, size_t bytes_len, diff --git a/common/sampling.cpp b/common/sampling.cpp index 68e36e8744..8a931d51fc 100644 --- a/common/sampling.cpp +++ b/common/sampling.cpp @@ -120,17 +120,34 @@ struct common_sampler { } void set_logits(struct llama_context * ctx, int idx) { - const auto * logits = llama_get_logits_ith(ctx, idx); + const float * sampled_probs = llama_get_sampled_probs_ith (ctx, idx); + const float * sampled_logits = llama_get_sampled_logits_ith (ctx, idx); + const llama_token * sampled_ids = llama_get_sampled_candidates_ith(ctx, idx); const llama_model * model = llama_get_model(ctx); const llama_vocab * vocab = llama_model_get_vocab(model); const int n_vocab = llama_vocab_n_tokens(vocab); - cur.resize(n_vocab); - - for (llama_token token_id = 0; token_id < n_vocab; token_id++) { - cur[token_id] = llama_token_data{token_id, logits[token_id], 0.0f}; + if (sampled_probs) { + const uint32_t sampled_probs_count = llama_get_sampled_probs_count_ith(ctx, idx); + cur.resize(sampled_probs_count); + for (uint32_t i = 0; i < sampled_probs_count; ++i) { + cur[i] = llama_token_data{sampled_ids[i], sampled_logits[i], sampled_probs[i]}; + } + } else if (sampled_logits) { + const uint32_t sampled_logits_count = llama_get_sampled_logits_count_ith(ctx, idx); + cur.resize(sampled_logits_count); + for (uint32_t i = 0; i < sampled_logits_count; i++) { + cur[i] = llama_token_data{sampled_ids[i], sampled_logits[i], 0.0f}; + } + } else { + const auto * logits = llama_get_logits_ith(ctx, idx); + GGML_ASSERT(logits != nullptr); + cur.resize(n_vocab); + for (llama_token token_id = 0; token_id < n_vocab; token_id++) { + cur[token_id] = llama_token_data{token_id, logits[token_id], 0.0f}; + } } cur_p = { cur.data(), cur.size(), -1, false }; @@ -159,7 +176,7 @@ std::string common_params_sampling::print() const { return std::string(result); } -struct common_sampler * common_sampler_init(const struct llama_model * model, const struct common_params_sampling & params) { +struct common_sampler * common_sampler_init(const struct llama_model * model, struct common_params_sampling & params) { const llama_vocab * vocab = llama_model_get_vocab(model); llama_sampler_chain_params lparams = llama_sampler_chain_default_params(); @@ -298,6 +315,12 @@ struct common_sampler * common_sampler_init(const struct llama_model * model, co llama_sampler_chain_add(chain, smpl); } + if (grmr && params.backend_sampling) { + LOG_WRN("%s: backend sampling is not compatible with grammar, disabling\n", __func__); + + params.backend_sampling = false; + } + auto * result = new common_sampler { /* .params = */ params, /* .grmr = */ grmr, @@ -407,6 +430,25 @@ llama_token common_sampler_sample(struct common_sampler * gsmpl, struct llama_co auto & chain = gsmpl->chain; auto & cur_p = gsmpl->cur_p; // initialized by set_logits + // Check if a backend sampler has already sampled a token in which case we + // return that token id directly. + { + id = llama_get_sampled_token_ith(ctx, idx); + + if (id != LLAMA_TOKEN_NULL) { + LOG_DBG("%s: Backend sampler selected token: '%d'. Will not run any CPU samplers\n", __func__, id); + + GGML_ASSERT(!gsmpl->grmr && "using grammar in combination with backend sampling is not supported"); + + // TODO: simplify + gsmpl->cur.resize(1); + gsmpl->cur[0] = { id, 0.0f, 1.0f }; + cur_p = { gsmpl->cur.data(), gsmpl->cur.size(), 0, true }; + + return id; + } + } + gsmpl->set_logits(ctx, idx); if (grammar_first) { diff --git a/common/sampling.h b/common/sampling.h index c7101032f2..5b57ad6581 100644 --- a/common/sampling.h +++ b/common/sampling.h @@ -36,7 +36,8 @@ struct common_sampler; // llama_sampler API overloads -struct common_sampler * common_sampler_init(const struct llama_model * model, const struct common_params_sampling & params); +// note: can mutate params in some cases +struct common_sampler * common_sampler_init(const struct llama_model * model, struct common_params_sampling & params); void common_sampler_free(struct common_sampler * gsmpl); @@ -48,6 +49,7 @@ struct common_sampler * common_sampler_clone (struct common_sampler * gsmpl); // arguments can be nullptr to skip printing void common_perf_print(const struct llama_context * ctx, const struct common_sampler * gsmpl); +// get the underlying llama_sampler_chain struct llama_sampler * common_sampler_get(const struct common_sampler * gsmpl); // extended sampling implementation: diff --git a/examples/batched/batched.cpp b/examples/batched/batched.cpp index 36a12d299f..6b134b4f6f 100644 --- a/examples/batched/batched.cpp +++ b/examples/batched/batched.cpp @@ -68,7 +68,7 @@ int main(int argc, char ** argv) { auto sparams = llama_sampler_chain_default_params(); sparams.no_perf = false; - std::vector samplers; + std::vector sampler_configs; for (int32_t i = 0; i < n_parallel; ++i) { llama_sampler * smpl = llama_sampler_chain_init(sparams); @@ -78,7 +78,13 @@ int main(int argc, char ** argv) { llama_sampler_chain_add(smpl, llama_sampler_init_temp (params.sampling.temp)); llama_sampler_chain_add(smpl, llama_sampler_init_dist (params.sampling.seed)); - samplers.push_back(smpl); + sampler_configs.push_back({ i, smpl }); + } + + // TODO: temporarily gated behind a flag + if (params.sampling.backend_sampling) { + ctx_params.samplers = sampler_configs.data(); + ctx_params.n_samplers = sampler_configs.size(); } llama_context * ctx = llama_init_from_model(model, ctx_params); @@ -180,7 +186,7 @@ int main(int argc, char ** argv) { continue; } - const llama_token new_token_id = llama_sampler_sample(samplers[i], ctx, i_batch[i]); + const llama_token new_token_id = llama_sampler_sample(sampler_configs[i].sampler, ctx, i_batch[i]); // is it an end of generation? -> mark the stream as finished if (llama_vocab_is_eog(vocab, new_token_id) || n_cur == n_predict) { @@ -236,15 +242,15 @@ int main(int argc, char ** argv) { __func__, n_decode, (t_main_end - t_main_start) / 1000000.0f, n_decode / ((t_main_end - t_main_start) / 1000000.0f)); LOG("\n"); - llama_perf_sampler_print(samplers[0]); + llama_perf_sampler_print(sampler_configs[0].sampler); llama_perf_context_print(ctx); fprintf(stderr, "\n"); llama_batch_free(batch); - for (auto & sampler_config : samplers) { - llama_sampler_free(sampler_config); + for (auto & sampler_config : sampler_configs) { + llama_sampler_free(sampler_config.sampler); } llama_free(ctx); diff --git a/ggml/src/ggml-cuda/CMakeLists.txt b/ggml/src/ggml-cuda/CMakeLists.txt index ae8f963f69..dcc004134d 100644 --- a/ggml/src/ggml-cuda/CMakeLists.txt +++ b/ggml/src/ggml-cuda/CMakeLists.txt @@ -54,6 +54,20 @@ if (CUDAToolkit_FOUND) enable_language(CUDA) + # TODO: Remove once CCCL 3.2 has been released and bundled with CUDA Toolkit + if (GGML_CUDA_CUB_3DOT2) + include(FetchContent) + + FetchContent_Declare( + CCCL + GIT_REPOSITORY https://github.com/nvidia/cccl.git + GIT_TAG v3.2.0-rc2 + GIT_SHALLOW TRUE + ) + + FetchContent_MakeAvailable(CCCL) + endif() + # Replace any plain 12X CUDA architectures with their "architecture-specific" equivalents 12Xa. # 12X is forwards-compatible, 12Xa is not. # Notably the Blackwell FP4 tensor core instructions are not forwards compatible and therefore need 12Xa. @@ -143,6 +157,9 @@ if (CUDAToolkit_FOUND) # As of 12.3.1 CUDA Toolkit for Windows does not offer a static cublas library target_link_libraries(ggml-cuda PRIVATE CUDA::cudart_static CUDA::cublas) else () + if (GGML_CUDA_CUB_3DOT2) + target_link_libraries(ggml-cuda PRIVATE CCCL::CCCL) + endif() if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "10.1") target_link_libraries(ggml-cuda PRIVATE CUDA::cudart_static CUDA::cublas_static CUDA::cublasLt_static) else() @@ -150,6 +167,9 @@ if (CUDAToolkit_FOUND) endif() endif() else() + if (GGML_CUDA_CUB_3DOT2) + target_link_libraries(ggml-cuda PRIVATE CCCL::CCCL) + endif() target_link_libraries(ggml-cuda PRIVATE CUDA::cudart CUDA::cublas) endif() @@ -218,6 +238,10 @@ if (CUDAToolkit_FOUND) if (NOT MSVC) list(APPEND CUDA_CXX_FLAGS -Wno-pedantic) + else() + # CCCL 3.2 onwards will require a cpp-standard-compliant preprocessor for MSVC + # https://github.com/NVIDIA/cccl/pull/6827 + list(APPEND CUDA_CXX_FLAGS /Zc:preprocessor) endif() list(JOIN CUDA_CXX_FLAGS " " CUDA_CXX_FLAGS_JOINED) # pass host compiler flags as a single argument diff --git a/ggml/src/ggml-cuda/argsort.cu b/ggml/src/ggml-cuda/argsort.cu index 99669200ff..57c8a99a28 100644 --- a/ggml/src/ggml-cuda/argsort.cu +++ b/ggml/src/ggml-cuda/argsort.cu @@ -22,15 +22,15 @@ static __global__ void init_offsets(int * offsets, const int ncols, const int nr } #ifdef GGML_CUDA_USE_CUB -static void argsort_f32_i32_cuda_cub(ggml_cuda_pool & pool, - const float * x, - int * dst, - const int ncols, - const int nrows, - ggml_sort_order order, - cudaStream_t stream) { - ggml_cuda_pool_alloc temp_indices_alloc(pool, ((size_t) ncols) * nrows); - ggml_cuda_pool_alloc temp_keys_alloc(pool, ((size_t) ncols) * nrows); +void argsort_f32_i32_cuda_cub(ggml_cuda_pool & pool, + const float * x, + int * dst, + const int ncols, + const int nrows, + ggml_sort_order order, + cudaStream_t stream) { + ggml_cuda_pool_alloc temp_indices_alloc(pool, ncols * nrows); + ggml_cuda_pool_alloc temp_keys_alloc(pool, ncols * nrows); ggml_cuda_pool_alloc offsets_alloc(pool, nrows + 1); int * temp_indices = temp_indices_alloc.get(); @@ -49,28 +49,49 @@ static void argsort_f32_i32_cuda_cub(ggml_cuda_pool & pool, size_t temp_storage_bytes = 0; if (order == GGML_SORT_ORDER_ASC) { - DeviceSegmentedRadixSort::SortPairs(nullptr, temp_storage_bytes, temp_keys, temp_keys, // keys (in-place) - temp_indices, dst, // values (indices) - ncols * nrows, nrows, // num items, num segments - d_offsets, d_offsets + 1, 0, sizeof(float) * 8, // all bits - stream); + if (nrows == 1) { + DeviceRadixSort::SortPairs(nullptr, temp_storage_bytes, temp_keys, temp_keys, // keys (in-place) + temp_indices, dst, // values (indices) + ncols, 0, sizeof(float) * 8, stream); + } else { + DeviceSegmentedSort::SortPairs(nullptr, temp_storage_bytes, temp_keys, temp_keys, // keys (in-place) + temp_indices, dst, // values (indices) + ncols * nrows, nrows, // num items, num segments + d_offsets, d_offsets + 1, stream); + } } else { - DeviceSegmentedRadixSort::SortPairsDescending(nullptr, temp_storage_bytes, temp_keys, temp_keys, temp_indices, - dst, ncols * nrows, nrows, d_offsets, d_offsets + 1, 0, - sizeof(float) * 8, stream); + if (nrows == 1) { + DeviceRadixSort::SortPairsDescending(nullptr, temp_storage_bytes, temp_keys, temp_keys, // keys (in-place) + temp_indices, dst, // values (indices) + ncols, 0, sizeof(float) * 8, stream); + } else { + DeviceSegmentedSort::SortPairsDescending(nullptr, temp_storage_bytes, temp_keys, temp_keys, temp_indices, + dst, ncols * nrows, nrows, d_offsets, d_offsets + 1, stream); + } } ggml_cuda_pool_alloc temp_storage_alloc(pool, temp_storage_bytes); void * d_temp_storage = temp_storage_alloc.get(); if (order == GGML_SORT_ORDER_ASC) { - DeviceSegmentedRadixSort::SortPairs(d_temp_storage, temp_storage_bytes, temp_keys, temp_keys, temp_indices, dst, - ncols * nrows, nrows, d_offsets, d_offsets + 1, 0, sizeof(float) * 8, - stream); + if (nrows == 1) { + DeviceRadixSort::SortPairs(d_temp_storage, temp_storage_bytes, temp_keys, temp_keys, // keys (in-place) + temp_indices, dst, // values (indices) + ncols, 0, sizeof(float) * 8, stream); + } else { + DeviceSegmentedSort::SortPairs(d_temp_storage, temp_storage_bytes, temp_keys, temp_keys, temp_indices, dst, + ncols * nrows, nrows, d_offsets, d_offsets + 1, stream); + } } else { - DeviceSegmentedRadixSort::SortPairsDescending(d_temp_storage, temp_storage_bytes, temp_keys, temp_keys, - temp_indices, dst, ncols * nrows, nrows, d_offsets, d_offsets + 1, - 0, sizeof(float) * 8, stream); + if (nrows == 1) { + DeviceRadixSort::SortPairsDescending(d_temp_storage, temp_storage_bytes, temp_keys, temp_keys, // keys (in-place) + temp_indices, dst, // values (indices) + ncols, 0, sizeof(float) * 8, stream); + } else { + DeviceSegmentedSort::SortPairsDescending(d_temp_storage, temp_storage_bytes, temp_keys, temp_keys, + temp_indices, dst, ncols * nrows, nrows, d_offsets, d_offsets + 1, + stream); + } } } #endif // GGML_CUDA_USE_CUB @@ -141,12 +162,12 @@ static int next_power_of_2(int x) { return n; } -static void argsort_f32_i32_cuda_bitonic(const float * x, - int * dst, - const int ncols, - const int nrows, - ggml_sort_order order, - cudaStream_t stream) { +void argsort_f32_i32_cuda_bitonic(const float * x, + int * dst, + const int ncols, + const int nrows, + ggml_sort_order order, + cudaStream_t stream) { // bitonic sort requires ncols to be power of 2 const int ncols_pad = next_power_of_2(ncols); diff --git a/ggml/src/ggml-cuda/argsort.cuh b/ggml/src/ggml-cuda/argsort.cuh index 68a001547f..22b7306f20 100644 --- a/ggml/src/ggml-cuda/argsort.cuh +++ b/ggml/src/ggml-cuda/argsort.cuh @@ -1,3 +1,19 @@ #include "common.cuh" void ggml_cuda_op_argsort(ggml_backend_cuda_context & ctx, ggml_tensor * dst); + +#ifdef GGML_CUDA_USE_CUB +void argsort_f32_i32_cuda_cub(ggml_cuda_pool & pool, + const float * x, + int * dst, + const int ncols, + const int nrows, + ggml_sort_order order, + cudaStream_t stream); +#endif // GGML_CUDA_USE_CUB +void argsort_f32_i32_cuda_bitonic(const float * x, + int * dst, + const int ncols, + const int nrows, + ggml_sort_order order, + cudaStream_t stream); diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 78502057a8..55f2f46086 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -950,15 +950,16 @@ struct ggml_cuda_device_info { int device_count; struct cuda_device_info { - int cc; // compute capability - int nsm; // number of streaming multiprocessors - size_t smpb; // max. shared memory per block - size_t smpbo; // max. shared memory per block (with opt-in) - bool integrated; // Device is integrated as opposed to discrete - bool vmm; // virtual memory support - size_t vmm_granularity; // granularity of virtual memory + int cc; // compute capability + int nsm; // number of streaming multiprocessors + size_t smpb; // max. shared memory per block + size_t smpbo; // max. shared memory per block (with opt-in) + bool integrated; // Device is integrated as opposed to discrete + bool vmm; // virtual memory support + size_t vmm_granularity; // granularity of virtual memory size_t total_vram; - int warp_size; // Number of threads in a dispatch + int warp_size; // Number of threads in a dispatch + bool supports_cooperative_launch; // whether cooperative launch is supported }; cuda_device_info devices[GGML_CUDA_MAX_DEVICES] = {}; diff --git a/ggml/src/ggml-cuda/cumsum.cu b/ggml/src/ggml-cuda/cumsum.cu index 3bd1394c51..def9c32955 100644 --- a/ggml/src/ggml-cuda/cumsum.cu +++ b/ggml/src/ggml-cuda/cumsum.cu @@ -5,7 +5,7 @@ #include "ggml.h" #ifdef GGML_CUDA_USE_CUB -# include +# include #endif // GGML_CUDA_USE_CUB template @@ -185,9 +185,34 @@ static __global__ void cumsum_kernel( } } +#ifdef GGML_CUDA_USE_CUB +template +static void cumsum_cub(ggml_cuda_pool & pool, + const T * src, + T * dst, + int64_t ne, + cudaStream_t stream) { + size_t tmp_size = 0; + + // Query how much temp storage CUDA UnBound (CUB) needs + cub::DeviceScan::InclusiveSum(nullptr, // d_temp_storage (null = just query size) + tmp_size, // reference to size (will be set by CUB) + src, // input pointer + dst, // output pointer + ne, // number of elements + stream // CUDA stream to use + ); + + ggml_cuda_pool_alloc tmp_alloc(pool, tmp_size); + + // Perform the inclusive scan + cub::DeviceScan::InclusiveSum((void *) tmp_alloc.get(), tmp_size, src, dst, ne, stream); +} +#endif // GGML_CUDA_USE_CUB + template static void cumsum_cuda( - const T * src, T * dst, + [[maybe_unused]] ggml_backend_cuda_context & ctx, const T * src, T * dst, const int64_t ne00, const int64_t ne01, const int64_t ne02, const int64_t ne03, const int64_t nb00, const int64_t nb01, const int64_t nb02, const int64_t nb03, const int64_t nb0, const int64_t nb1, const int64_t nb2, const int64_t nb3, @@ -201,6 +226,15 @@ static void cumsum_cuda( if (is_contiguous) { use_cub = true; + const int64_t nrows = ne01 * ne02 * ne03; + // TODO: Compare with DeviceSegmentedScan::InclusiveSegmentedSum for nrows > 1 once InclusiveSegmentedSum is released + // Heuristics were determined as part of https://github.com/ggml-org/llama.cpp/pull/17004 + if (((nrows == 1) && (ne00 > 1024)) || (ne00 / nrows > 4096)) { + for (int i=0; idata, (float *)dst->data, + ctx, (const float *)src0->data, (float *)dst->data, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0->nb[0], src0->nb[1], src0->nb[2], src0->nb[3], dst->nb[0], dst->nb[1], dst->nb[2], dst->nb[3], diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 80d983f9ee..1bbca225d2 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -19,6 +19,7 @@ #include "ggml-cuda/count-equal.cuh" #include "ggml-cuda/cpy.cuh" #include "ggml-cuda/cross-entropy-loss.cuh" +#include "ggml-cuda/cumsum.cuh" #include "ggml-cuda/diagmask.cuh" #include "ggml-cuda/diag.cuh" #include "ggml-cuda/fattn.cuh" @@ -44,6 +45,7 @@ #include "ggml-cuda/ssm-scan.cuh" #include "ggml-cuda/sum.cuh" #include "ggml-cuda/sumrows.cuh" +#include "ggml-cuda/top-k.cuh" #include "ggml-cuda/mean.cuh" #include "ggml-cuda/tsembd.cuh" #include "ggml-cuda/topk-moe.cuh" @@ -231,6 +233,14 @@ static ggml_cuda_device_info ggml_cuda_init() { info.devices[id].nsm = prop.multiProcessorCount; info.devices[id].smpb = prop.sharedMemPerBlock; info.devices[id].warp_size = prop.warpSize; + +#ifndef GGML_USE_MUSA + int supports_coop_launch = 0; + CUDA_CHECK(cudaDeviceGetAttribute(&supports_coop_launch, cudaDevAttrCooperativeLaunch, id)); + info.devices[id].supports_cooperative_launch = !!supports_coop_launch; +#else + info.devices[id].supports_cooperative_launch = false; +#endif // !(GGML_USE_MUSA) #if defined(GGML_USE_HIP) info.devices[id].smpbo = prop.sharedMemPerBlock; @@ -2677,6 +2687,9 @@ static bool ggml_cuda_compute_forward(ggml_backend_cuda_context & ctx, struct gg case GGML_OP_SUM: ggml_cuda_op_sum(ctx, dst); break; + case GGML_OP_CUMSUM: + ggml_cuda_op_cumsum(ctx, dst); + break; case GGML_OP_SUM_ROWS: ggml_cuda_op_sum_rows(ctx, dst); break; @@ -2689,6 +2702,9 @@ static bool ggml_cuda_compute_forward(ggml_backend_cuda_context & ctx, struct gg case GGML_OP_SSM_SCAN: ggml_cuda_op_ssm_scan(ctx, dst); break; + case GGML_OP_TOP_K: + ggml_cuda_op_top_k(ctx, dst); + break; case GGML_OP_ARGSORT: ggml_cuda_op_argsort(ctx, dst); break; @@ -2698,9 +2714,6 @@ static bool ggml_cuda_compute_forward(ggml_backend_cuda_context & ctx, struct gg case GGML_OP_CROSS_ENTROPY_LOSS: ggml_cuda_cross_entropy_loss(ctx, dst); break; - case GGML_OP_CUMSUM: - ggml_cuda_op_cumsum(ctx, dst); - break; case GGML_OP_TRI: ggml_cuda_op_tri(ctx, dst); break; @@ -4626,6 +4639,7 @@ static bool ggml_backend_cuda_device_supports_op(ggml_backend_dev_t dev, const g return true; case GGML_OP_SUM: return ggml_is_contiguous_rows(op->src[0]); + case GGML_OP_TOP_K: case GGML_OP_ARGSORT: #ifndef GGML_CUDA_USE_CUB return op->src[0]->ne[0] <= 1024; diff --git a/ggml/src/ggml-cuda/softmax.cu b/ggml/src/ggml-cuda/softmax.cu index eeacde0bdb..1ae84ebf63 100644 --- a/ggml/src/ggml-cuda/softmax.cu +++ b/ggml/src/ggml-cuda/softmax.cu @@ -1,6 +1,14 @@ #include "common.cuh" #include "ggml.h" #include "softmax.cuh" + +#ifdef GGML_USE_HIP +#include +#else +#include +#include +#endif // GGML_USE_HIP + #include #include @@ -160,6 +168,156 @@ static __global__ void soft_max_f32( dst[col] = vals[col] * inv_sum; } } + + +// TODO: This is a common pattern used across kernels that could be moved to common.cuh + templated +static __device__ float two_stage_warp_reduce_max(float val) { + val = warp_reduce_max(val); + if (blockDim.x > WARP_SIZE) { + assert((blockDim.x <= 1024) && (blockDim.x % WARP_SIZE) == 0); + __shared__ float local_vals[32]; + const int warp_id = threadIdx.x / WARP_SIZE; + const int lane_id = threadIdx.x % WARP_SIZE; + if (lane_id == 0) { + local_vals[warp_id] = val; + } + __syncthreads(); + val = -INFINITY; + if (lane_id < (static_cast(blockDim.x) / WARP_SIZE)) { + val = local_vals[lane_id]; + } + return warp_reduce_max(val); + } else { + return val; + } +} + +static __device__ float two_stage_warp_reduce_sum(float val) { + val = warp_reduce_sum(val); + if (blockDim.x > WARP_SIZE) { + assert((blockDim.x <= 1024) && (blockDim.x % WARP_SIZE) == 0); + __shared__ float local_vals[32]; + const int warp_id = threadIdx.x / WARP_SIZE; + const int lane_id = threadIdx.x % WARP_SIZE; + if (lane_id == 0) { + local_vals[warp_id] = val; + } + __syncthreads(); + val = 0.0f; + if (lane_id < (static_cast(blockDim.x) / WARP_SIZE)) { + val = local_vals[lane_id]; + } + return warp_reduce_sum(val); + } else { + return val; + } +} + +// TODO: Template to allow keeping ncols in registers if they fit +static __device__ void soft_max_f32_parallelize_cols_single_row(const float * __restrict__ x, + float * __restrict__ dst, + float * __restrict__ tmp_maxs, + float * __restrict__ tmp_sums, + const soft_max_params p) { + namespace cg = cooperative_groups; + + const cg::grid_group g = cg::this_grid(); + + const int tid = threadIdx.x; + const int col_start = blockIdx.x * blockDim.x + tid; + const int n_elem_per_thread = 4; + + float local_vals[n_elem_per_thread] = { -INFINITY, -INFINITY, -INFINITY, -INFINITY }; + float local_max = -INFINITY; + const int step_size = gridDim.x * blockDim.x; + + // Compute thread-local max + for (int col = col_start; col < p.ncols;) { +#pragma unroll + for (int i = 0; i < n_elem_per_thread; i++) { + const int idx = col + i * step_size; + local_vals[i] = idx < p.ncols ? x[idx] : -INFINITY; + } +#pragma unroll + for (int i = 0; i < n_elem_per_thread; i++) { + local_max = fmaxf(local_max, local_vals[i]); + } + col += step_size * n_elem_per_thread; + } + + // Compute CTA-level max + local_max = two_stage_warp_reduce_max(local_max); + + // Store CTA-level max to GMEM + if (tid == 0) { + tmp_maxs[blockIdx.x] = local_max; + } + g.sync(); + + // Compute compute global max from CTA-level maxs + assert(gridDim.x < blockDim.x); // currently we only support this case + if (tid < gridDim.x) { + local_max = tmp_maxs[tid]; + } else { + local_max = -INFINITY; + } + local_max = two_stage_warp_reduce_max(local_max); + + // Compute softmax dividends, accumulate divisor + float tmp_expf = 0.0f; + for (int col = col_start; col < p.ncols;) { +#pragma unroll + for (int i = 0; i < n_elem_per_thread; i++) { + const int idx = col + i * step_size; + local_vals[i] = idx < p.ncols ? x[idx] : -INFINITY; + } +#pragma unroll + for (int i = 0; i < n_elem_per_thread; i++) { + const int idx = col + i * step_size; + if (idx < p.ncols) { + const float tmp = expf(local_vals[i] - local_max); + tmp_expf += tmp; + dst[idx] = tmp; + } + } + col += step_size * n_elem_per_thread; + } + + // Reduce divisor within CTA + tmp_expf = two_stage_warp_reduce_sum(tmp_expf); + + // Store CTA-level sum to GMEM + if (tid == 0) { + tmp_sums[blockIdx.x] = tmp_expf; + } + g.sync(); + + // Compute global sum from CTA-level sums + if (tid < gridDim.x) { + tmp_expf = tmp_sums[tid]; + } else { + tmp_expf = 0.0f; + } + tmp_expf = two_stage_warp_reduce_sum(tmp_expf); + + // Divide dividend by global sum + store data + for (int col = col_start; col < p.ncols;) { +#pragma unroll + for (int i = 0; i < n_elem_per_thread; i++) { + const int idx = col + i * step_size; + local_vals[i] = idx < p.ncols ? dst[idx] : -INFINITY; + } +#pragma unroll + for (int i = 0; i < n_elem_per_thread; i++) { + const int idx = col + i * step_size; + if (idx < p.ncols) { + dst[idx] = local_vals[i] / tmp_expf; + } + } + col += step_size * n_elem_per_thread; + } +} + #ifdef __clang__ #pragma clang diagnostic pop #endif // __clang__ @@ -216,9 +374,31 @@ static void launch_soft_max_kernels(const float * x, const T * mask, const float soft_max_f32<<>>(x, mask, sinks, dst, p); } +__launch_bounds__(8*WARP_SIZE, 1) static __global__ void soft_max_f32_parallelize_cols(const float * __restrict__ x, + float * __restrict__ dst, + float * __restrict__ tmp_maxs, + float * __restrict__ tmp_sums, + const soft_max_params p) +// We loop over all instead of parallelizing across gridDim.y as cooperative groups +// currently only support synchronizing the complete grid if not launched as a cluster group +// (which requires CC > 9.0) +// https://docs.nvidia.com/cuda/cuda-programming-guide/05-appendices/device-callable-apis.html#grid-synchronization +// https://docs.nvidia.com/cuda/cuda-programming-guide/05-appendices/device-callable-apis.html#class-cluster-group +{ + for (int rowx = 0; rowx < p.ne01 * p.ne02 * p.ne03; rowx++) { + soft_max_f32_parallelize_cols_single_row(x + int64_t(rowx) * p.ncols, dst + int64_t(rowx) * p.ncols, tmp_maxs, + tmp_sums, p); + } +} -template -static void soft_max_f32_cuda(const float * x, const T * mask, const float * sinks, float * dst, const soft_max_params & params, cudaStream_t stream) { +template +static void soft_max_f32_cuda(const float * x, + const T * mask, + const float * sinks, + float * dst, + const soft_max_params & params, + cudaStream_t stream, + [[maybe_unused]] ggml_backend_cuda_context & ctx) { int nth = WARP_SIZE; const int64_t ncols_x = params.ncols; @@ -236,8 +416,25 @@ static void soft_max_f32_cuda(const float * x, const T * mask, const float * sin if (nbytes_shared <= smpbo) { launch_soft_max_kernels<32, 64, 128, 256, 512, 1024, 2048, 4096>(x, mask, sinks, dst, params, stream, block_dims, block_nums, nbytes_shared); } else { - const size_t nbytes_shared_low = WARP_SIZE*sizeof(float); - soft_max_f32<<>>(x, mask, sinks, dst, params); + // Parallelize across SMs for top-p/dist-sampling + // The heuristic for parallelizing rows across SMs vs parallelizing single row & looping over all rows was done on the basis of a B6000 GPU and + // Can be adapted further for lower-SM-count GPUs, though keeping data in registers should be implemented first as that is the optimal solution. + if (ggml_cuda_info().devices[id].supports_cooperative_launch && + ncols_x / (params.ne01 * params.ne02 * params.ne03) > 8192 && mask == nullptr && sinks == nullptr && + params.scale == 1.0f && params.max_bias == 0.0f) { + ggml_cuda_pool_alloc tmp_maxs_alloc(ctx.pool(), ggml_cuda_info().devices[id].nsm * sizeof(float)); + ggml_cuda_pool_alloc tmp_sums_alloc(ctx.pool(), ggml_cuda_info().devices[id].nsm * sizeof(float)); + + void * kernel_args[] = { (void *) &x, (void *) &dst, (void *) &tmp_maxs_alloc.ptr, + (void *) &tmp_sums_alloc.ptr, (void *) const_cast(¶ms) }; + CUDA_CHECK(cudaLaunchCooperativeKernel((void *) soft_max_f32_parallelize_cols, + dim3(ggml_cuda_info().devices[id].nsm, 1, 1), + dim3(WARP_SIZE * 8, 1, 1), kernel_args, 0, stream)); + } else { + const size_t nbytes_shared_low = WARP_SIZE * sizeof(float); + soft_max_f32 + <<>>(x, mask, sinks, dst, params); + } } } @@ -315,9 +512,9 @@ void ggml_cuda_op_soft_max(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { params.m1 = m1; if (use_f16) { - soft_max_f32_cuda(src0_d, (const half *) src1_d, (const float *) src2_d, dst_d, params, stream); + soft_max_f32_cuda(src0_d, (const half *) src1_d, (const float *) src2_d, dst_d, params, stream, ctx); } else { - soft_max_f32_cuda(src0_d, (const float *) src1_d, (const float *) src2_d, dst_d, params, stream); + soft_max_f32_cuda(src0_d, (const float *) src1_d, (const float *) src2_d, dst_d, params, stream, ctx); } } diff --git a/ggml/src/ggml-cuda/top-k.cu b/ggml/src/ggml-cuda/top-k.cu new file mode 100644 index 0000000000..318ac38691 --- /dev/null +++ b/ggml/src/ggml-cuda/top-k.cu @@ -0,0 +1,96 @@ +#include "argsort.cuh" +#include "top-k.cuh" + +#ifdef GGML_CUDA_USE_CUB +# include +# if (CCCL_MAJOR_VERSION >= 3 && CCCL_MINOR_VERSION >= 2) +# include +# define CUB_TOP_K_AVAILABLE +using namespace cub; +# endif // CCCL_MAJOR_VERSION >= 3 && CCCL_MINOR_VERSION >= 2 +#endif // GGML_CUDA_USE_CUB + +#ifdef CUB_TOP_K_AVAILABLE + +static void top_k_cub(ggml_cuda_pool & pool, + const float * src, + int * dst, + const int ncols, + const int k, + cudaStream_t stream) { + auto requirements = cuda::execution::require(cuda::execution::determinism::not_guaranteed, + cuda::execution::output_ordering::unsorted); + auto stream_env = cuda::stream_ref{ stream }; + auto env = cuda::std::execution::env{ stream_env, requirements }; + + auto indexes_in = cuda::make_counting_iterator(0); + + size_t temp_storage_bytes = 0; + DeviceTopK::MaxPairs(nullptr, temp_storage_bytes, src, cuda::discard_iterator(), indexes_in, dst, ncols, k, + env); + + ggml_cuda_pool_alloc temp_storage_alloc(pool, temp_storage_bytes); + void * d_temp_storage = temp_storage_alloc.get(); + + DeviceTopK::MaxPairs(d_temp_storage, temp_storage_bytes, src, cuda::discard_iterator(), indexes_in, dst, + ncols, k, env); +} + +#elif defined(GGML_CUDA_USE_CUB) // CUB_TOP_K_AVAILABLE + +static int next_power_of_2(int x) { + int n = 1; + while (n < x) { + n *= 2; + } + return n; +} + +#endif // CUB_TOP_K_AVAILABLE + +void ggml_cuda_op_top_k(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const ggml_tensor * src0 = dst->src[0]; + const float * src0_d = (const float *) src0->data; + int * dst_d = (int *) dst->data; + cudaStream_t stream = ctx.stream(); + + // are these asserts truly necessary? + GGML_ASSERT(src0->type == GGML_TYPE_F32); + GGML_ASSERT(dst->type == GGML_TYPE_I32); + GGML_ASSERT(ggml_is_contiguous(src0)); + + const int64_t ncols = src0->ne[0]; + const int64_t nrows = ggml_nrows(src0); + const int64_t k = dst->ne[0]; + ggml_cuda_pool & pool = ctx.pool(); +#ifdef CUB_TOP_K_AVAILABLE + // TODO: Switch to `DeviceSegmentedTopK` for multi-row TopK once implemented + // https://github.com/NVIDIA/cccl/issues/6391 + // TODO: investigate if there exists a point where parallelized argsort is faster than sequential top-k + for (int i = 0; i < nrows; i++) { + top_k_cub(pool, src0_d + i * ncols, dst_d + i * k, ncols, k, stream); + } +#elif defined(GGML_CUDA_USE_CUB) // CUB_TOP_K_AVAILABLE + // Fall back to argsort + copy + const int ncols_pad = next_power_of_2(ncols); + const size_t shared_mem = ncols_pad * sizeof(int); + const size_t max_shared_mem = ggml_cuda_info().devices[ggml_cuda_get_device()].smpb; + + ggml_cuda_pool_alloc temp_dst_alloc(pool, ncols * nrows); + int * tmp_dst = temp_dst_alloc.get(); + + if (shared_mem > max_shared_mem || ncols > 1024) { + argsort_f32_i32_cuda_cub(pool, src0_d, tmp_dst, ncols, nrows, GGML_SORT_ORDER_DESC, stream); + } else { + argsort_f32_i32_cuda_bitonic(src0_d, tmp_dst, ncols, nrows, GGML_SORT_ORDER_DESC, stream); + } + CUDA_CHECK(cudaMemcpy2DAsync(dst_d, k * sizeof(int), tmp_dst, ncols * sizeof(int), k * sizeof(int), nrows, + cudaMemcpyDeviceToDevice, stream)); +#else // GGML_CUDA_USE_CUB + ggml_cuda_pool_alloc temp_dst_alloc(pool, ncols * nrows); + int * tmp_dst = temp_dst_alloc.get(); + argsort_f32_i32_cuda_bitonic(src0_d, tmp_dst, ncols, nrows, GGML_SORT_ORDER_DESC, stream); + CUDA_CHECK(cudaMemcpy2DAsync(dst_d, k * sizeof(int), tmp_dst, ncols * sizeof(int), k * sizeof(int), nrows, + cudaMemcpyDeviceToDevice, stream)); +#endif +} diff --git a/ggml/src/ggml-cuda/top-k.cuh b/ggml/src/ggml-cuda/top-k.cuh new file mode 100644 index 0000000000..f4d8f61e5b --- /dev/null +++ b/ggml/src/ggml-cuda/top-k.cuh @@ -0,0 +1,3 @@ +#include "common.cuh" + +void ggml_cuda_op_top_k(ggml_backend_cuda_context & ctx, ggml_tensor * dst); diff --git a/ggml/src/ggml-cuda/vendors/hip.h b/ggml/src/ggml-cuda/vendors/hip.h index 951a88d567..016b04e5a0 100644 --- a/ggml/src/ggml-cuda/vendors/hip.h +++ b/ggml/src/ggml-cuda/vendors/hip.h @@ -45,9 +45,11 @@ #define cublasSgemm hipblasSgemm #define cublasStatus_t hipblasStatus_t #define cublasOperation_t hipblasOperation_t +#define cudaDevAttrCooperativeLaunch hipDeviceAttributeCooperativeLaunch #define cudaDeviceCanAccessPeer hipDeviceCanAccessPeer #define cudaDeviceDisablePeerAccess hipDeviceDisablePeerAccess #define cudaDeviceEnablePeerAccess hipDeviceEnablePeerAccess +#define cudaDeviceGetAttribute hipDeviceGetAttribute #define cudaDeviceProp hipDeviceProp_t #define cudaDeviceSynchronize hipDeviceSynchronize #define cudaError_t hipError_t @@ -70,6 +72,7 @@ #define cudaHostRegisterPortable hipHostRegisterPortable #define cudaHostRegisterReadOnly hipHostRegisterReadOnly #define cudaHostUnregister hipHostUnregister +#define cudaLaunchCooperativeKernel hipLaunchCooperativeKernel #define cudaLaunchHostFunc hipLaunchHostFunc #define cudaMalloc hipMalloc #define cudaMallocHost(ptr, size) hipHostMalloc(ptr, size, hipHostMallocDefault) diff --git a/ggml/src/ggml-cuda/vendors/musa.h b/ggml/src/ggml-cuda/vendors/musa.h index 221e67f96a..1abb8acfd4 100644 --- a/ggml/src/ggml-cuda/vendors/musa.h +++ b/ggml/src/ggml-cuda/vendors/musa.h @@ -61,6 +61,7 @@ #define cudaHostRegisterPortable musaHostRegisterPortable #define cudaHostRegisterReadOnly musaHostRegisterReadOnly #define cudaHostUnregister musaHostUnregister +#define cudaLaunchCooperativeKernel musaLaunchCooperativeKernel #define cudaLaunchHostFunc musaLaunchHostFunc #define cudaMalloc musaMalloc #define cudaMallocHost musaMallocHost diff --git a/include/llama.h b/include/llama.h index 8b3c8a7b10..bf4ce5f927 100644 --- a/include/llama.h +++ b/include/llama.h @@ -316,6 +316,11 @@ extern "C" { bool no_alloc; // only load metadata and simulate memory allocations }; + struct llama_sampler_seq_config { + llama_seq_id seq_id; + struct llama_sampler * sampler; + }; + // NOTE: changing the default values of parameters marked as [EXPERIMENTAL] may cause crashes or incorrect results in certain configurations // https://github.com/ggml-org/llama.cpp/pull/7544 struct llama_context_params { @@ -364,6 +369,12 @@ extern "C" { bool kv_unified; // use a unified buffer across the input sequences when computing the attention // try to disable when n_seq_max > 1 for improved performance when the sequences do not share a large prefix // ref: https://github.com/ggml-org/llama.cpp/pull/14363 + + // [EXPERIMENTAL] + // backend sampler chain configuration (make sure the caller keeps the sampler chains alive) + // note: the samplers must be sampler chains (i.e. use llama_sampler_chain_init) + struct llama_sampler_seq_config * samplers; + size_t n_samplers; }; // model quantization parameters @@ -992,6 +1003,32 @@ extern "C" { // otherwise: float[n_embd] (1-dimensional) LLAMA_API float * llama_get_embeddings_seq(struct llama_context * ctx, llama_seq_id seq_id); + // + // backend sampling API [EXPERIMENTAL] + // note: use only if the llama_context was created with at least one llama_sampler_seq_config + // + + // Get the backend sampled token for the ith token. + // Returns LLAMA_TOKEN_NULL if no token was sampled. + LLAMA_API llama_token llama_get_sampled_token_ith(struct llama_context * ctx, int32_t i); + + // Get the backend sampled probabilites for the ith token + // The index matches llama_get_sampled_token_ith(). + // Returns NULL if no probabilites were generated. + LLAMA_API float * llama_get_sampled_probs_ith (struct llama_context * ctx, int32_t i); + LLAMA_API uint32_t llama_get_sampled_probs_count_ith(struct llama_context * ctx, int32_t i); + + // Get the backend sampled logits for the ith token + // Returns NULL if no logits were sampled. + LLAMA_API float * llama_get_sampled_logits_ith (struct llama_context * ctx, int32_t i); + LLAMA_API uint32_t llama_get_sampled_logits_count_ith(struct llama_context * ctx, int32_t i); + + // Get the backend sampled candidates (token ids) for the ith token + // These are needed to map probability/logit indices to vocab token ids. + // Returns NULL if no candidates were sampled. + LLAMA_API llama_token * llama_get_sampled_candidates_ith (struct llama_context * ctx, int32_t i); + LLAMA_API uint32_t llama_get_sampled_candidates_count_ith(struct llama_context * ctx, int32_t i); + // // Vocab // @@ -1163,11 +1200,16 @@ extern "C" { // // llama_sampler_free(smpl); // - // TODO: In the future, llama_sampler will be utilized to offload the sampling to the backends (e.g. GPU). - // typedef void * llama_sampler_context_t; + struct llama_sampler_data { + struct ggml_tensor * logits; + struct ggml_tensor * probs; + struct ggml_tensor * sampled; + struct ggml_tensor * candidates; + }; + // user code can implement the interface below in order to create custom llama_sampler struct llama_sampler_i { const char * (*name) (const struct llama_sampler * smpl); // can be NULL @@ -1177,17 +1219,45 @@ extern "C" { struct llama_sampler * (*clone) (const struct llama_sampler * smpl); // can be NULL if ctx is NULL void (*free) ( struct llama_sampler * smpl); // can be NULL if ctx is NULL - // TODO: API for internal libllama usage for appending the sampling to an existing ggml_cgraph - //void (*apply_ggml) (struct llama_sampler * smpl, ...); + // [EXPERIMENTAL] + // backend sampling interface: + + // return true if the backend supports all ops needed by the sampler + // note: call once per sampler + bool (*backend_init)(struct llama_sampler * smpl, ggml_backend_buffer_type_t buft); + + // call after .backend_apply() + void (*backend_accept)( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct ggml_tensor * selected_token); + + // call after .backend_init() + void (*backend_apply)( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data); + + // called before graph execution to set inputs for the current ubatch + void (*backend_set_input)(struct llama_sampler * smpl); }; struct llama_sampler { - const struct llama_sampler_i * iface; - llama_sampler_context_t ctx; + struct llama_sampler_i * iface; + + llama_sampler_context_t ctx; }; + // [EXPERIMENTAL] + // attach a sampler to the context + // note: prefer initializing the context with llama_context_params.samplers when possible + // note: changing the samplers of a context can cause graph reallocations and degraded performance + LLAMA_API bool llama_set_sampler(struct llama_context * ctx, llama_seq_id seq_id, struct llama_sampler * smpl); + // mirror of llama_sampler_i: - LLAMA_API struct llama_sampler * llama_sampler_init (const struct llama_sampler_i * iface, llama_sampler_context_t ctx); + LLAMA_API struct llama_sampler * llama_sampler_init ( struct llama_sampler_i * iface, llama_sampler_context_t ctx); LLAMA_API const char * llama_sampler_name (const struct llama_sampler * smpl); LLAMA_API void llama_sampler_accept( struct llama_sampler * smpl, llama_token token); LLAMA_API void llama_sampler_apply ( struct llama_sampler * smpl, llama_token_data_array * cur_p); @@ -1203,7 +1273,15 @@ extern "C" { // important: takes ownership of the sampler object and will free it when llama_sampler_free is called LLAMA_API void llama_sampler_chain_add( struct llama_sampler * chain, struct llama_sampler * smpl); - LLAMA_API struct llama_sampler * llama_sampler_chain_get(const struct llama_sampler * chain, int32_t i); + + // return NULL if: + // - the sampler is NULL + // - the sampler is not a llama_sampler_chain + // - the index is out of bounds, unless i == -1 + // - if i == -1, returns the chain itself (can be used to check if the sampler is a chain) + LLAMA_API struct llama_sampler * llama_sampler_chain_get( struct llama_sampler * chain, int32_t i); + + // the total number of samplers in the chain LLAMA_API int llama_sampler_chain_n (const struct llama_sampler * chain); // after removing a sampler, the chain will no longer own it, and it will not be freed when the chain is freed diff --git a/src/llama-context.cpp b/src/llama-context.cpp index c8a90fe9ea..9c2e1c17a3 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -60,6 +60,25 @@ llama_context::llama_context( cparams.cb_eval = params.cb_eval; cparams.cb_eval_user_data = params.cb_eval_user_data; + // Initialize backend samplers here so they are part of the sampling graph + // before the reserve passes run later in this function. This avoids a later + // re-reserve when graph nodes change. + if (params.samplers != nullptr && params.n_samplers > 0) { + for (size_t i = 0; i < params.n_samplers; ++i) { + const auto & config = params.samplers[i]; + + if (llama_sampler_chain_get(config.sampler, -1) == nullptr) { + throw std::runtime_error("the backend samplers must be of type llama_sampler_chain"); + } + + if (set_sampler(config.seq_id, config.sampler)) { + const int n_samplers = llama_sampler_chain_n(config.sampler); + + LLAMA_LOG_INFO("%s: setting backend sampler for seq_id %d (n = %d)\n", __func__, config.seq_id, n_samplers); + } + } + } + auto rope_scaling_type = params.rope_scaling_type; if (rope_scaling_type == LLAMA_ROPE_SCALING_TYPE_UNSPECIFIED) { rope_scaling_type = hparams.rope_scaling_type_train; @@ -231,7 +250,10 @@ llama_context::llama_context( // graph outputs buffer { // resized during inference when a batch uses more outputs - if (output_reserve(params.n_seq_max) < params.n_seq_max) { + // Create a dummy batch for initialization. + llama_batch dummy_batch = {}; + dummy_batch.n_tokens = 0; + if (output_reserve(params.n_seq_max, dummy_batch) < params.n_seq_max) { throw std::runtime_error("failed to reserve initial output buffer"); } @@ -456,6 +478,16 @@ llama_context::llama_context( LLAMA_LOG_INFO("%s: graph splits = %d (with bs=%d), %d (with bs=1)\n", __func__, n_splits_pp, n_tokens, n_splits_tg); } } + + // Initialize the full vocabulary token ids for backend samplers. + { + const int n_vocab = model.vocab.n_tokens(); + + sampling.token_ids_full_vocab.resize(n_vocab); + for (int i = 0; i < n_vocab; ++i) { + sampling.token_ids_full_vocab[i] = i; + } + } } llama_context::~llama_context() { @@ -616,6 +648,35 @@ float * llama_context::get_logits() { return logits; } +int64_t llama_context::output_resolve_row(int32_t i) const { + int64_t j = -1; + + // support negative indices (last output row) + if (i < 0) { + j = n_outputs + i; + if (j < 0) { + throw std::runtime_error(format("negative index out of range [0, %d)", n_outputs)); + } + } else if ((size_t) i >= output_ids.size()) { + throw std::runtime_error(format("out of range [0, %zu)", output_ids.size())); + } else { + // use output_ids to translate the batch token index into a row number + // that holds this token's data. + j = output_ids[i]; + } + + if (j < 0) { + // the batch token was not configured to output anything + throw std::runtime_error(format("batch.logits[%d] != true", i)); + } + + if (j >= n_outputs) { + throw std::runtime_error(format("corrupt output buffer (j=%" PRId64 ", n_outputs=%d)", j, n_outputs)); + } + + return j; +} + float * llama_context::get_logits_ith(int32_t i) { int64_t j = -1; @@ -626,6 +687,7 @@ float * llama_context::get_logits_ith(int32_t i) { throw std::runtime_error("no logits"); } + // TODO: use output_resolve_row() if (i < 0) { j = n_outputs + i; if (j < 0) { @@ -662,6 +724,10 @@ float * llama_context::get_embeddings() { return embd; } +llama_token * llama_context::get_sampled_tokens() const{ + return sampling.sampled; +} + float * llama_context::get_embeddings_ith(int32_t i) { int64_t j = -1; @@ -672,6 +738,7 @@ float * llama_context::get_embeddings_ith(int32_t i) { throw std::runtime_error("no embeddings"); } + // TODO: use output_resolve_row() if (i < 0) { j = n_outputs + i; if (j < 0) { @@ -711,6 +778,136 @@ float * llama_context::get_embeddings_seq(llama_seq_id seq_id) { return it->second.data(); } +llama_token llama_context::get_sampled_token_ith(int32_t idx) { + output_reorder(); + + if (sampling.sampled == nullptr) { + return LLAMA_TOKEN_NULL; + } + + try { + const int64_t row = output_resolve_row(idx); + GGML_ASSERT(row < (int64_t) sampling.sampled_size); + return sampling.sampled[row]; + } catch (const std::exception & err) { + LLAMA_LOG_ERROR("%s: invalid backend sampled token id %d, reason: %s\n", __func__, idx, err.what()); + return LLAMA_TOKEN_NULL; + } +} + +float * llama_context::get_sampled_probs_ith(int32_t idx) { + output_reorder(); + + if (sampling.probs == nullptr) { + return nullptr; + } + + try { + const int64_t row = output_resolve_row(idx); + if ((size_t) row >= sampling.probs_count.size() || sampling.probs_count[row] == 0) { + return nullptr; + } + return sampling.probs + row*model.vocab.n_tokens(); + } catch (const std::exception & err) { + LLAMA_LOG_ERROR("%s: invalid backend sampled probs id %d, reason: %s\n", __func__, idx, err.what()); + return nullptr; + } +} + +float * llama_context::get_sampled_logits_ith(int32_t idx) { + output_reorder(); + + if (sampling.logits == nullptr) { + return nullptr; + } + + try { + const int64_t row = output_resolve_row(idx); + if ((size_t) row >= sampling.logits_count.size() || sampling.logits_count[row] == 0) { + return nullptr; + } + return sampling.logits + row*model.vocab.n_tokens(); + } catch (const std::exception & err) { + LLAMA_LOG_ERROR("%s: invalid backend sampled logits id %d, reason: %s\n", __func__, idx, err.what()); + return nullptr; + } +} + +const llama_token * llama_context::get_sampled_candidates_ith(int32_t idx) { + output_reorder(); + + try { + const int64_t row = output_resolve_row(idx); + if (sampling.candidates != nullptr && + (size_t) row < sampling.candidates_count.size() && + sampling.candidates_count[row] > 0) { + return sampling.candidates + row*model.vocab.n_tokens(); + } + } catch (const std::exception & err) { + // fallback to full vocab list + } + + return sampling.token_ids_full_vocab.data(); +} + +size_t llama_context::get_sampled_candidates_count(int32_t idx) { + output_reorder(); + + if (sampling.candidates == nullptr) { + return 0; + } + + try { + const int64_t row = output_resolve_row(idx); + if ((size_t) row >= sampling.candidates_count.size()) { + return 0; + } + return sampling.candidates_count[row]; + } catch (const std::exception & err) { + LLAMA_LOG_ERROR("%s: invalid backend sampled candidates count id %d, reason: %s\n", __func__, idx, err.what()); + return 0; + } +} + +size_t llama_context::get_sampled_logits_count(int32_t idx) { + output_reorder(); + + if (sampling.logits == nullptr) { + return model.vocab.n_tokens(); + } + + try { + const int64_t row = output_resolve_row(idx); + if ((size_t) row >= sampling.logits_count.size()) { + return 0; + } + return sampling.logits_count[row]; + } catch (const std::exception & err) { + LLAMA_LOG_ERROR("%s: invalid backend sampled logits count id %d, reason: %s\n", __func__, idx, err.what()); + return 0; + } +} + +size_t llama_context::get_sampled_probs_count(int32_t idx) { + output_reorder(); + + if (sampling.probs == nullptr) { + return 0; + } + + try { + const int64_t row = output_resolve_row(idx); + if ((size_t) row >= sampling.probs_count.size()) { + return 0; + } + return sampling.probs_count[row]; + } catch (const std::exception & err) { + LLAMA_LOG_ERROR("%s: invalid backend sampled probs count id %d, reason: %s\n", __func__, idx, err.what()); + return 0; + } +} + + void llama_context::attach_threadpool( ggml_threadpool_t threadpool, ggml_threadpool_t threadpool_batch) { @@ -767,6 +964,42 @@ void llama_context::set_warmup(bool value) { cparams.warmup = value; } +bool llama_context::set_sampler(llama_seq_id seq_id, llama_sampler * sampler) { + LLAMA_LOG_DEBUG("%s: seq_id = %d, sampler = %p\n", __func__, (int) seq_id, (void *) sampler); + + const bool can_offload = + sampler && + sampler->iface->backend_init && + sampler->iface->backend_apply && + llama_sampler_chain_n(sampler) > 0; + + if (sampler && can_offload) { + ggml_backend_buffer_type_t buft = ggml_backend_dev_buffer_type(model.dev_output()); + auto * host_buft = ggml_backend_dev_host_buffer_type(model.dev_output()); + if (host_buft) { + buft = host_buft; + } + + sampler->iface->backend_init(sampler, buft); + + sampling.samplers[seq_id] = sampler; + + return true; + } + + if (sampler && !can_offload) { + LLAMA_LOG_WARN("%s: sampler '%s' for seq_id = %d, cannot be offloaded to the backend\n", __func__, llama_sampler_name(sampler), seq_id); + + sampling.samplers.erase(seq_id); + + return false; + } + + sampling.samplers.erase(seq_id); + + return true; +} + void llama_context::set_adapter_lora( llama_adapter_lora * adapter, float scale) { @@ -907,7 +1140,7 @@ int llama_context::encode(const llama_batch & batch_inp) { n_queued_tokens += n_tokens; // reserve output buffer - if (output_reserve(n_tokens) < n_tokens) { + if (output_reserve(n_tokens, batch_inp) < n_tokens) { LLAMA_LOG_ERROR("%s: could not reserve space for batch with %u outputs\n", __func__, n_tokens); return -2; }; @@ -1031,6 +1264,112 @@ int llama_context::encode(const llama_batch & batch_inp) { return 0; } +static std::map build_seq_to_output_row(const llama_ubatch & ubatch, uint32_t row_offset) { + std::map seq_to_row; + // how many output tokens we have seen so far for this ubatch. + uint32_t local = 0; + for (uint32_t i = 0; i < ubatch.n_tokens; ++i) { + // skip tokens that are not output. + if (!ubatch.output[i]) { + continue; + } + + const llama_seq_id seq_id = ubatch.seq_id[i][0]; + // row_offset is the number of output tokens before this ubatch. + seq_to_row[seq_id] = row_offset + local; + ++local; + } + return seq_to_row; +} + +static void copy_tensor_async_ints( + const std::map & tensor_map, + llama_token * sampled, + size_t sampled_size, + const std::map & seq_to_row, + ggml_backend_sched_t sched) { + if (sampled == nullptr) { + return; + } + + for (const auto & [seq_id, tensor] : tensor_map) { + auto it = seq_to_row.find(seq_id); + if (it == seq_to_row.end()) { + continue; + } + + const uint32_t row = it->second; + GGML_ASSERT(row < sampled_size); + + GGML_ASSERT(ggml_is_contiguous(tensor) && "sampled tokens tensor must be contiguous for async copy"); + + ggml_backend_t backend = ggml_backend_sched_get_tensor_backend(sched, tensor); + ggml_backend_tensor_get_async(backend, tensor, sampled + row, 0, sizeof(sampled[row])); + } +} + +static void copy_tensor_async_floats( + const std::map & tensor_map, + float * dst, + size_t stride, + std::vector & counts, + const std::map & seq_to_row, + ggml_backend_sched_t sched) { + if (dst == nullptr) { + return; + } + + for (const auto & [seq_id, tensor] : tensor_map) { + auto it = seq_to_row.find(seq_id); + if (it == seq_to_row.end()) { + continue; + } + + const uint32_t row = it->second; + GGML_ASSERT(row < counts.size()); + + GGML_ASSERT(ggml_is_contiguous(tensor) && "logits/probs tensor must be contiguous for async copy"); + + ggml_backend_t backend = ggml_backend_sched_get_tensor_backend(sched, tensor); + float * row_ptr = dst + (size_t) row * stride; + ggml_backend_tensor_get_async(backend, tensor, row_ptr, 0, ggml_nbytes(tensor)); + + // Update the actual number of logits/probabilities that were written for this row. + counts[row] = ggml_nelements(tensor); + } +} + +static void copy_tensor_async_candidates( + const std::map & tensor_map, + llama_token * dst, + size_t stride, + std::vector & counts, + const std::map & seq_to_row, + ggml_backend_sched_t sched) { + if (dst == nullptr) { + return; + } + + for (const auto & [seq_id, tensor] : tensor_map) { + auto it = seq_to_row.find(seq_id); + if (it == seq_to_row.end()) { + continue; + } + + const uint32_t row = it->second; + GGML_ASSERT(row < counts.size()); + + GGML_ASSERT(ggml_is_contiguous(tensor) && "candidates tensor must be contiguous for async copy"); + + ggml_backend_t backend = ggml_backend_sched_get_tensor_backend(sched, tensor); + llama_token * row_ptr = dst + (size_t) row * stride; + ggml_backend_tensor_get_async(backend, tensor, row_ptr, 0, ggml_nbytes(tensor)); + + // Update the actual number of candidates that were written. + counts[row] = ggml_nelements(tensor); + } +} + int llama_context::decode(const llama_batch & batch_inp) { GGML_ASSERT((!batch_inp.token && batch_inp.embd) || (batch_inp.token && !batch_inp.embd)); // NOLINT @@ -1051,9 +1390,36 @@ int llama_context::decode(const llama_batch & batch_inp) { const int64_t n_embd = hparams.n_embd_inp(); // when computing embeddings, all tokens are output - const bool output_all = cparams.embeddings; + const bool output_all = cparams.embeddings; + const bool has_samplers = !sampling.samplers.empty(); - if (!balloc->init(batch_inp, vocab, memory.get(), n_embd, cparams.kv_unified ? LLAMA_MAX_SEQ : cparams.n_seq_max, output_all)) { + const uint32_t n_seq_max = cparams.kv_unified ? LLAMA_MAX_SEQ : cparams.n_seq_max; + + // TODO: avoid this workaround in the future + if (has_samplers && batch_inp.logits) { + std::vector seq_output_count(n_seq_max, 0); + + for (int32_t i = 0; i < batch_inp.n_tokens; ++i) { + if (batch_inp.logits[i] == 0) { + continue; + } + + const int ns = batch_inp.n_seq_id ? batch_inp.n_seq_id[i] : 1; + + for (int32_t s = 0; s < ns; ++s) { + const llama_seq_id seq_id = batch_inp.seq_id ? batch_inp.seq_id[i][s] : 0; + + seq_output_count[seq_id]++; + if (seq_output_count[seq_id] > 1) { + LLAMA_LOG_ERROR("%s: backend sampling requires at most one output token per sequence (seq_id %d had %d)\n", + __func__, seq_id, seq_output_count[seq_id]); + return -1; + } + } + } + } + + if (!balloc->init(batch_inp, vocab, memory.get(), n_embd, n_seq_max, output_all)) { LLAMA_LOG_ERROR("%s: failed to initialize batch\n", __func__); return -1; } @@ -1134,7 +1500,7 @@ int llama_context::decode(const llama_batch & batch_inp) { } // reserve output buffer - if (output_reserve(n_outputs_all) < n_outputs_all) { + if (output_reserve(n_outputs_all, balloc->get_batch()) < n_outputs_all) { LLAMA_LOG_ERROR("%s: could not reserve space for batch with %d outputs\n", __func__, n_outputs_all); return -2; }; @@ -1207,7 +1573,10 @@ int llama_context::decode(const llama_batch & batch_inp) { } // extract logits - if (t_logits && n_outputs > 0) { + // For multi-sequence batches that mix backend samplers and CPU sampler + // this is currently inefficient as we copy all logits even for the + // backend sampled tokens. + if (logits && t_logits && n_outputs > 0) { ggml_backend_t backend_res = ggml_backend_sched_get_tensor_backend(sched.get(), t_logits); GGML_ASSERT(backend_res != nullptr); GGML_ASSERT(logits != nullptr); @@ -1222,7 +1591,7 @@ int llama_context::decode(const llama_batch & batch_inp) { } // extract embeddings - if (t_embd && n_outputs > 0) { + if (embd && t_embd && n_outputs > 0) { ggml_backend_t backend_embd = ggml_backend_sched_get_tensor_backend(sched.get(), t_embd); GGML_ASSERT(backend_embd != nullptr); @@ -1276,6 +1645,22 @@ int llama_context::decode(const llama_batch & batch_inp) { } } + // This flag indicates whether a backend sampler has actually sampled a specific + // token, or if it has produced probabilites. If true, we can skip the normal copying of logits and embeddings. + const bool has_sampled = !res->t_sampled.empty() || !res->t_sampled_probs.empty() || !res->t_sampled_logits.empty(); + + if (has_samplers && has_sampled) { + const auto seq_to_output_row = build_seq_to_output_row(ubatch, n_outputs_prev); + const auto stride = n_vocab; + + // async copy the sampling data from the backend to the host + copy_tensor_async_ints(res->t_sampled, sampling.sampled, sampling.sampled_size, seq_to_output_row, sched.get()); + + copy_tensor_async_floats (res->t_sampled_logits, sampling.logits, stride, sampling.logits_count, seq_to_output_row, sched.get()); + copy_tensor_async_floats (res->t_sampled_probs, sampling.probs, stride, sampling.probs_count, seq_to_output_row, sched.get()); + copy_tensor_async_candidates(res->t_candidates, sampling.candidates, stride, sampling.candidates_count, seq_to_output_row, sched.get()); + } + n_outputs_prev += n_outputs; } while (mctx->next()); @@ -1339,7 +1724,7 @@ int llama_context::decode(const llama_batch & batch_inp) { // output // -uint32_t llama_context::output_reserve(int32_t n_outputs) { +uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & batch) { const auto & hparams = model.hparams; const auto & vocab = model.vocab; @@ -1358,8 +1743,53 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { has_embd = true; } - logits_size = has_logits ? n_vocab*n_outputs_max : 0; - embd_size = has_embd ? n_embd*n_outputs_max : 0; + // Check which sampling modes are needed for the current batch. + // TODO: avoid this branching by working with the worst-case + bool has_sampling = false; + bool cpu_logits = false; + + if (batch.logits) { + for (int32_t i = 0; i < batch.n_tokens; i++) { + if (!batch.logits[i]) { + continue; + } + for (int32_t j = 0; j < batch.n_seq_id[i]; j++) { + llama_seq_id seq_id = batch.seq_id[i][j]; + if (sampling.samplers.find(seq_id) != sampling.samplers.end()) { + has_sampling = true; + } else { + cpu_logits = true; + } + } + } + } else { + // When batch.logits is nullptr (when loading state with a dummy batch), + // allocate CPU logits. + cpu_logits = true; + } + + size_t backend_float_count = 0; + size_t backend_token_count = 0; + + // Allocate CPU logits buffer only if needed by sequences in this batch + logits_size = (has_logits && cpu_logits) ? n_vocab*n_outputs_max : 0; + embd_size = has_embd ? n_embd*n_outputs_max : 0; + + // TODO: avoid this branching by working with the worst-case + if (!has_sampling) { + sampling.logits_size = 0; + sampling.probs_size = 0; + sampling.sampled_size = 0; + sampling.candidates_size = 0; + } else { + sampling.logits_size = n_vocab*n_outputs_max; + sampling.probs_size = n_vocab*n_outputs_max; + sampling.sampled_size = n_outputs_max; + sampling.candidates_size = n_vocab*n_outputs_max; + + backend_float_count = sampling.logits_size + sampling.probs_size; + backend_token_count = sampling.sampled_size + sampling.candidates_size; + } if (output_ids.empty()) { // init, never resized afterwards @@ -1367,7 +1797,9 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { } const size_t prev_size = buf_output ? ggml_backend_buffer_get_size(buf_output.get()) : 0; - const size_t new_size = (logits_size + embd_size) * sizeof(float); + const size_t new_size = + (logits_size + embd_size + backend_float_count) * sizeof(float) + + ( backend_token_count) * sizeof(llama_token); // alloc only when more than the current capacity is required // TODO: also consider shrinking the buffer @@ -1375,9 +1807,11 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { if (buf_output) { #ifndef NDEBUG // This doesn't happen often, but may be annoying in some cases (like the HellaSwag benchmark) - LLAMA_LOG_INFO("%s: reallocating output buffer from size %.02f MiB to %.02f MiB\n", __func__, prev_size / 1024.0 / 1024.0, new_size / 1024.0 / 1024.0); + LLAMA_LOG_DEBUG("%s: reallocating output buffer from size %.02f MiB to %.02f MiB\n", __func__, prev_size / 1024.0 / 1024.0, new_size / 1024.0 / 1024.0); #endif synchronize(); + + // TODO: not needed? buf_output = nullptr; logits = nullptr; embd = nullptr; @@ -1399,8 +1833,49 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { float * output_base = (float *) ggml_backend_buffer_get_base(buf_output.get()); - logits = has_logits ? output_base : nullptr; - embd = has_embd ? output_base + logits_size : nullptr; + logits = nullptr; + embd = nullptr; + + size_t offset = 0; + uint8_t * base = (uint8_t *) output_base; + + logits = (has_logits && cpu_logits) ? output_base : nullptr; + offset += logits_size * sizeof(float); + + embd = has_embd ? (float *) (base + offset) : nullptr; + offset += embd_size * sizeof(float); + + sampling.logits = nullptr; + sampling.probs = nullptr; + sampling.sampled = nullptr; + sampling.candidates = nullptr; + + if (has_sampling) { + sampling.logits = (float *) (base + offset); + offset += sampling.logits_size * sizeof(float); + + sampling.probs = (float *) (base + offset); + offset += sampling.probs_size * sizeof(float); + + sampling.sampled = (llama_token *) (base + offset); + offset += sampling.sampled_size * sizeof(llama_token); + + sampling.candidates = (llama_token *) (base + offset); + offset += sampling.candidates_size * sizeof(llama_token); + + // The count vectors keep track of the actual number of logits/probs/candidates + // copied from the backend for each output row. + + sampling.logits_count.resize(n_outputs_max); + sampling.probs_count.resize(n_outputs_max); + sampling.candidates_count.resize(n_outputs_max); + + std::fill(sampling.logits_count.begin(), sampling.logits_count.end(), 0); + std::fill(sampling.probs_count.begin(), sampling.probs_count.end(), 0); + std::fill(sampling.candidates_count.begin(), sampling.candidates_count.end(), 0); + + std::fill_n(sampling.sampled, sampling.sampled_size, LLAMA_TOKEN_NULL); + } // set all ids as invalid (negative) std::fill(output_ids.begin(), output_ids.end(), -1); @@ -1429,6 +1904,40 @@ void llama_context::output_reorder() { std::swap(embd[i0*n_embd + k], embd[i1*n_embd + k]); } } + + if (sampling.logits && sampling.logits_size > 0) { + for (uint64_t k = 0; k < n_vocab; ++k) { + std::swap(sampling.logits[i0*n_vocab + k], sampling.logits[i1*n_vocab + k]); + } + } + + if (sampling.probs && sampling.probs_size > 0) { + for (uint64_t k = 0; k < n_vocab; ++k) { + std::swap(sampling.probs[i0*n_vocab + k], sampling.probs[i1*n_vocab + k]); + } + } + + if (sampling.candidates && sampling.candidates_size > 0) { + for (uint64_t k = 0; k < n_vocab; ++k) { + std::swap(sampling.candidates[i0*n_vocab + k], sampling.candidates[i1*n_vocab + k]); + } + } + + if (sampling.sampled && sampling.sampled_size > 0) { + std::swap(sampling.sampled[i0], sampling.sampled[i1]); + } + + if (!sampling.logits_count.empty()) { + std::swap(sampling.logits_count[i0], sampling.logits_count[i1]); + } + + if (!sampling.probs_count.empty()) { + std::swap(sampling.probs_count[i0], sampling.probs_count[i1]); + } + + if (!sampling.candidates_count.empty()) { + std::swap(sampling.candidates_count[i0], sampling.candidates_count[i1]); + } } output_swaps.clear(); @@ -1477,6 +1986,15 @@ ggml_cgraph * llama_context::graph_reserve( llama_batch_allocr balloc(model.hparams.n_pos_per_embd()); llama_ubatch ubatch = balloc.ubatch_reserve(n_tokens/n_seqs, n_seqs); + // set one output token per sequence in order to activate all backend samplers + std::vector seq_ids(n_seqs); + for (uint32_t i = 0; i < n_seqs; ++i) { + seq_ids[i] = i; + ubatch.n_seq_id[i] = 1; + ubatch.seq_id[i] = &seq_ids[i]; + ubatch.output[i] = true; + } + auto * res = gf_res_reserve.get(); const auto gparams = graph_params(res, ubatch, mctx, LLM_GRAPH_TYPE_DEFAULT); @@ -1507,7 +2025,7 @@ llm_graph_params llama_context::graph_params( llm_graph_result * res, const llama_ubatch & ubatch, const llama_memory_context_i * mctx, - llm_graph_type gtype) const { + llm_graph_type gtype) const { return { /*.arch =*/ model.arch, /*.hparams =*/ model.hparams, @@ -1520,6 +2038,7 @@ llm_graph_params llama_context::graph_params( /*.loras =*/ &loras, /*.mctx =*/ mctx, /*.cross =*/ &cross, + /*.samplers =*/ sampling.samplers, /*.n_outputs =*/ n_outputs, /*.cb =*/ graph_get_cb(), /*.res =*/ res, @@ -1975,6 +2494,9 @@ size_t llama_context::state_write_data(llama_io_write_i & io) { } } + // TODO: handle sampling buffers and samplers state ? + // https://github.com/ggml-org/llama.cpp/pull/17004 + if (memory != nullptr) { LLAMA_LOG_DEBUG("%s: - writing memory module\n", __func__); memory->state_write(io); @@ -2007,7 +2529,10 @@ size_t llama_context::state_read_data(llama_io_read_i & io) { auto n_outputs = this->n_outputs; io.read_to(&n_outputs, sizeof(n_outputs)); - if (n_outputs > output_reserve(n_outputs)) { + // Create a dummy batch for state loading. + llama_batch dummy_batch = {}; + dummy_batch.n_tokens = 0; + if (n_outputs > output_reserve(n_outputs, dummy_batch)) { throw std::runtime_error("could not reserve outputs"); } @@ -2061,6 +2586,9 @@ size_t llama_context::state_read_data(llama_io_read_i & io) { } } + // TODO: handle sampling buffers and samplers state ? + // https://github.com/ggml-org/llama.cpp/pull/17004 + if (memory) { LLAMA_LOG_DEBUG("%s: - reading memory module\n", __func__); @@ -2249,7 +2777,7 @@ void llama_context::opt_epoch_iter( } // reserve output buffer - if (output_reserve(n_outputs_all) < n_outputs_all) { + if (output_reserve(n_outputs_all, balloc->get_batch()) < n_outputs_all) { LLAMA_LOG_ERROR("%s: could not reserve space for batch with %d outputs\n", __func__, n_outputs_all); GGML_ABORT("TODO: handle this error"); }; @@ -2394,6 +2922,8 @@ llama_context_params llama_context_default_params() { /*.op_offload =*/ true, /*.swa_full =*/ true, /*.kv_unified =*/ false, + /*.sampler =*/ nullptr, + /*.n_sampler =*/ 0, }; return result; @@ -2553,7 +3083,15 @@ float * llama_get_logits(llama_context * ctx) { float * llama_get_logits_ith(llama_context * ctx, int32_t i) { ctx->synchronize(); - return ctx->get_logits_ith(i); + float * res = nullptr; + + res = ctx->get_sampled_logits_ith(i); + + if (!res) { + res = ctx->get_logits_ith(i); + } + + return res; } float * llama_get_embeddings(llama_context * ctx) { @@ -2574,6 +3112,52 @@ float * llama_get_embeddings_seq(llama_context * ctx, llama_seq_id seq_id) { return ctx->get_embeddings_seq(seq_id); } +bool llama_set_sampler(llama_context * ctx, llama_seq_id seq_id, llama_sampler * smpl) { + return ctx->set_sampler(seq_id, smpl); +} + +llama_token llama_get_sampled_token_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return ctx->get_sampled_token_ith(i); +} + +float * llama_get_sampled_probs_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return ctx->get_sampled_probs_ith(i); +} + +float * llama_get_sampled_logits_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return ctx->get_sampled_logits_ith(i); +} + +llama_token * llama_get_sampled_candidates_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return const_cast(ctx->get_sampled_candidates_ith(i)); +} + +uint32_t llama_get_sampled_candidates_count_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return static_cast(ctx->get_sampled_candidates_count(i)); +} + +uint32_t llama_get_sampled_logits_count_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return static_cast(ctx->get_sampled_logits_count(i)); +} + +uint32_t llama_get_sampled_probs_count_ith(llama_context * ctx, int32_t i) { + ctx->synchronize(); + + return static_cast(ctx->get_sampled_probs_count(i)); +} + // llama adapter API int32_t llama_set_adapter_lora( diff --git a/src/llama-context.h b/src/llama-context.h index c31101330e..b29edf4db2 100644 --- a/src/llama-context.h +++ b/src/llama-context.h @@ -70,6 +70,18 @@ struct llama_context { float * get_embeddings_ith(int32_t i); float * get_embeddings_seq(llama_seq_id seq_id); + llama_token * get_sampled_tokens() const; + llama_token get_sampled_token_ith(int32_t idx); + + float * get_sampled_logits_ith(int32_t idx); + size_t get_sampled_logits_count(int32_t idx); + + float * get_sampled_probs_ith(int32_t idx); + size_t get_sampled_probs_count(int32_t idx); + + const llama_token * get_sampled_candidates_ith(int32_t idx); + size_t get_sampled_candidates_count(int32_t idx); + void attach_threadpool( ggml_threadpool_t threadpool, ggml_threadpool_t threadpool_batch); @@ -192,10 +204,13 @@ private: // Make sure enough space is available for outputs. // Returns max number of outputs for which space was reserved. - uint32_t output_reserve(int32_t n_outputs); + uint32_t output_reserve(int32_t n_outputs, const llama_batch & batch); void output_reorder(); + // map the output row index `i` to batch index + int64_t output_resolve_row(int32_t i) const; + // // graph // @@ -213,6 +228,8 @@ public: ggml_cgraph * graph_reserve( uint32_t n_tokens, uint32_t n_seqs, uint32_t n_outputs, const llama_memory_context_i * mctx, bool split_only = false, size_t * sizes = nullptr); + bool set_sampler(llama_seq_id seq_id, llama_sampler * sampler); + private: llm_graph_params graph_params( llm_graph_result * res, @@ -252,6 +269,31 @@ private: size_t embd_size = 0; // capacity (of floats) for embeddings float * embd = nullptr; + // TODO: simplify + struct sampling_info { + std::map samplers; + + float * logits = nullptr; + size_t logits_size = 0; + + llama_token * sampled = nullptr; + size_t sampled_size = 0; + + float * probs = nullptr; + size_t probs_size = 0; + + llama_token * candidates = nullptr; + size_t candidates_size = 0; + + std::vector logits_count; + std::vector probs_count; + std::vector candidates_count; + + std::vector token_ids_full_vocab; + }; + + sampling_info sampling; + // sequence embeddings output (map of [n_embd] vectors) // populated only when pooling_type != LLAMA_POOLING_TYPE_NONE std::map> embd_seq; diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index 8edf7d749b..6cde7338c2 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -12,6 +12,7 @@ #include #include #include +#include void llm_graph_input_embd::set_input(const llama_ubatch * ubatch) { if (ubatch->token) { @@ -521,6 +522,43 @@ bool llm_graph_input_mem_hybrid::can_reuse(const llm_graph_params & params) { return res; } +void llm_graph_input_sampling::set_input(const llama_ubatch * ubatch) { + // set the inputs only for the active samplers in the current ubatch + std::unordered_set active_samplers; + for (uint32_t i = 0; i < ubatch->n_tokens; i++) { + if (ubatch->output[i]) { + llama_seq_id seq_id = ubatch->seq_id[i][0]; + active_samplers.insert(seq_id); + } + } + + for (auto seq_id : active_samplers) { + if (samplers.find(seq_id) == samplers.end()) { + continue; + } + + auto & sampler = samplers[seq_id]; + + if (sampler->iface->backend_set_input) { + sampler->iface->backend_set_input(sampler); + } + } +} + +bool llm_graph_input_sampling::can_reuse(const llm_graph_params & params) { + if (samplers.size() != params.samplers.size()) { + return false; + } + + for (const auto & [seq_id, sampler] : params.samplers) { + if (samplers[seq_id] != sampler) { + return false; + } + } + + return true; +} + // // llm_graph_result // @@ -541,6 +579,10 @@ void llm_graph_result::reset() { t_logits = nullptr; t_embd = nullptr; t_embd_pooled = nullptr; + t_sampled.clear(); + t_sampled_probs.clear(); + t_sampled_logits.clear(); + t_candidates.clear(); params = {}; @@ -565,6 +607,38 @@ void llm_graph_result::set_inputs(const llama_ubatch * ubatch) { } } +void llm_graph_result::set_outputs() { + if (t_logits != nullptr) { + ggml_set_output(t_logits); + } + if (t_embd != nullptr) { + ggml_set_output(t_embd); + } + if (t_embd_pooled != nullptr) { + ggml_set_output(t_embd_pooled); + } + for (auto & [seq_id, t] : t_sampled) { + if (t != nullptr) { + ggml_set_output(t); + } + } + for (auto & [seq_id, t] : t_sampled_probs) { + if (t != nullptr) { + ggml_set_output(t); + } + } + for (auto & [seq_id, t] : t_sampled_logits) { + if (t != nullptr) { + ggml_set_output(t); + } + } + for (auto & [seq_id, t] : t_candidates) { + if (t != nullptr) { + ggml_set_output(t); + } + } +} + bool llm_graph_result::can_reuse(const llm_graph_params & params) { if (!this->params.allow_reuse(params)) { if (debug > 1) { @@ -646,6 +720,7 @@ llm_graph_context::llm_graph_context(const llm_graph_params & params) : loras (params.loras), mctx (params.mctx), cross (params.cross), + samplers (params.samplers), cb_func (params.cb), res (params.res), ctx0 (res->get_ctx()), @@ -1834,8 +1909,10 @@ llm_graph_input_attn_kv_iswa * llm_graph_context::build_attn_inp_kv_iswa() const inp->self_kq_mask = ggml_new_tensor_4d(ctx0, GGML_TYPE_F32, n_kv, n_tokens/n_stream, 1, n_stream); ggml_set_input(inp->self_kq_mask); + ggml_set_name(inp->self_kq_mask, "self_kq_mask"); inp->self_kq_mask_cnv = cparams.flash_attn ? ggml_cast(ctx0, inp->self_kq_mask, GGML_TYPE_F16) : inp->self_kq_mask; + ggml_set_name(inp->self_kq_mask_cnv, "self_kq_mask_cnv"); } { @@ -1848,8 +1925,10 @@ llm_graph_input_attn_kv_iswa * llm_graph_context::build_attn_inp_kv_iswa() const inp->self_kq_mask_swa = ggml_new_tensor_4d(ctx0, GGML_TYPE_F32, n_kv, n_tokens/n_stream, 1, n_stream); ggml_set_input(inp->self_kq_mask_swa); + ggml_set_name(inp->self_kq_mask_swa, "self_kq_mask_swa"); inp->self_kq_mask_swa_cnv = cparams.flash_attn ? ggml_cast(ctx0, inp->self_kq_mask_swa, GGML_TYPE_F16) : inp->self_kq_mask_swa; + ggml_set_name(inp->self_kq_mask_swa_cnv, "self_kq_mask_swa_cnv"); } return (llm_graph_input_attn_kv_iswa *) res->add_input(std::move(inp)); @@ -2086,6 +2165,87 @@ void llm_graph_context::build_pooling( ggml_build_forward_expand(gf, cur); } +void llm_graph_context::build_sampling() const { + if (samplers.empty() || !res->t_logits) { + return; + } + + auto inp_sampling = std::make_unique(samplers); + res->add_input(std::move(inp_sampling)); + + std::map seq_to_logit_row; + int32_t logit_row_idx = 0; + + for (uint32_t i = 0; i < ubatch.n_tokens; i++) { + if (ubatch.output[i]) { + llama_seq_id seq_id = ubatch.seq_id[i][0]; + seq_to_logit_row[seq_id] = logit_row_idx; + logit_row_idx++; + } + } + + // res->t_logits will contain logits for all tokens that want the logits calculated (logits=1 or output=1) + GGML_ASSERT(res->t_logits != nullptr && "missing t_logits tensor"); + + // add a dummy row of logits + // this trick makes the graph static, regardless of which samplers are activated + // this is important in order to minimize graph reallocations + // TODO: use `ggml_build_forward_select()` when available (https://github.com/ggml-org/llama.cpp/pull/18550) + ggml_tensor * logits_t = ggml_pad(ctx0, res->t_logits, 0, 1, 0, 0); + + for (const auto & [seq_id, sampler] : samplers) { + const auto it = seq_to_logit_row.find(seq_id); + + // inactive samplers always work on the first row + const auto row_idx = seq_to_logit_row.find(seq_id) != seq_to_logit_row.end() ? it->second : 0; + + ggml_tensor * logits_seq = ggml_view_1d(ctx0, logits_t, logits_t->ne[0], row_idx * logits_t->nb[1]); + ggml_format_name(logits_seq, "logits_seq_%d", seq_id); + + struct llama_sampler_data data = { + /*.logits =*/ logits_seq, + /*.probs =*/ nullptr, + /*.sampled =*/ nullptr, + /*.candidates =*/ nullptr, + }; + + assert(sampler->iface->backend_apply); + sampler->iface->backend_apply(sampler, ctx0, gf, &data); + + if (data.sampled != nullptr) { + res->t_sampled[seq_id] = data.sampled; + ggml_build_forward_expand(gf, data.sampled); + } + + if (data.probs != nullptr) { + res->t_sampled_probs[seq_id] = data.probs; + ggml_build_forward_expand(gf, data.probs); + } + + if (data.logits != nullptr) { + res->t_sampled_logits[seq_id] = data.logits; + ggml_build_forward_expand(gf, data.logits); + } + + if (data.candidates != nullptr) { + res->t_candidates[seq_id] = data.candidates; + ggml_build_forward_expand(gf, data.candidates); + } + } + + // TODO: Call llama_sampler_accept_ggml after all samplers have been applied. + /* + for (const auto & [seq_id, sampler] : samplers) { + if (auto it = res->t_sampled.find(seq_id); it != res->t_sampled.end()) { + ggml_tensor * selected_token = it->second; + if (selected_token != nullptr) { + llama_sampler_accept_ggml(sampler, ctx0, gf, selected_token); + } + } + } + */ +} + int32_t llama_relative_position_bucket(llama_pos x, llama_pos y, uint64_t n_buckets, bool bidirectional) { // TODO move to hparams if a T5 variant appears that uses a different value const int64_t max_distance = 128; diff --git a/src/llama-graph.h b/src/llama-graph.h index 81ac329cc3..503ffd695a 100644 --- a/src/llama-graph.h +++ b/src/llama-graph.h @@ -10,6 +10,7 @@ #include #include #include +#include struct ggml_cgraph; struct ggml_context; @@ -396,6 +397,18 @@ public: const llama_memory_hybrid_context * mctx; }; +class llm_graph_input_sampling : public llm_graph_input_i { +public: + llm_graph_input_sampling(std::map samplers) : + samplers(std::move(samplers)) { } + virtual ~llm_graph_input_sampling() = default; + + void set_input(const llama_ubatch * ubatch) override; + bool can_reuse(const llm_graph_params & params) override; + + std::map samplers; +}; + // // llm_graph_result // @@ -429,6 +442,23 @@ struct llm_graph_params { const llama_memory_context_i * mctx; const llama_cross * cross; + std::map samplers; + + static bool samplers_equal( + const std::map & lhs, + const std::map & rhs) { + if (lhs.size() != rhs.size()) { + return false; + } + for (const auto & [seq_id, sampler] : lhs) { + auto it = rhs.find(seq_id); + if (it == rhs.end() || it->second != sampler) { + return false; + } + } + return true; + } + uint32_t n_outputs; llm_graph_cb cb; @@ -468,15 +498,36 @@ struct llm_graph_params { return false; } + if (n_outputs != other.n_outputs) { + return false; + } + + if (!samplers_equal(samplers, other.samplers)) { + return false; + } + + if (samplers.size() > 0) { + if (!ubatch.data || !other.ubatch.data) { + return false; + } + + // check that the outputs are the same for all samplers + for (uint32_t i = 0; i < ubatch.n_tokens; ++i) { + if (ubatch.output[i] != other.ubatch.output[i] || + ubatch.seq_id[i][0] != other.ubatch.seq_id[i][0]) { + return false; + } + } + } + return cparams.embeddings == other.cparams.embeddings && cparams.causal_attn == other.cparams.causal_attn && - arch == other.arch && - gtype == other.gtype && - cvec == other.cvec && - loras == other.loras && - cross == other.cross && - n_outputs == other.n_outputs; + arch == other.arch && + gtype == other.gtype && + cvec == other.cvec && + loras == other.loras && + cross == other.cross; } }; @@ -499,6 +550,7 @@ public: void reset(); void set_inputs(const llama_ubatch * ubatch); + void set_outputs(); // try to update the existing graph result using the new graph parameters in order to reuse it // this can only be done if we determine that the resulting graph using the new graph parameters @@ -517,6 +569,11 @@ public: ggml_tensor * t_embd = nullptr; ggml_tensor * t_embd_pooled = nullptr; + std::map t_sampled_logits; + std::map t_candidates; + std::map t_sampled; + std::map t_sampled_probs; + std::vector inputs; ggml_context_ptr ctx_compute; @@ -592,6 +649,8 @@ struct llm_graph_context { const llama_memory_context_i * mctx; const llama_cross * cross; + std::map samplers; + const llm_graph_cb & cb_func; llm_graph_result * res; @@ -832,6 +891,12 @@ struct llm_graph_context { ggml_tensor * cls_out, ggml_tensor * cls_out_b) const; + // + // sampling (backend sampling) + // + + void build_sampling() const; + // // dense (out) // diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 6e6ca48507..c739b0b48a 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -7910,12 +7910,17 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { // add on pooling layer llm->build_pooling(cls, cls_b, cls_out, cls_out_b); + // add backend sampling layers (if any) + llm->build_sampling(); + // if the gguf model was converted with --sentence-transformers-dense-modules // there will be two additional dense projection layers // dense linear projections are applied after pooling // TODO: move reranking logic here and generalize llm->build_dense_out(dense_2_out_layers, dense_3_out_layers); + llm->res->set_outputs(); + return llm->res->get_gf(); } diff --git a/src/llama-sampling.cpp b/src/llama-sampling.cpp index f3891453e4..48291a3a7c 100644 --- a/src/llama-sampling.cpp +++ b/src/llama-sampling.cpp @@ -4,6 +4,8 @@ #include "llama-vocab.h" #include "llama-grammar.h" +#include "ggml-cpp.h" + #include #include #include @@ -346,7 +348,9 @@ static uint32_t get_rng_seed(uint32_t seed) { // llama_sampler API -struct llama_sampler * llama_sampler_init(const struct llama_sampler_i * iface, llama_sampler_context_t ctx) { +struct llama_sampler * llama_sampler_init( + struct llama_sampler_i * iface, + llama_sampler_context_t ctx) { return new llama_sampler { /* .iface = */ iface, /* .ctx = */ ctx, @@ -421,6 +425,202 @@ void llama_sampler_free(struct llama_sampler * smpl) { delete smpl; } +// empty sampler + +struct llama_sampler_empty { + const char * name; +}; + +static struct llama_sampler * llama_sampler_init_empty(const char * name); + +static const char * llama_sampler_empty_name(const struct llama_sampler * smpl) { + auto * ctx = (llama_sampler_empty *) smpl->ctx; + return ctx->name; +} + +static void llama_sampler_empty_accept(struct llama_sampler * smpl, llama_token token) { + GGML_UNUSED(smpl); + GGML_UNUSED(token); +} + +static void llama_sampler_empty_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { + GGML_UNUSED(smpl); + GGML_UNUSED(cur_p); +} + +static void llama_sampler_empty_reset(struct llama_sampler * smpl) { + GGML_UNUSED(smpl); +} + +static struct llama_sampler * llama_sampler_empty_clone(const struct llama_sampler * smpl) { + auto * ctx = (llama_sampler_empty *) smpl->ctx; + return llama_sampler_init_empty(ctx->name); +} + +static void llama_sampler_empty_free(struct llama_sampler * smpl) { + delete (llama_sampler_empty *) smpl->ctx; +} + +static bool llama_sampler_empty_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + GGML_UNUSED(smpl); + GGML_UNUSED(buft); + + return true; +} + +static void llama_sampler_empty_backend_accept( + struct llama_sampler * smpl, + ggml_context * ctx, + ggml_cgraph * gf, + struct ggml_tensor * selected_token) { + GGML_UNUSED(smpl); + GGML_UNUSED(ctx); + GGML_UNUSED(gf); + GGML_UNUSED(selected_token); +} + +static void llama_sampler_empty_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + GGML_UNUSED(smpl); + GGML_UNUSED(ctx); + GGML_UNUSED(gf); + GGML_UNUSED(data); +} + +static void llama_sampler_empty_backend_set_input(struct llama_sampler * smpl) { + GGML_UNUSED(smpl); +} + +static struct llama_sampler_i llama_sampler_empty_i = { + /* .name = */ llama_sampler_empty_name, + /* .accept = */ llama_sampler_empty_accept, + /* .apply = */ llama_sampler_empty_apply, + /* .reset = */ llama_sampler_empty_reset, + /* .clone = */ llama_sampler_empty_clone, + /* .free = */ llama_sampler_empty_free, + /* .backend_init = */ llama_sampler_empty_backend_init, + /* .backend_accept = */ llama_sampler_empty_backend_accept, + /* .backend_apply = */ llama_sampler_empty_backend_apply, + /* .backend_set_input = */ llama_sampler_empty_backend_set_input, +}; + +struct llama_sampler * llama_sampler_init_empty(const char * name) { + return llama_sampler_init( + /* .iface = */ &llama_sampler_empty_i, + /* .ctx = */ new llama_sampler_empty { + /* .name = */ name, + } + ); +} + +// common backend sampler functionality +// +// +name : means that the sampler is support and will run on the backend +// -name : means that a ggml operator is not supported by the backend +// +struct llama_sampler_backend { + llama_sampler_backend(const char * name) : name(name), name_ext(name), is_init(false), support(false) {} + + const char * get_name() { + if (!is_init) { + return name.c_str(); + } + + if (support) { + name_ext = "+" + name; + } else { + name_ext = "-" + name; + } + + return name_ext.c_str(); + } + + void init(bool support) { + GGML_ASSERT(this->is_init == false); + + this->is_init = true; + this->support = support; + } + +private: + std::string name; + std::string name_ext; + + bool is_init; + bool support; +}; + +// check if all ggml ops used by the sampler are supported by the backend +static bool llama_sampler_backend_support( + llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * device = ggml_backend_buft_get_device(buft); + if (!device) { + // CPU backend always supported + return true; + } + + ggml_init_params params = { + /*.mem_size =*/ 128*ggml_tensor_overhead() + ggml_graph_overhead(), + /*.mem_buffer =*/ NULL, + /*.no_alloc =*/ true, + }; + + ggml_context_ptr ctx_ptr { ggml_init(params) }; + if (!ctx_ptr) { + throw std::runtime_error(format("failed to create ggml context")); + } + + ggml_context * ctx = ctx_ptr.get(); + + const int64_t n = 1024*1024; + + llama_sampler_data data = { + /*.logits = */ ggml_new_tensor_1d(ctx, GGML_TYPE_F32, n), + /*.probs = */ nullptr, + /*.sampled = */ nullptr, + /*.candidates = */ ggml_new_tensor_1d(ctx, GGML_TYPE_I32, n), + }; + + ggml_cgraph * gf = ggml_new_graph(ctx); + + smpl->iface->backend_apply(smpl, ctx, gf, &data); + + if (data.logits) { + ggml_build_forward_expand(gf, data.logits); + } + + if (data.probs) { + ggml_build_forward_expand(gf, data.probs); + } + + if (data.sampled) { + ggml_build_forward_expand(gf, data.sampled); + } + + if (data.candidates) { + ggml_build_forward_expand(gf, data.candidates); + } + + for (int i = 0; i < ggml_graph_n_nodes(gf); i++) { + struct ggml_tensor * op = ggml_graph_node(gf, i); + + if (!ggml_backend_dev_supports_op(device, op)) { + LLAMA_LOG_WARN("%s: device '%s' does not have support for op %s needed for sampler '%s'\n", + __func__, ggml_backend_dev_name(device), ggml_op_name(op->op), smpl->iface->name(smpl)); + + return false; + } + } + + return true; +} + // sampler chain static const char * llama_sampler_chain_name(const struct llama_sampler * /*smpl*/) { @@ -432,8 +632,8 @@ static void llama_sampler_chain_accept(struct llama_sampler * smpl, llama_token time_meas tm(chain->t_sample_us, chain->params.no_perf); - for (auto * smpl : chain->samplers) { - llama_sampler_accept(smpl, token); + for (auto & smpl : chain->samplers) { + llama_sampler_accept(smpl.ptr, token); } chain->n_sample++; @@ -444,16 +644,28 @@ static void llama_sampler_chain_apply(struct llama_sampler * smpl, llama_token_d time_meas tm(chain->t_sample_us, chain->params.no_perf); - for (auto * smpl : chain->samplers) { - llama_sampler_apply(smpl, cur_p); + bool is_backend = chain->is_init; + + for (auto & smpl : chain->samplers) { + if (is_backend && smpl.is_backend) { + continue; + } + + is_backend = false; + + if (smpl.ptr->iface->apply == nullptr) { + continue; + } + + llama_sampler_apply(smpl.ptr, cur_p); } } static void llama_sampler_chain_reset(struct llama_sampler * smpl) { auto * chain = (llama_sampler_chain *) smpl->ctx; - for (auto * smpl : chain->samplers) { - llama_sampler_reset(smpl); + for (auto & smpl : chain->samplers) { + llama_sampler_reset(smpl.ptr); } } @@ -462,8 +674,8 @@ static struct llama_sampler * llama_sampler_chain_clone(const struct llama_sampl auto * result = llama_sampler_chain_init(chain_src->params); - for (auto * smpl : chain_src->samplers) { - llama_sampler_chain_add(result, llama_sampler_clone(smpl)); + for (const auto & smpl : chain_src->samplers) { + llama_sampler_chain_add(result, llama_sampler_clone(smpl.ptr)); } return result; @@ -472,20 +684,109 @@ static struct llama_sampler * llama_sampler_chain_clone(const struct llama_sampl static void llama_sampler_chain_free(struct llama_sampler * smpl) { auto * chain = (llama_sampler_chain *) smpl->ctx; - for (auto * smpl : chain->samplers) { - llama_sampler_free(smpl); + for (auto & smpl : chain->samplers) { + llama_sampler_free(smpl.ptr); } delete chain; } +static bool llama_sampler_chain_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * chain = (llama_sampler_chain *) smpl->ctx; + + GGML_ASSERT(chain->is_init == false && "llama_sampler_chain_backend_init() called twice"); + + chain->is_init = true; + + bool res = true; + + for (auto & smpl : chain->samplers) { + bool res_cur = true; + + // to be able to run a sampler on the backend, it has to: + // - have the .backend_init() API implemented + // - return true during .backend_init() + if (smpl.ptr->iface->backend_init) { + if (!smpl.ptr->iface->backend_init(smpl.ptr, buft)) { + res_cur = false; + } + } else { + res_cur = false; + } + + smpl.is_backend = res_cur; + + res = res && res_cur; + } + + return res; +} + +static void llama_sampler_chain_backend_accept( + struct llama_sampler * smpl, + ggml_context * ctx, + ggml_cgraph * gf, + struct ggml_tensor * selected_token) { + auto * chain = (llama_sampler_chain *) smpl->ctx; + + for (auto & smpl : chain->samplers) { + if (!smpl.is_backend) { + break; + } + + if (smpl.ptr->iface->backend_accept) { + smpl.ptr->iface->backend_accept(smpl.ptr, ctx, gf, selected_token); + } + } +} + +static void llama_sampler_chain_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + auto * chain = (llama_sampler_chain *) smpl->ctx; + + GGML_ASSERT(chain->is_init && "llama_sampler_chain_backend_init() not called"); + + for (auto & smpl : chain->samplers) { + if (!smpl.is_backend) { + break; + } + + if (smpl.ptr->iface->backend_apply) { + smpl.ptr->iface->backend_apply(smpl.ptr, ctx, gf, data); + } + } +} + +static void llama_sampler_chain_backend_set_input(struct llama_sampler * smpl) { + auto * chain = (llama_sampler_chain *) smpl->ctx; + + for (auto & smpl : chain->samplers) { + if (!smpl.is_backend) { + break; + } + + if (smpl.ptr->iface->backend_set_input) { + smpl.ptr->iface->backend_set_input(smpl.ptr); + } + } +} + static struct llama_sampler_i llama_sampler_chain_i = { - /* .name = */ llama_sampler_chain_name, - /* .accept = */ llama_sampler_chain_accept, - /* .apply = */ llama_sampler_chain_apply, - /* .reset = */ llama_sampler_chain_reset, - /* .clone = */ llama_sampler_chain_clone, - /* .free = */ llama_sampler_chain_free, + /* .name = */ llama_sampler_chain_name, + /* .accept = */ llama_sampler_chain_accept, + /* .apply = */ llama_sampler_chain_apply, + /* .reset = */ llama_sampler_chain_reset, + /* .clone = */ llama_sampler_chain_clone, + /* .free = */ llama_sampler_chain_free, + /* .backend_init = */ llama_sampler_chain_backend_init, + /* .backend_accept = */ llama_sampler_chain_backend_accept, + /* .backend_apply = */ llama_sampler_chain_backend_apply, + /* .backend_set_input = */ llama_sampler_chain_backend_set_input, }; struct llama_sampler * llama_sampler_chain_init(struct llama_sampler_chain_params params) { @@ -493,6 +794,7 @@ struct llama_sampler * llama_sampler_chain_init(struct llama_sampler_chain_param /* .iface = */ &llama_sampler_chain_i, /* .ctx = */ new llama_sampler_chain { /* .params = */ params, + /* .is_init = */ false, /* .samplers = */ {}, /* .cur = */ {}, /* .t_sample_us = */ 0, @@ -502,7 +804,16 @@ struct llama_sampler * llama_sampler_chain_init(struct llama_sampler_chain_param } llama_token llama_sampler_sample(struct llama_sampler * smpl, struct llama_context * ctx, int32_t idx) { - const auto * logits = llama_get_logits_ith(ctx, idx); + const llama_token sampled_token = llama_get_sampled_token_ith (ctx, idx); + const float * sampled_probs = llama_get_sampled_probs_ith (ctx, idx); + const float * sampled_logits = llama_get_sampled_logits_ith (ctx, idx); + const llama_token * sampled_ids = llama_get_sampled_candidates_ith(ctx, idx); + + // If a backend sampler has already sampled a token, return it. + if (sampled_token != LLAMA_TOKEN_NULL) { + LLAMA_LOG_DEBUG("%s: Backend sampler selected token for idx %d. Skipping CPU samplers\n", __func__, idx); + return sampled_token; + } const llama_model * model = llama_get_model(ctx); const llama_vocab * vocab = llama_model_get_vocab(model); @@ -521,9 +832,26 @@ llama_token llama_sampler_sample(struct llama_sampler * smpl, struct llama_conte } auto & cur = *cur_ptr; - cur.resize(n_vocab); - for (llama_token token_id = 0; token_id < n_vocab; token_id++) { - cur[token_id] = llama_token_data{token_id, logits[token_id], 0.0f}; + + if (sampled_probs) { + const uint32_t sampled_probs_count = llama_get_sampled_probs_count_ith(ctx, idx); + cur.resize(sampled_probs_count); + for (uint32_t i = 0; i < sampled_probs_count; ++i) { + cur[i] = llama_token_data{sampled_ids[i], sampled_logits[i], sampled_probs[i]}; + } + } else if (sampled_logits) { + const uint32_t sampled_logits_count = llama_get_sampled_logits_count_ith(ctx, idx); + cur.resize(sampled_logits_count); + for (llama_token i = 0; i < (int)sampled_logits_count; i++) { + cur[i] = llama_token_data{sampled_ids[i], sampled_logits[i], 0.0f}; + } + } else { + const auto * logits = llama_get_logits_ith(ctx, idx); + GGML_ASSERT(logits != nullptr); + cur.resize(n_vocab); + for (llama_token token_id = 0; token_id < n_vocab; token_id++) { + cur[token_id] = llama_token_data{token_id, logits[token_id], 0.0f}; + } } llama_token_data_array cur_p = { @@ -544,19 +872,35 @@ llama_token llama_sampler_sample(struct llama_sampler * smpl, struct llama_conte return token; } + void llama_sampler_chain_add(struct llama_sampler * chain, struct llama_sampler * smpl) { auto * p = (llama_sampler_chain *) chain->ctx; - p->samplers.push_back(smpl); + p->samplers.push_back({ + /* .is_backend = */ false, + /* .ptr = */ smpl, + }); } -struct llama_sampler * llama_sampler_chain_get(const struct llama_sampler * chain, int32_t i) { +struct llama_sampler * llama_sampler_chain_get(struct llama_sampler * chain, int32_t i) { + if (chain == nullptr) { + return nullptr; + } + + if (chain->iface != &llama_sampler_chain_i) { + return nullptr; + } + + if (i == -1) { + return chain; + } + const auto * p = (const llama_sampler_chain *) chain->ctx; if (i < 0 || (size_t) i >= p->samplers.size()) { return nullptr; } - return p->samplers[i]; + return p->samplers[i].ptr; } struct llama_sampler * llama_sampler_chain_remove(struct llama_sampler * chain, int32_t i) { @@ -566,7 +910,7 @@ struct llama_sampler * llama_sampler_chain_remove(struct llama_sampler * chain, return nullptr; } - auto * result = p->samplers[i]; + auto * result = p->samplers[i].ptr; p->samplers.erase(p->samplers.begin() + i); return result; @@ -584,8 +928,36 @@ int llama_sampler_chain_n(const struct llama_sampler * chain) { // greedy -static const char * llama_sampler_greedy_name(const struct llama_sampler * /*smpl*/) { - return "greedy"; +struct llama_sampler_greedy : public llama_sampler_backend { +}; + +static const char * llama_sampler_greedy_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_greedy *) smpl->ctx; + return sctx->get_name(); +} + +static void llama_sampler_greedy_reset(struct llama_sampler * smpl) { + auto * ctx = (llama_sampler_greedy *) smpl->ctx; + GGML_UNUSED(ctx); +} + +static struct llama_sampler * llama_sampler_greedy_clone(const struct llama_sampler * smpl) { + const auto * ctx = (const llama_sampler_greedy *) smpl->ctx; + auto * result = llama_sampler_init_greedy(); + + // copy the state + { + auto * result_ctx = (llama_sampler_greedy *) result->ctx; + + GGML_UNUSED(ctx); + GGML_UNUSED(result_ctx); + } + + return result; +} + +static void llama_sampler_greedy_free(struct llama_sampler * smpl) { + delete (llama_sampler_greedy *) smpl->ctx; } static void llama_sampler_greedy_apply(struct llama_sampler * /*smpl*/, llama_token_data_array * cur_p) { @@ -597,33 +969,72 @@ static void llama_sampler_greedy_apply(struct llama_sampler * /*smpl*/, llama_to } } +static bool llama_sampler_greedy_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_greedy *) smpl->ctx; + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + return res; +} + +static void llama_sampler_greedy_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + GGML_UNUSED(gf); + GGML_UNUSED(smpl); + + struct ggml_tensor * curl = ggml_argmax(ctx, data->logits); + ggml_set_name(curl, "greedy_argmax"); + + data->sampled = curl; +} + static struct llama_sampler_i llama_sampler_greedy_i = { - /* .name = */ llama_sampler_greedy_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_greedy_apply, - /* .reset = */ nullptr, - /* .clone = */ nullptr, - /* .free = */ nullptr, + /* .name = */ llama_sampler_greedy_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_greedy_apply, + /* .reset = */ llama_sampler_greedy_reset, + /* .clone = */ llama_sampler_greedy_clone, + /* .free = */ llama_sampler_greedy_free, + /* .backend_init = */ llama_sampler_greedy_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_greedy_backend_apply, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_greedy() { return llama_sampler_init( /* .iface = */ &llama_sampler_greedy_i, - /* .ctx = */ nullptr + /* .ctx = */ new llama_sampler_greedy { + ("greedy"), + } ); } // dist -struct llama_sampler_dist { +struct llama_sampler_dist : public llama_sampler_backend { const uint32_t seed; uint32_t seed_cur; std::mt19937 rng; + + // backend input + struct ggml_tensor * inp_uniform; + + ggml_context_ptr inp_ctx; + ggml_backend_buffer_ptr inp_buf; }; -static const char * llama_sampler_dist_name(const struct llama_sampler * /*smpl*/) { - return "dist"; +static const char * llama_sampler_dist_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_dist *) smpl->ctx; + return sctx->get_name(); } static void llama_sampler_dist_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -698,6 +1109,12 @@ static void llama_sampler_dist_apply(struct llama_sampler * smpl, llama_token_da #endif } +static void llama_sampler_dist_reset(struct llama_sampler * smpl) { + auto * ctx = (llama_sampler_dist *) smpl->ctx; + ctx->seed_cur = get_rng_seed(ctx->seed); + ctx->rng.seed(ctx->seed_cur); +} + static struct llama_sampler * llama_sampler_dist_clone(const struct llama_sampler * smpl) { const auto * ctx = (const llama_sampler_dist *) smpl->ctx; auto * result = llama_sampler_init_dist(ctx->seed); @@ -712,23 +1129,127 @@ static struct llama_sampler * llama_sampler_dist_clone(const struct llama_sample return result; } -static void llama_sampler_dist_reset(struct llama_sampler * smpl) { - auto * ctx = (llama_sampler_dist *) smpl->ctx; - ctx->seed_cur = get_rng_seed(ctx->seed); - ctx->rng.seed(ctx->seed_cur); -} - static void llama_sampler_dist_free(struct llama_sampler * smpl) { delete (llama_sampler_dist *) smpl->ctx; } +static bool llama_sampler_dist_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_dist *) smpl->ctx; + + // allocate inputs + { + ggml_init_params params = { + /*.mem_size =*/ ggml_tensor_overhead(), + /*.mem_buffer =*/ nullptr, + /*.no_alloc =*/ true, + }; + + sctx->inp_ctx.reset(ggml_init(params)); + + // Create the uniform random scalar input tensor. This will be set by + // llama_sampler_dist_backend_set_input after this graph is built. + sctx->inp_uniform = ggml_new_tensor_1d(sctx->inp_ctx.get(), GGML_TYPE_F32, 1); + ggml_set_name (sctx->inp_uniform, "uniform"); + ggml_set_input(sctx->inp_uniform); + + // Allocate all tensors from our context to the backend + sctx->inp_buf.reset(ggml_backend_alloc_ctx_tensors_from_buft(sctx->inp_ctx.get(), buft)); + + ggml_backend_buffer_clear(sctx->inp_buf.get(), 0); + } + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + if (!res) { + sctx->inp_ctx.reset(nullptr); + sctx->inp_buf.reset(nullptr); + } + + return res; +} + +static void llama_sampler_dist_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + GGML_UNUSED(gf); + auto * sctx = (llama_sampler_dist *) smpl->ctx; + + struct ggml_tensor * probs = ggml_soft_max(ctx, data->logits); + ggml_set_name(probs, "dist_probs"); + + struct ggml_tensor * cumsum = ggml_cumsum(ctx, probs); + ggml_set_name(cumsum, "dist_cumsum"); + + // The uniform tensor has a random value and we subtract this tensor with + // the cumsum tensor (the uniform tensor will be broadcasted by ggml_sub). + // Recall that each entry in cumsum is the cumulative probability up to that + // index so values stay negative while the cumulative total is below the + // random value, and become zero/positive once the threshold is crossed. + struct ggml_tensor * diff = ggml_sub(ctx, cumsum, sctx->inp_uniform); + ggml_set_name(diff, "dist_cumsum"); + + // The ggml_step function produces a tensor where entries are 1 if the + // corresponding entry in diff is > 0, and 0 otherwise. So all values up to + // the index where the cumulative probability exceeds the random value are 0, + // and all entries after that are 1. + struct ggml_tensor * mask = ggml_step(ctx, diff); + ggml_set_name(mask, "dist_mask"); + + // Taking the sum of the mask gives us the sum of elements after the threshold + // we are interested in. + struct ggml_tensor * idxf = ggml_sum(ctx, mask); + ggml_set_name(idxf, "dist_index_f32"); + + // Use ggml_scale_bias to scale the index value by -1 and then add the size + // of the mask to that value so we get the correct index ((-1 * idxf) + n). + struct ggml_tensor * idx = ggml_cast(ctx, ggml_scale_bias(ctx, idxf, -1.0f, mask->ne[0]), GGML_TYPE_I32); + ggml_set_name(idx, "dist_index_i32"); + + // Map back to original vocab ids if a candidates tensor is available. + struct ggml_tensor * sampled_token = idx; + if (data->candidates != nullptr) { + struct ggml_tensor * candidates = ggml_reshape_2d(ctx, data->candidates, 1, ggml_nelements(data->candidates)); + + sampled_token = ggml_get_rows(ctx, candidates, idx); + ggml_set_name(sampled_token, "dist_sampled_token"); + } + + data->sampled = sampled_token; + data->probs = probs; +} + +static void llama_sampler_dist_backend_set_input(struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_dist *) smpl->ctx; + GGML_ASSERT(sctx->inp_uniform != nullptr); + + // We sample in double precision and cast to float to match rnd numbers of + // llama_dampler_dist which uses double precision (sampling from + // std::uniform_real_distribution and + // std::uniform_real_distribution with same rng will produce + // different sequences). + std::uniform_real_distribution dist(0.0f, 1.0f); + const float rnd = dist(sctx->rng); + + ggml_backend_tensor_set(sctx->inp_uniform, &rnd, 0, sizeof(float)); +} + static struct llama_sampler_i llama_sampler_dist_i = { - /* .name = */ llama_sampler_dist_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_dist_apply, - /* .reset = */ llama_sampler_dist_reset, - /* .clone = */ llama_sampler_dist_clone, - /* .free = */ llama_sampler_dist_free, + /* .name = */ llama_sampler_dist_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_dist_apply, + /* .reset = */ llama_sampler_dist_reset, + /* .clone = */ llama_sampler_dist_clone, + /* .free = */ llama_sampler_dist_free, + /* .backend_init = */ llama_sampler_dist_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_dist_backend_apply, + /* .backend_set_input = */ llama_sampler_dist_backend_set_input, }; struct llama_sampler * llama_sampler_init_dist(uint32_t seed) { @@ -736,21 +1257,26 @@ struct llama_sampler * llama_sampler_init_dist(uint32_t seed) { return llama_sampler_init( /* .iface = */ &llama_sampler_dist_i, /* .ctx = */ new llama_sampler_dist { - /* .seed = */ seed, - /* .seed_cur = */ seed_cur, - /* .rng = */ std::mt19937(seed_cur), + ("dist"), + /* .seed = */ seed, + /* .seed_cur = */ seed_cur, + /* .rng = */ std::mt19937(seed_cur), + /* .inp_uniform = */ nullptr, + /* .inp_ctx = */ nullptr, + /* .inp_buf = */ nullptr, } ); } // top-k -struct llama_sampler_top_k { +struct llama_sampler_top_k : public llama_sampler_backend { const int32_t k; }; -static const char * llama_sampler_top_k_name(const struct llama_sampler * /*smpl*/) { - return "top-k"; +static const char * llama_sampler_top_k_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_top_k *) smpl->ctx; + return sctx->get_name(); } static void llama_sampler_top_k_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -767,19 +1293,69 @@ static void llama_sampler_top_k_free(struct llama_sampler * smpl) { delete (llama_sampler_top_k *) smpl->ctx; } +static bool llama_sampler_top_k_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_top_k *) smpl->ctx; + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + return res; +} + +static void llama_sampler_top_k_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + auto * sctx = (llama_sampler_top_k *) smpl->ctx; + + struct ggml_tensor * top_k = ggml_top_k(ctx, data->logits, sctx->k); + ggml_set_name(top_k, "top_k"); + + if (data->candidates) { + struct ggml_tensor * candidates_rows = ggml_reshape_2d(ctx, data->candidates, 1, data->candidates->ne[0]); + data->candidates = ggml_get_rows(ctx, candidates_rows, top_k); + data->candidates = ggml_reshape_1d(ctx, data->candidates, sctx->k); + ggml_set_name(data->candidates, "top_k_candidates"); + } else { + data->candidates = top_k; + } + + struct ggml_tensor * logits_rows = ggml_reshape_2d(ctx, data->logits, 1, data->logits->ne[0]); + struct ggml_tensor * top_k_rows = ggml_get_rows(ctx, logits_rows, top_k); + data->logits = ggml_reshape_1d(ctx, top_k_rows, sctx->k); + ggml_set_name(top_k_rows, "top_k_rows"); + + GGML_UNUSED(gf); +} + static struct llama_sampler_i llama_sampler_top_k_i = { - /* .name = */ llama_sampler_top_k_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_top_k_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_top_k_clone, - /* .free = */ llama_sampler_top_k_free, + /* .name = */ llama_sampler_top_k_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_top_k_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_top_k_clone, + /* .free = */ llama_sampler_top_k_free, + /* .backend_init = */ llama_sampler_top_k_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_top_k_backend_apply, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_top_k(int32_t k) { + const bool is_empty = (k <= 0); + + if (is_empty) { + return llama_sampler_init_empty("?top-k"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_top_k_i, /* .ctx = */ new llama_sampler_top_k { + ("top-k"), /* .k = */ k, } ); @@ -787,15 +1363,16 @@ struct llama_sampler * llama_sampler_init_top_k(int32_t k) { // top-p -struct llama_sampler_top_p { +struct llama_sampler_top_p : public llama_sampler_backend { const float p; const size_t min_keep; std::vector buf_sort; }; -static const char * llama_sampler_top_p_name(const struct llama_sampler * /*smpl*/) { - return "top-p"; +static const char * llama_sampler_top_p_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_top_p *) smpl->ctx; + return sctx->get_name(); } static void llama_sampler_top_p_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -862,19 +1439,118 @@ static void llama_sampler_top_p_free(struct llama_sampler * smpl) { delete (llama_sampler_top_p *) smpl->ctx; } +static bool llama_sampler_top_p_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_top_p *) smpl->ctx; + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + return res; +} + +static void llama_sampler_top_p_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + auto * sctx = (llama_sampler_top_p *) smpl->ctx; + + auto ggml_sort = [ctx](struct ggml_tensor * a, struct ggml_tensor * b) { + GGML_ASSERT(ggml_nrows(a) == 1); + struct ggml_tensor * a_reshaped = ggml_reshape_2d(ctx, a, 1, a->ne[0]); + struct ggml_tensor * a_sorted = ggml_get_rows(ctx, a_reshaped, b); + return ggml_reshape_1d(ctx, a_sorted, a->ne[0]); + }; + + // Get the sorted logits in descending order. + struct ggml_tensor * sorted_idx = ggml_argsort(ctx, data->logits, GGML_SORT_ORDER_DESC); + ggml_set_name(sorted_idx, "top_p_sorted_idx"); + + // Do the sorting via reshape + get_rows + struct ggml_tensor * sorted_logits = ggml_sort(data->logits, sorted_idx); + ggml_set_name(sorted_logits, "top_p_sorted_logits"); + + struct ggml_tensor * softmax = ggml_soft_max(ctx, sorted_logits); + ggml_set_name(softmax, "top_p_softmax"); + + // If candidates are provided, sort them as well. Otherwise, set sorted indices as candidates. + if (data->candidates) { + data->candidates = ggml_sort(data->candidates, sorted_idx); + } else { + data->candidates = sorted_idx; + } + ggml_set_name(data->candidates, "top_p_candidates"); + + // Compute Cumulative Distribution Function (CDF) by means of GGML_OP_CUMSUM. + struct ggml_tensor * cdf = ggml_cumsum(ctx, softmax); + ggml_set_name(cdf, "top_p_cdf"); + + // Invert CDF and add top-p value so that ggml_step yields 1 for values we want to keep + struct ggml_tensor * cdf_scaled = ggml_scale_bias(ctx, cdf, -1.0f, sctx->p); + ggml_set_name(cdf_scaled, "top_p_cdf_scaled"); + + struct ggml_tensor * mask = ggml_step(ctx, cdf_scaled); + ggml_set_name(mask, "top_p_mask"); + + // Taking the sum of the mask gives us the sum of elements after the threshold + // we are interested in. + struct ggml_tensor * idxf = ggml_sum(ctx, mask); + ggml_set_name(idxf, "top_p_index_f32"); + + // prevent out-of-bounds access + idxf = ggml_clamp(ctx, idxf, 0.0f, mask->ne[0] - 1); + + // construct ones tensor to set the value in the mask + struct ggml_tensor * ones = ggml_scale_bias(ctx, idxf, 0.0f, 1.0f); + ggml_set_name(ones, "top_p_ones"); + + // Make top-p inclusive (i.e. return all values such that cum_sum/cdf >= p) + struct ggml_tensor * mask_reshaped = ggml_reshape_2d(ctx, mask, 1, mask->ne[0]); + + mask_reshaped = ggml_set_rows(ctx, mask_reshaped, ones, ggml_cast(ctx, idxf, GGML_TYPE_I32)); + mask = ggml_reshape_1d(ctx, mask_reshaped, mask->ne[0]); + + // Use ggml_scale_bias (output = (a * s) + b) which in this case becomes: + // top_p_bias = (mask * 1e9f) - 1e9f. + // So entries in the mask that we want to discard will become -1e9f, and + // others will be 0 (meaning that will not effect the logits). + const float large_val = 1e9f; + struct ggml_tensor * top_p_bias = ggml_scale_bias(ctx, mask, large_val, -large_val); + ggml_set_name(top_p_bias, "top_p_bias"); + + data->logits = ggml_add(ctx, sorted_logits, top_p_bias); + ggml_set_name(data->logits, "top_p_logits"); + + GGML_UNUSED(gf); +} + static struct llama_sampler_i llama_sampler_top_p_i = { - /* .name = */ llama_sampler_top_p_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_top_p_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_top_p_clone, - /* .free = */ llama_sampler_top_p_free, + /* .name = */ llama_sampler_top_p_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_top_p_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_top_p_clone, + /* .free = */ llama_sampler_top_p_free, + /* .backend_init = */ llama_sampler_top_p_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_top_p_backend_apply, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_top_p(float p, size_t min_keep) { + const bool is_empty = p >= 1.0f; + + if (is_empty) { + return llama_sampler_init_empty("?top-p"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_top_p_i, /* .ctx = */ new llama_sampler_top_p { + ("top-p"), /* .p = */ p, /* .min_keep = */ min_keep, /* .buf_sort = */ {}, @@ -884,13 +1560,14 @@ struct llama_sampler * llama_sampler_init_top_p(float p, size_t min_keep) { // min-p -struct llama_sampler_min_p { +struct llama_sampler_min_p : public llama_sampler_backend { const float p; const size_t min_keep; }; -static const char * llama_sampler_min_p_name(const struct llama_sampler * /*smpl*/) { - return "min-p"; +static const char * llama_sampler_min_p_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_min_p *) smpl->ctx; + return sctx->get_name(); } static void llama_sampler_min_p_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -956,19 +1633,85 @@ static void llama_sampler_min_p_free(struct llama_sampler * smpl) { delete (llama_sampler_min_p *) smpl->ctx; } +static bool llama_sampler_min_p_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_min_p *) smpl->ctx; + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + return res; +} + +static void llama_sampler_min_p_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + auto * sctx = (llama_sampler_min_p *) smpl->ctx; + + struct ggml_tensor * max_idx = ggml_argmax(ctx, data->logits); + ggml_set_name(max_idx, "max_idx"); + + struct ggml_tensor * logits_rows = ggml_reshape_2d(ctx, data->logits, 1, data->logits->ne[0]); + ggml_set_name(logits_rows, "logits_rows"); + + struct ggml_tensor * max_logit = ggml_get_rows(ctx, logits_rows, max_idx); + ggml_set_name(max_logit, "max_logit"); + + // Calculate the threshold value. + struct ggml_tensor * threshold = ggml_scale_bias(ctx, max_logit, 1.0f, logf(sctx->p)); + ggml_set_name(threshold, "min_p_threshold"); + + // Subtract the threshold from logits. + struct ggml_tensor * sub = ggml_sub(ctx, data->logits, threshold); + + // Create a mask where logits below the threshold are 0 (discard), + // and others are 1 (keep). + struct ggml_tensor * mask = ggml_step(ctx, sub); + ggml_set_name(mask, "min_p_mask"); + + // Use ggml_scale_bias (output = (a * s) + b) which in this case becomes: + // min_p_bias = (mask * 1e9f) - 1e9f. + // So entries in the mask that we want to discard will become -1e9f, and + // others will be 0 (meaning that will not effect the logits). + const float large_val = 1e9f; + struct ggml_tensor * min_p_bias = ggml_scale_bias(ctx, mask, large_val, -large_val); + ggml_set_name(min_p_bias, "min_p_bias"); + + // Add the min_p bias to the logits. + data->logits = ggml_add(ctx, data->logits, min_p_bias); + ggml_set_name(data->logits, "min_p_logits"); + + GGML_UNUSED(gf); +} + static struct llama_sampler_i llama_sampler_min_p_i = { - /* .name = */ llama_sampler_min_p_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_min_p_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_min_p_clone, - /* .free = */ llama_sampler_min_p_free, + /* .name = */ llama_sampler_min_p_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_min_p_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_min_p_clone, + /* .free = */ llama_sampler_min_p_free, + /* .backend_init = */ llama_sampler_min_p_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_min_p_backend_apply, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_min_p(float p, size_t min_keep) { + const bool is_empty = (p <= 0.0f); + + if (is_empty) { + return llama_sampler_init_empty("?min-p"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_min_p_i, /* .ctx = */ new llama_sampler_min_p { + ("min-p"), /* .p = */ p, /* .min_keep = */ min_keep, } @@ -1056,15 +1799,25 @@ static void llama_sampler_typical_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_typical_i = { - /* .name = */ llama_sampler_typical_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_typical_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_typical_clone, - /* .free = */ llama_sampler_typical_free, + /* .name = */ llama_sampler_typical_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_typical_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_typical_clone, + /* .free = */ llama_sampler_typical_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_typical(float p, size_t min_keep) { + const bool is_empty = (p >= 1.0f); + + if (is_empty) { + return llama_sampler_init_empty("?typical"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_typical_i, /* .ctx = */ new llama_sampler_typical { @@ -1076,12 +1829,13 @@ struct llama_sampler * llama_sampler_init_typical(float p, size_t min_keep) { // temp -struct llama_sampler_temp { +struct llama_sampler_temp : public llama_sampler_backend { const float temp; }; -static const char * llama_sampler_temp_name(const struct llama_sampler * /*smpl*/) { - return "temp"; +static const char * llama_sampler_temp_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_temp *) smpl->ctx; + return sctx->get_name(); } static void llama_sampler_temp_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -1099,19 +1853,79 @@ static void llama_sampler_temp_free(struct llama_sampler * smpl) { delete (llama_sampler_temp *) smpl->ctx; } +static void llama_sampler_backend_temp_sampling( + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data, + float temp) { + if (temp <= 0.0f) { + // Find the most probable token index. + struct ggml_tensor * max_idx = ggml_argmax(ctx, data->logits); + ggml_set_name(max_idx, "temp_max_idx"); + + if (data->candidates) { + struct ggml_tensor * candidates_rows = ggml_reshape_2d(ctx, data->candidates, 1, data->candidates->ne[0]); + data->candidates = ggml_get_rows(ctx, candidates_rows, max_idx); + } else { + data->candidates = max_idx; + } + + struct ggml_tensor * logits_rows = ggml_reshape_2d(ctx, data->logits, 1, data->logits->ne[0]); + data->logits = ggml_get_rows(ctx, logits_rows, max_idx); + + return; + } + + data->logits = ggml_scale(ctx, data->logits, 1.0f / temp); + + GGML_UNUSED(gf); +} + +static bool llama_sampler_temp_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_temp *) smpl->ctx; + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + return res; +} + +static void llama_sampler_temp_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + auto * sctx = (llama_sampler_temp *) smpl->ctx; + llama_sampler_backend_temp_sampling(ctx, gf, data, sctx->temp); +} + static struct llama_sampler_i llama_sampler_temp_i = { - /* .name = */ llama_sampler_temp_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_temp_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_temp_clone, - /* .free = */ llama_sampler_temp_free, + /* .name = */ llama_sampler_temp_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_temp_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_temp_clone, + /* .free = */ llama_sampler_temp_free, + /* .backend_init = */ llama_sampler_temp_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_temp_backend_apply, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_temp(float temp) { + const bool is_empty = temp == 1.0f; + + if (is_empty) { + return llama_sampler_init_empty("?temp"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_temp_i, /* .ctx = */ new llama_sampler_temp { + ("temp"), /*.temp = */ temp, } ); @@ -1119,14 +1933,15 @@ struct llama_sampler * llama_sampler_init_temp(float temp) { // temp-ext -struct llama_sampler_temp_ext { +struct llama_sampler_temp_ext : public llama_sampler_backend { const float temp; const float delta; const float exponent; }; -static const char * llama_sampler_temp_ext_name(const struct llama_sampler * /*smpl*/) { - return "temp-ext"; +static const char * llama_sampler_temp_ext_name(const struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_temp_ext *) smpl->ctx; + return sctx->get_name(); } static void llama_sampler_temp_ext_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -1209,24 +2024,112 @@ static void llama_sampler_temp_ext_free(struct llama_sampler * smpl) { delete (llama_sampler_temp_ext *) smpl->ctx; } +static bool llama_sampler_temp_ext_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_temp_ext *) smpl->ctx; + + const bool res = llama_sampler_backend_support(smpl, buft); + + sctx->init(res); + + return res; +} + +static void llama_sampler_temp_ext_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + auto * sctx = (llama_sampler_temp_ext *) smpl->ctx; + + // Revert to standard temperature scaling if delta or temp are non-positive. + if (sctx->delta <= 0.0f || sctx->temp <= 0.0f) { + llama_sampler_backend_temp_sampling(ctx, gf, data, sctx->temp); + return; + } + + // Calculate min_temp, max_temp, and max_entropy. + const float min_temp = std::max(0.0f, sctx->temp - sctx->delta); + const float max_temp = sctx->temp + sctx->delta; + const float max_entropy = logf(data->logits->ne[0]); + + // Calculate the probabilities. + struct ggml_tensor * probs = ggml_soft_max(ctx, data->logits); + ggml_set_name(probs, "temp_ext_softmax_probs"); + + // Clamp probabilities to avoid log(0) which would give -inf + struct ggml_tensor * probs_clamped = ggml_clamp(ctx, probs, 1e-10f, 1.0f); + ggml_set_name(probs_clamped, "temp_ext_probs_clamped"); + + // Calculate the entropy, entropy = -Σ(p * log(p)). + struct ggml_tensor * log_probs = ggml_log(ctx, probs_clamped); + struct ggml_tensor * p_log_p = ggml_mul(ctx, probs_clamped, log_probs); + struct ggml_tensor * sum_p_log_p = ggml_sum(ctx, p_log_p); + struct ggml_tensor * entropy = ggml_scale(ctx, sum_p_log_p, -1.0f); + ggml_set_name(log_probs, "temp_ext_log_probs"); + ggml_set_name(p_log_p, "temp_ext_p_log_p"); + ggml_set_name(sum_p_log_p, "temp_ext_sum_p_log_p"); + ggml_set_name(entropy, "temp_ext_entropy"); + + // Normalize the entropy, norm_entropy = entropy / max_entropy + struct ggml_tensor * norm_entropy = ggml_scale(ctx, entropy, 1.0f / max_entropy); + ggml_set_name(norm_entropy, "temp_ext_norm_entropy"); + + // Calculate the dynamic temperature: + // dyn_temp = min_temp + (max_temp - min_temp) * powf(normalized_entropy, exponent); + // + // Calculate powf(normalized_entropy, exponent) as + // norm_entropy^exponent = exp(exponent * log(norm_entropy)) + struct ggml_tensor * log_norm_entropy = ggml_log(ctx, norm_entropy); + struct ggml_tensor * scaled_log = ggml_scale(ctx, log_norm_entropy, sctx->exponent); + struct ggml_tensor * pow_entropy = ggml_exp(ctx, scaled_log); + // With pow_entropy computed we can now compute dyn_temp, scaling by + // (max_temp - min_temp) and then adding min_temp. + struct ggml_tensor * dyn_temp = ggml_scale_bias(ctx, pow_entropy, max_temp - min_temp, min_temp); + ggml_set_name(log_norm_entropy, "temp_ext_log_norm_entropy"); + ggml_set_name(scaled_log, "temp_ext_scaled_log"); + ggml_set_name(pow_entropy, "temp_ext_pow_entropy"); + ggml_set_name(dyn_temp, "temp_ext_dyn_temp"); + + // Scale the logits by the dynamic temperature + struct ggml_tensor * scaled_logits = ggml_div(ctx, data->logits, dyn_temp); + ggml_set_name(scaled_logits, "temp_ext_scaled_logits"); + + data->logits = scaled_logits; +} + static struct llama_sampler_i llama_sampler_temp_ext_i = { - /* .name = */ llama_sampler_temp_ext_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_temp_ext_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_temp_ext_clone, - /* .free = */ llama_sampler_temp_ext_free, + /* .name = */ llama_sampler_temp_ext_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_temp_ext_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_temp_ext_clone, + /* .free = */ llama_sampler_temp_ext_free, + /* .backend_init = */ llama_sampler_temp_ext_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_temp_ext_backend_apply, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_temp_ext(float temp, float delta, float exponent) { - return llama_sampler_init( + const bool is_empty = temp == 1.0f && delta <= 0.0f; + + if (is_empty) { + return llama_sampler_init_empty("?temp-ext"); + } + + auto * res = llama_sampler_init( /* .iface = */ &llama_sampler_temp_ext_i, /* .ctx = */ new llama_sampler_temp_ext { + ("temp-ext"), /* .temp = */ temp, /* .delta = */ delta, /* .exponent = */ exponent, } ); + + return res; } // xtc @@ -1304,16 +2207,27 @@ static void llama_sampler_xtc_reset(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_xtc_i = { - /* .name = */ llama_sampler_xtc_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sample_xtc_apply, - /* .reset = */ llama_sampler_xtc_reset, - /* .clone = */ llama_sampler_xtc_clone, - /* .free = */ llama_sampler_xtc_free, + /* .name = */ llama_sampler_xtc_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sample_xtc_apply, + /* .reset = */ llama_sampler_xtc_reset, + /* .clone = */ llama_sampler_xtc_clone, + /* .free = */ llama_sampler_xtc_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_xtc(float p, float t, size_t min_keep, uint32_t seed) { - auto seed_cur = get_rng_seed(seed); + const bool is_empty = (p <= 0.0f || t > 0.5f); + + if (is_empty) { + return llama_sampler_init_empty("?xtc"); + } + + const auto seed_cur = get_rng_seed(seed); + return llama_sampler_init( /* .iface = */ &llama_sampler_xtc_i, /* .ctx = */ new llama_sampler_xtc { @@ -1412,16 +2326,21 @@ static void llama_sampler_mirostat_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_mirostat_i = { - /* .name = */ llama_sampler_mirostat_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_mirostat_apply, - /* .reset = */ llama_sampler_mirostat_reset, - /* .clone = */ llama_sampler_mirostat_clone, - /* .free = */ llama_sampler_mirostat_free, + /* .name = */ llama_sampler_mirostat_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_mirostat_apply, + /* .reset = */ llama_sampler_mirostat_reset, + /* .clone = */ llama_sampler_mirostat_clone, + /* .free = */ llama_sampler_mirostat_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_mirostat(int32_t n_vocab, uint32_t seed, float tau, float eta, int32_t m) { - auto seed_cur = get_rng_seed(seed); + const auto seed_cur = get_rng_seed(seed); + return llama_sampler_init( /* .iface = */ &llama_sampler_mirostat_i, /* .ctx = */ new llama_sampler_mirostat { @@ -1511,12 +2430,16 @@ static void llama_sampler_mirostat_v2_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_mirostat_v2_i = { - /* .name = */ llama_sampler_mirostat_v2_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_mirostat_v2_apply, - /* .reset = */ llama_sampler_mirostat_v2_reset, - /* .clone = */ llama_sampler_mirostat_v2_clone, - /* .free = */ llama_sampler_mirostat_v2_free, + /* .name = */ llama_sampler_mirostat_v2_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_mirostat_v2_apply, + /* .reset = */ llama_sampler_mirostat_v2_reset, + /* .clone = */ llama_sampler_mirostat_v2_clone, + /* .free = */ llama_sampler_mirostat_v2_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_mirostat_v2(uint32_t seed, float tau, float eta) { @@ -1628,12 +2551,16 @@ static void llama_sampler_grammar_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_grammar_i = { - /* .name = */ llama_sampler_grammar_name, - /* .accept = */ llama_sampler_grammar_accept_impl, - /* .apply = */ llama_sampler_grammar_apply, - /* .reset = */ llama_sampler_grammar_reset, - /* .clone = */ llama_sampler_grammar_clone, - /* .free = */ llama_sampler_grammar_free, + /* .name = */ llama_sampler_grammar_name, + /* .accept = */ llama_sampler_grammar_accept_impl, + /* .apply = */ llama_sampler_grammar_apply, + /* .reset = */ llama_sampler_grammar_reset, + /* .clone = */ llama_sampler_grammar_clone, + /* .free = */ llama_sampler_grammar_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; static struct llama_sampler * llama_sampler_init_grammar_impl( @@ -1835,12 +2762,16 @@ static void llama_sampler_penalties_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_penalties_i = { - /* .name = */ llama_sampler_penalties_name, - /* .accept = */ llama_sampler_penalties_accept, - /* .apply = */ llama_sampler_penalties_apply, - /* .reset = */ llama_sampler_penalties_reset, - /* .clone = */ llama_sampler_penalties_clone, - /* .free = */ llama_sampler_penalties_free, + /* .name = */ llama_sampler_penalties_name, + /* .accept = */ llama_sampler_penalties_accept, + /* .apply = */ llama_sampler_penalties_apply, + /* .reset = */ llama_sampler_penalties_reset, + /* .clone = */ llama_sampler_penalties_clone, + /* .free = */ llama_sampler_penalties_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_penalties( @@ -1850,6 +2781,12 @@ struct llama_sampler * llama_sampler_init_penalties( float penalty_present) { penalty_last_n = std::max(penalty_last_n, 0); + const bool is_empty = (penalty_last_n == 0 || (penalty_repeat == 1.0f && penalty_freq == 0.0f && penalty_present == 0.0f)); + + if (is_empty) { + return llama_sampler_init_empty("?penalties"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_penalties_i, /* .ctx = */ new llama_sampler_penalties { @@ -1887,9 +2824,7 @@ static void llama_sampler_top_n_sigma_apply(struct llama_sampler * smpl, llama_t for (size_t i = 0; i < cur_p->size; ++i) { // Only count non-negative infinity values if (cur_p->data[i].logit != -INFINITY) { - if (cur_p->data[i].logit > max) { - max = cur_p->data[i].logit; - } + max = std::max(max, cur_p->data[i].logit); logits_sum += cur_p->data[i].logit; valid_count++; } @@ -1926,15 +2861,25 @@ static void llama_sampler_top_n_sigma_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_top_n_sigma_i = { - /* .name = */ llama_sampler_top_n_sigma_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_top_n_sigma_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_top_n_sigma_clone, - /* .free = */ llama_sampler_top_n_sigma_free, + /* .name = */ llama_sampler_top_n_sigma_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_top_n_sigma_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_top_n_sigma_clone, + /* .free = */ llama_sampler_top_n_sigma_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_top_n_sigma(float n) { + const bool is_empty = (n <= 0.0f); + + if (is_empty) { + return llama_sampler_init_empty("?top-n-sigma"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_top_n_sigma_i, /* .ctx = */ new llama_sampler_top_n_sigma { @@ -2256,12 +3201,16 @@ static void llama_sampler_dry_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_dry_i = { - /* .name = */ llama_sampler_dry_name, - /* .accept = */ llama_sampler_dry_accept, - /* .apply = */ llama_sampler_dry_apply, - /* .reset = */ llama_sampler_dry_reset, - /* .clone = */ llama_sampler_dry_clone, - /* .free = */ llama_sampler_dry_free, + /* .name = */ llama_sampler_dry_name, + /* .accept = */ llama_sampler_dry_accept, + /* .apply = */ llama_sampler_dry_apply, + /* .reset = */ llama_sampler_dry_reset, + /* .clone = */ llama_sampler_dry_clone, + /* .free = */ llama_sampler_dry_free, + /* .backend_init = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ nullptr, + /* .backend_set_input = */ nullptr, }; struct llama_sampler * llama_sampler_init_dry(const struct llama_vocab * vocab, int32_t n_ctx_train, float dry_multiplier, float dry_base, int32_t dry_allowed_length, int32_t dry_penalty_last_n, const char** seq_breakers, size_t num_breakers) { @@ -2272,6 +3221,10 @@ struct llama_sampler * llama_sampler_init_dry(const struct llama_vocab * vocab, const bool dry_enabled = (dry_multiplier != 0.0f && dry_base >= 1.0f && dry_penalty_last_n != 0); + if (!dry_enabled) { + return llama_sampler_init_empty("?dry"); + } + if (dry_enabled && seq_breakers != nullptr && num_breakers > 0) { // Process sequence breakers for (size_t i = 0; i < num_breakers; ++i) { @@ -2342,16 +3295,23 @@ struct llama_sampler * llama_sampler_init_dry_testing(int32_t context_size, floa // logit-bias -struct llama_sampler_logit_bias { +struct llama_sampler_logit_bias : public llama_sampler_backend { const int32_t n_vocab; const std::vector logit_bias; std::vector to_search; + + struct ggml_tensor * inp_logit_bias; + struct ggml_tensor * inp_logit_idxs; + + ggml_context_ptr inp_ctx; + ggml_backend_buffer_ptr inp_buf; }; -static const char * llama_sampler_logit_bias_name(const struct llama_sampler * /*smpl*/) { - return "logit-bias"; +static const char * llama_sampler_logit_bias_name(const struct llama_sampler * smpl) { + auto * ctx = (llama_sampler_logit_bias *) smpl->ctx; + return ctx->get_name(); } static void llama_sampler_logit_bias_apply(struct llama_sampler * smpl, llama_token_data_array * cur_p) { @@ -2396,25 +3356,123 @@ static void llama_sampler_logit_bias_free(struct llama_sampler * smpl) { delete (llama_sampler_logit_bias *) smpl->ctx; } +static void llama_sampler_logit_bias_backend_apply( + struct llama_sampler * smpl, + struct ggml_context * ctx, + struct ggml_cgraph * gf, + struct llama_sampler_data * data) { + GGML_UNUSED(gf); + GGML_UNUSED(ctx); + + auto * sctx = (llama_sampler_logit_bias *) smpl->ctx; + if (sctx->logit_bias.empty()) { + return; + } + + ggml_tensor * cur = ggml_fill(ctx, data->logits, 0.0f); + + cur = ggml_reshape_2d(ctx, cur, 1, ggml_nelements(cur)); + cur = ggml_set_rows(ctx, cur, sctx->inp_logit_bias, sctx->inp_logit_idxs); + cur = ggml_reshape_1d(ctx, cur, ggml_nelements(cur)); + + data->logits = ggml_add(ctx, data->logits, cur); +} + +static void llama_sampler_logit_bias_backend_set_input(struct llama_sampler * smpl) { + auto * sctx = (llama_sampler_logit_bias *) smpl->ctx; + if (sctx->logit_bias.empty()) { + return; + } + + GGML_ASSERT(sctx->inp_logit_bias != nullptr); + GGML_ASSERT(sctx->inp_logit_idxs != nullptr); + + const size_t n = sctx->logit_bias.size(); + + std::vector data_logit_bias(n, 0.0f); + std::vector data_logit_idxs(n, 0); + for (size_t i = 0; i < n; ++i) { + const auto & lb = sctx->logit_bias[i]; + GGML_ASSERT(lb.token >= 0 && lb.token < (int32_t) sctx->n_vocab); + data_logit_bias[i] = lb.bias; + data_logit_idxs[i] = lb.token; + } + + ggml_backend_tensor_set(sctx->inp_logit_bias, data_logit_bias.data(), 0, ggml_nbytes(sctx->inp_logit_bias)); + ggml_backend_tensor_set(sctx->inp_logit_idxs, data_logit_idxs.data(), 0, ggml_nbytes(sctx->inp_logit_idxs)); +} + +static bool llama_sampler_logit_bias_backend_init( + struct llama_sampler * smpl, + ggml_backend_buffer_type_t buft) { + auto * sctx = (llama_sampler_logit_bias *) smpl->ctx; + + sctx->init(true); + + if (sctx->logit_bias.empty()) { + return true; + } + + ggml_init_params params = { + /*.mem_size =*/ 2*ggml_tensor_overhead(), + /*.mem_buffer =*/ nullptr, + /*.no_alloc =*/ true, + }; + + sctx->inp_ctx.reset(ggml_init(params)); + + const size_t n = sctx->logit_bias.size(); + + sctx->inp_logit_bias = ggml_new_tensor_2d(sctx->inp_ctx.get(), GGML_TYPE_F32, 1, n); + ggml_set_name(sctx->inp_logit_bias, "logit_bias"); + ggml_set_input(sctx->inp_logit_bias); + + sctx->inp_logit_idxs = ggml_new_tensor_1d(sctx->inp_ctx.get(), GGML_TYPE_I32, n); + ggml_set_name(sctx->inp_logit_idxs, "logit_idxs"); + ggml_set_input(sctx->inp_logit_idxs); + + // Allocate all tensors from our context to the backend + sctx->inp_buf.reset(ggml_backend_alloc_ctx_tensors_from_buft(sctx->inp_ctx.get(), buft)); + + ggml_backend_buffer_clear(sctx->inp_buf.get(), 0); + + return true; +} + static struct llama_sampler_i llama_sampler_logit_bias_i = { - /* .name = */ llama_sampler_logit_bias_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_logit_bias_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_logit_bias_clone, - /* .free = */ llama_sampler_logit_bias_free, + /* .name = */ llama_sampler_logit_bias_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_logit_bias_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_logit_bias_clone, + /* .free = */ llama_sampler_logit_bias_free, + /* .backend_init = */ llama_sampler_logit_bias_backend_init, + /* .backend_accept = */ nullptr, + /* .backend_apply = */ llama_sampler_logit_bias_backend_apply, + /* .backend_set_input = */ llama_sampler_logit_bias_backend_set_input, }; struct llama_sampler * llama_sampler_init_logit_bias( int32_t n_vocab, int32_t n_logit_bias, const llama_logit_bias * logit_bias) { + const bool is_empty = n_logit_bias <= 0; + + if (is_empty) { + return llama_sampler_init_empty("?logit-bias"); + } + return llama_sampler_init( /* .iface = */ &llama_sampler_logit_bias_i, /* .ctx = */ new llama_sampler_logit_bias { - /* .n_vocab = */ n_vocab, - /* .logit_bias = */ std::vector(logit_bias, logit_bias + n_logit_bias), - /* .to_search = */ {}, + ("logit-bias"), + /* .n_vocab = */ n_vocab, + /* .logit_bias = */ std::vector(logit_bias, logit_bias + n_logit_bias), + /* .to_search = */ {}, + /* .inp_logit_bias = */ nullptr, + /* .inp_logit_idxs = */ nullptr, + /* .inp_ctx = */ nullptr, + /* .inp_buf = */ nullptr, } ); } @@ -2627,12 +3685,16 @@ static void llama_sampler_infill_free(struct llama_sampler * smpl) { } static struct llama_sampler_i llama_sampler_infill_i = { - /* .name = */ llama_sampler_infill_name, - /* .accept = */ nullptr, - /* .apply = */ llama_sampler_infill_apply, - /* .reset = */ nullptr, - /* .clone = */ llama_sampler_infill_clone, - /* .free = */ llama_sampler_infill_free, + /* .name = */ llama_sampler_infill_name, + /* .accept = */ nullptr, + /* .apply = */ llama_sampler_infill_apply, + /* .reset = */ nullptr, + /* .clone = */ llama_sampler_infill_clone, + /* .free = */ llama_sampler_infill_free, + /* .backend_apply = */ nullptr, + /* .backend_accept = */ nullptr, + /* .backend_set_input = */ nullptr, + /* .backend_init = */ nullptr, }; struct llama_sampler * llama_sampler_init_infill(const struct llama_vocab * vocab) { @@ -2664,7 +3726,7 @@ uint32_t llama_sampler_get_seed(const struct llama_sampler * smpl) { if (smpl->iface == &llama_sampler_chain_i) { const auto * ctx = (const llama_sampler_chain *) smpl->ctx; for (auto it = ctx->samplers.rbegin(); it != ctx->samplers.rend(); ++it) { - const uint32_t seed = llama_sampler_get_seed(*it); + const uint32_t seed = llama_sampler_get_seed(it->ptr); if (seed != LLAMA_DEFAULT_SEED) { return seed; } diff --git a/src/llama-sampling.h b/src/llama-sampling.h index 1e3de4e2ec..6a963c0bb7 100644 --- a/src/llama-sampling.h +++ b/src/llama-sampling.h @@ -14,7 +14,16 @@ struct llama_grammar; struct llama_sampler_chain { llama_sampler_chain_params params; - std::vector samplers; + // has .backend_init() been called? + bool is_init = false; + + struct info { + bool is_backend; + + llama_sampler * ptr; + }; + + std::vector samplers; // pre-allocated buffer for llama_sampler_sample to avoid repeated allocations std::vector cur; @@ -27,9 +36,9 @@ struct llama_sampler_chain { }; struct llama_sampler * llama_sampler_init_dry_testing( - int32_t context_size, - float dry_multiplier, - float dry_base, - int32_t dry_allowed_length, - int32_t dry_penalty_last_n, - const std::vector>& seq_breakers); + int32_t context_size, + float dry_multiplier, + float dry_base, + int32_t dry_allowed_length, + int32_t dry_penalty_last_n, + const std::vector> & seq_breakers); diff --git a/src/llama.cpp b/src/llama.cpp index 76b3acbadb..98fb770844 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -713,7 +713,7 @@ enum llama_params_fit_status llama_params_fit( struct llama_sampler_chain_params llama_sampler_chain_default_params() { struct llama_sampler_chain_params result = { - /*.no_perf =*/ true, + /*.no_perf =*/ true, }; return result; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c3d9f9c324..6245cd967a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -219,8 +219,18 @@ endif() llama_build_and_test(test-gguf.cpp) llama_build_and_test(test-backend-ops.cpp) -llama_build_and_test(test-model-load-cancel.cpp LABEL "model") -llama_build_and_test(test-autorelease.cpp LABEL "model") +llama_build_and_test(test-model-load-cancel.cpp LABEL "model") +llama_build_and_test(test-autorelease.cpp LABEL "model") +llama_build_and_test(test-backend-sampler.cpp LABEL "model") + +llama_test(test-backend-sampler NAME test-backend-sampler-greedy ARGS --test greedy) +llama_test(test-backend-sampler NAME test-backend-sampler-temp ARGS --test temp) +llama_test(test-backend-sampler NAME test-backend-sampler-top_k ARGS --test top_k) +llama_test(test-backend-sampler NAME test-backend-sampler-dist ARGS --test dist) +llama_test(test-backend-sampler NAME test-backend-sampler-dist-and-cpu ARGS --test dist_and_cpu) +llama_test(test-backend-sampler NAME test-backend-sampler-logit-bias ARGS --test logit_bias) +llama_test(test-backend-sampler NAME test-backend-sampler-mul_seq ARGS --test multi_sequence) +llama_test(test-backend-sampler NAME test-backend-sampler-set-sampler ARGS --test set_sampler) # Test for state restore with fragmented KV cache # Requires a model, uses same args pattern as test-thread-safety diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 6dedd8de58..76abfdaf0a 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7775,8 +7775,11 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {32, 2, 32, 1}, true, true, GGML_TYPE_F32, {1, 1}, 0.1f, 8.0f)); test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {32, 2, 32, 1}, true, true, GGML_TYPE_F16, {1, 1}, 0.1f, 8.0f)); - test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {200001, 2, 3, 1}, true, true, GGML_TYPE_F32, {1, 1}, 0.1f, 8.0f)); - test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {200001, 2, 3, 1}, true, true, GGML_TYPE_F16, {1, 1}, 0.1f, 8.0f)); + test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {200001, 2, 3, 1}, true, true, GGML_TYPE_F32, {1, 1}, 0.1f, 8.0f)); + test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {200001, 2, 3, 1}, true, true, GGML_TYPE_F16, {1, 1}, 0.1f, 8.0f)); + test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {200000, 1, 1, 1}, false, false, GGML_TYPE_F32, {1, 1}, 1.0f, 0.0f)); + test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {200000, 4, 1, 1}, false, false, GGML_TYPE_F32, {1, 1}, 1.0f, 0.0f)); + test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {643251, 3, 1, 1}, false, false, GGML_TYPE_F32, {1, 1}, 1.0f, 0.0f)); for (float max_bias : {0.0f, 8.0f}) { for (float scale : {1.0f, 0.1f}) { @@ -7880,6 +7883,11 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_argsort(GGML_TYPE_F32, {2, 8, 8192, 1}, order)); // bailingmoe2 (group selection) } + for (int n = 1; n < 5; ++n) { + for (int k = 1; k <= n; ++k) { + test_cases.emplace_back(new test_top_k(GGML_TYPE_F32, {n, 2, 1, 3}, k, true)); + } + } for (int i = 0; i < 20; ++i) { for (int k : {1, 2, 3, 7, 15, 100, 500, 1023, 9999}) { if (k <= 1<> make_test_cases_eval() { test_cases.emplace_back(new test_cumsum(GGML_TYPE_F32, { 2048, 5, 4, 3 })); test_cases.emplace_back(new test_cumsum(GGML_TYPE_F32, { 201*1204, 1, 1, 1 })); test_cases.emplace_back(new test_cumsum(GGML_TYPE_F32, { 312*1205, 1, 1, 1 })); + test_cases.emplace_back(new test_cumsum(GGML_TYPE_F32, { 20481, 4, 1, 1 })); test_cases.emplace_back(new test_xielu()); @@ -8294,6 +8303,12 @@ static std::vector> make_test_cases_perf() { } } + for (int col : {8192, 16384, 32768, 65536, 131072, 262144, 524288}) { + for (int rows : {1, 4, 16}){ + test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {col, rows, 1, 1}, false, false, GGML_TYPE_F32, {1, 1}, 1.0f, 0.0f)); + } + } + test_cases.emplace_back(new test_conv_2d_dw({512, 512, 256, 1}, {3, 3, 1, 256}, 1, 1, 1, false)); test_cases.emplace_back(new test_conv_2d_dw({512, 512, 256, 1}, {3, 3, 1, 256}, 1, 1, 1, true)); @@ -8337,7 +8352,9 @@ static std::vector> make_test_cases_perf() { test_cases.emplace_back(new test_sum(GGML_TYPE_F32, it)); } - test_cases.emplace_back(new test_argsort(GGML_TYPE_F32, {65000, 16, 1, 1})); + test_cases.emplace_back(new test_argsort(GGML_TYPE_F32, {65000, 16, 1, 1})); + test_cases.emplace_back(new test_argsort(GGML_TYPE_F32, {200000, 1, 1, 1})); + test_cases.emplace_back(new test_argsort(GGML_TYPE_F32, {200000, 16, 1, 1})); test_cases.emplace_back(new test_top_k(GGML_TYPE_F32, {2, 1, 1, 1}, 1)); for (auto k : {1, 10, 40, 400}) { @@ -8348,13 +8365,18 @@ static std::vector> make_test_cases_perf() { } } + for (auto nrows : {1, 4, 8, 16}) { + for (auto cols : {128, 1024, 4096, 8192, 16384, 32768, 65536, 131072, 200000, 2000000}) { + test_cases.emplace_back(new test_cumsum(GGML_TYPE_F32, {cols, nrows, 1, 1})); + } + } + // Examples from granite-4.0-h-1b/ggml-model-Q8_0.gguf test_cases.emplace_back(new test_ssm_conv(GGML_TYPE_F32, {515, 3328, 1, 1}, {4, 3328, 1, 1})); // prefill test_cases.emplace_back(new test_ssm_conv(GGML_TYPE_F32, {4, 3328, 1, 1}, {4, 3328, 1, 1})); // generate test_cases.emplace_back(new test_ssm_scan(GGML_TYPE_F32, 128, 64, 48, 1, 512, 1)); // prefill test_cases.emplace_back(new test_ssm_scan(GGML_TYPE_F32, 128, 64, 48, 1, 1, 1)); // generate - return test_cases; } diff --git a/tests/test-backend-sampler.cpp b/tests/test-backend-sampler.cpp new file mode 100644 index 0000000000..24ece9d4b1 --- /dev/null +++ b/tests/test-backend-sampler.cpp @@ -0,0 +1,1237 @@ +#include "ggml.h" +#include "llama.h" +#include "llama-cpp.h" +#include "get-model.h" +#include "common.h" + +#ifdef NDEBUG +#undef NDEBUG +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct backend_cli_args { + const char * model = nullptr; + const char * test = nullptr; + const char * device = "cpu"; +}; + +struct test_model_context { + llama_model_ptr model; + llama_context_ptr ctx; + int n_vocab = 0; + + std::unordered_map seq_positions; + std::unordered_map last_batch_info; + + bool load_model(const backend_cli_args & args) { + if (model) { + return true; + } + + llama_backend_init(); + + auto mparams = llama_model_default_params(); + + ggml_backend_dev_t devs[2]; + if (std::string_view(args.device) == "gpu") { + ggml_backend_dev_t gpu = ggml_backend_dev_by_type(GGML_BACKEND_DEVICE_TYPE_GPU); + if (gpu == nullptr) { + fprintf(stderr, "Error: GPU requested but not available\n"); + return false; + } + devs[0] = gpu; + devs[1] = nullptr; // null terminator + mparams.devices = devs; + mparams.n_gpu_layers = 999; + } else if (std::string_view(args.device) == "cpu") { + ggml_backend_dev_t cpu = ggml_backend_dev_by_type(GGML_BACKEND_DEVICE_TYPE_CPU); + devs[0] = cpu; + devs[1] = nullptr; // null terminator + mparams.devices = devs; + } + + fprintf(stderr, "Using device: %s\n", ggml_backend_dev_name(devs[0])); + + model.reset(llama_model_load_from_file(args.model, mparams)); + + if (!model) { + fprintf(stderr, "Warning: failed to load model '%s', skipping test\n", args.model); + return false; + } + n_vocab = llama_vocab_n_tokens(get_vocab()); + fprintf(stderr, "Vocabulary size: %d\n", n_vocab); + + return true; + } + + bool setup(const backend_cli_args & args, std::vector & configs, int32_t n_seq_max = -1) { + if (!model) { + load_model(args); + } + + if (ctx) { + return true; + } + + llama_context_params cparams = llama_context_default_params(); + cparams.n_ctx = 512; + cparams.n_batch = 512; + cparams.samplers = configs.data(); + cparams.n_samplers = configs.size(); + + // If n_seq_max is not specified, calculate it from configs + if (n_seq_max < 0) { + int32_t max_seq_id = 0; + for (const auto & config : configs) { + max_seq_id = std::max(config.seq_id, max_seq_id); + } + cparams.n_seq_max = max_seq_id + 1; + } else { + cparams.n_seq_max = n_seq_max; + } + + ctx.reset(llama_init_from_model(model.get(), cparams)); + if (!ctx) { + fprintf(stderr, "Warning: failed to create context, skipping test\n"); + return false; + } + llama_set_warmup(ctx.get(), false); + + return true; + } + + bool decode(const std::map & prompts) { + if (!ctx) { + fprintf(stderr, "Error: context not initialized, call setup() first\n"); + return false; + } + + last_batch_info.clear(); + llama_batch batch = llama_batch_init(512, 0, prompts.size()); + + auto vocab = get_vocab(); + for (const auto & [seq_id, prompt] : prompts) { + std::vector tokens; + tokens.push_back(llama_vocab_bos(vocab)); + + std::vector prompt_tokens(32); + int n_tokens = llama_tokenize(vocab, prompt.c_str(), prompt.length(), + prompt_tokens.data(), prompt_tokens.size(), + false, false); + if (n_tokens < 0) { + fprintf(stderr, "Warning: tokenization failed for seq_id %d\n", seq_id); + llama_batch_free(batch); + return false; + } + + for (int i = 0; i < n_tokens; i++) { + tokens.push_back(prompt_tokens[i]); + } + + if (seq_positions.find(seq_id) == seq_positions.end()) { + seq_positions[seq_id] = 0; + } + + int32_t start_pos = seq_positions[seq_id]; + for (size_t i = 0; i < tokens.size(); i++) { + common_batch_add(batch, tokens[i], start_pos + i, { seq_id }, i == tokens.size() - 1); + } + + seq_positions[seq_id] = start_pos + tokens.size(); + } + + + printf("Batch contents:\n"); + printf("n_tokens: %d\n", batch.n_tokens); + for (int i = 0; i < batch.n_tokens; i++) { + printf("token[%d]: tok=%-5d, pos=%d, n_seq_id=%d, seq_ids=[", i, batch.token[i], batch.pos[i], batch.n_seq_id[i]); + + for (int j = 0; j < batch.n_seq_id[i]; j++) { + printf("%d%s", batch.seq_id[i][j], j < batch.n_seq_id[i]-1 ? ", " : ""); + } + printf("], logits=%d\n", batch.logits[i]); + } + + if (llama_decode(ctx.get(), batch) != 0) { + fprintf(stderr, "Warning: llama_decode failed\n"); + llama_batch_free(batch); + return false; + } + + // Build mapping from seq id to batch token idx + for (int i = 0; i < batch.n_tokens; i++) { + if (batch.logits[i]) { + llama_seq_id seq_id = batch.seq_id[i][0]; + last_batch_info[seq_id] = i; + } + } + + llama_batch_free(batch); + return true; + } + + int32_t idx_for_seq(llama_seq_id seq_id) { + auto it = last_batch_info.find(seq_id); + if (it == last_batch_info.end()) { + fprintf(stderr, "Error: no batch index found for seq_id %d\n", seq_id); + return -1; + } + return it->second; + } + + void update_batch_info(const llama_batch & batch) { + last_batch_info.clear(); + for (int i = 0; i < batch.n_tokens; i++) { + if (batch.logits[i]) { + llama_seq_id cur_seq = batch.seq_id[i][0]; + last_batch_info[cur_seq] = i; + } + } + } + + bool decode_token(llama_token token, llama_seq_id seq_id = 0) { + if (ctx == nullptr) { + fprintf(stderr, "Error: context not initialized, call setup() first\n"); + return false; + } + + llama_batch batch = llama_batch_init(1, 0, 1); + int32_t pos = seq_positions[seq_id]; + common_batch_add(batch, token, pos, { seq_id }, true); + + if (llama_decode(ctx.get(), batch) != 0) { + fprintf(stderr, "Warning: llama_decode failed for token %d in seq %d\n", token, seq_id); + llama_batch_free(batch); + return false; + } + + update_batch_info(batch); + + seq_positions[seq_id]++; + llama_batch_free(batch); + return true; + } + + bool decode_tokens(const std::map & seq_tokens) { + if (ctx == nullptr) { + fprintf(stderr, "Error: context not initialized, call setup() first\n"); + return false; + } + + llama_batch batch = llama_batch_init(seq_tokens.size(), 0, seq_tokens.size()); + + for (const auto & [seq_id, token] : seq_tokens) { + int32_t pos = seq_positions[seq_id]; + common_batch_add(batch, token, pos, { seq_id }, true); + } + + if (llama_decode(ctx.get(), batch) != 0) { + fprintf(stderr, "Warning: llama_decode failed for batch tokens\n"); + llama_batch_free(batch); + return false; + } + + for (const auto & [seq_id, _] : seq_tokens) { + seq_positions[seq_id]++; + } + + update_batch_info(batch); + + llama_batch_free(batch); + return true; + } + + std::string token_to_piece(llama_token token, bool special) { + std::string piece; + piece.resize(piece.capacity()); // using string internal cache, 15 bytes + '\n' + const int n_chars = llama_token_to_piece(get_vocab(), token, &piece[0], piece.size(), 0, special); + if (n_chars < 0) { + piece.resize(-n_chars); + int check = llama_token_to_piece(get_vocab(), token, &piece[0], piece.size(), 0, special); + GGML_ASSERT(check == -n_chars); + } + else { + piece.resize(n_chars); + } + + return piece; + } + + void reset() { + ctx.reset(); + seq_positions.clear(); + last_batch_info.clear(); + } + + const llama_vocab * get_vocab() const { + return model ? llama_model_get_vocab(model.get()) : nullptr; + } + +}; + +static void test_backend_greedy_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 0; + + struct llama_sampler_chain_params backend_sampler_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_sampler_params)); + + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_greedy()); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Some"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + printf("greedy sampled id:%d, string:'%s'\n", token, test_ctx.token_to_piece(token, false).c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + + token = llama_get_sampled_token_ith(test_ctx.ctx.get(), -1); + printf("greedy sampled id:%d, string:'%s'\n", token, test_ctx.token_to_piece(token, false).c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + + for (int i = 0; i < 10; i++) { + int32_t loop_idx = test_ctx.idx_for_seq(seq_id); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), loop_idx); + printf("Generation step %d: token id:%d, string: %s\n", i, token, test_ctx.token_to_piece(token, false).c_str()); + if (!test_ctx.decode_token(token, 0)) { + GGML_ASSERT(false && "Failed to decode token"); + } + } +} + +static void test_backend_top_k_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 0; + const int32_t k = 8; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_top_k(k)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Hello"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + float * logits = llama_get_sampled_logits_ith(test_ctx.ctx.get(), batch_idx); + uint32_t n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + for (size_t i = 0; i < n_logits; ++i) { + printf("top_k logit[%zu] = %.6f\n", i, logits[i]); + } + + llama_token * candidates = llama_get_sampled_candidates_ith(test_ctx.ctx.get(), batch_idx); + uint32_t n_candidates = llama_get_sampled_candidates_count_ith(test_ctx.ctx.get(), batch_idx); + for (size_t i = 0; i < n_candidates; ++i) { + printf("top_k candidate[%zu] = %d : %s\n", i, candidates[i], + test_ctx.token_to_piece(candidates[i], false).c_str()); + } + + // Sample using CPU sampler for verification that it is possible to do hybrid + // sampling, first top_k on the backend and then dist on the CPU. + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + GGML_ASSERT(chain->iface->backend_apply != nullptr); + + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(18)); + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + + printf("backend top-k hybrid sampling test PASSED\n"); +} + +static void test_backend_temp_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + + { + const float temp_0 = 0.8f; + struct llama_sampler_chain_params backend_chain_params_0 = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain_0(llama_sampler_chain_init(backend_chain_params_0)); + llama_sampler_chain_add(backend_sampler_chain_0.get(), llama_sampler_init_temp(temp_0)); + + const float temp_1 = 0.1f; + struct llama_sampler_chain_params backend_chain_params_1 = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain_1(llama_sampler_chain_init(backend_chain_params_1)); + llama_sampler_chain_add(backend_sampler_chain_1.get(), llama_sampler_init_temp(temp_1)); + + std::vector backend_sampler_configs = { + { 0, backend_sampler_chain_0.get() }, + { 1, backend_sampler_chain_1.get() } + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{0, "Some where over the"}, {1, "Once upon a"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + // Verfify sequence 0 + { + int32_t batch_idx = test_ctx.idx_for_seq(0); + int n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + GGML_ASSERT(n_logits == test_ctx.n_vocab); + + // Sample from sequence 0 using CPU sampler + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(18)); + + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("Sequence 0 sampled token id:%d, string: '%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + + + // Verfify sequence 1 + { + int32_t batch_idx = test_ctx.idx_for_seq(1); + + // Sample from sequence 1 using CPU sampler + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(18)); + + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("Sequence 1 sampled token id:%d, string: '%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + } + + // lambda to testing non-positive temperature values. + auto test_argmax_temp = [&](float temp) { + printf("\nTesting temperature = %.1f\n", temp); + + test_ctx.reset(); + + int seq_id = 0; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_temp(temp)); + + std::vector backend_sampler_configs = { + { seq_id, backend_sampler_chain.get() }, + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Once"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + uint32_t n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + GGML_ASSERT(n_logits == 1); + }; + + test_argmax_temp(0.0f); + test_argmax_temp(-1.0f); + + printf("backend temp sampling test PASSED\n"); + +} + +static void test_backend_temp_ext_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + { + int seq_id = 0; + const float temp = 0.8f; + const float delta = 0.5f; + const float exponent = 1.5f; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_temp_ext(temp, delta, exponent)); + + std::vector backend_sampler_configs = { + { seq_id, backend_sampler_chain.get() }, + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Once upon a"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + // Verify sequence 0 + { + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + int n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + GGML_ASSERT(n_logits == test_ctx.n_vocab); + } + } + + test_ctx.reset(); + + // lambda to testing non-positive temp/delta/exponent values. + auto test_argmax_temp = [&](float temp, float delta, float exponent) { + printf("\nTesting temperature = %.1f, delta = %1.f, exponent = %1.f\n", temp, delta, exponent); + + test_ctx.reset(); + + int seq_id = 0; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_temp_ext(temp, delta, exponent)); + + std::vector backend_sampler_configs = { + { seq_id, backend_sampler_chain.get() }, + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Once"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + uint32_t n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + + if (temp <= 0.0f && delta >= 0.0f) { + GGML_ASSERT(n_logits == 1); + } else { + GGML_ASSERT(n_logits == (uint32_t) test_ctx.n_vocab); + } + }; + + test_argmax_temp(0.0f, 0.3f, 1.0f); // Greedy (temp=0) + test_argmax_temp(-1.0f, 0.3f, 2.0f); // Greedy (temp<0) + test_argmax_temp(0.8f, 0.0f, 2.0f); // Temperature scaling + + printf("backend temp_ext sampling test PASSED\n"); + +} + +static void test_backend_min_p_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 0; + const float p = 0.1; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_min_p(p, 0)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Hello"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + float * logits = llama_get_sampled_logits_ith(test_ctx.ctx.get(), batch_idx); + uint32_t n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + + // Print the logits that are above the min-p threshold + std::vector filtered_logits; + for (size_t i = 0; i < n_logits; ++i) { + if (logits[i] > -1e9f) { + filtered_logits.push_back(logits[i]); + //printf("min_p logit[%zu] = %.6f\n", i, logits[i]); + } + } + GGML_ASSERT(filtered_logits.size() < (size_t) test_ctx.n_vocab); + + // Sample using CPU sampler for verification to inspect they are reasonable + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(88)); + + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("min-p cpu sampled token id:%d, string: '%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + + // Decode and sampler 10 more tokens + for (int i = 0; i < 10; i++) { + int32_t loop_idx = test_ctx.idx_for_seq(seq_id); + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), loop_idx); + printf("min-p gen step %d: token id :%5.d, string: %s\n", i, token, test_ctx.token_to_piece(token, false).c_str()); + if (!test_ctx.decode_token(token, 0)) { + GGML_ASSERT(false && "Failed to decode token"); + } + } + + printf("min-p sampling test PASSED\n"); +} + +static void test_backend_top_p_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 0; + const float p = 0.9; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_top_p(p, 0)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Hello"}})) { + return; + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + float * logits = llama_get_sampled_logits_ith(test_ctx.ctx.get(), batch_idx); + uint32_t n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + + // Print the logits that are above the min-p threshold + std::vector filtered_logits; + for (size_t i = 0; i < n_logits; ++i) { + if (logits[i] > -1e9f) { + filtered_logits.push_back(logits[i]); + } + } + GGML_ASSERT(filtered_logits.size() < (size_t) test_ctx.n_vocab); + GGML_ASSERT(filtered_logits.size() > 0); + + // Sample using CPU sampler for verification to inspect they are reasonable + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(88)); + + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("top-p cpu sampled token id:%d, string: '%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + + // Decode and sampler 10 more tokens + for (int i = 0; i < 10; i++) { + int32_t loop_idx = test_ctx.idx_for_seq(seq_id); + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), loop_idx); + printf("top-p gen step %d: token id :%5.d, string: %s\n", i, token, test_ctx.token_to_piece(token, false).c_str()); + test_ctx.decode_token(token, 0); + } + + printf("top-p sampling test PASSED\n"); +} + +static void test_backend_multi_sequence_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + struct llama_sampler_chain_params chain_params_0 = llama_sampler_chain_default_params(); + llama_sampler_ptr sampler_chain_0(llama_sampler_chain_init(chain_params_0)); + llama_sampler_chain_add(sampler_chain_0.get(), llama_sampler_init_greedy()); + + struct llama_sampler_chain_params chain_params_1 = llama_sampler_chain_default_params(); + llama_sampler_ptr sampler_chain_1(llama_sampler_chain_init(chain_params_1)); + llama_sampler_chain_add(sampler_chain_1.get(), llama_sampler_init_temp(0.8f)); + llama_sampler_chain_add(sampler_chain_1.get(), llama_sampler_init_greedy()); + + std::vector backend_sampler_configs = { + { 0, sampler_chain_0.get() }, + { 1, sampler_chain_1.get() } + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + std::map prompts = { + {0, "Hello"}, + {1, "Some"} + }; + + if (!test_ctx.decode(prompts)) { + GGML_ASSERT(false && "Failed to decode token"); + } + + // Verfiy sequence 0 + { + int32_t batch_idx = test_ctx.idx_for_seq(0); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("Seq 0 sampled token id=%d, string='%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + + // Verify sequence 1 + { + int32_t batch_idx= test_ctx.idx_for_seq(1); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("Seq 1 sampled token id=%d, string='%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + + // Generate tokens for each sequence + printf("\nMulti-sequence generation:\n"); + for (int step = 0; step < 4; step++) { + std::map tokens; + + for (llama_seq_id seq_id : {0, 1}) { + int32_t idx = test_ctx.idx_for_seq(seq_id); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf(" Seq %d, step %d: token id=%d, string='%s'\n", seq_id, step, token, token_str.c_str()); + tokens[seq_id] = token; + } + + // Decode all tokens in a single batch + if (!test_ctx.decode_tokens(tokens)) { + GGML_ASSERT(false && "Failed to decode token"); + } + } + + printf("backend multi-sequence sampling test PASSED\n"); +} + +static void test_backend_dist_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 189; + const int32_t seed = 88; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_dist(seed)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Some"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + printf("dist sampled id:%d, string:'%s'\n", token, test_ctx.token_to_piece(token, false).c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + //GGML_ASSERT(llama_get_sampled_logits_ith(test_ctx.ctx.get(), batch_idx) == nullptr); + + token = llama_get_sampled_token_ith(test_ctx.ctx.get(), -1); + printf("dist sampled id:%d, string:'%s'\n", token, test_ctx.token_to_piece(token, false).c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + + printf("backend dist sampling test PASSED\n"); +} + +static void test_backend_dist_sampling_and_cpu(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 0; + const int32_t seed = 88; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_dist(seed)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Some"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + // Sample using CPU sampler + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(18)); + + llama_token backend_token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + llama_token cpu_token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + printf("dist & cpu sampled id:%d, string:'%s'\n", cpu_token, test_ctx.token_to_piece(cpu_token, false).c_str()); + GGML_ASSERT(backend_token == cpu_token); + + printf("backend dist & cpu sampling test PASSED\n"); +} + +static void test_backend_logit_bias_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + // Calling load_model to ensure vocab is loaded and can be accessed + if (!test_ctx.load_model(args)) { + return; + } + + const int seq_id = 0; + + // Create the logit biases vector. + std::vector logit_bias; + + // Get the token for the piece "World". + const std::string piece = "World"; + std::vector tokens(16); + llama_tokenize(test_ctx.get_vocab(), piece.c_str(), piece.size(), tokens.data(), tokens.size(), false, false); + llama_token bias_token = tokens[0]; + logit_bias.push_back({ bias_token, +100.0f }); + printf("biasing token piece '%s' -> token id %d\n", piece.c_str(), bias_token); + + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_logit_bias( + llama_vocab_n_tokens(test_ctx.get_vocab()), + logit_bias.size(), + logit_bias.data())); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_dist(88)); + + std::vector backend_sampler_configs = { + { seq_id, backend_sampler_chain.get() }, + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Hello"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + llama_token backend_token = llama_get_sampled_token_ith(test_ctx.ctx.get(), test_ctx.idx_for_seq(seq_id)); + const std::string backend_token_str = test_ctx.token_to_piece(backend_token, false); + printf("logit bias sampled token = %d, string='%s'\n", backend_token, backend_token_str.c_str()); + GGML_ASSERT(backend_token == bias_token); + + printf("backend logit bias sampling test PASSED\n"); +} + +// This test verifies that it is possible to have two different backend sampler, +// one that uses the backend dist sampler, and another that uses CPU dist sampler. +static void test_backend_mixed_sampling(const backend_cli_args & args) { + test_model_context test_ctx; + + struct llama_sampler_chain_params chain_params_0 = llama_sampler_chain_default_params(); + llama_sampler_ptr sampler_chain_0(llama_sampler_chain_init(chain_params_0)); + llama_sampler_chain_add(sampler_chain_0.get(), llama_sampler_init_dist(88)); + + int k = 40; + struct llama_sampler_chain_params chain_params_1 = llama_sampler_chain_default_params(); + llama_sampler_ptr sampler_chain_1(llama_sampler_chain_init(chain_params_1)); + llama_sampler_chain_add(sampler_chain_1.get(), llama_sampler_init_top_k(k)); + + std::vector backend_sampler_configs = { + { 0, sampler_chain_0.get() }, + { 1, sampler_chain_1.get() } + }; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + std::map prompts = { + {0, "Hello"}, + {1, "Some"} + }; + + if (!test_ctx.decode(prompts)) { + GGML_ASSERT(false && "Failed to decode token"); + } + + // Verfiy sequence 0 that used the dist backend sampler. + { + int32_t batch_idx = test_ctx.idx_for_seq(0); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("sampled token id=%d, string='%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + //GGML_ASSERT(llama_get_sampled_logits_ith(test_ctx.ctx.get(), batch_idx) == nullptr); + //GGML_ASSERT(llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx) == 0); + } + + // Verfiy sequence 1 that used the top-k backend sampler. + { + int32_t batch_idx = test_ctx.idx_for_seq(1); + float * logits = llama_get_sampled_logits_ith(test_ctx.ctx.get(), batch_idx); + GGML_ASSERT(logits != nullptr); + size_t n_logits = llama_get_sampled_logits_count_ith(test_ctx.ctx.get(), batch_idx); + GGML_ASSERT(n_logits == (size_t) k); + GGML_ASSERT(llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx) == LLAMA_TOKEN_NULL); + } + + printf("backend mixed sampling test PASSED\n"); +} + +static void test_backend_set_sampler(const backend_cli_args & args) { + test_model_context test_ctx; + + const int32_t seed = 88; + const int seq_id = 0; + struct llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_dist(seed)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + if (!test_ctx.decode({{seq_id, "Hello"}})) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(seq_id); + + // Sample using backend sampler configured above + llama_token backend_token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + const std::string backend_token_str = test_ctx.token_to_piece(backend_token, false); + printf("dist sampled token = %d, string='%s'\n", backend_token, backend_token_str.c_str()); + + // Now clear the backend sampler for this sequence. + llama_set_sampler(test_ctx.ctx.get(), seq_id, nullptr); + printf("Cleared backend sampler for seq_id %d\n", seq_id); + + // Sample using CPU sampler + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_dist(18)); + + std::map tokens = { { seq_id, backend_token}, }; + if (!test_ctx.decode_tokens(tokens)) { + GGML_ASSERT(false && "Failed to decode token"); + } + + // Should not have any sampled token or probs after clearing the backend sampler. + const int32_t idx = test_ctx.idx_for_seq(seq_id); + GGML_ASSERT(llama_get_sampled_token_ith(test_ctx.ctx.get(), idx) == LLAMA_TOKEN_NULL); + GGML_ASSERT(llama_get_sampled_probs_ith(test_ctx.ctx.get(), idx) == nullptr); + + // Sample the token using the CPU sampler chain. + llama_token token2 = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), seq_id); + const std::string token2_str = test_ctx.token_to_piece(token2, false); + printf("CPU sampled token after clearing backend sampler: id=%d, string='%s'\n", token2, token2_str.c_str()); + std::map tokens2 = { { seq_id, token2}, }; + + // Set a new backend sampler for the sequence. + struct llama_sampler_chain_params new_backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr new_backend_sampler_chain(llama_sampler_chain_init(new_backend_chain_params)); + llama_sampler_chain_add(new_backend_sampler_chain.get(), llama_sampler_init_top_k(20)); + llama_sampler_chain_add(new_backend_sampler_chain.get(), llama_sampler_init_dist(seed)); + llama_set_sampler(test_ctx.ctx.get(), seq_id, new_backend_sampler_chain.get()); + + if (!test_ctx.decode_tokens(tokens2)) { + GGML_ASSERT(false && "Failed to decode token"); + } + + llama_token new_backend_token = llama_get_sampled_token_ith(test_ctx.ctx.get(), test_ctx.idx_for_seq(seq_id)); + const std::string new_backend_token_str = test_ctx.token_to_piece(new_backend_token, false); + printf("dist sampled token = %d, string='%s'\n", new_backend_token, new_backend_token_str.c_str()); + + printf("backend set sampler test PASSED\n"); +} + +static void test_backend_cpu_mixed_batch(const backend_cli_args & args) { + test_model_context test_ctx; + + // Sequence 0 uses backend sampling + struct llama_sampler_chain_params chain_params_0 = llama_sampler_chain_default_params(); + llama_sampler_ptr sampler_chain_0(llama_sampler_chain_init(chain_params_0)); + llama_sampler_chain_add(sampler_chain_0.get(), llama_sampler_init_dist(88)); + + std::vector backend_sampler_configs = { + { 0, sampler_chain_0.get() }, + }; + + // We need 2 sequences: seq 0 with backend sampling, seq 1 with CPU sampling + if (!test_ctx.setup(args, backend_sampler_configs, 2)) { + return; + } + + std::map prompts = { + {0, "Hello"}, // Will use backend sampling + {1, "Some"} // Will use CPU sampling + }; + + if (!test_ctx.decode(prompts)) { + GGML_ASSERT(false && "Failed to decode token"); + } + + // Verify sequence 0 (backend sampled) + { + int32_t batch_idx = test_ctx.idx_for_seq(0); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("Seq 0 (backend) sampled token id=%d, string='%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + + // Verify sequence 1 (CPU sampled) + { + int32_t batch_idx = test_ctx.idx_for_seq(1); + + llama_token backend_token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + GGML_ASSERT(backend_token == LLAMA_TOKEN_NULL); + + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_greedy()); + + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("Seq 1 (CPU) sampled token id=%d, string='%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + + // Clear/remove the backend sampler, and sample again + { + // clear the backend sampler for seq 0 so that there are no backend + // samplers. + llama_set_sampler(test_ctx.ctx.get(), 0, nullptr); + + // Create a CPU sampler and verify we can sampler from it. + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(chain.get(), llama_sampler_init_greedy()); + + int32_t batch_idx = test_ctx.idx_for_seq(1); + llama_token token = llama_sampler_sample(chain.get(), test_ctx.ctx.get(), batch_idx); + if (!test_ctx.decode_token(token, 1)) { + GGML_ASSERT(false && "Failed to decode token"); + } + } + + // Set a backend sampler so that we can verify that it can be reset + { + struct llama_sampler_chain_params chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr sampler_chain(llama_sampler_chain_init(chain_params)); + llama_sampler_chain_add(sampler_chain.get(), llama_sampler_init_dist(88)); + + llama_set_sampler(test_ctx.ctx.get(), 0, sampler_chain.get()); + + if (!test_ctx.decode_token(3834, 0)) { + GGML_ASSERT(false && "Failed to decode token"); + } + + int32_t batch_idx = test_ctx.idx_for_seq(0); + llama_token token = llama_get_sampled_token_ith(test_ctx.ctx.get(), batch_idx); + const std::string token_str = test_ctx.token_to_piece(token, false); + printf("re-added backend sampled token id=%d, string='%s'\n", token, token_str.c_str()); + GGML_ASSERT(token >= 0 && token < test_ctx.n_vocab); + } + + printf("backend-cpu mixed batch test PASSED\n"); +} + +static void test_backend_max_outputs(const backend_cli_args & args) { + test_model_context test_ctx; + + const int seq_id = 0; + const int32_t seed = 88; + llama_sampler_chain_params backend_chain_params = llama_sampler_chain_default_params(); + llama_sampler_ptr backend_sampler_chain(llama_sampler_chain_init(backend_chain_params)); + llama_sampler_chain_add(backend_sampler_chain.get(), llama_sampler_init_dist(seed)); + std::vector backend_sampler_configs = {{ seq_id, backend_sampler_chain.get() }}; + + if (!test_ctx.setup(args, backend_sampler_configs)) { + return; + } + + llama_batch batch = llama_batch_init(512, 0, 1); + std::string prompt = "Hello"; + + std::vector tokens; + tokens.push_back(llama_vocab_bos(test_ctx.get_vocab())); + + std::vector prompt_tokens(32); + int n_tokens = llama_tokenize(test_ctx.get_vocab(), prompt.c_str(), prompt.length(), + prompt_tokens.data(), prompt_tokens.size(), + false, false); + for (int i = 0; i < n_tokens; i++) { + tokens.push_back(prompt_tokens[i]); + } + + for (size_t i = 0; i < tokens.size(); i++) { + // set all tokens as output to trigger error + common_batch_add(batch, tokens[i], i, { seq_id }, true); + } + + printf(">>> test_max_outputs expected error start:\n"); + const int ret = llama_decode(test_ctx.ctx.get(), batch); + GGML_ASSERT(ret != 0 && "llama_decode should not succeed multiple outputs per sequence"); + printf("<<< test_max_outputs expected error end.\n"); + llama_batch_free(batch); + + printf("backend max outputs test PASSED\n"); +} + +struct backend_test_case { + const char * name; + void (*fn)(const backend_cli_args &); + bool enabled_by_default; +}; + +static const backend_test_case BACKEND_TESTS[] = { + { "greedy", test_backend_greedy_sampling, true }, + { "logit_bias", test_backend_logit_bias_sampling, true }, + { "temp", test_backend_temp_sampling, true }, + { "temp_ext", test_backend_temp_ext_sampling, true }, + { "top_k", test_backend_top_k_sampling, true }, + { "multi_sequence", test_backend_multi_sequence_sampling, true }, + { "dist", test_backend_dist_sampling, true }, + { "dist_and_cpu", test_backend_dist_sampling_and_cpu, true }, + { "set_sampler", test_backend_set_sampler, true }, + { "max_outputs", test_backend_max_outputs, true }, + { "mixed", test_backend_mixed_sampling, true }, + { "min_p", test_backend_min_p_sampling, true }, + { "cpu_mixed", test_backend_cpu_mixed_batch, true }, + { "top_p", test_backend_top_p_sampling, true }, +}; + +static backend_cli_args parse_backend_cli(int argc, char ** argv) { + backend_cli_args out; + + for (int i = 1; i < argc; ++i) { + const char * arg = argv[i]; + + if (std::strcmp(arg, "--test") == 0) { + if (i + 1 >= argc) { + fprintf(stderr, "--test expects a value\n"); + exit(EXIT_FAILURE); + } + out.test = argv[++i]; + continue; + } + if (std::strncmp(arg, "--test=", 7) == 0) { + out.test = arg + 7; + continue; + } + if (std::strcmp(arg, "--model") == 0) { + if (i + 1 >= argc) { + fprintf(stderr, "--model expects a value\n"); + exit(EXIT_FAILURE); + } + out.model = argv[++i]; + continue; + } + if (std::strncmp(arg, "--model=", 8) == 0) { + out.model = arg + 8; + continue; + } + if (std::strcmp(arg, "--device") == 0) { + if (i + 1 >= argc) { + fprintf(stderr, "--device expects a value (cpu or gpu)\n"); + exit(EXIT_FAILURE); + } + out.device = argv[++i]; + continue; + } + if (std::strncmp(arg, "--device=", 9) == 0) { + out.device = arg + 9; + continue; + } + if (!out.model) { + out.model = arg; + continue; + } + + fprintf(stderr, "Unexpected argument: %s\n", arg); + exit(EXIT_FAILURE); + } + + if (std::strcmp(out.device, "cpu") != 0 && std::strcmp(out.device, "gpu") != 0) { + fprintf(stderr, "Invalid device '%s'. Must be 'cpu' or 'gpu'\n", out.device); + exit(EXIT_FAILURE); + } + + return out; +} + +static std::vector collect_tests_to_run(const char * requested) { + std::vector selected; + + if (requested != nullptr) { + for (const auto & test : BACKEND_TESTS) { + if (std::strcmp(test.name, requested) == 0) { + selected.push_back(&test); + break; + } + } + if (selected.empty()) { + fprintf(stderr, "Unknown test '%s'. Available tests:\n", requested); + for (const auto & test : BACKEND_TESTS) { + fprintf(stderr, " %s\n", test.name); + } + exit(EXIT_FAILURE); + } + } else { + for (const auto & test : BACKEND_TESTS) { + if (test.enabled_by_default) { + selected.push_back(&test); + } + } + } + + if (selected.empty()) { + fprintf(stderr, "No backend sampling tests selected. Use --test= to pick one.\n"); + } + + return selected; +} + +static void run_tests(const std::vector & tests, const backend_cli_args & args) { + for (const auto * test : tests) { + fprintf(stderr, "\n=== %s ===\n", test->name); + test->fn(args); + } +} + + +int main(int argc, char ** argv) { + backend_cli_args args = parse_backend_cli(argc, argv); + + if (args.model == nullptr) { + args.model = get_model_or_exit(1, argv); + } + + std::ifstream file(args.model); + if (!file.is_open()) { + fprintf(stderr, "no model '%s' found\n", args.model); + return EXIT_FAILURE; + } + + fprintf(stderr, "using '%s'\n", args.model); + + ggml_time_init(); + + const std::vector tests = collect_tests_to_run(args.test); + if (!tests.empty()) { + run_tests(tests, args); + } + + return 0; +} diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index b3983b2b1713529ed961bb56cdf0379811c3b9a8..e572817dca0c5ea1f264f7ac9ff8b200a0db80f7 100644 GIT binary patch delta 1168847 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⁡BvwOBxV3f)IU>|sa z`94@1o(*whYT~K~Ke&z7s01u#v zBh{(kpg%Rr)63Gio|go(`xL(s*7lAI%DJiOy) zxQ@j8#@5Am>Mq+8%?k$Wo4{QKAQ}%nV%y@)1b}vio z!V9j8+$OPgS}seT2yyYnQ*meslU~(U>OX&OwO_>*T&zekvil|;#aw@1jnY0S6qcmo zK=?5<%WXd4hc>Fr+mJkY>9Sh9!n1{JTu7@?Iv27qiZoHehImSBKpB)r#YtWg0Vt2F zfwvL028i-Z#8n|6`MVy8B#1MzC*vpY45ff07~8#E=IpB1Y6+bNw-VK!wzLE{lvi#m zb(^Fo$ccCH4JXUfD^h>1IaPq3;I1Jyv2pELf(F8iP31*Ev(B?=Vg_-4&wXRpdsRUR z4k%G5EU|=1s}_L`qF%R7E}%)Qn@NcdV&@iANIYzj1=`n}5TT8vm`MB5hmd#yVJ^4u zvu967zfay#g_%It+je||Jz9OejGl6Yg#U!j1Q0Juz8eFMPQQOA2J~fAeToN7tP* z_))deinV+o*ZhCvsn%tyIRcsTBavk-Y{)b}6WL<9qe&Zo6B$-MLSAr=78eus2Wvui z!3zh_Lo}g>7$MXih36vO&bUafMvI7fd2(X*C9$%8g0VeFySl7xBvZ)rYO8JO;LkRc zBTcJ5f&C%WuY6+H*ym18Bu-}S=zTr<5M6^!M!4g|LSTO)Z$$e7-3p{x#j~8zL?N)W z0P#2q3yZ4mPUAx1OfUO*1SJjf zD&SeU+Lxfg92HD>h*Z6cRZ?JQ`?HOGLrysFLD?`Gm~*JL0I77#J>SkAofq7gjg9)* zvzt-rTx5R{iQd2+l1)z;On=O1vOHT(9e{1eN)bS!>bp8bs9+pYBM?lT%UfKAe1-MF z-yd;S&1;5>YZ%=Mz@jUtp5q`vfzzQOdY6KZ2ic6GZPO~+U{w0R5?vAl-WAglo1@xm z+s3x)>dx9|V%rwD2I<)*F0{Z~_Hm(uduz$buhf62G=kTJXh%=s%Q%YQTqbb8X-B9v zjy{+sM@Z4xJZndil34w3+NEncJGV<8yq@ayC<16wsXK}UbSIgbgU!#MnKSycXRk-4 zO*hZ4>DkTtcAi`RhgisKQXOsKgJ*#{=}CdX00mC4n`0pl2Byz|3+ht7DXotplp3S| zyPJQI#IJ+eCLBrR_nW2^c+UcF;Esnr-rGJLGqpWz4kDBpM?3d4Ac^k=wT3Nlp#_#% z;6i&?wmk$K+4j+Z-xT}!aZeMH_*b*`$rjku0@p0CseN4AJ}hUq9ef%@C?doJIHZZh zX7KFUr$Om2g1|GP1Bm5;8G$LYx4P?KSqgt!pe)PbQfv7FJ6Z)<-fGZXm1x z#@{C6e~qLp-Acmq0}!g}Pky9H8#MD_-PlqI($S0%ZDseVf^Rd5t70Brbe1H2_q z7bshXFdX2E`~-8QTL$JK!VG~~kdb`gY~8`{Qnl{Ur zmwO3RKh5319*OIOe)azz;~_YY!+TKUe(bxY$X4u9#3~J!B0a1xODp_G)@0Cl)?k%@ zHN8M#=TA&;P*^5;8O)0?VIe8nWs)KL*h#)jPV!^c6Bv}AyY1xet9Gl1Qwo3HhHBR` zy>|b-W1j;zr&Yi5GP9FJkbkJm;ART0z=~Dui=>zs;n0eN8!JOMn z9;Q%ZF%Lb-9%2q>DeBQCgm8Z@g>XbB6OutuOEP=^EXk-T^B*UfcWILONRs(gg2~uf zmzHoj=RShb8ut)P*klgDgxQZG80Y%%s|2GJe~DnWQv{<;2*K&d|+1m_BZvjP$sf*#e*~Eqw&I`14LBFS0ru)uSs>2C!D6^aX!^Rjn?@GfuR# zQ1WoB{tPHyk%C5#AV+H4Yd?o`hg!mI_e@ml_|j6Jv=G*?X7wk2JzHqK=wq$#c%6uM zjuH)s7Do^9tyGqgvx-DavQsL6q{>;UiW(6l3)c%1S%I&{aw_X)!m2Kr`&apB5>pZu zKp2~3fl8`?QNb8PW-@;dk2CVR*JWunjXMlO{F*OIr>U&K2G4950TS6HY;`(GgF*W- zbN88*TM|+%8N;8ac>xom&SPw}}OHzw)g>Lbf0;fUMwVXED$Q@&=;S1Nz?@ z;HxNm2d*AQtKWaj4cE~|?Ohk{S_mXoK)fql0Y>P^(Pj0;iyuFJ#6PCv{@^QI0w*UK zYODw^q4tlJ{&lT5S(q$L@xNk$kG?QKqSzyal@!g5s#=lxKRTy)Q&N709%1Id>7Ds5 zp=OrG5F3iFX7p+6pPr&tt+-v8EL7&3^M!fz3v2vDWe$Ho`2o-hmASt!rsMh9mlF%| z{NzG2emRT(By*w?PgQ0n;`#Zh?!}20vE1r90~paV+j|x9$eh?qAqUzZpf=L@@k`8 z-TgnC2T^|+Ja!i5fh9W&6;8sWorVfO{=S%)p9pbQ(VyRE5|~6yV0ZHS1d^A7WK8nx z-xr*TW~ERuGd+c0{LP7;`c;%S1C$R^DDMO)PvCQI2LJur_%!Mpi_u5Sra?LpJUtc9 zOudX=#tZW=TT^jmema_rD^oLtnF!Q3H(QvECl`O_qUm^QzS6Cr*fc)o;;G5`7EnFC zfSkFx!o*~}Fgp{?$FuXZ1yJhr%V~Vf&CX#7%)!LE5KXp#`^l-P2t_9`-iep-G{0uz zx#@~jnZ+0CEX;K)^YPTnO2n#DlP_D7@$`(;12mKI%)&f>&rgF0u&$!?J}{hVBpPI)zbW7YG(0~e?JRIO z^Rq4BO;Ny^;|Q3EYG`w69@D}Jn*&xnY}5QCDgihqZBp3nhln5lmN zg`B&}G(Kh*FvA#MWrouYfePplb?*%oc<^rU3vy zSnMUd{3n?@H3KBFK{Tah*rFC9Quu#I8=HM8qnzhFnJ?)zze6%dN^AZ@ow>;{|&Gvr(RPhY@6|{OJb0)R`XKg zD?&~Tlle57OAo0;uUt4XVcEiU1?|ok3pe;Xhn;Im{@maXQpIJz*A9v@&zF>nsiGO& zUIn;q1-Ml`>*+>qI%>{>q-THVZPdZ9${c^4Z^)INGvv?CMVA}A+0#VVh{yS@7`;1# z6+z@`-_eD+P7u7MsLn7)NX7$u<_RIZ5hIsa-20I*g;e--cio?#Va|tqa(=r!!h0*yc&Oh#w(Gk&1m_H z@=M5X@gPubK@(u|dAHJCqz}@p3b!j!ReZX+v$ynE$XX5=SGB=W>v-|XU#|BMw+L~+ zno2O;qDDA`D;dHS?#Fle6cAq(6LaB)TrcW(K_&PH4pb*h!O}88@zh}e*V+&;y$?ri ztP4pR!1L*Qlh;#l)n0#2?L!2gL)3B2#$z%UofZRu!V88gU!RebaI6!f%ga9(C~)xt zis>jppI_3qP+Sh)PxW^b#djXB1>!-A3*g+{S@usRK6{pVXC)`8R4n09YP>W!RJ{zs z)G|&<6)Sb{tqkuw^A^ievr>I`CeFC#MupV{=!FM!jl!!ja6NxQXBbK!aS^gNDbD*N zygyQmAOrF|%tvcRcnltdfPW8oG&FZA^n9ASQ4#o2*qpBB*pMCzI3k$58^lQ^&j~KmE#Z(FG-wX`)L#-<_j*;=F@3b@H?p~ao^CQ;Hf6Z23FN^ z9Ilq+07^E7DIiU5Ylp1h6&$so7GX?Zu=ZQjL2Mi|>Bn2218HG9Z2hzdz?ts?Rj15;KqB@-hk;;DNn_b!~ra z*&E5FD=MIQZ7H~Gwe9a(y|+OYjpvnt9rjD}I_~qp;rRuB7~+esbb0nkYn`v1ktX_^ zF=@@<@3jgYBo9=D@4VaHBxmq(j-j8syXtU3rzPyqzFTTJBbKCe}HcId1fl)q`thWwI;``6HqRLU?>Nl8|E;Wvxk93&_ z1aZd%$T+%aAOHLbJhTw{6XU>z2=TNBQpM|Z1v+B|2-EG071t5x9m;c*bu^xMUKnLq znSNbt!Z4lT9i_|S>1rkt9oebGq=3=_5rDt|IL0-{WFgs9-K_Dpf?YYd z@0cvg-8kJGZa%s~W>*f2u$g)W6<3$83_wSJnZ>QTyn4wkXt%Bw4qT2r;YkzrE*Ojg zk7~ZuDViD@&v~y={am#dagJ__T^_vk8)=mf$b*SOsioG}WyqN*ioh~pTDZgo_8P5< z$zQx^+qJLkR;e5JIdrcv?>L-|V8J=Afld2Ms5TtIO%=HaEQ6~A5ZkTm5e~Enau^|h z@H>|H7M!8ct+XN{tsPZ$qJmdL25doOCm5R4B4iPeTaRHroow zzxvvLUtLz~lrr|CqmQj)VhuL>Rd4Kn6Z@==*je9jD)sk#VGdq0zpb@SR4h{LY{RBe z0wbhx@QXNfu6+@`im5p z*}R-8X`u6RbE;*Akei)TF*Tr^%wrfuBNL!0b*RT`9B@^b2oD)43->}^JvrlljXtGX zN;jtxO9)q7f^;MtfTgfFQgNM8ml@67f6D5%GT5jF_cLAWa61zZo*p;_T#cM#5&Vg? z06dCV0Io#e;J+fS#GBS{D97m<{2!&p^iH|633VMZZbUFG(sh>pC1_WY5)C`|Rq=&! zUNxp4;|n8QCE)=tg(plEf8aKMV?Ai#JVk%12zMO*84P4x!hd=Eu=8cd@0$IU(R*0# z9Xqab{4-Yv>>=kdpX-DZ+Zkv$l- z6c0}%Yvn#90*Cpaj0h208Q$|Q!}p;j)-I7YdTl zJ8VF%aOFPl19vXlbQ0lzVIlG2Qkbb{^jUnhK71TVm4ZGWQD$ww4kbPp-h{SU_i{nl z?X}6a8?VnhXlstlW>^J&-@!nWVLjmZuX&aVa-TWMkU{#vBPo@kgRm5yiOP)H5kgpy z-s(~?>|Sa<*M_=nF5O zQuxO*#=@pkBOl;@kl&x><^)1W@Ldi%)}>Yt(Cg?|fyr175n<%xBMX65}5O7`zT()w0TE6I=JbqI?tXJE9Gm zw_oM?1Q+bjDY*1aO`{&b-FQ?)B)%q(pBl)45n;{EY$p-J0k^oC)aaGYCZgg$w<)vE9$hzZ{_aOdTw2e^IRZb5y0f%O4x5^xJp zfy!jd>KW`>wgCn4o@WXl={NFWK5@+#&SVZ5Ax)mX9k|tIBm3%0w)f37!uX%iurec#q&ti^0h~|K}5UD7zVM;Oz zEEWacm6SM;nV{f>p4d5jh|8m17(jT)NF{@E#{?X;F>sy1qNB?8&;RisxX|xoc~XrH zAfe0PTfhdyMEqVGOxK0g^$(n5QNP)5?0^bs2Jf7IVI`Nx|B*>-ilz@&KkyE%U)k~? zrVXzUJT}X<0jrA(n2dLFC0wOEZ95nZ8Fat&Tk$vhh6_SKbDc|Y1HAo@r#bOLGV!AC z%i*=;-)(r(#n$uZw$H0tkA`;Q8uM#jRmNs{)gDvPOdZ`He{kv#E`5Yn=;%NklOfsQEUP=%CRKZO4ho(=8HCzq}8j7V5~Z3G19ChgOmtTAm!z5k0fOAd-hH zZnuvHPamUW5P~=1@oJp$pTHA-$v~*??Q8IVOB-#(1tW0l%cT_gO(mzF0(@IR!qJ4AF41{(~tG7F1; zn18ugMS(T~LJuW207RGa^CEPE#j1@ku)a~dJsMTw?cM3)>aE1x8Pc*{JsP$oF}lD@ zMvR7!q_+bmoow%}zmD|xF>X7c_J`&7+1gA@)n?Kdm(JN~=PG`KhSK#qNPUgCvzi&! z-)U+ZxB_!;bd>ly zS>6?lqrrnuyX$u~c#vr@C~e@`|Ck5J#|$J$G9BjCU}Cx}S7UX5KU;%|sTxeu8njtu zt1vavzv-${!H%erGpmxC857d9(#O31n3$@9B%wD>2Y>r{__UnY1XBs}r)*Qqa&5_n zZ)|lx%~AwoNtPlQ151$_^+tMs;h_c-?^y%8pAI(jaJBm>Q%g&F63#&|Q*+4IjtFDR zj%at6$XS(1m48qwJ;dGJll{F_B8fjY*Y@P6OJj;1&t^^^OiYgkNm^s?aOG3B%HB%4 zhLqDPuN&D4NJ~{fitS-PXJPJTXkW@{mHo~2dJZY=3x-yfGi*)D6Bo>XGflk9YXFJq zsz@?$<^Y+2(YC(2T+g8ZO-}b9iCXV%)_)E&MPjO&l;j-yKLNW~ z*;>hM2odDE+QojOW14duJ0Xet>^4OL0%eSpM&?#eMpiH1#VoRr8VrNr&N3K*7ox2^+m}GgiI~03Bm7w8TT9Vr2oCXvYq%i zY3v^E2YoCbu5C5650#^WJbY=6oh)rBkbGQ%m1bOmmq~JxNTM#;iypq@{zso3{DvUl zesgCJDl|MSb}vpOggv?)HklF@!3OGn>n4{NhA*ePkpE77VH5K0Z2I=Oak!7yjUavB zLnRE{eSwSnoOeEd-FF~7)qN?i^qJ&}gJ7Zh93B&U=0x;#64g|FEaRK!L$`D)1OF zEia8TJ%O4vtLH2Q!W_2Thg-jTK61bP`qdLn{`%E(qbVnUr@;I*sK=YUHK<1yZ9z^W z?k7(d?&FQYr^wzxszI%am5IB*|sxwy^TolhSG7ueftSb72Y!Vu zk5@i_YyObi~QilY!6?XQN$hxpRBo7v)j(L(htLHK_5Eg)eG3s z_-cQT5!Gq*!F)|kEf}5T&PMG;>GS8$2Gvmpf8c**{`1ElMIY0SaOcj1xqE= zH^0lg-9uLl0QJYyKc1oug-Tj9zst;d;l<={N%{`8z)zu4w#whnF!+d>$GmLL*eHfM zp;&0N7@6Qf45x-D(Oj&H&EFC8Q;jFy@|0+TfxppgM_RfaJV&l7f|0J~5o4fARqMci z?!k(PqIrKsT>Hcu@}r~9MCDk*wbk(ZdF2@Q-SFr4A+m-h>#8|5Bs)_UuQF*1T$b3J>1&XSDL&!Zn(Z-;+F5B$!Xt>xdc<-hJO|8Vl% z^4mMk<$GT=#(e^!e7JzB;RC)b%NQoT7?R#nZF85mmH#mPXgZglC{xNO@Uqy85ZI~m z6==CQ$;<_E+oi_4M~{@0JQ08(gT|>%9zT9Z;iUGg`~i+UP3-p$m+FbX$#hqL=mk@o zgQrz-*=bJZMw^=ze2>Z|$*TVDyX(Q^yYJrBvlw)pO$cD4iX}hEpOdVhm)X?@@NdQG zSQ%FPiG@x>OlpMCyz{ThA8k8OBlXr!aNjm{fAYxmI7=r6prA!#Yjzs zxgV@1b5NX?r4m}{X|!8^>imiuvpC>M#0Izn-+ec?)LI%ZT`b9?U$kBAdR?KjhhXX~ zSt_0-6!~3^@BfKQre$=1`$SljSqjt68o)#jVJ&^H*CGhajJ( zw**@yzHil8iY$UK{l`mPgvrS|r!{f!c~yWPz~!zu>SRy6o>Z@YFS6lJXw;!8)v5Bl zHEwnKY#NPrA`I_~Fg)yE-3An6-??-%cXeo7jag+Ib}Pm^uwE=YVO~dCk2U}8nxxvh zL>fN4HE92PjDhE^Ocnb2J={`Wi5bwXOK6fVdNq33xm&5H!|NzohH|u}0#%U~hH{bw zf1$9*m2rePfNFYwu;L$D*I1wJ!u*x?Ihfw`RYLx@G4|46)Y7i5`U5Pao=W|=(?`)S z9|Wd$zmhL;y zYj&|!bfQ8(J}urqb>mkJ5iihZTKbvq^$G5vD%kJdgEDsQ(1X zBJmT~TkNiXFWl*_r)12wcFN!9P|dCUF`U!&F}HFVADi-MefmfCA#+N+^sdHYpzpK9 z$EG}57Ws~RmOqAI8QxG}jGfMVF}m#fT6hjAHQdrPvDf$E@@&DwG+bXSf@K>c^u;1R zj4?zjslXZilt%r*l8+xJFBSn(PY9Q13;vYF@A;H}B++o+BmE=-6vz0TA3`wakEl2U zL1K~UD2BLCql?%O>G53m`-u10J^82DAMg7kaCBlHX5E*_!?pbVWy2^=gG6LG)#f3IHOTHiW4q$$!Qj!|B^>bt>KpX zGz%lyyllm`^~1!z8rEVxvPldt+TB>&zvFb1XA731>O#7~UXvd2QNAk&eZfriohfgp z2Bw-FHJ~9C(ax6XBR26;uc}w8E3kZj7Sd>H4%=JK8Hy5O60|imEqROtqH}$xij65z zPOma(&Vw8VA@usGy5gnkq82T4Fb=aL&EZ&~SnIe}@;>Bw_{i%~Zw#a6Zy&X1@DT>W z65JYb%~Uc+nYq{5(o$s1^dGIQe*b-+uKU6L)VR0k?;50D|Ix$GpZkyHx<?^#MGe z&e9T;RHJc!eSM8kUX6&pUCADg*h8i#8Oq>yd>ct}(?msUTg-26HP=zJ1y%xwq5T09 z!g;XN%fQaXxc7c2R5V@H&MsXP*fJ!f=Z;3~MZyGgGf^+Bt`uh@Bx=;7iw@ism%C{F zpw&KUe}MHel$+V>VSC^ZF0QqIdL;kNi~f$<`mpT@ozHct*Jn~6ab@6Rl=de~aC4rq ze0S(-Fd>}jN>%GN%w}$h{sSvXn=DcOYh75bQ`~L5B5s6TY_SvWnzaG9MQ5Ba)7U^u zVs=}8ObxJUC|xg^nmpVB2o1L)&>!uUTdy#y=kf)zNAvwH&NqR8P^kugq`hqjL##K_ zQMh48khL=Xtsothem|e7evllvikQQsYj$7SD-rS2+}DcR#^9B+q-0q`*qbEiI)lb^ zvdtB*>hbxr)1lycC)ICv`=@S1lR>OHeRJ5An2Hc3{&ag|?iE$x22aWc*l$MShp8}j zp*P)LvY#X7ILuDCKp^hr?_`>3Uc)VkPs8NhXUSx5%c7MGJk#_zBic7{3|G zq(y~~o0P1fJSd~C+E7SmDB~ncRB!d%M`gSg;1T#SY?vC%m-Bg*n5o=BSLUnAD9irk zoM`P7GpZtwO%Ji6(~0lkca1AaPR0~42LD1Oxb|~!vtNoly2I7Jb=l-TW@_n77teWQ6HdiS z$tHar8ES1|s3mdgwivV2_ktlMkR@uBke)g!lP&9Su_2nd`K+iL{_}_-P`tmN8m~(Kx^CMGp3C!HyM17C#760ImjS$K7Y2rKijA8JEJrTddNx> z2TNjCrm;A4&csMAYdn97C6ec#i0dZoI;ks*2i2F&;?$DZCN%-FWZiLSi9SEI&Hh;T~d-s<5NaAEQC>ou0 z60l@gSUGRi*-s$v!p4P7jsx3EnX#TqJBLa;e{|`ov~#F5IO&iUkoFHNXG`bR%am3- zXJg)IK>^Mk?md0Vx(tceRx9_a-Q|Z0?bNC~tj_WAy8>`o0knMX>~e%yE|(mXbN-X$ zA+&bCvU(SP7cNtQtH{K1f#gTLkC(q<;KS;0D*M`MwKE+k*x=S$;N%tEr}#m45gd6x z%@_1^Aa2iu(0v5sn*Q=(mxNtD8f{!gO84C97(jSdFpP80Fcxdoo}v@FQPvrFx$x!; ze;*rKJ=}U4cu_rHTw8r`|ABMaz0_C@215QA$AHd%PHuNTq$GZe<(Bf|6VK(N{@&3+ z@SPnb32*8vZ$)YYD3eaSvK6|iKlQoGt2Gf)zYEJAG~Cf-MMRWQ8^rES6$~Y-nKjfE zTNQrb%RVcTJ_1^5sI+C z)>o^q4)^wt>-VZ#`}+sSTgQ6``$s2F4-Q{{9@SYTY2eZE!J!CRSX5~+C2eiL*sb5c zSKT{0*?qEiyoZ8ejrDl&>ct*PpsVZmC)IwpaqUyyt?usYL(LwnzE%GkYQnoUnAlgX zvpimK4dx+jbW1A8)8-Rs3NS!MeN`%?DP!`)pKzN}TB?>&3|f`7;LAF4;kTWGF- z)z+$e`#;uUJRI#k+uu5VeMl?lCDhtp?$QnLEhg1$(6~O_J=*(CTDWt#i`bI3`EpNO zL@fsF9K1L<`47=X*Op?(d?n$mS*iJ~2Q}p~02~mj^K@ zW@H3nuvA)KOYcJ$$x(vU*RRSLJ!@ zWNlSmm}*_xpcAK7Mcw$vWXLI>kX<_Mh-Nco)~h>vhdVOqtFI1T{Q3;F(g*sa$sXn= z-s}A*yN4PMKaBi)&z`-Yn``oap?g2>9=xW))i^zOD4!4(lbffnAl-?$FCWcJJl@)Q z?q=$P>d^sZ*TLs|dGOO7#s5(KdGEfGpPcpZUDCu7E ziR+VUk6zzBJUl>=^)6K$?z0`Rmyr1B!I2~wkf7BTWQ2CF`H2_~z84@N|12nUly9#) z*%ejT%YP%5qaxm3g8ndg(Yfr57zN&+z>H=Xcsi64%+2B|O%Ds-r>H8_In|hC|R5j{7nm0_-nO_o^Ury1;e+xGLjf&ucOw zN;*McPxPPZ=$({z$ z0twnZNCO`L^wZLYun!B)LLJ{B?f#BDt=+AjwqZaEcTjd1Qo2Wf?RsH<9bIKjVYslX z5b`r8UkK4Lczz_hfOQTO86L-dtV2pke?xQE*R<=U&@d((`DD;R&~TV5b=>!8KTG9M zT(PW|Ayg-aJVHVZIv?wJ;_2}wQ=)#4)?M`fbO~t}&(cf~MKxqSq&y0#?#Hn9$i6AY zYOCe@-Au&8O!~fm1)`0JLx**ItPtV4T5*fC+WNYFf{a2Ms9%tzt>b7YAF^Lx*M1H; z>-aKC-$|f7?eaW>)UUJYS_=27O?UBZYF3K2U(&>&wB;{<{n3Tqj}4DuwEIE_L#HLK zgLKa9^<+J$dPV*InuW=m(6T}TFy6T|>(wg}7X0Ek_jTNV|A_qNm0(%cA#lTs`U9@x z%SVfRNpQQR_cuxRLrJL1@Bo|lUMrs*-%Xla6j3u?SzCax*b6B4(w?WRb8FMKq^&== zHx;o966b?;SJpEm;a7E>3x4(06c(}WB90L(0$rY`CbJgfwaZz%oQIszItXJ}Vy?w*i zl9S_{JGA&?tw^5aR`MO_ww@8txk_wxRE@fG^;l}qLk<8sV-$!o`MW(Zqv}8}^}t+; z+1~e(Y`$TIoIgA8sp-rgq>08pkKEL>wav_30&(>?dqPhJBriLM?jY!2#qV~0!ag#vI< zS@r=+z$<8LT{JK^SV1IphQN^9pXB#$nA#teNhE%16V3CvdE9@9m6Xl)o)VBEn|t=}HVK5*7K2dGbf z-vLbnqRTzk)c=iXAT=AlVpdW#L#R-F;LaB*=>uHxv`Ng7Nr>x_-S0w%uB4_twv#p4Mp6#qC`@mA0 z_^}Qj;?Gdh~p!g&tv2qA#L89t9vems~x42q`G+P{DQUvLIv|W3~DvY}igF632d{y^&#H5REqi8!%g91&PMB z3fGmx?FcDCkrk)BVdXV5 zc;RCQeC&XaU0NC}hy@h662|dh;rrEp_4UAAkInog)xs$G;!5xF}n-sjqSFYKs2wnY4$`S`U}m!P+T8V$U2m}RcRIJ(A12p9R-G0EK5T_6J)4>yK39*>i^doCx*%9COv{&XC*QfE}eS zmQ$V&ZeikFjFIY%KdR$wAFCmM8uv15=3;o)@Sl~TEItZi9AO&w6xH&x{>NN>7RHAb zdK6>lL%E9H+?!LW=Bnq&4zljC?D50`Iqagu?Z=!t0jS?{D!+JJy!u$ZRlE9#n-tm0 zoxj3bBk_CW)(-r?1u^pzSW8f%6H~()5my;5m_#20Nzh%%5{iZEk-v|`+yNyC z9;@<)r&W1cecKS}Dj|yvNvA>f*nYDX^I>5ke|Q2aP5!uiHBD?m?orhFa~1il1Bk0w zZBh_5)xNSOjdV5f*ruR=ulq6!a*r-}iRXK+E_qycDMIL)h59ZITrtZohW6>PsP{_WNV+@t zjmr3z!CR!K{9upB%;0#+Tq`@S5mGqSNVLY#EfPaNNM+^Ka8R~?|LQosgM4*59>|8| z;~}SH0Qzo7#deaKn*6LsLSf9=Iev71V~mi`m(tSKj^ARyqz~3`LK>~bZ0TZgxYX4a zOAJ9Bg8EC%Nv^FN^GK20JvwqvTXU*I6tZvfxeo5;KM zgQVj~DcwfOGhLQ?`$wT}5&I>aAYS6~Fk8If`LuC@`@;TWYpIE2!rkf)&u2VuHFngf z7P%UJGKTWw8+6?0ERJ!*)>*v32itJ5h2yp1;u&(^#$NS*RQ{YSHMXng@@IFcaa`S! zKRZi}kJTgoOa{`Yfe4hhD($JBS5FbUN+%|9doad%Olnv{`lYUy(l_nkM{l-e@ol#XI-0!OVN)CS5UYQKC6p3J{bqjRi`o_RZ zBu_H%Y~Fr<%Vwm<-E8oaTqNZ%7i01EYD+oFH%(F<)1ljS(IZ`4TxF`E6VVl&2p)%G zlq{h`2^}{oEQy6Xt4s>*o#DSZgvLZISNe<1crf2qkgKzDxTL)rj4!f3#- zv;l=Y+JKNJKq)^SZc6R-Hv<$qGEAs^_o#QIlC7j<&2jT8S#6>wG`-F=?bHebhT5tX z8P8OItu(9yV=Gs)yum=>Z0_XhmN)Wb5}wvBZ$5omzr1OBYr(uO8doO@Flz2x9V=U{ z`ABxKCfE=*a5iSGMs2ytF4_mWejqW`s*))t$KqXm9076%JUXNwuTrjPAt z?9j#bCAPaU&V8o5p=VSb=RQ*2s^=1#exkg8xwPpA${T6@=jn7WeqOazz0gn8T-oUm z6{knF_HvCgGz5(o1QmlY)A1|mspZz4F(rAGTh~2j4c#X0Ew&b$GV#wId8iTVzsqE6 zI1|sht0bINMP+%sbSWm$paw0-(#$Ze;hS6!b&M?$} z!kW46mp7k29RPWA>0Nte1Z1`KW!h1Bx4O1iS(b@X!T0{c5(V5}thAR`7Y9q2gljO% z2Bou`@{c4xe%Kb4sEGU{@@GpJo@+3Rv6=FKlm#1HgXk6T_2Hf(jr0W8AHzM|V3KA* zeMVo@9FO^Q-Ra>+UgLIB&P5GNUy=%ckihuv-R!RXJzeMT+JiQK+ox;4kHxqBvi@Z9 zclC_FwblE-kIzmuf}eZ(SA$kv(3-xiJ#;Tk{Y!~wr}td^y_)`Ab1$0z-hF+^G$y;} zUVhNOZGAb_n3l`a(lT2vru{(wX8LmWQ2#dFON+lv*Usj;zTDTMn`cs5^K4yzURrAs z(|Ra5TW8Xm)|nR8Iy>cW`+=lwKag7552Q)$2QIwzb_oy`{rdGK=I>ZL+~H1C-n^On zKmY&#hb8U*{$IE;lYKv!u5Wd_^t<6*DB8scB``ZwQ4@ap;|^d7r|W8ij)iU__Ylpn z2ouyCe7YL-S0HR!{ma*{_nxGGI$i#>no1O$E=)0s)>gwwW4UO-p=MNiWhlS^%8&GW z1wQ!;+DV<(N#d4&#Dr771uExomuHv@TH6TJ5^ov&XtjW|&HPo|u86Zrh{>u+;)0cUx%3cdS(crBI_4ccKv zcr!nqw!O56Iv|fjiswm^!rJYR8p95U96DOP;%8_{=(ck)dH;(%$7wYTrh(ZoySTN6GbyU zHT^2Jh7lYi%s0f2UXW+RU5(Y@PQ>x$D+nS|7V0U)CUxbIa9U%CXS29z!y?CfmtU$o z{f3u#iG1(RwUz$h{ElqScZMI%F<*4DhOuWW!QE>7a35nVeM4-2(s;0%yost9Nlsqx z?;RgG8ya5k=!1Z!6%^QCz)=_fC2I4iOL<#DqDvOKpYtf-|Bp=H{H*P8RCNK5R{HN3 ziXvMK&s6fFu5bME^ea;Z1CBEtRvZ%0R3YB2n^V|&NeX%OQK^kMQSuu74IuRt3&H4r zAhmpQdvmypOB|4YiO(5?Ly$1go7%`$5DmftN9Am;+EZoaOe`B!#H3~*Z36l|F-F7} zG@4h=IkGdIpid+sD&ouoHLTCr

#PSi4WG7ha<1!t4=CY7!Wk#}H6}txP?dKH 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%0A3{T^zAo#hQ%8!)qnNZh`W#{?DV2))Fj_B+fOo{? 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%0A)-c4S>WZRkZJP{vxRX>gScL+(drb2@1Rp>7 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

jcwwlC?}C!o(N8bh}C8 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%0DE~R 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%0A7r3))#fwO>@AIU|oPUXya_M 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

8K`9%Bq#`CyzBXl{@!&oWD$eM$ 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%0A7#_WK z=xm_@hGV+)FLVvA;n0e_{26gRgKlfxe?#S0=Z*djba_gGLTx4M5yp~{g+`m!Tx0%d zZtKo@e}B-nT0q#V=o>`;s;OnJakFPyd7q6Ft*vMR6ChvK_CGs=z6j5o-6jyCP*Ld5 zs`?po3fP0!4l95#mft$cYnVI!o;50zV{27)MR>Gw-NfyzN>C+6s+32eWdup!oijau zQaZ1Cn>AbLIpOi^%x^JA+CxXTF|xvYt=+8ne z181Tyhb@(iiUUD%MVr*YEf-T4^u*?I1?;*es5NNoLC@9jy&se`OaCdblkoyZui;HoZF4G*N(IEd6 zGC;Ihw#5YX`wSD;*&MRR`t8TIf9#OZd3(hfL!A*yotHNKa|!|_F@)3RV9*u58@61U zfNLQg&!YX)mxn*F1f3I}@0>cSbLga42TNX7#qvkW>>+U_MpDZlLKixs$pn$4T1fDB zZii9ZJcD}IS|e|!_+Bxz%rS9jc+_?wJj(7DB+SD`u1f+5BghP+!^i^oe+3bJCRI=4 z)4zmsiAJUS_4SL9=M}@!W;a5VnVntBV$ozd4hOo8U^v+bYslA}8E+p#!l0P%o(I&% zzb<=$jEON?+gP0aR(a&B%<-pqa$1wp88lN2| zfO0`50AGR$zz~8E>(4__6r?ZC4V97q2leeJ@;`a-pz+C~`wuL-zXDq94@CDXdG+DA zaR4-r!_pA{{XZ|nf8Tt4pNSLnY5mZg1Syk64dKFgQ@$jJ6OuUcf1S_511mullb0$- z72BAe{u24vY&eN*$F)Sv8lMP_F6HZn6DFZALO7K8_&KRpMxl6yrD=G4^w(5?tfM$! zfepJDf%B>7~c5H9fm13?<qXAM@Q++f1-|FR_^xNaz_vV;WG^` zxKsvjtF`i9^hh86qaq$Qy7=EMCBP4MBGCNOiAwS=t_ z_G^B=^cBh5f0Oi0TH;$kh)AH6c$c^XKYcU(EQqxL?uJa4SY2>+RiQj3&vv3&dek7M zTe1NzVXz-^2i4d#K698wlTWfAQ8rz(wlZ!PMCnzghas5=Sy$ zsWI2^e77A^H6XtnBIpLDH$CX?^uYybAcPj%`qollTGny65m=Dw)UPcCQv;Sb}s=V`D1qohOH-tNrouExjht>Iyq^Jwq3EEEK5gq2*J zf4W>jv^Bc#M8is2O1K~oj+=+W={Ezi_C^<8VjK(`j|XeDoxxd0;AyGw5^62@?7=s9 z*!ZMl1;1fY8aB4E(4j&L+ZQMM{o{o$)PsOB)f&&jZ*F6-y0D3Q>^Dcl;@!`h zP4nC0Oo!6QgOk7Dkk`U^Y5-ebu)JLYf7u)RxJW~ud+64!{?!#6I!(`pyA)h8z@z2Z zQTp5J4e0g22CCYeu!v(Jiyk~$15d54#8_Oq*zv(w?3VtGa1j6+FwlE|@$rXY_XMja z`#a=K$2b~>905Mg=5B+i*R~wZ^prlTtXt7R0)cRZxXv2QscGTjfk>LHvEa_Ze|SRQ zq6tqirmsgfhx;p)s5SZ{p#T{lT)0W*ON)(pfIJ(-e3DZHPMCt3PM|d59s*wwt!`;5z{oKd;L4|9JbkT4{)Gg`G0S;ocP;RiHT9KMgXuPoInem0R!UoF?7Qhu2 zWqmIWBN70O*#@r^C{c9h1BY>af9Zb8#&}p;z4xupI?BqHkTbe09yM0zgQ7nkHtvQk zKh4fSGNR&|EWsqS`fzZHB-Gj&-h+#ZCBOoy zZWG`hon4zJM>E%eWAs$!W$L=Z`r+Wik+sOd2cV)Wmm;r8|Mp{V_1Xuxf3wG~FqBA- z8TWOJV6vs9yZBe~uEfKkpD&W3)8_oJ?Idd=BK^38$wJye(R7%p8etrcaWx7Fkx2Mu zP`1Z+ZkpJbEg9H;MTU5x%AatDiv_*l?dN(}q@37M_Q>pIyfE-w5G{8+g83ja|CBL) zm-c#Cm7=PMf;1|{lZMcUe;n0C*+VKbme+`?%3pX&)>K4;ZQ#3Dx#eoS=R2}wl_QR8NaU(kt+an`ue}~FcyB^v`k?o#@ z#x>rc{Iake)z5|H>;e*+^ z^crH3DQ04qDx2g$f1@NJVVD7h;SC_*=$0FmNfKhO4b*!EVKT?&NaIeB=?Tz|G+{cq zBSsay3*P?veuqoJxA(gjNvfvbdgYrh)^!*NWnQ`}a2WH8(zPb97a3X-Ah19CJ#*a0 zWQn=1lijQO@ynFPQ{cRpAs1FpnW9;ln@=__{hs1EG)V?2f4Tq1@~sA=pGOTi*e%xP zkivO@nS+Z>7|s$uVK`YL+W367;OLP}7Piv8d&_^jf2%Qbf939j2h)fO0~Uvp6Xq)D*#0aAvSb#=I)!jC z(W6gTcvGMuH4mUU`3t%nFHt{&QE zVS*<4p($AvkW}2@;vS(flQsm*Jk>hXeB5YIpq|;FNUPJ-QIVEB>7pFG0n8CsN|Enp zD+f_m8f54Ok?QVzD2VHCSz5~a9MNUcsiKi|fAUifCeG-|vN?s#uVPN2HfTQ7%!i2? z(ZZGz#Ylz9SET-WAHFyV6}`O$C6-{%OoWJ7RKD33%3c-45t7;e=EHvZSE0sL*_8lcdoRS-Sz@BLzL2&EgA5RJbXLQU5lZsVMD zpb^&bk}^C6>(oqbzE)qFr9)LDd`|rx%A>2R1*pEd2MdQzD=3Ixd4qZ!1J2Si$fyC| zRyVF6ku6#UmbPG{hI)04w(qGPl$+Koe`%f9YxI>K&Wq}|wpx4M0c|{2$QZ#B3~Qwd zbd1{(VxLe69Z(p*bgZ|)`M6ziCM46Oc-rIqrY(%qq59qx#z-t9l)rYOASKUTt`GF{ zn0A8E!{vMTx!TN14?vX(Ap&dA-g;ADF!jf(+=OxklydwnvV`20pI+8!j&lb6f4J{$ z`>;8cc||4Wt%+VyT{AHVYk0^-L?yhh29XQL+9HqVY6>ihC4!&RZUT7+`Pd3ojXNBY zOS!~kq>%xG03eRtgRYPb%8S7AnbVjl!)Q*y#}IO`iN+jc6CE(JDg=W^>W1;BH87fX zQC1-?PU_;}mTlZE>``Rs0Z}VFe=#)7-kx!BCS{Kd`3RPmbvbISF5mOVEmD?wuM#%I zpnHlVB0SH$wCDwK`b65AA6+xvkbz=noDELS2G5(rqm>W$?|QjUo}yo3X4NY;-QbQo zV?%Dzh20|^6nNo6$^vCwo?f~?mnyAJzhF{{ZM0Nb;7c(|L!W<=G^r1De|^RJR1*k# z>dfTmtIB>mrr>M>9J$!>nkSOf?5i|;xQx~oV`s_1IAaQAwPnSThhi4VsBy((I=%!I zT8}EUp)e9bQm#-z_`SQuz@4kB7Q|23Nd)g!G#@|X?D@dj!>-#0LImBFm#P5}MM(Mp zP1-I!L3f%1z^KF5t_@r>fBD6OvDMl9nWmDuYD9=n)3P4UCWaHV{MfISyujxd^Dbs0 zSAX`VJ>nS`c%Oe>Za*pFODevX{YnaJ9C)60b-9^x8d0;e$t&f?UBM+IjZ|%vD&SR z|CFw+b$>V@L$d82Kxy@s3OL6?#c{McK!uMwU)tS6mpye9F@FjLk)DGE;0K@%+~KF> zgz*&~7xH8x5X2G*(f7pNG_tTQ?AAZ*EgaS%gS)vmsyw&|GC)CU#~DObX0gcJon3!A zK&(E1#O`>Jb{(e*UJ`$X?%w*F!77{$K)k6gayVlOv{MY5h~UW(kefmWs&}8s$Rl@N zO2z5q)B>`u?SJkG5N#1E_>4yzl6J`%2foxd=+!SCMz+;F_20XQ9qqOr_YMUeHp0GK zJsN{O)VkCyzzFxlZ+L=2b{h!hlz19r36~&6?`4Fzhr`(IKt#p(F^z9vzA=CYzF?@04+v>CTQC&3qI&xlusR+$L91jZQ5{Sp|CV0 z>IEhN(80RHpGYh3ClvSB{2Gj~(md)l1(3r=TYn>e&c5w5#0IjnCfIyIg@gEF@q45h z-*+GQi#qUPa9@|B?<=~%D@6CLnZ)FMg8(F#O?dKA&5-2RgQg#A`p)X|KuW-X>f69sB>p{~ zf73qraeMyPXOBOEti@@~I_?|1)z}c*xN;zithX3INoJCUdCkuBnUyGJ(t>POM4OnTijw7PHKmPufwGkNt~ z=v#x7gowN<(K9{=9CW{Q+HdI7#(>0tleM~W6DgAL<)BtFFz;s`#e2ugm#-uFa?1qN z%|y<8o64E#d80lg8i3A<;p%oSHGh8+L~w5;==g}UpyeuCMPJcB$$Qbdh2`Jou7Tpk zmlj_ z1;xl^Xb6p764xj{hyW4O;#61z#;m(LJsmY(cxLR{p7FZQztQh%VQjMxc?oJ21_cJ$ zx$dRe*p@@}i=-2;_bAOX=YK*eVunxV1dr=e`q>pF%_9SXGYgsg`scFi)oc0dp;IZP zVR;!&3H*>AXmR)QyB}!r`0kg89fN}&{cssAY?z5$Hb5XC>JI29WLQUl$MA-i&79{+ zbO*nSmwZ#d^PN{bhc_q$poxtZBvF(iPE+Tu4A5Ab{O$)UkhO(_Qh&)1&g!EB8o`XN zQkb`=@Zb^If@68?+9>!W`lR&4u>$qC21twOOHg}M;SJ6b0B!Q5AddRo&1nB{R0A3P zB8R9l9!m!lwqsUW8bakB4-cj<{7d3?{oOAyTLj>C^JZP`j^&iOW)T3~Lwzg9ApmkQ zivXZu#>na8$t{c^aDVKKh=QPibeS?D+?GZWd?kVwKDiovlwHSZimsQi%4XNsdTEY0 zn5)mfgMwn1JSLrw^l#~5I>_3b^kxJc039cwUCV5ryJuh}J*Xez950L^ z_0z_|{23UM4(HoIV~BvZadwNN6lASxu_SOHQe}zQEDMmI0e@z?w`NEZs>IZa6!Tp9 z9fV2Z8y+wKBPj$&eOSJfYCiPvd+3Q^>BAbP_A!%XH2s92lKlicx#*j;_hBiym_8*8VAqPjC0U~eQEc?LjrimdC%?PE03jV7J3bn}jvu{nU#G91PQ* z1`#$Uen1?oy&O&Y;pE<2Bxq5?l2md(O8!w zeH0^qZ{Y?=TXI;@l5)L|c=R5Z031XA%i@W#phD(ocxCkmstu*3yFl?hrkDJg^j)(k%S?+yd zmLgMHT-6br*VH4{cNyLjt`U*TV*J*lJ&b67or-^aEK#BAWS1CPMoTtXMa4Gm#>yC{ z16iO`oMa+DaJTgd+F!xWjfB3CB2R2KK7Y}c7|Ys0-w?~2EQ6(4T0VU^vkP={oB`f1 z=2i)}$Q`5WNJx<0jb%DVm6tS%Wyg#PqBdon36O_cpKU^kP0 z{>owC{H<~%IIVDmkY!bfakN~m47bmIMgW80V{lglkZ=(KWsIz6r!CSV1nB9k&TB(b z%ysYqlDQE+ma*61V+ETbKJLN~8Xx!Qx>&^Fn_NIh_!WheqIefj1fu#k`M78Q0OiLB zA9vwN%lw26#BqS&98vg+%Xv@U;cyU}ri=tBS{35%+d9fZS*+R>_SfOb(fx zeoCf7AD`qJUzS-0<*13GAv>W|B#tLTIyrnI7cl2$uwS~qZ3ag(QHH%7;L%=N4Bh); zOEJ`25#hFr=o<}y))ZY1U%C3gsEfih185tl_=5I7&L)&>_n|dOa||h3is>tV;TXSa z1>#HpaFaQZL>J$?WGAtP2t3nV;pLd0R5jppm9+=wasGf?kxQGdyg52jaNeqU(fNHT zyzr1OzR*b%+Z$k*dWb{Y@iYqJNu1z-Y8(8j%4UM9=0|BWA|&Z+JHv&CfJZEh?E-VA zkb|2xrVnL0Hb;-17OOJkUaf9_6-IWX<0w15U7oLA0{UkIy85$|$B;!qE{i&{bC|b^K|0tA4{4y6VtRL&C7{peU>zTzlAh+i)k(- z&4-C;jwH>`6JLG+Mtdasbz(-_lIHh`8EKC_pP1%A(!86P=GhI>)DCXfBpK*eCnS3! zY5p=ft0$J#4-=E^OPXIMXSHux{WLLIPtyE2G0i(k^N-2Jy|d!}b8;i>NTR<_O!QO} zf!KROq8%N(qmZa%Qts$~y49SV=%11ZuAh?xKsO?x6pH1!ED666FgXKv1_gUP-F$ z==JjVL$aaHh{qH28n$%Cf0~@v54zt^toxzv_Y>2+)r_7^?3jV(^kQP7pLEBsemSK1 zq#ORkG;l_h9e-lApS;i=f8s!Yp)>2r#6(Xur?(S}+wAL}KQYnP8{PCL=cI|=OdR7+ zwsh3JoZJSRn(DWIiFrM>ygp29g(tu2=0CZqG|{hJq)(A2f1{zDkLVAD;HQgN}dx=r<$5+om!77NRU zC^en()u}bKJ;eO7|C^$ACc!luCy{F?0@hF3P}fgrA4aZ7P^`0i{M`FQ-$JsiA|kL& zo5w({;2DX30U>a^Z5Z6(S+AqaY+)P%jKu^8ufE=@otJ%cl7+ddHLagQ)At@VoKAjA}1<#&L*SuUXBDsd0o}Qbl=!Hk+1Ey>; zUx$!r2#7kiwm)@GPu0yraS?5#2(p|*#fj0VbjbTUSO+6!n?x4S@*~b0qUn!qoWRX3Ci4pXgi4_-Wu%X1zU8t-%l3#H(OYru^9^D>ZbEDKbm&AdE+=wbI^AFV>&1ruZ-=tqo#qsao(nYh4E zJrttLHjbMor<`t7;;euiiS9#gS=5dXU`pN%!xmG+4sa|}(m>fF9fJPNU7-iVwN!Ng z+^RrxL<3SxbF|w5pD~o*W$t9^%cIUF=1W!#Lt*3^$l)NK$D_c!O@f_H=K5C$&k+ zg<*ax_;U|cxE%)oNLW-ws@mnI!82l=`Hv>1G-rYE`2yjSoAp8V&LGDWer=>JFYF< zE${44Gz9@S7F3}uRgAPyuQ~M4s9ilwj@85c_9;9ljwbLBvT@HuBPYC0IwD4D2$7!EW5ghcz0n4SG_%lt}zf08oIL1 zIet(%<3ndBjlfvy`j^W`rU zNHk#+F}c|?=oKHyDJhBvlNI(2gEb-OaRQ49!Ua6;f?l!Suea!`saz5L`5t0OTJyuT z(SIyGfEJ9$zTM;c(OzTssD7-t|7eCYF!=**SK(_~eK@f~aj;lFnj75i&Y$gRV5e-h ze18_?j1m(nTD5haDL^vM8ksL7;#L4`VR67XDM**cN*mU>E|qoNXHhcw@IZi!Az&P- z7?)unRSXvdp*ynU0D2X7^JrE(bL}W}#u5CK3$Zc|lNm=Qfm-#WxfHnBpiazCW5Y#5 zX#(K~{n3MgCa)J@?QSsqpna?!ezrnfKY#ozVHken@zL!@kHpj3ZXwWUq)-qc&SeVL+YKPcfjFZXd4AM~`4%m;o%o0_x9;7v63E9HXrV64n9!Za2wq4HwE8(_(Gr&-grggXWd#(O)acU8(Q+Db&mE%fw@dOuvV)$;V_Yqz}JAZg~ z3C}K0@ozEl9DMnwc200_r-j?`X=*6EAs_1>7oug+FU%z+e_~b#ANT4wW;qqeXA6A8 zfFQ957&?jot)NeN#HQ_o3It%S+w|`wORS2bUcGuqDb5HAC2s7c( z!6EOjD||++zT*M%?MBei)<4S<5XGh!*Uc_-_0JkWLulD8vyeyTmK{=yN`Lt3Yqu+J zIfl14086f&EZ~^RzY7gl|*r`qTyf zv+MCsDRt^-b!!Wh{o%s%=eSbatG{Fg^+&xHQpuIoA(~7s;v28;t*Nen9rSvjunRjl zu^096CgcqIeWAYcssmHIe}7=VH<}dC2ojb`W)z2l6$v@GpjIa@m>46f8dV)=pedr& zeYB`N7gXQ=n!@QJSkH6cgot_Qwj#2+U`4LtuJvM!n8SrV@274%q0KXTTD>e86)-Oo z#Orul72QBn17j;G@HWpFwMDL6Pl5;KUT9>pQlf_>eBSTJ)=n~}bAMj~);By}f{X=l z6Nkd7k!p_YOoG&!zh&Bsq25Jpsl8<~LN2gku_1H*3VQkkTGk zcRL`}<9AY=+eLBW(0{g^U(!m$-GZJCZXEaKhM-$Oq-658U3iZWo3?K_Lae%#OLmR~ zz#m$g*(zx&_f2C$Toxm{?pDEHnSqH)eNsBDs0ha|_{5 zpiUEO42LgIzPHl5a4=yoh`;@!TNdL!#?df;aKOO@uNMF4mr`i(we9lDk4rC?6l5oV zU(6=LvUwe*V}B(6@$}1!6ZluiwH|1lW+NkYxAo}_g2U)^Ax4(a$BD5{IP;Bc_2*}` zS$vo2!|w?3mFv;v=ql<4xFw%nez|*~=?u5zhr6@+dOO^aAL6B_u6m|}2c*z8oQW>K z`-eB&Cf<2uYs_($mH4%=#oE^EUIfLtU{c^ExOc);N`IA-?zX}CLHVsTY7eAVyGcQBmWhz-4It{Br6merwTk3pay zrnQ>i1PXl}?fq~pDnJt|Wq6T*c*HYBLJauc{(}G{AH};1xV2DnT`yNat=PLjpaiSi zS&!fGrhoFD+>5b?n@PZ0Fxe*Tbgt>JJON;^x&h2Vf!(1;KMSq%4rn2tOg&V(2*$~) zsFl~@qZbh?Th~9W?)Irup4cH;_R;qkAYY)pLw77V6htc%4J2>`*XP&ngM*pF=m;)G zQ}hk-rkNpH^Aj{; z=t=%-ZEtRN4UohjPe5IiIllJY7v_!wxNp8iPz|~1SE^|8jHmHa%f`u+6x@;E0x%%$L z>43wUCB&3`M1Ej`|Kt0D`z{%HKBjnHjF`QviX8`|BFeMF_w|tVrGH$#y5O?a<$wBd zv-&ooj7D?%jc@BS<>2v&k}ZJmqW-qk?hL^ooLXoIt-D#L{%| z#swG3l{_h@`r}ctwlkqRSlwJTc_7vr#mzOa#*S-;CY*H**JQ)V_g_zrBeo(3$Pzid zyVm0ndnkmmSb}FSS)x4TQDt~u*M(-Gw#wTKh;ZWu_2p|)mcY1C;j`aUm4C!LZ_QNa zB3$papQ;TMds27<7+$cdp)wdH5e@XZ7MI{^PaYInliIpAVqC%;bRN<~_3(8L%X(Vl zp9?j9(}n&=Hq-&a9MJTr=Nz2~Er+ug%^byAs#SYx1F36XM-v^>~og zLw3~7*Bd+kc=NQ_C%ztWLC-@$UfU5>bJr@V99s+n%12}6EBqRArZ)kdE=P|T*OWBF zjkBQRT>!w#T48RcyS@Yp0<-q?dz<|hzH%<$8Gt0Z(Ni*q%ATV!H1z3~gaW2$&sqy199VFL2 zA_bNL*>>>NPeT2r6MsRzyKdHBX2j;#q!COrj?3|is28LW`Q3q63B~#5>#bK14lA7T zdbkzCY4W##MPhw7Eel2%FlVrELS00uO^zUFaFoo9;XS82i&9+-fB}pnh`7($*;~w) z0ISRb>43d{+-45L^*hihO5z@IrMmma!rYQZZG{q}Cyk-RkbhbDoeV$f~P;! zAkt)VWkS0-3k2X?sCeepi1OS=s>P6=0dkE8CovBQ;Y!3-fKvzLp0MZ7FD00uX;~yn zj=}?Ub(Ml#lnH<@gNu(JadMrP$&?fzf9ufa%a@C-I4*Z6JbNtHih-%7@K%JYb1LBC z?XlZrNV-~lIF3{EWP`#iRoa1`u^Q0G^n&an(~yqS!)=O{jU>&@26cA>+FzYiA=+}# z08&_D+n|4=0c|<@dN44G^@tO3o&j!sy?pu-DHvp%I zlNeo)Fav5e8o%}IQc|efun+CE~pf%;uJt?nA@1Z2z-Za&#;Tx=)`B zBl|aZNH%vHOt;c9y~o}9WxL;!fK%JU5!UXuq_FvuyQWM57TzpkM#aSTe`hq}XObdS zIg&HYS%{_eakex}WqYW&D8vGUo5=L8Dt$R;8jj_fe@Sj-0#HfcixQPYbuZmj8s5Fx zvrq$+Oq^afk;4E;#u;)QMC%NAi6_-p6(P5L1!ZVOh@SaVRWl>57-h^<*eib~DN!TU z@JgB2W>)FuXa<|RG0Enee@TpsAFp^=V7x5mqqPye6N#YtO!BaUplNGzaOlF42O~R- zK&V@rU5Udi4j{iO5idSoawu`?R83~TwJ?}!q+l{MBo4D5c$KS(vA*cpi6bvmqo4?$ zS@^Hr|9ZGLw@`96m&wz7e`;oTaeifQmLK2y zk30hnS1r*4o9pb%{ky=wd~h2_<=b!wgkYMgu%XkvqO$htaCCJ%x}rK)720VnGktNH zCOB95R;rOpl+6V#vJo=~wyrv-SSPG4M2_HW!#yae@lN;f`k0LvP>~}Y5Du<>HFd&i_c~KTzMd;36qw}dH^e}i)O7& z!!|HCLzdwCbMRU9?3B>+CtCWs+8VZTFO#~%gy_l1awO478ZI3UJ5C;OR**saV0FKF zC?XdQz5F@s{2u>oqA#TSVm(g8K$wB(BFm$VBt7n`7QoAGe@&ve<%a2|_N$8%STwlK!geBW-MZLk7!#`<YsyqPAgv#yr0xi9UDf){o4bT~bS>Sl1?x&>2p z6p+Ph?bfRJe^nrCN3p$e0Yg+AC|yu*=zn#PQwOk$u7k%`Nk6G!zT9f5+8nY|SbWq$S+>&QFpf_Y zmrUmk!7%@va#rz`oV&y^FgvpCMT@|Wg?E3^)=k#@=6=9eDVwCFWc%}&Icp$W|IteRSaUk-nOB@=AeaDbG?jNEB!9s%wV1r?Sxe5&%UU&H9f^RF_H06C| zPJy5$<3oZgr96^So;d%l!qWg1kpkf<2nbxRg(OIELb~W=;eZI^AatxH;ceQMm^xV2 z$BtJ@iImtEWn}tMRy07 z)6cG{GWrvIXTdy&IELYB+x2I87owYqe=0GA&AITludsW8X9tif?&ZMK80m#XzlJf1 zaDKQ?aj-JBlndr1wasUR29Y;2ovo6EMM=y{mlpaT zO;}e<4hsu#@uhYBD9|G|Ng+ui*Ntl8oUte=O?~QIBo#@lv}ILs6yt-U`~1y{e-Bx? z14MI53My8k>!=3RCAQq}`i9Mq9DI4u{z@*z5;bBtIO@VtA_{iN!YW61(0Zbw)K#Ag zw6f8=rC;W_Ed6TqyCpKGoAlZe3@<2&pNtj9m4n8m(kV`=Kf(wsUU z^Z_l><%uq|kFokB+aBVsIn~?&e|lmAKpB%Rb$7nwe8avWNNYwjBAGV2cU`y zflu9Qce%o?M5IDYn0UJ;dm${6SYO;`2m!uuHmKeVFUxnsfWqS2K`Y?4$7r9_6-o#5 z%{ItHHgYQ|#i1aP477=jBMuZ(VUinHM&))m;C3i5ln6_Z(M1pX!m`lHe+8R9EGOc5 zI)e>Jj3)g?YptbWDU~~FytlQWbVMM8RnV%_;wEdsxV|#FNFXxTxy2smwYfZMAU4BS z=?GL+jbl&BaddUnk9R`9t0In926H}szh+N_!&SN`N*BnUXdtiH7LToiDmpXT7V&ms zK|KTPV&x8rZ4q{MZ85|pe^1;bHG(MKBokTftKM~#ziU%p6oZIwX*0bSzva-sB?g$h zWy{NP;BEEN((5NbzBLAQL_;HbIeI4q)#@?CA854O!5D?2&q z53oEr-N_7ws5{Wk8W(>O0?nhIi)ZxJ;_d@KVz-`xo3DR-3Js7*pj zzXPeKG<9sUHhBif$L3@{FAxQSVF9dFTRL=15eh6Ike-Er=`)fLx)^3zTM7#U z!kWF*iiN18z%Sy^e;5g@O)Qng&H;H&DBSHdnF7$Zfmy2EZCWs4+sdCCznS|AHphgZ+N}9P`i=kY|Y4 z(kZD8tYp^Uh3t;t;n4(pG&qw7b!ZbY!vJ9mpj3Dg_UeGde>!U((~8BF1G}LfTB0+E z_<8}r%IaHVbBOah=*7F;*8_5Kx^QGMi+1BIS7v`}o&q>&sP zO(6zQ_k7>FZd|KpTkc zqr%QVd-anRDV2X@?}pq25u9SBtbj=q>k3$mmEroHbWE;_myT(cbd1-@=-QbNr{ty% zEjMpvm8ExH;B~Kf`)ew^JtC$`gv?#mMt|w?prUP4G>}CvrsvM6A+2rW*NuvhVp-eA{$B@0iz@>*mu~ABFn9R#zmHWH`KDp)v64=b+TJuh7?+$tu>udqFrL!)d>oVO!cscu$_XH0; zy65`YRh%YluE*FUl9QzQAB31?Z~xQ0A-)#`uu3Qp_fUlbx(r0b);>O&8%^~z>jmrL zv+9&ao3?+-{gDnBXRHz(Flf8ub$6tKlLAYWtoQV3)`&{)QDOk|-`;B9)L>~_`6*m> ziXdzGjT*GXB7yL|L0Y0ePeJoIsfEjS4{Ugm27)E4LcIXKQ#h&>dqSO++v1rKpsY;n zhfNHzj-v7?Xv@471oJ<7dp`tB_Nd5O_g%#JLCSw$qUXrE?4i!&jc zI2S`Nom>^t5m$m@NI*TrT0FYz4M1U05TdBfr*C$iJLsEW^icQk;<>1}cgk^>h70eR zsz&YL6KF1-x!kAmDVz^B`e6kK5xhE1ok6L1g1NdXKeZH0rn<_ZRd)KPFFT(*$JRQu zj4*#>hI)7LFm)5poobW*>asO0THuxsv>jM<13Yx|)2Q@}>H@6CenO9-KrWTs424eD zFWU(8{cqmBgsrV3iT1BxC6fUo7UM}g!It@K$Bvz`Y&6Lg!VjsB1w{`<5g)odu7ctP;?a5H;xv5vX(rD|fET+%;BPduyUQr>7^2cpjv%B}( z^jDx<0C=i5`gOQV==@YDS`?A{r}s9_&!_iqr*fR<`ja6INbTuiu;mub5Iha-{Zp63J^$!l4G106v);YrrlVqZhfd=F~8~>9hnX99J9Iuag;0|36D|X zj1lTXkOjugW^0dUEH{N#FQHg9L2A<~9W zr_YA=urr5k`LppO@Z%a6D=9k=ye7W!rU3Qvw3y1k>GCg@UU1#YNz==_0E&8u9kBa? z+kYE%dHm0CJE?CEzX}>s^Jfa`9u@PZ9&v_tdy`#>kbt4eM`9|7{`{7|ufJp`ZFU_% zD#u-pC7Y2LWz_C{_+I6~8{#Bd5erJpVbvrES!zXvRSMBA`4<&E6mZf3M@iwpl!anl znDJxDkr@pLB5UEdJ`j6fz_hZ<4U@@I|9?@x*H{Nfzurd>*2pf=RUg;4N6)fqAbqy2 zq4r84%q8|fw8*ujbUra?=oHkhzD&g;WN&!bH+IGNgu0@b4{fV~2^(xx_vt`IQd;GB zFxZ{G!orp)6OEOBpCxN(MqU;G>2?YnmOXkPIHoDU&WTLM1EHxT2chCJc|mLf_J6JA zC`+o9LgMlUrdT*Hxq!wXRpps~F%&Qt?xe>jeZa1wNL$3vLJ?R$nCS^2T}Txx*zH}Y zjHYv7lJAQpcKV7Xjwqm0dMqT5oNRrV>qo9hn4155w^c@RRibwfZDK!sAg zqWht*mColOMSO=vAnW>kS+OVuC4ZM?v3fdceZeW@vdV(HVYu-(3Inq?gpzGL8$efS zF71Zw1UZAYTIk9v*xOD{k6_Yb51}R1IL`_E5V1t%F425H((jpUf+}ODdonz91u0iq z#sFH^I1YrGlD8A!qQ7|VfuRnTh79Vet-OGP0@ve z;c%#~Cb($B%wfOCBI!+jm-rf$9T`@O96z7dSiR%F9ka{4*3-vDYD5WpMbpL!O_Gfx z)i==T7a?KY;%!nlAv`Ga!43yL`EM~P2HXPB8oqfwC)y=!QgV|8F34z9D~LEI@T`)3 znBy$Y00aTmOp5O+;*v~8)_*+U8oTwc54emrMm?|h(xK0j>I7u*Rx1RgEck;op;pKm z{A{kN63h+eWW16YvfM0tP=eD*EGmW-s;10bH7*`WammVQVDthPgo;+ACNb5XmKeRd zv8^;M9t^?z^5uL6AISv5TUi;!-@Fw=#S4Yj+_Wr84b*kP##lr1k$<&Rmkq9;a=Yuv zYLc)&SDr=rZWeP{3Ahc*tTQm+w7gc6mf6KNvGddAh2D8iL~dwcvZz!6QWpj|K-*WM z8PJE?0vHIayw~MZjOszfrpfk4Lo~JC&`6MWFFG}0VcAqHuv_3i`n)N@J4NK5!TITI zK2c0-V#=B?4{Qp_iGRyQ^R8V-)J}lcVh+15&qbKR>u<52okAvniw|skG08k>-=gRk zcnd%H9%v7^ZK23gZtDR0QC(cq0q&_JC9+|q3O?Gd2VcHD(8mFDoDT4-prFFT&I z)|0SPAqv*shFAm(IOz{bCb1Bj$t>-({!TLMDs7^$E{RfCwjn>ciQZeIry_H2n0Zw)O$&R2_j3mw>9ZVeWj9HjS%{iCB#0aWUk`9J zSH$NEC?a)ghrnedbPpBbB~_xe{Vls2h(cAD7=O|BqPnBEDkFsWFQy1Y1QKa6N+_D| z+7=2&5{Kw%wSvchs^OI*#9TAMh0SV~9dNKZ=>C@`!G%FU5yjmmL=7&RYx)pa=8N$? zxT?Xfwh=6tNKY&~_P-bkM7;E2T;#rWYVT!-JTY~Q_MM-bn$!~qx-v#IaSyXD6akSy z;qyjU)=*<^?vl^w2M-T7OuHp{;1~^Zn!3Zyta1>+{DyK7RhXZ1EEg zlU~i0x#>7@b4HgFA6AVKsJuce9`E&7^=_@eBu%E#bQGJw+y zi?vf00cQ6w*z?_5cd+l$fL9Nd5ZhsN^)7KjKi~QK5ODCvj$p4P2NOMKc|9!0=zkT2 z)P_|r=5%`4X12+6NPyi?{t~RV%8ORRaia?m2k-^J1r6NA1|X?Cb-1f~4u3|~={)>* zGs!i`qQ=4m>4h=uo6CzytVmuE14WbsDyS7|TQ%)3r$`3bZQR5>y)=gEdsNge_V((& zfiUx@$Bb!M>gBjFY|%AAcB}$zrsFyOT&^aEuDWWner|$ZF&o0vzTEqhii5 zYeNP}4!kF%kvnXeX|D)<^80SBp(fUPgYb!^fU81Y5l1$PprZbfBwGq?5=yzIM{yMH z1f@=g-on|!@U23o5aGYS}xcV8ZlBe-~; zHTU1}pKvmowRnD;;%rnfGaAPo7B@{S*36BBy5#Y8A%+%F=q+ZL0X8}J#>tyn%I8l; zX>pUDR)hRub52+0^qay|$pdZu^?zIz2TQA2x&S-UzgN0IqA-$58>I`eS$ef%6PiW(-29eWDO8;ciE6nF<4#P$jA{h8 zS@ph10lz9H{LTwX9Oq>>TbNEryQYYu?ExzR`Q)nsYGnb`%4pF_RDX+d0CLc2#9fzb zQ1u#f8I6_RHyLs8Qe+ZbQ6x%G9MKrsg(%oW$C9v2uF@tT3rTvays1t`6D;4r@UBJz zq<6UnV`vX-4SxB)9RW7Ia2jPXtJd;^9jTM%NqlQ`rh#5veqEnQH_O% zwoTTW8z`|tFOO6dmVecpy0mfaAn3-GLxwm2mo*X=ui7Fk;S0N9@&w_P@|)J?7>0k& zbPslW@)u~5xWN~%io@O*jT=mQAR^ei8k}v(XL(>*dIC);{oD8oR1hzicI)dqn_qp2 zy*C9G$2be%AE8&5C;xy-8ql#gju!>?VGpLo;Q!YE^$L6Y+<#_JJSrN3Bj+m#+UFkP z_BM?U(2KaaFL-kUw%yo=5bzZA6k3o=HFuiCGzN?fcKz%9YmCN7T(iP8e~d^lqxs?3 ze!n>`^!M|@UNGK_?_Px2z2{!y|ux*1dJk0VaJv-gdHF_+q5B;S`h5GjZzgA@) zqh(t;<<&Cp-2AMPziPRXxIW-47;23iKEe1m?BSlNGT;E0z>jppoM0#K2OX@?D`FRz7eSAtBvQERmgV@7&ggZ+|w@@)ed&k&o@B&O}`#Y zX7Z!CH-Dip-y@a2_CbPi)Ly@tZeAZ89ety9TvoSBmCYVP;}6j2Ygeoo^`Xz2{RxKn z^#LLhKi-W*IemE!P88yXO8I&x3yJ!H5UUWV`H@Dhq!78zFu1*^|MMn z?Awi1Pgr%mIdGL8+nIoS?ijL{%gmf##w2q0t80FJ{BCbtq-d+j!xfes>VZYuq9Bg_ zn}6&qaGpdv3t$R(m1%dfw^jNO z;o4=3G>jL5c&4c2$s!{gtvE6=R-f%%DcQ-`v!E>K9brZ9KHK}Q_n`;Y2DtySmx+X; zcm1l&DmcA6)TMyY#fy3>DN5ALnbuN$XE*GoVVWptR}lB7NRQimlT{LCu4=cxndImrXfB z5jDDYE5ydiRxt2ua`baVN`uoLx_^LQ6LaFC7LmcIrIEERU+@z`@;pg$=(4XN)=$+7 zE6<)gaaF%X_pkg@*=sC*O&Fd6+cF>=r{Y3Ft_`y%paEkwX^{Qk*|ik#>rn}R13gu1 zi7E2R%f55@*IK8tQj*-WEPS-NF}PBtG-)e!>yGs}g`Qh4j49mZ z-r_-(4OB{y0N+$zTZab*1Akvxrdh#+=}NvMGnMnw!u7_1QeDms>FwBhuGR=dfgZ%NUK1X^ROkrO^eTGZbe}PCgmOpw!HUTnEzTDj&!L9e>EmHRu3L?SVq< zLbk4>IKn#}#Sud&aKM%i!h$<+SLQL0?Oohx5vqD+C2^W_vFl7Ii@f>P zl06Wwsy(8L<7q9S*nh*YI`rcL023_ka!@nrh=3ewbQN*U!}5}dW|1O;2MI)(s(d*$ zWswefOCCsBFjzMf!Q>2#dp<6*v}JfH`ZdPe>YiEXKS7PC?_V2{+@6gE^K!l9SwNiC zCK{ii=os)6M*^TjKEeS}n2e4KwRhAz(ey;VBRjmin@%S2e1DFEK8u46#PWdTj&;-) z^d!uGsSF)_Wuvp1{28rA`0mMRR7s+apw1D%1%?$;Yy5tQZ%~>bm_t>()+COYh`q&c z4Z;MAatL#l$0ey33Bf7Jl=6UO&r4#Ch4jdLJI zrv5Of3vj^Rj_P^~xyw}xNDqsVJ1qMCu-Ni@AMqE;&VRs#igz}HABEo&{fwANZ07Jg zspQ7ISg{5nKoxWB(mkO@{T_`v0;3N>STXuQ@l%d@Cm6F9$tzGrIEi#-o%_y85G(HC z0K0#naH(=81NjA6B06k#{QY=gxmh!^zk3C?-Gz2QQ*rM_QFWxRaK0D zm&(jW#ecv3G~;z1-%ZTd8w7Ys>uk5c*5O{31;_Q)TUaYCO;h`qfDxMn91YcSsuvFD z7)>B*l?@q8yy2pTBqK2u56LjbZw!)J8qg5kvf9S$dsJ%i&8-ZPWmAK6^IBaM$THqR--BL;m3{prCB?;1_n}6CYle3kIzzy|1`G{d;lZe99IFKe2 zGA?~ zHXD#zjSR^;K%ABXO6ux`t}#`a2~Pf=G4A8#Y7C5eRAaz3GP#SIu~*4aQ~`KvgFj}m z$!aRyTzDU9eSZaEkfV6m9)oobm?6P70Dr;7%2i5Ks%YH@dL47=Z^g+=MX{_(F}UKH z3oqQqwx+>{6+hrCBJbbwa9E6A@Kd){wM7YA;%ZZ_%f_p0NT$-o`Vk8UubOI73L(pHo7n^!qco~u<>8=n#bbltCb7dIe3WNTrP)Widl+n~+&N;6^T2eGj1VPcL zDWA0<+Je)`GM<(Z06|OJ4gErd12c1}!^_we6=w99?jU|rX;2@Bk=lzc=B69k7cnIw zGBpp`o;g>DuGoISwcu{Tet{=?O&7V%_dAms{h&a<;Tnpn_lYN)lz^T67=PNKW*`L| z#--+a$a$QS{oOxnHa9NL^RZY>FcZ9qY)pVB#1yOV{+S#7pjW$Lz>eY+pvOmb_;*3K zd{kY}5NiZy^-$hnq*Lm|(cTF!pv%XS`v5PVS})i`^WQ%VcT^wXQAk)xX6^+EvnEkI32`Np%=_)TM(gS5R!#f z)cx(8pYLP@$0^)wc#p$qio%f#{N(O&z0Ps#q;u?bj#UzQjOj(96cy_Pf~P^h0EhA2 z^zEzXHI(y&D_gq$nt^a$6YT(fO?&fodNy{}nTYxh(GKAs7l5x|v!e(U9H$vm+e6B#5p%#OoO`_~~82h%tf>Z{lX>1g>>fKwk(htlh+$ z=@!B$p#{Q&VYDJ5L}y46fyhjmP{}qPWPY~eDlH{~typx__}OuSHevWNc7`92L|tUE zJPDu=UOf6KR++B^x_^RUkeHcKX`Ll@N^WLxQB*4Vnw(3km#xLc9_*X)U0CC4QhJq| za(-R`!H!-UxEOqZ0IFwTo2tKkUi9D*#sEYmFw3S8_W~DgkdX{18z3VEKC)*L=n+Z{ zw}&&Pig76{nr8_wq3pI8<&SK0w8@GdzMxk=c%BBV4RI)>AAe-8HK3COGEZ7b>L0CY zT>GMmPvt9=^fW5?g4>Z+5ma~4VUofu|J@XFrr>n$`LImzE-od0w${ld$c_D!t$udg z8~rYxw0~f=p%MEFxJ53Mpw4`hL1_dg73&19@_N;=+z>}UI+%}t=c+YcIIWr>B-4jR41YOgF9xiDU*Pp{dI%64xE}t` zJ^$A|BU(y)p1J3qd!D%Gp?e;?=V^S7z~HzdrI(5-*zUV5qx2Q>hzUO*xX*LOO z|8B!RbV5OkjpH>j_OF^Ro2K#hhnX-(*y|m73UU#YzNaIHH@z{Xx5bD1X;BR=@n$%{v?I!|?mdRryWUt8@R(#!cY8 zoyez)_F>UkTkI~cY;V1Lx4ZoA-75dyTv}YcxwMw-Ab43i`tKa_7C{h+Y9l`x?|=SD zsblsIuOL7HK84|)v|&8}3&mJ0xVd1LWHGbh3n2GHxd1^BE`nDsDn|Ct)K4?PwnV#t zcO5yI7>0NtF@`OQ0;N&kE4~l@-9n7{tO-xR-ymMz-`4;wFuDv}RX?mRkAb#vtrmol zXHlto25!j9)GMu8;OI@&a$Z>cQD=rv~kj4nGAQc)!twa6@OgJFOo2W z(6{cv$QC<+DQw9I02yPa1yj;^Bhjc`;wKgEAdL+XOX?WuN)q%W!Nf^6*fH1yf9P>4 z(>lZ6wdv8Gti5|TU0zFFL7eduSslBZtrek3vVP!!B+_yWzA}-C zFP=jmf|VyCKHOlaIE07A^MALm9w&H|Oy6c-;b4j@ODbRy*wP}dkN?D2=u+t87eBoD zrJ+dqRxNP7T3|(<0Y#}^*r)S8+^nG4QV{}adk|_!;3kWCDFQkTjRy0Rhx`>AbwknH zW0KJP_`=P~Wu3B#*FZ{ePvII0E?u*A>1J zJM#P$B@P1s&KmxcVUq~0VfhB$VG-#>BEvtiwbjUmmh^|+J?7^=E?=W#<5tC+j@~jf zi`l2$6c7R9Gj^r|xAMRuo@@B4Zw&!crRo|8p*EPLR;42P-M#N#uRO8P-7ESN{z4En zSMK^QZwhpu`sIX8IDhk}Q@$h;JLFD?p3a%+9S%pQX3h(i1$6y;fc2)9z*T*H-_ z!AMmm3nCB|vP8_0jPPp1ev%kxOLr-2%RcI`J|H##j3YYZ`<*-M>st`xhY<&b3=jHI zb%9J^Di4U5P1TSNq}D_E&dECxjnh`;8%4RPplS)vv{orYK7T>>V+_qRTn+1s_L;)h zJfBp%+zFk6v`7FcTekkFFJ|OFfw(e}cnJ~84gSR*V?c3dKtL_BuFCo&23y*PS+LF$ zBITsB);?c3|Mh&~JPp4*p4)TSFT>f|{xAmdbFNbe-XP#5r8a0Z{~+bnhJ^Kv5(d0%X+XnuN0P0;v7k1F z0}ww1KMO{O?xc#)*#4a!O{P`T_Jn9Q*p$)&UvmbpmAI=ZSgXG5WzUQU>L8IpVIfM% zfD%Q0bu8o*3ahkHA)K~{rgReLQ0B;;*bvdUr_C z&7?iq%z?uBk09wE*=5y|e`Kbh2Cgy((g8#kg@4g6I6lOkftLo)Bz^zl6jmw-DKTCc=+{sa=NIBsiMKwg_>uWZghk^DqCCdDx*aoQly@W)0$S&3sN|0 zT7QBLCVKwGtmZ{gQdM;s{+G=0{^;}wIwA%!4lNHW zBX%~th*>qQsF;j&u2&|%Qk?Y8rHH*um%Exgp}TTPz?_t=YO~aFa4HR?O>&x2CS1;5 z=-OZ<(bg}MapY*1^_9vU#g?H^V~wRACfYf|hD6zlrl(gVjAO7zX;qz{-&)GbMlQOFGdK-8M@cX|3HYracJ5DTjuiMiy9~p#Tg49^9yw}FeVfcFxLa==`UAad4 zAe%Xaxr7Kw)R%PS7J=E}Mz~HF7ObUptQ`VfLR!+N{y+FDlLwYxdznuqb?B&{*{nG&225#yHuP&n-z z-en7Mg@WJ_EsAitN3>TMFCW||J-AkO37{OyfOU1ubl8SjB&^5pj_JfZ>x^P8RzWNb zuU5!`)9FWo(YuOqbz{Y$K7XyH+O&g1gJe0LelAuAM--m6vAyRy^*;<9wITU2@gu%t;Hw|he zI_O8eQQwf%ff6k+@5jYOaCgFyqSQjn!KU||L0AmjB^Hxiy{eJCKY+n9=n8ju(2Pxk z`r|bAz#J0v${9Qm)N30q2(MqhSQx|sDFr+j8y5tL6_R&aH-B08V!{6;dO_40-CA2$ zgmT?`c)HQ%c2%I@Qsf{ReRTEisB= z`9og6&R%yVKTbH`^}MIa9kwT~Q=A=0x_4ZPLL$i^+Ai%YNpG^CCeTv zKiYg2vAtfZ(VO%SR5_tsG4>>mTW-uuM(nn(u+D6MeYA{63OGUujal$=%@sJZarnW< zXX#ANnL(#3ij5^eHvk7%P8`qIS0g_GzkS5CT@K+f>e|Mv3U&SjW~)2 zKAH?A{s;E){Ja1e!HYi3nuk+d0ue$69@$&KK~5^pQKXenea5g$;HRJ?Bw#W~n0bsv zl}q;nPf`nY3WN821(8GHf5hX4AGEqcaxJJ5g}|l-F1($r5sa8DZ17aZ7GlD%mLtE)dvn<6_hw-3@})dW z%NI_YvV4KcFzJpZ4gmDZHXTErKX_|rM0E1T^vl3-P+*>H6a%_+e;x5`4~H!eiSV*K$4sdmaY2vAw!XhWBEItiQvR$md_# z@p$2y(lnsD+q0v>gu_}E4hY&cmZ?2vG_Fw>(C3LW_ZwuY0Q|Qj*s@VMrkE&emJ}+PpqK|L!81>8D7x-n;o$egZ z?>|4AU3`A_Qvs*!_xk!7iiv?N-Rvd>{d)P6`bWg?w=Vnwe~K4Tb5_VvuywD(g2gtd z9wa^@1B4%Gt8NW9apv8_UCsq%AR*^CbUJ?)TPwF-7jN!a_rGIO z{0mUc6j-hMId)$-zij+~f+3IJ$|u`ou&a+U2aY#|JWMpx-B5zF$%cnWT^iH}z=M+M ze|q*<0bv%|f4*cewXVkXcD~r0my;;#4|TNMABVeJlg|5vMcB|m6=Sb1mfkDc5QiIb zO-Ug`AJPb(diZgmiZ0~J6+Ytm4}XZT-Y)PwxnLk8_)9QM$SGn87xVoCNp#V=f&6h% z*idHTy;9s68B}5%+kA#4e$jo-11~MG?k^Yv|NCL-fBUP_@9*Sy)ack0Jdq3OXbLz* zyo8%wl&p4ti5cos#aJzThxENdI%nf;^KB+3sQi_Zi`K1y+Hr$9Y-$nPg zQipym{nkZsHjoX^{BgraUE_@b%e1D+69$~yJ-k3OxF|~iEK-K-&zBM{F218Q3n#-2 zUbz?De>dg!S7Hjul7az1cc?>k(fv^?yXYQB=8G<_%Y0#&jA1K^i*&0BO*n2 zioVB&iBV0c)3`JFJ)LgLc9jo_C6vry5`&zSe{{I}Qc4Vz&@5dDs6)p>s#4HlS!1f4 zT>TZU!IR+*WQ63QqXgBxt_f5p^2=1Vn^(cm)e1Cxqg_4N`T?k@J=D>~OFt^n41Ta? z7gYy6@v?wm*LUio`&g$x9Xkd?30VY}lEb~j4GJlgowmZcndEo2e6U6?x{oTaHKPc& ze?pMAXfSAplu;o?DR3w(-s+HRTNO*hi<{jC zGF~;-7%E9zIwj%)%D&nCo+L#=qn3h>e=)HXBmQp)H72vKV1aVjHg ziaywCK4`XJat`bvJT`O|V!?WKN#x;r=bsZ%?;gB=H0rM47uTp36sshprGaYq791*f0%FP zq_$MD-qEU!(`JMT(w*qA^r{)){0;aVb!Y^9%y^J_@sn1`N%DzZ5S>Y>g~F0HEyM04 zo$TE|$W1GCT(r$cmt68@7u_E;VRm+cItL~Zd4tgaB1H}`cu5AJKCl83rf6R@c*c6r zQ43YpFK>{RrC#@E8{muhl<)n=e_;Z8N|>JDH&snDKu8OriuprIyG+lg6bs>BdY;2l zS_!IHrZbFwCHOnk;$nlVe{h(H#2D8R3JEB+g6Tx&F7X)z2aEKu2V!P49b5wD4MP#= zVy;z#pvh1;h!@Ivo~a!`XUQBeX$Y4)-UNA2 z2a;ig3{O%FHfYJ!|5{vGphXo|dk_B&6nSjh0se>x?vlG~`Ai-P5gG{T5r^q;fuCT~ z5_3yx;C|kn+?xVPE#Bi3&?l8(XL!|E|I|ar~7aVF|V*?DrBk`lyHui%CmJaI3 zsw&@`f8Zx#7jl1tNE}mULE)BV^cBp~NyySXtJ?2t{SYc^Nz)>z)Te^zIaAxc| z_nUnH2@Uclx#K69lT3MyI^pA&HL>2LG5I)#e-@NsY7b_1>s~VQJ52 z=eu$7;kIXnbNRgIqSy}9#zwZW8XUpEdTth<-nv43s@8KZIfhP#e2&2#8zs7f8=`oTJzaf7q7m?Zk`j;zjQg$;E|U{Xz@a=wazD&wXLxIMUc^%VF-5mP1@eRk^%n z)csr*%9A%Rq5K$+kR?YkJR>}5nXP4^i%k-U@4c95{i1tXNrqa?sv!#6sNIw+e-ogx zR7k9RiUT4m38q4tC`u_cgd5bPH~3|V;t&OqJ1hktz5ufLWtxmLTxwwzpjazO020L6 z-G@PcLCW&k3`LT#l)wsur(O4%jC}GJK~xm_i`Zcjd__RGOa?37j#b)#Y^paCM$t<# z|4c#^T>ZO$VzlXSPwfra_zYo5e^FV!ofPvUv3b$;&ko(VwJG1k(^$R*22#EP9gWcn z;zGITj%u!!SXypSxZNlmRbn89m2V16MX;_6BBTmF=X|#JZ%yh9^cVTGy{cNsv2PhY;C3^2M@ydo@)3hE%1uG3BiB|E61gHM zA&v~#$1!olG%fLHBxpCgyH{0u0}d37??So)6wBeZSIBBorN6P=Q7XUrGomRzd|R#om|jQi66@+F(C2nv5)=cZS+> zS?|h?E-zv$$zXLpZlLH8RUWEW$)@Hh9w&99mSgx_GHNI+e+^kE^EzXMjM;By%T~nt zt=P$|>zAxOXt{Y?;*E`ZjI6j@>mOg-Eh$cH4q03@G(1%Qv&i+udqov@eXF&8gy`Kh zk+HWZLb^CQdB4dAP@*Tplff>e^n7Pb?dO1kf+PpAz8OL#KXL}D#TDirga_&t^$Gxq zgR|jKf_@T2f7o7wZ*9RJ!|=Trev^7YtTB6q-3qI{UmJ>(FsDWPBw)jm_0EUtR9Q;qLBeaIIGJ zpSsLfwz(nS^_pDC47a;$HFv#|?OGKg8|1lw-34qCf30BE+#Yq3Fd3(V%Lq<@8XH&)rdPN##cEo7hNcMo4!;|OI>ACj;`!lN{PW=W zsrERl7J&)DTk%cKz3feJUi!51ph(SrFGJ5$siB++{*~6PrGJzvG3il&s>1e?Atc`P zO#S+>f5*VAO}5JP1JQ3=z4@#FYqF|dQJQjCNjVHD2@|KAypby0=xtp=5&*^@-a~R@ z(B5nWU5PstDz^%~IhI#(RP*T+^bvrX1a?m_+N=8FI+Q0{w(qT=6%s~$hR6K=5)3<2 zvX^jl29^Pr{(`tZ6FQH8@{oKRArI6nyf#{fe{g!kDYb&!E%FH6|LnBWI>63_@vYxj z_DW&$hhsvle~^5;L)cdJkO^UY2dw+x!HC+6(0K}vdkUXL&17tgCbO3OhFC4by;Fc~ z$i~G1C0{$?!wSHMvgS;ByF(l&Sz76Q$<@Rs2zBcHxxOJ%26Evf--kQe2)bU;5oeY6 zedkOPn{l<)BxuXV36-!!=a`54~7g{{a~F& zd`fY`#T=9x5L_$*dXZR1s09lBg>I1o(Ms^o;w;_6p{`KXVfeaq1pr(0Pgo%kVd}f zfiqAmLt}0aI+zJ84?7%}R>ti)f6Aq`a6+2U`I3bLhhqBn#D!$P_2S(ky<3YAtXT?r z+VYZQ?5y?2@1shAZLF7e0snBs`XRJ|0s{~ULC)l&rc`Iw6wOB=d81 z&hjeE^B+}UvxF+>%VkxFpcp*^=A8`MA_BM3P(a^8+JtO)+k^LYP_CXGf5RQ&fIdUP zzk2A%i0$l$FeM9jYT^1s5-%#xRYXLwC-~-cx;Xz~pn8h`j~PM@>Si$OW4@}q zl&p6-AY)TOg?v+=R-1|wfA`X+9)zYo)utMA8k_nQP1PB$ZL9Hr<;H>lyD0#{4}dxd z=oja7Z_+=G^<{r)0xm<@~qk zvxLPSinT5nY)qt^g*Z7f8{sv%S9ItUVbbrmW{mQsbRtcj;%_*279S2(!6u+ORiSJW8N*BAHkM%X;Tdk7QcD?@a?xt zFg{Qd1lghD@Gag#^a}KW#!d$_#$1ZtSS82QpC-MdAc-@R)U^8n1>Kpo0h@~&XqyVE z-7yu-?(jpa?NXkJSZhed9hv%vGI}lSkLeFMB4#hgBa$ndzc0SnO;a4dW0FH;z{?lcuB|75350yI zPoboO1mf37082o$zkVs0%QWD)0K6q%X=S)FZJ8jJ@j+;1{C@@NUZiiYaLt`h<4++a zgfw%ZvL`fnI@_xppn`LTe}ZtC&ldz?@|u)As@RlJl)h9Dh|zAi$?ZdvjvFk)!-gM^ zMnl4{DF~ZkugQ?$uMPwy?od=%jv5&d zkNNn1E4|+Y+Q*imw6{9cJ7OIcLT;&QTM~u=OJQ z&}3~9zboT&A7_6F@)<&!T}G#CEidX65>>_atMCI+in0}Uv8G$vYN=qjrD9jwnUtFW zlgCiKT0ySNmRtDg(KcoeBBHlr4rtm2PY|VvkS|ebFn>v+r?{`b&p&0+DCxv1Ti$1Q z6<%gZX&f$=;#t~nhEtyPI2hcqp3xc?H3F+bfaV>T1aAG|Es+rds606|7NO(oQv`_l z48i`9GJk@Rmoc<8zN}G;8CA=Mnq$_jZrHUvXGZT9s!%}B9&_LT{X!O5uXDyMG8$|W z*os&d%ztHMB=OCpzWT|?w=9&rTjo&`t+6WG2I8V9Z`>OVPH4QuzuycAlq*|T8PHZZ zT_>v_ynK&T3bzsyE1J@Qb6W(E1B>3*)qsQkvlls@81KQPFsL z0a|+5Jwzza5O)PHRgp-OdQ&f;!POQJunA5*Gk*|+lZp>{;xJ-;p3Zw%Yz<+W6``dd z#300~LSY9v8%#1n4svb~P8o=@!%e+QnFzgJD&-?OCv44vz^=3$6iH@k_eqcB8>p9% z+3IU8ugLLjAtNZH2@ViALs%?)Nq(z?+%oE^+jI?aKv9Wcx_(?J(6CprNyQ&4-=bR8 zbAPnVqbpy<5bNd0-Rs2K?>R))df#bnI~E1D4ymsrP(7MFMSx6FmKwAdpc&VnrDS==C>cKS%Mz6f36CE9WJ~{w`q%b0#JmJ!~WzVwG)4FxTD$I(_!w zIxYeYW>*I&N7a$`;;w?D`vV%y6NA8?sDBnA=6Nxot-)2d-iZ;)ge0gh+T&$FW8sES zTDRd%d%BFk4%l>M7S40{dSUigV1fOSWe)^W;dC%>z$f53lh?M=!vGRyyi|v#<9m(j z{%p*|&`0JkmOHnQgh{JyG%-_FxrsW2H(c%jpsTs-V7n%R4+aCL38QrK7tGhRx zOlNP$g1##aOXv?#Y7OOpJ_JB5g1F|^0a!j_rLh%e7FpU|N|oC%|ME*YMt=kx>^^)* zO@V`W>8(}No-`Knn^k2B&x#UwMw|_I}{st8RSC*+8 zQFdC!6)@zRmW0}3y-S-nz;-rv0c!MXwo4URLI|2$cB7}jOA-k_GzQ0SGs(N6b)i;h zAqR@_wDsu?QDR={A2L`I6YnVObYr_R`j}eii(ek*6~r9D2x55%|GQK}JUHaG`vCg` z>cdM9sOyj1CEd;s5Pw{u>{|P+fbKb1uJ(_xU}y+FJN>ZVYX66D+D{i59CYdPwf1+4 z&`b~iZfkgm;O2-{vkKL2(!K%V#`Js)LXjvzz}&prR+WX1p5Ii$2Sd^w!1_!kf& zq}xOMwZ z``_#BJO6GYErP}(TFJ&&_%|lxSZu@M-yN|k$H)0E3PJ<-f$+=(`B9e-OnV0ANoEG7 zhB=n|VZ2TwrGM?ODOD2jd4tcY#nJcnjDAKwW=b_je7@~c$$NXgy-g0z+LPEADCIQj zL?#%FCSDcRmL>}oHr2g!46l0|nOvu1{S`mOBt5cD7(TN#3d6-Eu4&+>33)6XtHfDP z(gD3Qm~GHw#1(#%(isJZ9_&5}{YL)qvksH466Z(_OBJaWt%7YSF8+G! zvdD|TIDdkm=aOb5E>$g!G~qJTYD^R)4!!P-Q^c~Msm(Ba0TxUYUbiSoKTaP&u{*Ue zT`5K_)xA@(a*E;%I>L%4oq74phO-e|hf*xy9*8q;l?vPaABF99f?Mc)ptvHr>!BgH z=;y=qbfNCHdI-_90%`XEVko$(a8#;>2)M&a4uAU+mDzHf)TQJ598)=1W`!()i;^B` zrZ-RZgAM_LL*ea~Ns!qEa;T8v!uHhPY}tY5y`2FheqnKG0kv|nIKWXTKRv=?h-NbK zOWa7^GwoK3V)SNsgtzu2?{n#(?9?~KQ&@XBV$UG?pIdRT%Y#17mv>2S z^?$4!AWD^^SQKTKuW~i&jbQpf0bRrW52%l|A7stdup0zlOYNAGl3uGNP1TskcYRfW z({#tf7*`~XkgMy*%UEGADnD!OL%9A$g`z4s90Z_vwB@V8vh_BK$=*}*z{?ZkNa_*Z zv~9EG0jg0TjTJ#iRMu}C-w!yz$?n0bu7An{5|Ud+L0WrcNh>Wr%g|Xui8S0(&suG+ zsAaw%9FtaZV6^~R`Gsh0hNr7`m!Lp-x|ApaUu5;VcDt&h!h?RRN<+-N11QCLyKdJLxI)4j9 zIKYabVVpr2LSLS}w*+)~)GK#Kk#@t7(+^{zOVZ%Q0q_(CwX~*R;ym1gk#1EqE{l=E z@w)8+gsK_EG1yx8x3kCqDuB?b-?LF!G?N30W=;YLsFA7L8kCv{JayTJRs~L2afo{W zdmm_;uoj+(*LHM_^UjLpDADQ__kV36Jb9MgeARLF;0z<~asY6qhK<^-JaWCfMxdBN zelxHibk)lHfU8f)a|m)ZP5!zOgHB%aiJyXt--Aj2Dks&f2a`VIPKBVN!%1HvNLTzG zA+@(}x##10<|QibhF~fUD|ozH(`UX$pT)kZ5~;6Y_++<9fMph_ahF58(to$hS|*A% zE$etNIBF^@e#^_c{Z&(G*PR}VSGT*bxB(W6Z-@iU!=`3|@0j@foZR|jJds%^9Z>}` zxT?D2K@DS+kBT*HMW>&Nd0$MUr2-pP+oUEphWP|LIjkL6P1pN<_&Sq+5ku=ENX+kJ z@E)63UZD)C*J$6Qes$5O?tkp$a5SE7{#XQKD-|lMu~(2N+b=i{2$9*0HNz zx}D|`*4oCZfQK6%K^l>9E3w-C$z}`Agspb})E*|`%_O|hru|>`zJ&NEKDn1j6q9l$bQcH@FJ(B+W{ptl2(0}MATMs9DZ)P`E z6DXhoG#-U|dc;1#{}BI_Ceh@#!DDd4{gYR8i{hH`rOk9?WSw9+PUK4gcj!7a+^Fqg%8_)W%Fjd2Z=u)6V2L*Ui?a*NvN-nm)c!F zRL$Q$klC3*$iU>iLhvymfQ^&-M#Zpwf_5tjG`gfO_k= zJ2YQ)VDam%19{|dlgQ1@y)Cj2tV^G&|7wgWtz(P!!r(l!`!4$%`%VT6Gd`_2-+~snKcrSSA+4UYsrxP zx9G+j_S|8PJYLxEzI*)q#oJfUg4cM?e57-SyohR?hO&7RuXr`vJc6c$vAuwMrbIRW zARN<2fq$8db2h6zh4U!)EbQbQI#l;^78AAF&AEiz&nvsHNZt5PvWd3XS6L?Ic0rX! zC7i1d5@K?zy8^MsWZJ_gxNi`6Ws5HEND+T#Au^*`&{c75ByywWbHum!6K#7jK81}v z^imK$FE6L38-DxaZF?EGcB@~Jt^06)b&m{-v41GAGZJ4i+#BNRw7kFbp8s71>vkW! z3q5Y!U*Evf`)Pmm!Ix|6cx2`UOXgs>ce47AA=&fK`qNdSqF1bcxtt*Dh?JistM`V} z@#^1 z8h=PJ2SH4FIiz#$AR|e~5%GyLHX&S?sN4$y;H;@ta$8jhLzm;iI9OI32a3EmcnW_{ z3VoM!7mi+yeYO0B+lBf46f+MCN}t>{khB?3#}J&c@Z<$a!b|Th(an87oPr;9zpCZN z@V#e;X8u}XhkR~l`N7eV9ZixUH^7=wVt@3symoiPm16_>2=( z!M-t+?|$?2v+0IyZiJdx{*VubtF4r2FH&uic~U`Jo2he(2!~ zBl`NjWo^)&t53v_=;Ka&)W*}}blRt1G=QN+2qr~U&>vXq(l)D)59D#3Ud4Z7Ha~~_ z|#o!Gm(Rd4GDG4)HJI`G2wgZ{gvn*Po2(*C95T!AE*R80y|^ z+Q+EUi`-9YgZ{)Og^26DA-z(Q++b45?EU2E3+XBUobDd)#2>>W8XI}e3r-*Wlijoa zN6*pa$sWIFGM%n}VSf?a7p3^)@bAOn5u)>jpQy9{zVdT?G@>EkB%8QIbAJNv=a|KN zU~=SR$^)cIC=`C`mzy2;=_Au0{Tlj6AA=tCTi}tJPk$mEJt`f(TSy#9+BAHxAWuD> z{y?a()g_}jSRJ$J)7}Jr7_=^U>W_Hc_YPz7bO6Q2K#=q4r;fQMv=!b;7I;ZS>BXLZ zTG`REtZ>BiCm&(1T)eRcmVXN?x)r|#ddF-r8&Vi8PAAzlgnhdDUJb}jW&d!z!<$F4 z=Si27?j8^O;2A|8>KpqU7Ch6oE#^XY=)`dH?6_|~;;V5l8XTgztVEVaFPf+{l{J?_ zZ;xK){$xy;675D=iqt9$u-QWQ%mIGs!JShRTPV#$^C?B1O71H!}cxNM7|xjzf4N zSNbH+nS&woewrDq!a`8Au0a<-XeH1Ez;!^M;i(l68jRLL`hSVG->78G@i$;qw)NbZ zMu=OZDtFG$yUYIqBTM`*2(eEtcyQ_hBnIoaqKe8Rq0QBD)zsnCT;apWEOzt8!kshP z|6PKZo8hBob1g3wLsLlgT>pj(&whS>-~Fo2!^LJ^Pt6)=-Tix`a(p4abvh zr3(6&0Q=bsSbz9Q!5W+~e#HCBsQ8r6Aoo%d0(G;7vh*}*r_svQ($k7a&(T7O=nxVT zTAp?ZZGaxJ(}7yp>TsX}?riAofe|ch%$!bFDiWa3r6d?y5Cd-3FY@?I4g-38xf^x- zT*VtPwa^OXSKM!R2ACtIb3rn$_I{}&G{FCKEf9|7g?}+7$?pmoyk(S4NfRPr=_(S#$=%rmj3dk?oi!u#N!oMF(5%zT_$u$0?}WZf9!yOx-aW`mAkpXSlMvg)PJUSJEZUtu zdKq8p>-Y(+0LOLTBB7<5S+r@XhF04GV29h$)973X%ca@Dlmm7xiP;X#c~;oaTu(9M z+IHBtn{mn&3!`Xd;+F2hgQ1l+*sjD{FATFwVu};qkcG36iIR?TgXu}Lh2zklg1TiV zs6i8~2iwuX1d%<2KjRj&pzp_jk~btyt~Rlia=|qa`oCy{0vmly8K_BL(>PCl8iV&? z`@-B7qewW%=)cM>P6&$}|0YTLQqGX)OY@haNg|C&JO+l-=?wmjF6I5;xopX$#69hrZ-wU>V8SLh~hp(Z6!gkY=FVut|tclWa}9nbn=S{0NL(Bt9(SpO9{l* zty_5phZE+&7jzt+pKs%Tw$eQtk2WLL=NL3w^baDcqronKU1z+vmk_QK;W`n*f8A4F z0H+t8Lwu@`y&Am{VB_Y=1j! zP#TglvUCANGTSncyd1ESY^TsWJnemCI~I)25a_bO#jII-ortdY;+m-i_=jZ{K0O7eYhIcTN;=m*uGMfQ3)cy#h`0PR#5c3oh? z)TAp+SoSf05SMAM8rb#&vueqqw2Oz7kM19`Z@%}A;W>)+jizGx45K3U{2V6cgo#42 z=hiw6Es$F|L2z1aWTvjKhqlOj6}kODm&d!XPxe@Hqoz9 zprFSslie6f8>WJ6F28>D?@z8v-YOChwf5OcP?)J*V+`jfT0+ots(JhF z))!E*Lu=P7E|M?~b1d7c{vTCqwi#dH3I>pWlujl~ACAZ5%)0yhh#r^$p$B$VBKW58 z<8o5tlHs4jVQ4u*Q709(H`OZ^`3C*I-ifTvOB;2n72TxcVueA%c7@Ot#k<`HnD-#a zMKSN=in^E;b58?mXfgW$7cCe@@ij)i7(1G!0Xu@5T+u;pF)@}?&J;vifYs$=4KZAQ zq89AJA5vu4({BDzi6%*eX$VXEj^!=PNRxR>Vc}A8z0Bc;bQofVR8?GvDUxZj+2_9? zCgBWfGsIRTW!ddb5567KUZYR(2P>|2AvF~Z77VOmSFO?n$bqx;!RbMB^$dL^*Bx1)1`-D9Bq!4{chQXeP^XR?76?16(VaI7zgcEHAj zg-!Ln0j%(4287D}KRqbVc89IF5*rjM=MUZ2kewcyOuAq;;q#+a35nWB0MTH76pe*i zw7ioHRCNG1m)zmtiZTacD6d%rkt(F>BoVdZJC@9GY|rI|FQo1kNAZHhpZk*c)Y3(j z5%Zfwb)MjcMRfpPj#C@%xktUj*2`Ur*=pZIG$D3LEM6L7ZhCxg)F1^F?Z4`)kGYK= zpRxXH-HP}MD%eQbuH?3*Z~>KnaKKG_l0_|CbZe3xza6&Pm#k0|J9cH$%x}SIw`b{BOW0p`gI^03|eEYI7O&w?0>QXU?#yZ@`_KRx>|;oJ2u*RC#v zDz&_o*4nq*tF3E;CZ{W z*|2CAsp1V-Vrk^%(w^2}JE@$K$17*?7enUi6tYXdO*4F+FsJgoT8qOp4!XRf&I<8V zuOx_7qXF}WFJ}g} zRMqoFbM;NC0fv?r22+=k>7necY)oXW5ljYw6T_o^Jr>!~f+h`pIHf|&Uw3Jw&i^nR z{m{$5Do~_2R$}lqrP<8^U7@sUOO=m?H+N++pci}5nLb!!}d1+f%CkwV8- zrL~Tz8d@0^J95>W7U0sx7YXQDzaI4LunwfFpT+Zb2=_cDA&A;R7x#JGs0UAAKqGmF zm=iGMahj{LB`%9w9QydI^+d9ZZ5sMq8UeBS%Ee*k!!YB|9Bn+O9i&|MOO@dw=jS#I z7r6v`eN?Z6yM$CPjwUyMl!{dP6ZyXXDS=){0-btH4?1UL+>OsDqGtM@4a%SB{@&r% zXd!x(Ma7TO7#MP^W4KD8aM_Vl&%T_B3F6VFUc=^UEQsjNep|kz8gI+jWJftJBfq^R zwtZ)@#&+L2CXmD{)SwAT6*3hZjU;%QFiRp8+;OmY5+a#Dkp%I7)Co{3iQ1`CD-y96 ze?p^^E|TD!CK?m71?7O@;I+I4<2!IMhK}0Z0k8L9?d!W>mHrNUSGo;z;_>_b^xwdv z0UStHg-d0+Yr7X)H(K3^trLHU`>-{p;Vz6$l1+BYE>e-}lQ%i*_e2V&Z6k5eCE7>D z8r|9~bWYi7!CIz$S4g)OP982a{ot|kI9Fg zHzo1TOG(pWmlKKF<7clSN?U#U_1g3B|N@@u7e~^ zCVOIgXI!JO#+a$Y^%!7{QgS%L?Fn*@e=-E$7@hxid`fH}Kf^9r?o0ebs^RCign&nI zc+Wlnxs7jH^y{U-)X^hfU-bDk1OfIaS2%v0?Z7l!?rpA`$-ruv3_>NqhSNImq*dU_ zYQWLWJywZ-4F>Er-~Z|bYPi%C&AcT8V~i=F23mN6@fIm62yYQ+wV~P?W2b_J*p=K( z-8P?araWY2-{9yyl$C<}5QZ$>Z&?k|R=Fq23kMNLg;-R~mUQ+jc1ydP_O;+?^r0Tk zHe}92ZAGM?#!tkr#lHy-9KsO~5+LM!W64M&4DJqpn8q&&`w^zI@1d4yA8ls)iL(b~ zt@J&*EeDZ}8_|pHzXVU=W=cTUZhsHOVwd80ejq9gwMvfI4k8KpBy}NVMX9QCsc62M zs4C~Rs-m{k;+qv`+%Q9BHn!SXwT$0fClCz4i4%LNJh}6l-t(Mhg+BQk;qKrGJ}}Q~ zc}z2Z!=#tThRJ;;opR0Q@P}4m&JEM>N7Zo#r?YlbF5vpR1D)hX#p9eZm{H-=4qFLr zcd&v`;ma{(nCx7k=UZYSETw_e&e$OO9B0X&in~9G;*MqfB|d{Q@IEKMmN4X~Q=&cd zgCy`T3EYXlJK=qQs{d}#zWn#l*?~E4R^cgsip`bOdY4h$+0sjF`q*Ehe)Ffh&1J*y z%uxmAVR9088vIsOVHQd`zBol%Lj2$)sI#05F{twi2X$sYZS`bA1eF-n85+n7QOhL` zJhH?oT*36`;R%#Fw3wmev9M|qItP-@qhpFzX(>LQ|2J#r=gz8;-*F)^@KZBaRt<`O zvy^1VaFs|5uG`@ye;-a?$55|%Jf9?2!j9T5WelBkPFiO@4G}kZ!!jLZr9$$N44k7t z%5wRw!cY0MhJA_7v*i4JR6yhsEyBE?sl#&HI!cu;mgaEP{ zu3PtfejeiP0qHb6pSIFTn%th%_wG zMKz8ShWR%M$blakZI{7P5pq6;h2n1ULV5_`y-TXdYn9*uVkbt5Qd{DPrCYaurmD-H zxFrPV;7&}bJnxZ!8xer$0oIYh;F8mHjPB)%QBdcQZXt*%8zwKonKxB|7Pyou?C#s>WJJ2+a)0KkP)C+Nzp-_>M!XYvGZcpgxJ6zi-_Ni0sMP5W{Wx zg#!>OZJW*pAA=00CRqeAD6=$xm}t5mv8vkvM3y@xfhruQq1iote0_}#0 zN;Iiqu0g2v2bW>V_33|^1nWCuDB65!jZXQeEyZoF$X^Pdh7eLAoc|*kB2M3Zai*JGX8*PTCTgqpovJP#QHS)dIPd zwz)5y!jD>7#vgBg7y;Ij%aR1bUih*EaYCER61`bB0g|i5`wVS)Vdxk<3Z2yE^PdUY zJ9h0&r@+djJC?#}IwRGwacmCsTz1x-?n$8@iK6$9KYTKK{=cm?;pmT@&E(U}le?5VW{|cq9Cd%y}jdYL9jaySdjD z5Ha#FzzZfaHG76%MG`m_eywk?Jnr9Nlq^p_j_DcDd_f2%NU8+a2Qa=KOk=F@R=kS> zK4bmv284$(cZE|%U6DHD+ejvA-@3bjU`G1GP_tZ{hM!MDqel8H%?dAE?+jN*E1ypQ zuoVsi;#s+WR;ImRo>ijPK`1A}BU-B*a0_CEJ8C zAbf|#qDbH5BXW7~obC`GY?N$p(0WQ-aDqL0Xa_MZG?J; z#z3T^RpQ(T?j7<~F-T`tE-+_z)*qc1kUah7iPuYiypAAazk}W?zgwyO`@Ht=L+#(A z_MQRF({Eh--3XTi;8*l&5_b?Zb8>B7P1t5iUQKn9)3OJXlc!e1sP)cF5SN+|lLf7O zH%z^g`ipocIijj}65NW!1z}w9PUxS{%t6!r{-H}@N}R~{z${B>)T zLUe{HPwmcG37E5TMpxa~ssK`bd;9pEPY>vSqwCnF(_yMM1mh-0Y+*bPWS;IvZHlOO zUDH@FL(JofYk**(rhaSk@c=4C?{a)z=$yd0;#QTsOQlLHIzN4yz`=$JT|P0iX$eY^ zgUj(E)i4)2!;A^R&{CX0KMiC6jBgFBvz%S-Wm~lKQYd#EYi?#`GbvhWX2nBkQ8}=G zcHQ0y9l-#M4-fiTf{B8qJBaWn%j9_DFvZ!NkOA(JX+%w;CEhUKQBJK{y93Pi8ZuMq zdoDiCk6X90^`%3G;|z+V^YcbtLjj3%F5}iM7GK4%Iq#yLuZ9aC*y1G1LX(`}*dz^6 zi9I2h#w4D}!RpECXqEV$+R@;}RVVg;M-V2Swu_Yp1pnHl7-D@ z1ySc|@!VlyU2xxY$Mhxk(85j?&ZTgt3MmiyC?Rgf&LDY!Qyc_-Xj5e)Y1-Ilwuxu= zjvTL8F#(U8TpW0M^NW`ku z$SzG~-hdz}VH|E#p(jG4Lw?nX6GZHX5ff`62|Ed38$xc~h@kS?{9ny;Vl?P^ieu8f zPQ3h#B+QAljJ-zvZ-8kNns(8vHkdn6Y~(BuUmfc~@f`%uqE~1f{A!3xO41)s`t)|Z zil+eV5I8uu)^m{s1Jq7p61+SenN*KhUA^0g<-aQCNQr>2C!L`m)v$nK8^BolpWROS z7v}6rUJB9~{w{G&tZ>YU-Zr)pikYc)TK}@VvIS!UfMB~2!7&^(xh&^@rggasGh%LQ z9L~JXf%)5psKZ!sErYmUs;l+%b~UGO8Li1op{EP+Y9 z3GFBepVfIYRU-J@RFUwYqHux@(4+1H6KB$n1|c_QfsCk^$GZScUMTMouu|V7@dB>; zD@89pmq%gzDXgj6P{z1_iI4kW4%47|yIw|*1wX|n_ELG=apB~3BvfI75I@=0m5Eij zp9YikcLo9^BN@`a{GIOjt(FlBE5afohbKA+ULOqiSOb=-iIQwXe?$%6k0--_;xB@C zv2qawWh?>+WR)n>q^{K?$W!6}qS=dL4fQ7^i`QP67r;uT&|E)%KoDHmLR@b26Fcq= zqwNOHEv!7UcvN?@bPSVhsNHOS(zw1kz-hE!bdht}b78R0&pASh_0Sdl2^Tdux|ZA{ zGa5oLV72lo4%yH*ik3>Gr50LV+vZuh+P0+x<%W^pDPiRoI4sHGj|GJyd&*)C4*RWx zjhUdH+~xHVv*zi4cs3d0B+|`-r1o_q6f)ZmQ7BkDMj1tUkXmY*<+4|Omt^<>-5HCG zYmHu)cp_m5PsGEK_aFTs+aswx(1KkOhtk0Ed9JW2rXOj>X<-hGc}rnJ_-;;;p@5`9 zSG*Oy{TWe|{^YC*L>Z1jgzm@xe0n%M?h42-(uKEPWxmuYz*vPE>qZLc*7Kb0_dy0*wWA7I?v9 zMVz2G(Sy|!$zOg*(={)}9Zrk!2O}Jq8Qo-<(GKskWnOxj<+&GG(gJUh5tLNFTj(5;vKhgq_R<3t6RIxcLG5DWMXQzt8(66vGOC1ZDu4f@_;jaBGOVusg z3fw(p3$UhW#~M(H8vzNfk8kq5u#qjJqbl=R%j(@cqC{x_$K!*+h(A@Eu|9~!tP|vP z3c(?4yC5AZLSLs83kS#0V$TI20!16@jzkMrZ(S*Wo`4~9;p(cw6o`IE5)H`+MeLi2 zrB?o;DpmT%`?dTa7=YezH2)1Hx<%j7@*u_;KEFLxs*QUaO36-EV4bu^FZTfywF6FY`1LiDP*|r>@cqhb)tC3yBs7$z=8-o|79T|Sg{in zC<%gp!e@US<0fs&f|!GA-wVPwdx}QjN?B_?Bs!~bDDgL%Zjs1I{ix6gbtep1q1-O< z?7#)HzHaK64uTzR`7oWILq8P_V_nu=Ni?}?%Y*(W0lo--(z$Iow!MSY>~CXY7lTXHNziA)*AvXf z$J@7WgL0+&4Y{KXwtIN7+7%v34|1))+6Kzgs%ylx{FqpNN zFnX@FmG!C1#V3^ZQRK-?)<*#-KZUq|@3};rZ#Dm<$p0P;J+`WD)k7-K+M(&DoCqpd zVHAzH#J5rUjYWw5GYZP${#DAC*&2tMy?`>Y{hE&ixnSHr5tE;$BZ@F2WJ3Q3yc62Y zXYyvKna%+Pz?jh_z9(4I{Q*C!B_M_ibG0zTC4&qHWP#AIRjDXB(2$$`5J-W4<@Lf@ zf%eKlgy2E;mV&Le8#XBu>=$X6Feo1fWQaK$+o1F(hXgoSg5{Q+&<$Fs;Bbeyx=vV` zRX(ykNi2&+LWyKiSt{qUV;Kr(1w97Z(5n$@=Om#l_N%7%`Rq`ppaJ>#cz-frNqA8O z60<`kNPLQYy=F*Vt}iiXR5OZyI8Vo;SA*jjj1g+UZ&QL$?$e2Z$X&k8q-6=9ixCKU zR>>m}$pq&Mk0C;p61TuP?tarl*cp^?-6M4%6gWSp z?Ux|+$q|R#QADy22Z(|p2uwf1`O8*Xb}nz7L`d~bilHY6=L~#Nk>|pHL&*r>w;;lQ zx<`!=HelT81J}VWHTobp3a5_{O5sor5Lc|b&K9r-Jy?;aj@ledd89anIWSCAH! zAMYN*V5w4pd>iAp`GajG6`?AvM4GXgzQ*Sv0K0C7!GL=D8*WXNSoJa!J+ltv$kBB3 zzs8*p>u{X-xQ-|lA2wir4E}KgfhFWx1+R^i!4GBRws&Y(#RDyHM$&t50H>Sb(_TpA zL`Xk=;428-@fQnbTn%7+wmXDfT<;?Vh?EZ1-&-$yaKsscBR-r}4Ij;Zzq{PqfzcD; z3pCjPhBKe`fnF=S7BR!RJez(pj-JkH97m7p3w<&sE4ypAAQR1h94R;ugLM!h7<|Y7 zvyu8$y0*GcW@Mye{fh`ssNrCh*-Y{Fz1!Qbp1gSTZslHQdFe0f%PXnm>!P#tm$L!? zyHN0iiUsgn`Lg7XYsw%<^qN~4Q%0AO>B*Zl*+RH>w#)7p>%yf1hh4`lG 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 TKcR=u?t}jaZ@RH5^cg__2gh_7 delta 1169881 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�jt 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� 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ð=gR@Q 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�vc#r5(o ztpq}WNS9_gJPLZL(ujQ>X92@C2-Sm;CIhc7H81xR|x ztxCB042uhiB1$UIDT;Dq3Z4p0e3Dj_N)Rp~grZeJNpY^xE~)&fV4TN{^J4*Dh{UJ2 z(76Jo)MTb8561`KRBnt*&d?}RKRhWD+M6RTKgK<)fYa?jf4M;sjH9n~snQH=DWut* zr|htP1e%}ZKNOj|Rpb=JkOJSq?sVY=#rETl6dmFYZ>2(dis5P&Nc2=TO-m*z9D+6u zCq^EZxPg*b;Yo1?ZjSt@6+eT>?^J?c!tIgx@|68-tbS$oh8))mZ{u8AAjgAGjTvS? zN3LBE;g7H?f3pcUeb_{ZII*HauT}1(Wtxy!l9o>zQ^S0k;@*VUplGHtOi-Myldm3p zlcM;Gd5X}I&NrwNi-M^&`y4z*ZY#3v$p!ap6x~f5MT+5f-z)ByzZA4;Txoa>a&QHQ zXBYQirWE!f$0u?6R*%pBI@l1j0DFJKZKLzY5O0*4f7ZG%=CNXa1TJ&J1{+2#OPKSR!OC()xo>`cFW!z* z1UDlN#!M`1Jpw=9UJY(=HK0@IGwU5@V~oplqbt);Kfsk4#vu2>Kv6!2xB!4KPLcBo&SNIGZ zS$N$b0eH;Nq(`>7te@-WRNBY3)wu(Z=L!z{e-|lYw^o75TZ?%BGgeQ06 z859{za>_(wvrNXt_8{F7&>92a7Ft$^=9BWK{y=fa?iEudy1Q&ik8RLEjc zf2f1;`d+D0e!iE60}`wP=Yqkzpeij)Urc}_I{)6wFD;DI;R0;(7LxvnzZ%L8?fd@` z>~hbajQVS}dZn)?qv2ZRc5pJfWKTx7-N|UUcK!B6np$%!$v$rWIi05#b_icHT>evH za|b28;0$M)8vGM*uNUqI;-y5ec7sCPe`{-DoA>H&_h^4~eFj6uZ@%;1X?`%i#k;}4 z|h%FY`VOC$V;QRd!;^_^3q0pKQ;o2oWa1vHyV&57v!b#c&F1nP@59< zAU$Az=qhz!q%H+$!f?y3c^u%te}M_2%_asAM;UX@upfZ!KB88M_qSr0aEq<{9GL#` z)5moC3_wS6lW7RiI~5ev#M;1JaT0EIhH02x;$ddsXqe7um<$z4n9OLHd^}7}f@DT* zGVUgXq3Ur#MiPgxh{pq!TihD4!a@f2l}5stbKK z#PJ+;-ciGY7%sXzzzBw6b5}pmhNY&c%;Yd3la2!u4F|(mn;IZDDaep%<(wT;v{HKO*Y1F2kQoG9tRj$ zON8WcAg!ZG(*drM?=~^@f9Os97;{eaB%(@Grx8nyXLk=sp~OSGkWE$sPVl%NnEH+a zKAbN%U*ou{Md9HRapp!@=u!b!4Sawqb;=EHv-4bk=DdwVHYf#*x^S>B&^uO?lK6c} z>Qw+HV{S2*=polhAP~@tK&@cFc!Qgcx1nY!(EhXleM4t-pmT=fe{v7Kd5kV;9QDeU zE9Yl(yymS91-WQJe_0gv!?XtL9?O!x{!+CHezaNzRSwxv@RsojINEn0+wKq0Y$~om z)ibVyNX5M?VRE>wh1bbUpLny?_<~^KKb$(~M(1N366dg+;I>8_WFcSv{Dw^c+v85w zKFTmp0a&cbOVuUHe>`|!#02&%Dv^czMNrO^A^dZ@D|2mRGUwcvlga(L+$!@7sf)WW zU)mQjc~-=|2gQcx6%c(O7hTT2F;P#Y^71J2UM@2|-IgkZyLRAU@f=-;=o?6bJ^feK z7FjJ&6<+f5@L!BH5g|&6>>$(ys83dgh18Xv!ApC^;3T%ke-CGA+9VqIR^r7#Z#Y|OVowkSM1cB$zWW=VM^oFOl~;<0mqq}|R^JsO$p!sIH7yFKH+ zEiO%-A}^)^2Pw$oFgZAcT=a25zCDK$WHSj#_*d*xNNcA1H{B=a!8tC|U-5ztUT|K_ z^5JGl$z*;bf4ZC%%B84A$6P~6F;rH(zE*iVV8y>>S@E|WD_&o_{`PF^^F%MhuuhV2 zU6Z?;?j}hy-ANwu&fWTGB9|)yty^^JMqd(S99$p6uRe?k8P9kPZYbFD1um z2c}+=5137|?u_=^3?LaZHmaM_I?xliw;tDze~*!Mql;1xoApU=Jn4@oyAPl4cP6`A z$M{9I`SJg z7HAIo+#{wmC*4jDsMo@tJ%Z6jI!T{k;JX;IBm8xf7UZ+MqI=ToG{N9as5!lN8qHvUSLc#q7Fe^uqk6*)PxSH8Bt5*u#oq6_XXfDBiR=-nRcmcpHP;g!PDOQjuZ%O6f)JvmufUzr?s4pnHIxh0)e9_{e(^9m3VIWp&- zR&AGzPlM(tyte?>CwVtg#{6e{Pd}(eOHw5_+@^e3Z+>|9H_s;C?Asmf|T>TUGqZFY^u!aH# zK6ed7oz>GiUB7w2&O2a^t;kB&?Z<3PvKz; zOP9)W2|gj@^f-^R(@kmFTq~t=CCE7*LW&V3!&R*R7*6gkM3R7&;z1v(`gpUByoSFZZSrKx4_N9JqcxSHZ(*;xEtm&^^&W>lu!HbJZR zJ>%)$^9C{2MKrg2Hm4Lkm5bY2qljZ)N%-rO@>gHw{@!hq^alfqySQObf#{Yss*Y)FbDA=Yan* z_OATuBHveB@9eA3v39Z@h8EmTbnrTR7q!`60AT80T>4yf^MaMA;K0E@B`&9m%L8n- z0WQB~aru(Nf91j2^-JM>%wz6g>vy&`@9iw#-C49#8VP=0QrW-UMO2C8%DBcSSJHfY z?cwU?#^ya&UdGV<@LoK)vAzu-%+=eN zhCB{Cx+cKPE?Bi4$edU1Q~12Lv9`Lisd8`EJk=o$e}>|E?iXpukvc&zczJvqTnfS)?Ry-ANJ{mC(m zsvDEzr?9U&nm}^WobXR9_0mZ%o!tIl@)&c&mAQ3~5b9?8gSay?k$d8DF`K z#x@!ff81`6p$7CdsFEB|*3WBnT!*0ASf>sFWX*yNIxA2+s5)q z5q3xIZW-WfgJV_TYEXN^2yR%Q+MG_+fn#-w3$^8nV(YV~h|hqz1fd9JuKM>v$j3HA zf2@R7$j#?ci|Eh!G!r#qo9WVror`ln;_%58%JPHJ;S+)=@fD`rMLvcienJ#54$KAS z5FX0+LQJn^NPFt0WKJGz!ihA=UcqiPW5pIe&8VY?kD$WOl)gLaYQ?zy`Zd3?qJD@5 zN~cm2>*E6}C*C)+g^wS$S`ZO!P*kSAe^i9g9jYPLJ9;^Ii+5CumtHHmRUgB|x!zxa zzElA6U0Ml=ySRo1kmaF;N8&-BK-_CkG1-Rw?--)isKy<0>3y;@9v;HA4~tb$gl>el zu*%IRV;HLA3#bl&+c?;~MrWwYF6nkV$HvcF8>I|8$Ce{`Jm@|186 zU>FP&+0u7L234?35;#@4tK@N!$+2XSE9Sv?CgeUxdR2M7|E$`ki8g5f!pHLAbG-?l z2GCV8N0HTyX|&JkQ5_y4E+*F^s~0;QDXW<`4YZ9$we`wyiJx|w((I=Cv{iBIfUb7n zeX}YB3j)G+T$Z(Y+cvh-#}h2Lf6v()^auR5kf8Qp$dNZYcaiVVRj_IdRy@F-lrYY= z<1niLR;F5TRg6|7g9FpOQEmaSAh>mp+2|fVyQ`CyNs!M8i9EbPJOdTRC*|#u2St^K ze3()2Yib<1iJTeHIW1;0R#*k|&Y=RiS*k@G?C|qpN zs;ZI~cA(uZ`VOa2i5Mc;f_8&*D$nW(zRsysPUEyO5PIB}ov1yKdiapp(e>dG1=|q6 ze}peUDW46@RPRIJ5M7Doe>w~y{WAJA-f+#8h;J>$^}1L&W@12P2NISk{2jI3yAl?9 z$WTVCW3ry0B>9OvP6P3*=NLilDF_6!S?Uipebo2h#dCCDjeqJehaPw&-K#@ob?3lWzd|Qvs8e_s4fgoMt{ z;M8G4S|%uIezBsCEPFsaQuUpW>RJZR#Z9s*c3|NKMx9qYAa2h!i?KUEfov;i7-)3= z$P|*(XnZvQD+*RSGK*3XdVJJZ9Fzs5ar9m;2+)|yYBeI)IMEEwG+b|l0SgHCk}6M3 z62lf@n&-l(L-)%pe;kaL_y-3N%%<&L05x`o5fBoTuBF2ss%CRqDQu>qv}_xB2h_7F zjSOS3#mEe#s!T!_DhIm=PKL#fQ3&J&1vlP6^M{R?EcEmSX7P%>^q5AwVWlq}h%JQE z1(YnDw9H3%6oGZ4(X$3{nlF;{%cuo#Zo3(X!IA)EcmDu{f1S%*802BWROdje+)#(J<la5(vwf2~BvpTm$%aabBetJrIlRgRz@$3m!l2W1Lqk2n!D(;LU1Me%Hx3^c+v z51XAkJEB2KZacCV7eZ&$l8bXu+N_%L-pJ%N>_`yHwnAW;vILeXDLdtM?+>HdvK5#q zT!ER=X_2g~tp!NW^RUp4R~{Z_s?sx+k7V0NQ0`h|e?tC3W6E?b+3xtLTlG(?vZ0$W zzl3D=OndE{fP<}=aePopNVf@At>l0JPPaDfDYgW;6edd71CEK%&dCJRc3r=SB$3Vs zX4u(^s$;Pv=C~`3LI|RwAR~go%O(m@r5jqg+R_{<%>%W|Xh;~B;HoSrJT1z}3I|!s zapXYFf37ToB}s+p3>7*qjw1<%UVD={nISsvdG5qS$;|lJk%$LO#5dB$eE$NNMT8J$ zr{2KKk=w-LMD2@6CVhy#MlaG%!|pD+#ZD)?bKP{3B@we;otfYpC@J=1S{k;@oClZ# zhUaHZC}x;s+=WEp7-#q+3&TlQ_6Qp{F~`nZe~e@};P!`Lwi)2+kP~yba*V)0?n&gS zE@q+S99nIFd6y5G$!Qen0Z%6aN53=-o(S(dAf1vg0<?xlNXS`Zj^bN*-_hKoNQjry`t?Y}8vSM`Jzp3#f;q zBM~l$1%=T`LM4YLs_RW7Fv4u(+A-H|2MD?0ObV`K!?b~b<-C<&diB&UGl3hUp-dFC zU7Y>kWR*<`>$0$fCwZWUk;a87y}=`jf0H91_6?b-sdAu;0LA0SCnIpS`vO;rotf&O zZ(gY8r$}kyQTN#~L=9eE26^DH^8twf*Tr-)pg@ z9aST3VIZ-@0D=y&9NZTH8Jwyo92EAU9ZH5^bn4*p*;PT(Lw^jB96@V zSW3?a2&BEZBnCL%CEi%*5Mb0J-~i10YQ&xZgP0lc5Msw%VUCp#qtRO#CcA^q*d7yQ z{~vMZ!rVq~?EA06I6es(zp|T6e{O0w8;2q(iEB#Kl9c6V7(FP7u_P*_WLulb`Rw=i z?*=d!lJf4kb*gTaEdo6l3?7X}qtTD)DTF=kMG+FED={DBD1VYw%?wG-KRP}yHiSirDpw(PvvM+rwk-c9i>4y#kAw!mn z_?v^$xibf*V`mPGr_Ks29y)ViDOv{>I9pF=w^9a(lWUp0aY<@pxopBMUu|AkUY1Ts zfQ#+c)RxT7W6e%B<@9Mjm z?2GHrC-U_klJQbV>3~v7MtoA*4l^=MwI9qyOonauRttf!DlR3qlgh6O;Jf1sF;0~ha}@@uHF z7x&&&+3_k7i`5IP1PNSa%4-r*#(L**144?+7bHe--{*%Pr>PA~&`NWbpH-T${4jof z8LrP?qmdAtT6-#erjic?r3#CrBtawni-7WGuL4-AY>5O$a6s6YjYu2wP6cK15`KK! zNXMBBluk7nEFHBmf9w~h9kA`13u}k+o7JUUSq(!exwc>AWx0|B+4V-YQ+ht`lb#E^ zWVrQw!li~sTF#b75+f(%Opwa?4}0=>1yb^srs1Fp^&V`A(~saiT|cRRmPy?!@0`M- z6z}Ft-u(6m0vR|J%Vdq^7S$HpDmDj5S~-<`Lbx^1fGO*qe?)XydKOWz3QmZ)4!rgw zOGsIL7*MkcjKfxiI+_Mpx!9_JGnA|RDl&oMW`Q{G zI`EWFWOdK|f34jCJG?|{%ZfE}!s7Y-fB=~=zSe#@ohmuk*-~9D+oVjn4@&FkgVkpV z;Nf}DDnP2OC4?gnn~+XEC2aY-X%NtHiX4ckJ0Y~V3(*d^>rWF| zX80>sA_M4lJwYNpvm87go@^#CBN1~9T#9g4A!)dlf8hZ$mcjC*a1R(1*Q~5O3cSNI z9P!EV2L!_w6kpFcilPKzh*!y1o0y;(#jHN4d{C^L?Hra12dkK^o2Ty;eUktd0+3Sygdc41; ziZ|iipE4EceO_&49=*(eI#;3Sk_p`D<7Bf^iFKv0{mJ+apMb%m1AR(*Hl%_@enJjWJdDfZ+~OxFCTyP`^NHvY>H`rFb_*be&+2TZ~y*} z_rH7o4<6lP8RQ+Y3UDYI+Q{#hd^@VC$>3onq@|Eknsq9*Vsj8(qmI5m`eGdSG_PZn z;y;Jk&%LdC;N)GfB7CyKI_|i zWWm!nzGO*`b6Pi7DF}QrJ(R}@2-6LIA?(HqhmiFr9`O7Lt{WzIrlF6MgxhP2EnGyO z9_CxZh_Abv(6(XKO6}7-R&mkt_Pc-oC-?ZGb-d0&%TZ;2eg6m3%=O-gSG@}1@3zGB z%y90HrAr|dkyC(b!_=~Vv&s8k{1(qR4<0R6US8)mcI{-2N|dY^kFBAptmlW3j$Jn3lLAL5#RX<$?V?j` z7QJGB*r42_0@~?i%+2XKTik4|-TeEj{}fl#ixAPH8b0^l;1LyfSeaY5`cbjbz*6ul z?E9YiuXzeD3(ShX3jCi?fZwG8pNm&25N!>;SjsIGJ}z3u8$CLF^q}^LpOS&oW;DyZ zU;GjecNe*D4xGWR@y&rVku-Y25uK%0qUuzC9Rt4o_BZYU4^JY&Z(DT;@#vnsrzqM? z=`#$6Ve$m>b8KpK{4u5cf-p9GYE4X?2XBA-55j8XRph}c>L#kKuLsDVG6NxF^rB{%D z*v^nEOP;UtsD!-0o~NceiAA zV-|PI->q0cAaPKne?gXFb(V z`Pg#)eApQ(u&kv9M481kIoHU#=_yn4(`(W8;_t$qAt>@fN~nzPknpS?6S(iiYr%nB z4#$Lh&ou{eHM`R>Z`8ph^#spl)5SRsV<$xW#zz@$n{TcaO-2HW-0Q8oD>gsP2um*h z?2cp?b}>bi83l8(5VtAd3>avC?KhX#Hl&og#VuUTFOzCmw&Cy^B@op!{mkE_e?w<= z3{jORz140N4$uD*ot&Sq{jU|ki*9heZ7R76dXCiTqne3R@T)r-bV}WJy(W*nmpI;) zBRBoj2n1tZjAy4ITn+=F7&=qh%t%Yam2wywVFFA9RgHN5s~=0t$?sQx_Q(9)e`9}w z>w6p#EAh4cS#U1ZMS4wQPiqw6b<7>OJPVsWHqL)tx~ER4pWpajbxmptOd2uWJ-I*V z$;Gh3{g|6!H}#d{UmtPJCOCnx9w+2-u}Xg?n91;Y4LbpK5FUQ;zqN(MJhbWk##|pG zgX`L`X|6T5nw4^vGKa~3rjl@ui(&ko+k1+Ch!1pAkR!^xTp^nY7#`NIlkardy<==j zab|*a0F*BK+~AZx0(cU(aHM}VSh>SL--#3^bPikM~B#(o|)8)0XpOb z>jmk!6=)p2YhWZKM6RzVa?(z$rc?XPT+a`?uWF;tZf&za*xBrVblSCDSmxTB&Y)l0 z?URE4ZFP9MKd5asd&5pmqMhAZYtY-Q?RClR>@;h5aO!W0gw%*PTkCYUwnw$i?#oWi z*q~ZxXK(bnrrJh>{SHyoM*9O*Q4@P^A05~$DK@a;A^@-1l^c#fq064`m>Yc7hft5Roc;MaxfMVBC>P^rZBSjB(SQ0T zyz80pvNE!>N4~G6i%)@A$}+JOWZaG7EjgMIZivmmLrOVC4Uea&FwVu0_@-hT zPN*d1@n>q6GQbWsf1%-Pdv`dT%q2Nj_%HqcN`Jn#)bA}em^MnGEPpRJ-F8fG0z{WB zsebL7kx%nholP)FX9qdnQK*IxVZnbOpoa^OqDyKHMG2)O)M~oBjy%l}$&tJumBeTk z3r`mw5Vh7F_D8dwLv{`*Y#2!5J+vaJ53KMj&ox|oAI~b2oWpk@4X`x~iuX~hzEkt#-H6B`hLGJ1+k5=I$ z>d_9)zSbY+MSGhZ1-?4|50+FEU8Qg<;Z1;(FlYHEe{4_B zmDoGW?xqUaXKVy5CZPT}<|-BZCs%Xbwr7W^ zci=L+WbDFBnA5CQ88{(@Pnb;R5djrXPa&Osc*w&oe`#3|ed2m}b0V5V3db5A7g_F) z=YqNld-jY-z{~@y5>T0r4XtsVhxteN(Wn^vBHbn%H;-7s&&L-0#?9o_PH&{$U>UFp z!zSFZ2k!V_;2|}Z0o}!>F&L|Gp}xREW2dT87x!^m0e4xT>{2Um0#&ml)rqACjwNfs z*2pEWf8olyCkh9>R1Yx_kLg7msr10?Zz^Rq;AL*4Bj!rG^nsYyu>N>Efvf>IIT{~d z%woL}VvRbw3&@=VJv2uSnJ#Q=&p}SYtN{t;VPtZMly^$VCF&+AW1X+&BSHP8509}SmmCBY``4F^ifJ*qIBULZ<#kv zzsxFpOqNx+n2;q@NtzlOsz7}!j(rO|SV+dP13jnW zc-teR(r>2MZR9GTuAQy}sAGrabmDfP7GRU`O{`l$##+lIS=w&J(L@nM5KFime<&~n z=yiP+IH1KjCYOE^PrR6pCsI$w(rD8-WQXGaUUA5lc78bx8F&+%O;EHUL8Ef3!a#1ueR{MVNGp5XhrQMbWI22^U{7#5!%LOP`3N z)RwVF?bBrP;pFhn%VjP3ytue&Uc;~srC`Q*uZJa$M$dY)!;_`rRZuF8nrzL~l!Bm8 zjk_SUH0IuApg0c_XGiuBX^zvmAAZu2>du5lw&4>D%dj_aZ929|)iRyhf0VHECx*j1 zwka-whhbi+lVjZc?pnt=?6}Io{JCbxLe}JN2zM0iO0l&tQ&vrG)oVetLtqdWr^y*# z?E?&ZIFYn5X~97EWHhsJavi3+6V(HD%9v2lco=640BP`7ULsTG5 zq?Uk=z-61%BRc^5@r>-`q!aTTYT{ukO*z3=5W>c(XK6{)JP{KiYM5lGRBJ-hSddLd zi#qV~SzNL(WM<-MZ+_&+5q2=ku^g`iFb=)SZ(26zD>Nvqw+iI?e=Z#aly-Cqx$HY_ z!@%;f=T{2Q)|^bIQjvy-jcNF!wRdYKY$efU2bkYvwe7&Ul^;`1h{#r79#b4>2k<4B z_WNa6+`5zweGAfA zg!KPEdgo5De^)PpEgCR5R9qYre2KY-Y_0mX&k9#AhX6uAy}t<+EQNso-G)as(K#2* zQL*y7hXpS5-xh!WzQFrBnsG@x;8@xL$F3c4+j;yd(+=QT&b0$xCGCLQ&UdeJ7vgv& zH1`2+;%Z)x-35f}um_hWc8Qui|H65h`^{uMApJ8;^Yj7Ni+`8$oUSsXzaaAriwv zjB7q~^>=qATc$&;YqK9xlw1_#E;f`nQ=sNS*q=E^-7E)i!$UKZ8b+_k9LUvWh@UF=W4208&)8p8Flcr^@Yq}= zn!(lzr^bgjfB3qR{nIxw%iDjB>3w+EYKB01m)Db%tngQV$}(lGDqTKOu6*WgEI&zJ z1xf&Wf%QNXCDSn&j0(7cNBDZqJN#IcdWe zyo&iXPVn$yZWh#%@t6xfU3FTzBs$}9bWSlIb0k*l##{$u>C-1nkTeFPcFGFsYihM}jF4vQHsEy%t!0$oqu;;%{7SmH(l3=R z7m8ek;Hc2@b5fw(b<$8EuBXaopvH5QbcX;}CEL(=(RoIQC z;IXFf_-r}g!;&s|*a}vdn`giM?Qg?aS*ql=7>IwUw=wPvTg^R%xkzutcYg634<0-S z?^x1-KKYB|62OS08EsBR_G_hbLw8Z*Zk0tEck+uHBmOB?bjy4l1Wy8`Q;zYCQqg2@39Ov-m;<8fZ*{*l6BEAhpE zXsmyQUU0tl?Sp?F5>>;)F%!V~vQ$MK2fhxS*fk*#a|Pjhb@JER36#rdHB4EgB;$rU z+DW>)^?E7-FCW<5~@Y{XQRoQkD1FJ4j4vE)Yio z{7o9FrjM`Cq^{|Y`sx~_dR!$!C1+g@_NkPPmnLl$pHXx_cPk@kAc^>_519PCbToIpPhIfQYW^rH1%ttLglPieH9+1%YMAx2R)AgI zeyUw9_>b>cDXvn%;wKaa>L}B)wQ$Z+R2e=jA!HP9ZQzF3pCV`5r?Q;e9yWi?GL|jJGp;j@{wd(#=r_I zgW~P2DY~4D^=9q(_}E&_4Fc0X0JdC6}EqCO+J43)1A(F`a)=v zIN7N4*CO1VFo{sh zU`wOc(G7pIz6jPevR)$0R>&>Rk=C&h+jWXw3~H9)C0BItS3K=lF~9s&V-#(cPF=Ho zj?obqAQ7|>mR%g_4m!}-2ORnG^1qn;n99NRS6~0xY1#Fke_y-4J|+=ChnJu2_mW?A z!9w^2qZHi{Xb%W0q8hX`vpakC9sI__XOFd&EZcv7=A~e&9zLu3zo_~*S%3V^%S%!I zX_TMEfTai!-kmrLg3;j=lf#S0v(jGhL^lE_&cmK}9>2+W*sI9HzDYdndFQ(~_wlgv zD*ts~+}eBEUX|Z)dvS9G=TEqN8eV05BdfW}mu9ykgU&Jwoa~j?+b`~Q3(QZ({Oond z8?S%IWQulYYdq>>`_?Y_uOyIS_~T&ob+B;GYk0Lc?hFPP?$izg_G#2ZT)@VPVoJUUZN|^+#hYb#~juP7@QG z?&$RxS1j1qP?d~%_%j;Uy#$r)bVs93yFP#JHFw*v%si!ds$5r2&GLPWc93=L@3k>v zDTX*8Xl`}v>7ESb4bmxlgTYRJgef`2~dc`}mayYK4^sC@kP)$2F!i@j~Uvh;U~A&uMUzbf3wb8FDtsE_*_Ki~tQ@w{N9I%*l_M2&xO zb2RR>w>m|ui9zCUyV>p^42%8?#-b~ z_v9PK$DT3XZT3Q;gKZ3Idf4-fH=EesP=K*uk&f#iM!nbBYPMdFi+yY$8@tR;vDtgg zwOxS^hh}SA%XwG~TZ8T%br(B*%JqM+!Yqc&hKeyh-oK)G(0pASG-PGi!dh6T&#g|6F+13$Jypxx*0-6Ti`+;`T1KoZ~vS#Jx_@Yi=Q@-0ZjZhXr?&UCnrd?#h2GYq;I- zwF^xSy-`6bwvuBk!iF7sfhUER9mZ(4yE6t;=EjZ$1Y`#as8qW%Vo9qH3?hquJnFK5BQ1)R zj4)^ft!xrN9Oit`c?12_Vh3AWS|r8Z0DNas_LFbjfp5E*uTGvG3Zt?VomlMW5*B1OFc5!xI`(3h9dQy z&W`3?gU1RpdJ8&?I$$x>u-~MlsWNESqI>dZ<11g&7Ama@MPH#RB9$z7z`K2@&PJ!#dtJQk4c^xw zU;90Vq!3wva6w=?%|X$5-6`Jg_uki=gPj73-YB-ad$cH{1mnF4SQFpn=-N3U^%p zp?P2+HPL=)=7^EsVroGMIw{gU)+2SLVT)N?5-0?Z(xqB0HSpi5?QUNnBgPbFYiBp; z@5(CIk$Iy(U~3m13!{C%rXKB6kh~__+GgJpCVo~<@0&9L?SIVS08D_kdDU?S2doFp z)}XW3d(D6QL-sB$2QX)2b6l74F^j5GXOrF)gTR^+-Wd_W5LqM9?6D}Fu-IPqb4B1E zK>e{C`*?k!SOa`)Zb3bb(iD_wXwj-3f8XiV7Q@znlXx|TM6)uw8yjFMGt+kFfJqM@ zS8+`@A7bb4i?ogF!$B*pV%9@*AfF00rW)%ed{KYLb`SPRwt?XbcBKLBjNfBziUEP_ zvKuo-5Q<%ED!czcn>(Ojw@!r|}1$BB*&K-tm$1_VhIZ^(OlB9in@IL3cq zH1~Uu)$RbC~C-qRQ*GUCQOl`D?K$HV}A!yy0tBg(Oz%QHk@|1#T;3M8%hD?ep&kuEHL{}f0x~u zTq7>phICuMduYqi?Z`tJR%p7 zX@xz8%h4SBaKYNy(yNTAuedboPGB6#cDi<=(LT-&z=S)8qcId$AgacrSAKdFHrPBG z#WnK9rrj7r*EG{?($3gvpkH-C4)`FbBmAj`&6p--(d*5BEHUo+AhG#FX{)~HalxrYX}Tpb(b&O4kUl| z<3_;Bj2(oUy*3_P8%Leyk6EBww5B|<)@^ugmw@)JYpV#mP$aM+dG+EG^Z{6@SG?|x zfZ**8A^(t-c6U?E{+>t^^Z>eHong-rOQ^v&cOha)SQw0G6GG(UY9kycTLW*5x1FnD z&S4qbJ{53=TVRFwQ|pN%125xph$aa+Ry)C}bM7wcm)qM89VtU`6KtJ25&KAJERB|f z-0%{{X6eLfS+*ywh_Rine06e8hEj22+1rPgA>0l$OAR}mK#g%`qFqEFw$6AB;TDUe zsXt7XggP9`IxitgaIQ{pha&C!JAu#G>abAMv9Y}dCWsS-A7mTmtV=VDY>5rj*=C$i zPZ;%0m!RAZCVyt&*)B0;5=M@;A>unAn&FcjhBOXg(cr6Qw*^MPW+BdiT(N;RecNho z?KBZ4aK?u0Yxm#aSTT-5F9BEyoJ_=3i?r!1?9w~OXro@SHM{*fb6yJGBCh2k!BV`C zkxH%9pc2k1?CNx3=N}=09WL_IaiA8Q77!e0C*RnAt$&#+`pDwowC!9CQPN^`@@7SK z#Iu&`07B3E=5Z#lc7EFP!ya=i&RTrFbJQTDW+IY$<9My#pikruB+wE6=@bhh#g5YP zlf9;7=mY@5%=a44ebRZ&1eW?BxB^<}q%U$&3M+MFVaPVwnhxUG9v<7}EO8}Au|t>> zTPN^=&40Fpog!eiz;`KO1u9Rp-oy{F*930WFs(bg*BLR$q7>I>CGxrK54<;fpS^VX#fd2&VsKzuT5j(m2k@L%wZpwA$|zr)irVT&qqt zYDDy6dl7Xas_E-mBlvW*Id>aXe zz%4E4Ad+Gl_jlPZXt)WDLZz%0Nj~*a6KxbXwx?*#oTFkZiPeB~(c`#X!?2#zE4~1J)C4 zJj0@Gnw<<;ud$uT{>2abW>+FJRJGOHH$m;oes7WkvP2c`95KW;79e z2|)$ydeg0K78`eU#<~9q8xZcZ&>g6MEpzAM?bh)9h)jQLs;)`WzWj#e}D)xx^ zxg!@@W*$ofmv^n7_qwp@uAUSRyh3!h9&GxYd4m(Rkjy#1YkE!sy@B8C(lXaI!PgV_IzvQ*5MtHq~YZ?hM~m z%qb&3QzWZm<92q(-S=Iwtq@7u=Hk%%g;z=MSs{Php1JvvV@#x|tO3#zQp~S7DC&4I z)MVB119Lm!(!LlRo=k5SNWIW#LgA)v&8eHUk5Cp34IdAh*RaU~DMyNN#9Gj>P;=3u zSM$Sq=WfEHXoOMJ6q~==FvTtOm_9U3lfW>j?(^kyw^X>ki4KcyioD&1OxkwrJ0KE> zqq%>)MCH$W+dP)p{~oJz@9>VwnDU+!-ZXWNBpY{|=$7y)NJO25__^4bUN!7dcwh$3 z@`U$sPl`2$VpDVVLsu`AgOXf*TMa~ zlxXi{Yi}~g+0f#HebFc%>%bO@+Akm;++%-Pax8jLM_a%P35ajdslu^hT{OW^c2E7* z=ZbwSz8k(G1M)cq5FWMB+O%of+(Q&LLm!OAB`O`-AO}5laMdC$mDo|pL6Y8QJGWMb ziW{33hi4%60h&X_*3PJbSC8Wl8dLdbo6Th~FIB{1LzoFpZp=P2OTpb?OTJ>59BqFI zOj2|!WCPAHOX(8_Fw6nrK76c;w7yfv1L7D;G}LspS~!1E2y-rq{w13G*7-V$XqVTJ zg7)DZsP0n&9ak&*r!06jv_gM&kOFoXnzKkU>wy+)riZsz?HJ8JVR2X(PHU_IT^yI- z6k&c>_kKBsr~+GtvC|O|n0`{zg*kuA5IqrHmr;-*9h7`-3(cF#xCVma_+ey48xzaOsi_tebjZ>ToBlmiWu3|lFK{MG zBYRlXIfQPgnejn=g!fgfZ>e{74H8504o@0Zw5Z!ReD7}zZ;xoSRKgl=;0k|9uba~y zD#ry6j3tY&o(9x5@g4LLnZ&{5r!b9yXw#ezbaHqxnOutiVQj~U;xs@_tB=sgvs+Y_UC+ree5=*rqqw9t!mM3v` zp$r8ye330kqgWhhzlG??X(%+GH5R{Q$W$V5L(CeOet{3k`Hf@RHcPnJGNthr%+QI* zAU4N?8Vq$;15&yrg3j_rK z1|g{9%e6r7Q#1ic{Dub8^cN#?2(UrSLTzpBEGJ-hA-)%d4V?GP)r@$Vn9GG z({hLOm8VCzw2{2V5tn)m6~j|zjxdPFkSYZo!VVa>lUk1;u5i1+_EsZd&McTFEz8cy z8IH2>k$!PfG%ehrjn{um3ooZeeC>qW7m__Q9*cqNXv~DNHs019D8*vp9cVbGD<){i zXJkl4&f@J~vAYMxj#Z3FiSey4URn@1WM;kDL-CUrAgECTL!Q7$IMJt;{*|Fy-PcL~ zN-8)2;8~|Pfo}=~rY*B*@d7jXhBD^z5Z|nYchxynN0Yt`Yy*F;I2&O8s0<(`pf0Z; zzM(h#xzH15rg%tX5u%+~LPG^gYT)lQ7e3`-m~fYB9*+zBb%#`Mc2+0w+4I8lkfMMS z;Z@tG<2b*7%E()%*3M5&ypsu4eHEoW&>CVa-40H5pn@|-Onr)kh?4-5GHIB?XG1)4 zV41~Du<@G*4V!;Y^YDlKX?CJh33l^v(dd#p%?SLfZ~|n4dGzsYX!_Z;+1fS^uMF{g zPFu1YZ}|2ZI2$o8RAcSe+vaW#sR2|@8+SZV7`>?PzvN5=GiIDEQel>&qmcyb^_}(~ zrAYKu(Z0RBwj~#dd!#Z$+#AiIW$LiC#rAz;x!_(D2`qmglbiwz?S|&zEpAU%Nuv(4 zgAoXegku*=%bcQVTM&1`$%#>D$?XwzI5-2C*cNQDI45&HfPqO{u^Q*v`mdl&9r=cs zIM-R8SADCJ&s_67U&uRC%C#<8kRM_Apd#+jk=_2|^h~ZBXUwLy8Dl(Q=5RR$Pw$7@ zvbqB%X)+C$e;bC;PuWWbKEqy3mq+LhE`Q0$>ToGIRj^-Nua|3sS_H$MH9`n`KCa7q z>RmDU%=x3RaI46u%r?4UVcTt{l-Ch_DZZxd6w3wV%WsZX7af(0`qhlG3a?VG$`e2qKamEJZP~%^Z8Au-T4DB)$xjm#eAvfC8QVu|AbQR_Hp&+&f8u z1rPj#MQQ{+#S*YGnXkO5H1X;K)*FGDU;)o;A8cSh@l%1-0fcL;8VZF_09g0sSUBPn z5se3vfi4mW?FO9B1d70^#RkAKJ%(C1MB{fDH0e%kr&hcAT7LT~(g3`5_B7+CL> zA*>w=bd?9 zeL@C&igI#>QH-KdVBg{ zKB+P@Yb1Yhdv(cQ%!a5!c{7j`n?p}2hfIdc!=sCkTGDTfn*#*WP39)?`yFml*g=*a4lu+fV{L>?VPd1F)NEB zKAnZ&Hs%s7IPbIo2f=sz?TzA81h3U*Ib?xzJUq_yN)JPL9=x?H{KnJ?r7sIj?kdkPbb7`+7UzhdIJnPsMAIsB@3LBeXPEF>KpurYB9?$#*vY;B z3CvgR%mE?dvj<-aaVXAIkq1ObD5L4Jl}INoev3@VrkbCWQ_HlD&DWmyJ-3@mj%F&B zLBG`h-BJX*p9#8EH-9P$=tV$kc8RCBWvPIOPFcwljjOUDu5*-s@r6jg(=wv(6szoI zM{d8+Dct=QR;xQ(WlQ>F?ziAnTkffExz~KCUv8(IBz()A^y8L$-T7|P|6hm^_t0W1 zuHD|`($|fA{xykKX;xEyTWLd$!(gZuJX~Z&pmr$_}MZzpLYs zfdFmq7VBJ|{JY!}EX|-zYtR#FldrR|6oUn;|2z?w_3REk4myNU6L~OK+XSzX;r}U@ zK@4b7QFD-2eRx(=Oj0-@pC#(ewAuzn8z4>II=YVoZ)3p6+e;cVFXw!bTpW z$~FAcv$vOv?G7D(%bpW<5DBXPIa_xr=Y^N%!jQl6T(-V}LZGaD!IuIb#pOWs3CMse zJ3Te%^c0?lG=H79Ln4FCd;}T zMf-hWrv7qkW?8wzb(edV9qJ+j7VTt&9NdBCCyiTI|J$6)=bL?&fb5nmYlEPd#9V-2!LeHg?|bXfZ zyqqNI)ol2G7&3=zbCfy4k{wU^=G79Y?q(>WNJtL2HQAC?LI&71cwwxvR-GR{a)WEkTxY5)K(i ze(4Rl4enyRuqqT;RKI8Vn^xmbxFZ97Z3Z(q-|ijWdC}?ocuqvp*p}&Bq_xaNlrABL zmfQ}3R|!w1bKMU~v{)&6*PNz=1e?|y%e}#WaY@K*#4;O|G8?JP#o6R&e#lyNDUBgX zgeCv5OOW>Dikk7my4Ds*plai^D@a8#c$$UYSjJb+f)h*kix=Mh*b!S(Tt zw;gvNE`lu6JBM?8!Q>Dlqz3Tza6)OaLx>nits=q@pWY}OA1VRHt=)Y>epN>+~e_uu0zUphM*`eb9Ug!{TQ2`#*umA zjmhb8Up`YR5Z!1+K)7kKtT|x9OS}{>Q8IwGD$~1&_>{njJBXl~-_TBe#P7!gp3O z`Sc`U8e$+97n@&&q%Si|w9Y5Tc4)9%+Sx7V3=@ib8CNGYzW9rpY1Sx0Bt>3J8Gm_x zj7n%q*qT(z`e}&>TG%LBB7$yl&@G-o*+FYNgwXVdt^?v}E<#fxg3LF+e$MJ{b%tZ&{fY&POQmFB&xFbQ1N5`!PsI?iUrk)Ft0=Lo*>FoL*z2IIsI&b3gq10 z7p$VZE`$b^>LbwOD3&Lf1p%BCG2ItP$fcKJ&VwsgVZqUV3Ggnaf2>ZuKAEuHt`!2| z(%Hdjl%RpiDOsYdJl%!;aHyzKWqWv_I7DX&I|Xr#znIhdiquGXJ30ma)$>!=L0kbO z#=t!7$&cCLMPx1nih7hOKc8t3Ge}}5QwD67o@9c>2m)xH`wl5+#)2sOW`-J&*gg+$ zz`&q|>?0O4?V(~~f0dXN;T_$5EkigWbFJW$m%tW2tQ^<~-?BR^AIv4#YTb5yZ&yq@jfB%edcwFK9Ue{P8E_e{SUwfl;GTgna1~-+`z>4q9{q7G85)_g z5?5u*qWZuJ!!Cv&QZ6Lb(KuQe>njHhfC5{l4%|2Y>_gY zcT!g2sk5_hax$t6?hkD>>$fQ%mZvt7md$vjEU&7#aCB~7aAL0>$50;1x7^=m%KEW^ zg`1rKvj^-3iu|_(-Ek2`21(5g`LN#8i*fx~I!cN{CUA6~)2T7#G7_M?MQIERO!-Z2 zcUM$RiM11d%1GVR;C(rI`+8eN%7{Dx=Cecki4fAOf2D?g5EBt_%##UP?}sA**A z96?Fslt`gJh4`cly1Zo?T4+R|%%#yaaTy>FbmSnBx5T6-$k5afvJXmmIHgUchcq5D z!5MS|FYZ|R(4rhlkRfN^shz0sYd`yaaGFqN6^jK0>Sp!Z6VJY z$S4UR@;Gi~?f>zXmy^n1gu)@{uE1G3%iDFle`io789KQtn;{#8Jg4B@G2;UkbJ}XM zgFyu4Bgi?Bqh;(QrflIyn$01ZNEPY6T}g&a+R8ppeTYZr6Lhv6;uTF7iOG)XtU-Xv zhbxcD?@kxxHccjecjNHr4l@E7Etp(t!(eur)Q^-~&4MY*qw)S}8P?aJ8Rropq7~vr zf0s)}IJ{K6JxPyl=coKs&c^XsurUdc#LAYLmA4#hYzUgZnjH;_o-B}t3&kz13vJ|U zF&-HpE|9%yLkaYSJ$H3-jSxMZ$OKSS#SDNIArgq@1$cjB4D`~el@h{S@3JTDa7IS4 zqoS-TWJTN0u6(TlqW$OW7Tc4npBM}ye-%J`2*gAC=1dFB9!KxPD{i%rR;Ix~wz}Bz zR6;(|C8m?XhyTsZHtdAV9PNA;ff<0Pr4|P(WIT{_$OIXpk`nJ`$?OOqP>Fh2Jkm?Q zevCZXhUib+aw|6#_9PG=(n#Bvhxdl|_RwAB^5p>g8xM@P!Rrf?`+Vk(F^QJfe}U5q zNe?-At$QZ}m+x@bWgQAJE&Zk^Q+}!*4U;>oTvdhosaP_Dgdox1jzCvrUKRzr) zAp${prdL7*2cQVt^8~o#Yb#!Ne>qIC);uLSa!7@nBG0`@DIY3Jr4q&&>jzzZV*pl~ zd2_f1v}@O9ACXz#`<7i^t%0M5FMj6s{h%2!=3-svC1zZG2IVf+e~&e4kY!$P z|JuRX9(px(jO1dGn4ww_TFc_ll>>X3Mn+81XSZg%K+ZNMbapFbw*7lV@9ZT62~8J7 zf0d{xtTrJ6QiUSc=17XaVi_YpFuofUKr8Hc`ai6et#P*Xw1?dxfaftt)COSvUexQ| z#MUxCc_Zhq?68^aTK5ike?U01E&d*}_09e(W2z}d-}UJW60@Wi-FR|bs_gypW#_GC zGc}9SCXaY*v2;5LD{gJXe9O@gz4>H)5Ao8a?CxNXyPWPk@7iE$%JEgw{{MOht;aRh zS69>c-#y%2ZVuna#m&L<4SkIs7Hh(ev6~_+zD6XXXGG+#5j4b7e-Xd=QN9}jr8=D? zxIJU~g2w*thB)wupfcj8#jtY|n)e~-!|qz{gt~c*9Fw&8ixmS-AP+k@UB-Ir@W%u6 z7`L|zyaRWBp1W_c4wGhBR_{H;2Hu4Ssx9Id^26>9?i959yCR`*uHPd-YH^rFl|n)f z6;rh=4)srwJSgof3!LkL5b6LkqbH*zEtG_viR_4VvlkuaKx+)IVbRaR* z0(GVB=7c{sY8!2&!XksSAm8=B`u_jmC-NiKtj>o77_awW{SH4~8}~I{U<}{=&Cplm zQ1u!vMg9{?IMS(WOD3f?0zS)tw2_KE9E2^~$5|oYD(H(2e*oJqMj>MH7S(>yhM;WKDumXz z=41-{)o=jbf5mtn-H-Lv{Zk10p}+zZV-3{!USxaWuk$fyiPD-+jZQSX-XG+9+c52) z;4cFS+1qQ(K#ECueE(#o9zQ11IE-94*#N4Ce_|3E=+|?z_F#`8?*!&=&@%F{In~@n zJKh0{m@PgrwbP2jLjCZ0hO)sf>jlAI!*udBoTR{De_5amXv%)?w-3y#FJ98)GxSn16A;53qLVj?131L2H(1KPO0V!*5=M&LVpE`OY)X_f)+EK&v^;q2 z&_1Gt__lumOqcIyJL};RBQU>IaoSlMZwV=i!#mbrUVVE;=>BcaC~$YjWcd9aZm#y5 z`Uy7Rf4j$Lz@obS5k4ocSsC4yO0%!N##+67_;Q=hhXUXm&CW20GicCjFv2^PXgzn( z{b>ogIl~#bgH>zZB^g&9N-PobbdTjHCNhI^c!_Ht$bdG~#P8sq88VL{ROk&1wR;J` zUl5Vp#l|=*jxMTPTYT+8Y>xkAA@!hZJ1`>lf9eAo7&wYX!FXc1*nu`z4mG{uKeH8u z$YNZZc#TKO35*)NZ+o6Mv=Cz6to1Aq{|3RjavCfg@BBDY>GbD(yc)8p3V5@*gF@-S zHl;qf077Vd64{f$USm0efB}wiKZjCGFD*)8C8)Zhv+i7wHjE&8P86L2Ah?73t!m;glbs5oq3Zsu3 z{kG9mzy(d!MbK1N1pPrYjOaI;EwGP zvW17i|MtToj{=NJ-&ydc^Y>N4O!%Y3!WP!rp=v zN@8H{C$_v-Z)sK^L$Rir&B_?936v}5(`HLs1jdF)wvY|Dn2ca?tyoQx4huj6wy&sF zWyA+$<)EA+0fZ-Q(lPG_pFJYk@Ma=*g07C5l^6>$0M*eZWg21T=@1lKM}G>#O45Vf zF46G;3<_;{U2WKBB@o_Bj*VwZDc2a-&zyt~(v~;Tc=2(K_(Rv98`-XSfn+v8(r>IZ z_5uAtxiUL9cdBj`^rM(vf_~%UG+=N%sXH8rh^1ZJk!@8)!)w>A{ti*^2xl6Ze;oJ# zKRkcZ#=BW`+)BRLS`|=g^nXUKZh_FD_*i0YU=*j;8cD-yuC#IA<^s83xMC!@2k0jr z(m3oWdnf!m3OK>rVlJ;xLOHAymouMNZ%Dg=fd1H+n!?fQC*l#!!R$c&?Wh5Em@QV3 zuJldk64Mj}2YZ>R^zz#Ogc`T$cGEW7=~T8R(!5I+*rS`Hv%#F-##}pV4TCK|n?f{6 zzIkyZ7_Mi7LD@v7Zm2TAC)Su@CTP03XnFz8tJI7qjun`bGt*u+*3E1$pJD3$^S{RJ zMB;yY0q-(bU>BYFEXFi}_8Z}gVl?#`84j}nTxylp4 z+YOb+g5*2Nj~<@SlXpz;bOW! ze6c+HqbLkJUqxf*T>{ci~VmL>~{dGj0d!~T(}bAEXkzTU6T1LqPL8SsVO zGyjFd7-U8L){DoW95+G%^g0of;2q5)9LM=D!Ab5+eDW4sZ>T9)&9=gj#99pBfEQ|A#i_={D#27U|R;nfF$(VW>pZT>zj8_PD=1+j#@aRsSWf+I3qRg_>S5E zoAYmX)_w6~qp5A}iD9DAz3%QQTICD{9-eD*7A~eY=e+BN2m1|;iZMSC8|10@++kLi zQmB{x>JC9vWVNvigDO#9YDAgS4z>=3m>etiaP7gy**AXx#qv%Xw{;g^wAlOzfNIZT zoW&1G`R2eQ0?7M0!pAFli*IjS+Y*dOUUTTU;AK}aQUba$Z>u~0-*uii-kAU6Lx{l7B$&EWcYps_j@6J{E5;gDwB=R3qT z)S(O)mYjc&sgg2EAD)KbJ3YdbK->KgUFXfF=xE^^1uy1>Xt+=;(3=ncI?Y`X2A293 z7HoP3KlY90ev262D~9`xTn1w_>}EeB?2b72g;z)?V^YSmdbXXa=#UuFB*(|SNWTsXpX1nw)4~$kDM>~1JJt& z@moY~<)1x%^!3D=Jc!(w3v^Z(B4c07yrcg9KxE{xpB7O0(G^yoA56rAh|7Qlv0Vva z0QP^7KW@abpIDUQz?n`hIlB53XL_>a&Ij&~fuq}x_rxjw-O;h{z#}-n?|0-sJW_tf z(F&y|*;xB=-BHo(F`PevCTrXR$6P(^S1Flr9(?GE4|75y;EH7e0&4~U4n7w6g?qUgY*-B zzD`(%^~I2L4cP)HKSd z5YiEA;OsvRJMZ`I`hB&9m?2)^;+kOkK1w@QjYe56>~J53`INpv|gjs@ASFG+WwY%+k?ZZgOBLSh^#G zc^)z7oQaDlf7&&XujvAtWpBs*dj@_7Skj=8sR-_TtyTiVT|angT;^lSgC-DvJfltT zGW-cN>%+#17*fYzzAk?b;G|Sp!`qiu8}t9y3lxSV{W}!i%Jn1Qwpcn;%d!KJFToM$ z=B`Q(QZ1NNx)c`Ln)L}4vo8yxct@a5__XZ^toFpF7`R||0I!L%jy7Q!ZBL`*<3L}| z0WDWrfbQwypU43@xfC|c)_*cBVT(Qz6n*aJ2EE7n7t^r}z~6sn;J*!^;&zw`QDi z0BCgBg&2MRob&m;?PlFTO0Mfo!E@dYvcJgtXIQU;+NZMGkcaKZ-7Ru!+441yUl#sq zTX?b`>DUIdmmYtl=hAH4pov<`tl7|%N_0l=x{t_P*ydn*5Dq6L(BzxP;b@)DhxGwo z;g{wrBhtK#M4qT?idL_b@03)YWutdH5%tE8*J}oyJm#!1#9KYn}1spCUF>(K)}g z7zkh2s90MYcgbV-j)Chw7loEcUU*tToo&Nb$R1|5e!UpU#+b7Qszx%MPW-LUjMjbz zLn}mjQ@wxGmff0Es|H~Sw$E63=x(qw0P6{)rumh6@OklNS4$ToYnZe2Iyz(`b!_ED z(W3`mdF{<`S?#8513!OmpSNZKdaS`>ILtG^%r_G%929K9#~NazTJ!nAO8KldBjZ+{ z54|;hSzQk^>L7*@H?xONB+i$}=|FQVB~tQ~We9)s^k8q!-__C`v@ILKgo5ni&2Se7 z3n=3c2f9cXa1WRJoz474_*4~io2e{!u%5xmb=M)~7-kfU9FXt=A^L|rte$~2UcRY^ z2m99ec|O|1q_wqV1pzgN$&8TtD~%(HfMyND;&OW_HhS^|LrOvj=>(<=Gg#|u{IwKt z(g1%&06Rd$zfLw(d;3}IA076~u8M-J_JiS)>P<4%%SZPF!uC=Ez zgK-Omlm2arYhTAexuMRB_6tqzn{n(MZQ!9Y&B`bh>k9!WeCh+$T`&nU{zD@CFsic&W<8Kg>9YZHDcg7ioHAYCuLMJ zel6^$Zmo=;$yx@uD|ft~EiAV2q-9h#rhRR&=%C0cX;xZC%(2cL{>V3nLb9$j4iXk| zAJKt-OzioOEu0tawU+^t}^@zoQ z;#a!>Oba~(04yXq`|zUNd?_PUNJWE1%bQN=_bCqoyGNmwlOg7xpcgwvfD&Mxezr}n zQ!WA>ZLhc3-CrMTVnT)pv)3}2TNs_)99h)gj<{nh{=X-_XFUsnIhtC=8Hc)~V?Y&u z3>Qd5m^dHK3&}2Y3El$H56K%>?j&8$SKCr`;z-$Q!Z^!3GzfK@pT;ziC#*m);kd(* z!z+ew?+;0u3zKidy3={bZ2V0Pi>!!_E93Rr=`AJNTEpNJ?ijZ^6ZDZQIkPaNTYfZb zf3Cb*pp|`lZYyEgky?@iFz1N1+cn33b9fhDSz`Obr)wAsnl{Ms)J*WRc4Fc$zrMAP zz|nxLR1=z$V`KgDK3bVfpSjSHd)r470Q)|&WTtjaEqWKLO~|}vF>igH%4aqPY4~+B zBnD?SL2C(A)N%%kEfNDsshg;;O!RDie2yJpM_qNV2_O^~!-v|BhnZoJnj!2!y6fmUXCNBloi=Yge&>{fVcu8 z>D<&4g4A_r{1O;eN|&}eo%!B>#uGgt(eUGqXCqH=?LfaF1`c$c9EvYMvl{Z(P>BH? zBzF0{XwT-zAhHPxk*hc}JHWe=3Tp0iD*irQE=726RVros?UC3=*htGlI54>vDyY=l zhHbCoyD|s@DN?0Q4<9SQ(3jxtt2x*JBZj`4l#Wp99eM}$zbR(aTOc1o z9$mIk?q?R42o^IavfC76DMBo>v0*)ANkHs=$mlK8RJyEB4`s)Zd(|1~sV*4T zB9FunbgE_Hd68}HZ4F4*M2}4~sMFzrc=@2Kb8umVBb!oFcGmx{d_`tnFG4_bBkScc zl7>X;83G*ARNI&3pks>|d|d_%rdR)V(D~e8Uhrf%$&cSIz~&Xz!7$(@HcME6`*ti? zW~3`7qOud|hOz{IQ*n!HaBgzH6UoV8)%3O@OR8sf;S66%%mYMx(!>3bRxMll;|Z#d zF8*Y5y+OX7>$N|}^ha4pYjk3m1108$B0HMSxc+zkA89gqN6(R=NeS@Qnw}AW59gi8 zJ0AG#Hc>bn6UPf|B9Tph@PmU!fY4BxEp+ZjY8?a= z$3};a3022f`#vlF9;^9*R`LQF#PWJlc!OmfO`q2uo0l0ljkU*b(#|^7wt)cJnuY2M zTg$904lc;1*bmaLfNeJCr8S#cRcdew?n+d)`L&1~!^yG@7eb-Jac*(C`S|cUaJIB) zUc;xEWgMb^%sq0@-Ht$fTcM^s9`D4U{<2imaQuKC;59Ik50YyxOodKc=+^xr@khrp zGNgkrJi48+qgfSftS+&7h`uj!5as*)Q~#Sgh_7OQ!f!MQZM2Nk-oeNyIis?8@lHX@ z4(}w^_3s)oVzqvMI1ich!+CvJ8{VmU8W=mH8zg&w!uka^`s)0uImYsQNWWB<8685R zRV9@GUNHh=9fM53%go^=m@hy3cmVCki}|LIdjF8f9(yTh<<54BQ` zY?xqJC?gO=6sjz|AP;fIx}qRm3_c<~oe}}L20W%ng=tp7nxs6kF?Ca{9%l1w(}^ol zOi{jAC)3tz&nc722MRIDG2l%oXw{_$fniT}w&gK(1ow_PYvzahNN904YEfDF8Lj?* zA~ZG!#X+>t$|7j6sS0vO^a8Brd411vEM(M-v~L34%v-Ky_8RyZSYWt z1pUss5M^AX9mpgnhPsVMw7mTPY^U&l6tBtJx*}4$XVDmr?7zm)Qy?WGB4tW9E;Pzw z+^2+0yV+2ql4dcO)?{z2PM1#2$%IM304;?u>WjsL8a4KlrM?{(0n|J;b zYaRz94G&6y-+qAwVYfHse>B2>-@+fi@p)?)uNI^kG+xKa#Ruvug7wjIFoTgEktKaUanM&z})K@^lO_Kpzw)_O+aH!1ew4TYZyU?p=*D z^}4-%%S^GVNvWh2$Rgw_^~@s;!maO4Z7b!0BW~uwZd3pJvyUsq#eh7vtL@`}KhLV1GxJ-Jma!E!M7Rj4k(|(C30i zjLGH0&i1e5U`T=_t=my56K}{0gvSq5KHz@}efY7-1Aa!>XC=kZc~SE)g9m0%7?Bcj zf^3ov5ig8xboDG7$ZpGMtHC22ZLkVm@5}<_>YXi8rL_7yiOx5F6}ai}m78lg%cR>c zdHEQFxCHwNmg6If?1y-l)pWsAZgn#7$DoHW%M|HAq1rA_mL{?HSie&8f3l5q+||<+jMXA;QS`lQ z{{l*R$N31>3;xs1GYTthZk3-TW??mca^Zqp7>kNY(G>*?!u*nYx%f$Q>G6}7u@(<1 zG@kB5;pBgntPR2^$RyG6{WRhK7i6FM9a@%tX)SNDX|#CRhOK&)xAqVFKbemz^WwCo zPnQoD4@m*{msuAN%zt-!0*f;$DrE`h7cbjTE`M(!;^_|`wy4dOu4!+lYWx0Hn^@*Z zb&3)2D-D>w#RT=&xDwCfSV#@QLeDGZh6D1@9{waDGc-FGsiT}#S9IUCt8i}XjpNN6 z|H^UT?RI<3oEkkbePE2|^2hH$c4bFhhxqpR7rW}W&^6G><$vdo8(;0;?k?foadpK- z)adNm^t>(+v%l)_$?kOC4S^4kWliig&L?HxR`Z7wmd}>PwmJ^vE0T(wFX$vC$5`Jp zu9gY%Y5Xc?*tixPXDI1VoO#ER91U|#xCt^`5tE;HQ`sP^MX(|31@GmrgY8Y3IxYdP z#~l0x^wXW)>wn>5d;^Z`;iTJF@K{C*ax30_DGTuBoIuN6-r1<>Y?yaHr00Q@>(yr( zr|rxL)Z!=n0=0dEi&;F={Ww(}&Dd^#*Oq&hErf=a_bpAVoa?<{R`NL>g6}@1iFUUd zfPRMS?h$SL!&fDE3C6!NigQ)PcVll+9nY@-#_~#LTYsh$Fplrcvp*P5<-616sA=3Z zV^2_;`|Eg`>Ek;fb|s7j@!kW%pzOQ}2EkE{?{2)j$vhV|CFVbdp}42k!%*K`_h*=7 zE~y&X5EeqCV-6u1m#=Kn#xW}&S6fJX5y?n=eetyht1dqxsw&Q;O_*y#BsZ^?%h2#`f_0{sA_*$KmK+J)YnR_Zv{$PcNpy?em}Ppy6dHA2?Q-&vIPRY<<)u z245e>tQlGd#s;|(^rl*>jWt<>#Rt=lY&f2)x=}vm6+#*;+Fw7 zL4U%6$HBiWTdd|%GQ5QgA>6#|tZ#RJv)#)GG0DvY{ZCk_fCE0kf)BqipAQ!o-n&l~>02PzD)tEXXpGTl{3^XljRy@-u+n;gFDO z5(0lAR+97#3`Vyy{PDLKb61}EimW;1^!BuI<97AGcM2myzT6`Y4+D+@i!D=eh>QM4 zq_Ec`42z)>t?e-kPe&E9E~|=aLMnjDTxOLm+r$S}1wSS*6)R*uNiAsP1N7&1U`87f zj(B{RYNC&c%fJ!v*aL^N1b%)hLy}Xp*^GaPQrkl~mNHV0bAYy6uiB_FJ9&bSFX5>z zFKAdfgdV+NRgz-TPFGNxRRTKie{#NPpZRea6E+m59`9(r?{gM7UU@{|D~GO}a248N zJD7j`bmBi54-z>Cu@mu9pC1q#&{NOW5vGJlE+VTwB3Esz3|a?Juxx<$=Hgn9cF=## z+)?Vwe)G?a9R3E`eS%;?Ex(u-{0as`Fc0VK^-mb*XfT}$ff?(Sxrf;73d$asY_`Q^ zUQRG8!k=P^N?`@@aZ4Ky9O|=}96;+R&*!w;aCABz}vvWDg1mNLK>f8@gN1)C#d7DE zl`Wt7<#lawi5e~mY7q;B+uU5h19*qUegU?1JD_ve&?q%6j*W(94y!g5;AK{I^f}*H zMWYGP+M8h8=RZt0;p7niP9T;dkj(*=Y*VHw_^4a$c|e<6diqB)=Q|EcE8@|YRVQCz zvU`>lzp6#>6T8;Nu}X!lGoZgQ%UTyQbh>!=U;Dekr|G)`#WkPcAM#VYPq7!elCpfMMOjao5*D&5QIzYbZf=AVEMr}oIhY6l*b!LOsDBm<1YV)2`zsO~WBcKe4`N5dnuR(A8 z3J-HHp^h9*s__CmQPP1ITi&q@zM1=^UF~e;;dhi%V)eX0#ur00)%?cGa~R~1C2ruy&eeZ&zkqd57;lVVB-&kaMFCv{ zaor!pFEQg9F%xN%l zW2l6H;w`JA;wQ-=EF(U;iX=>fV5pvCynWh%v7s@nVSCe(#thbnrRaPKLm{T*^OgKl zf!KX*7@%?dRiR^^VDiF4Vm^vn0wTTHz5$(b{GIWDU7(t zF7Xa)JtmI7KEUe&b;RchVZXn+DWd||YbZWW;m+`l3OnB&EYTRq*h<+CqC%|#W}F8_ zkNkfpo~Ftm`6QEonMsu4Ex|+Vd%^sc z5hc_(FOS)g-fK+V@>uH*4NWKF`4^N`(A4a+ZfYEJG`#G>- z^QFkr>Failig2#Zp7~nQpbI!)6+|85^oNTRk0&uJ=kzDzIU`;S?DktdB`l}$+n4z0 z{pj_5HgRw%K?P=!R zz671KD~#vucQ)CC2-V8dHbjfv5ceu>SHi&EUSf}q*SOQc7|5~;xP!a~y*d&-EIerW zFaOwpLOBM7Clm5baF;_HtnOcYUflVMeLvTbO(rIrq(9&V?vyIRin=PO%$k3=Ri;@e zrl5pig2OAQ*U5&5OPP6`le>g5v_QY6pd}$MV0=qPV#CP6l3DGQ{0f2kpw4iyM*-S! z7m0bW;U6LDFlN2C{)7|FkT>rgbVrc>;0dG=b+CZ&6kTY7nj>~jHk+o!jhtw?(lZL% z&6^|@nz%RxBDEO<<#Z^UNkf0f&9ne6CNyWfoce$05087dPjK?l(FcWUi@Ux;JnkfD1MU^w zI-4IRz_by%FZBr>^U8(S*#0uDjF`Xnzi|0BF`g)+DSxU+EI9;pw#k>PB@Y>14(T9B z9>dORiTFm*QD_gpU^CGnu8ND}T!oq8%*5zc&A9;^s-E%Cn(Sl4)8Xj2r?&4+?M(FN zy@tNt6B{OCSqhSiOav$J(N~|)pVJx1w1ObN!)NZtUyG~W-cy$%CJ!eNVIkf-^g>jz zna^P=f1?g}msutc9DgTtC#zG?6I&8a9cM9G@dv(^Oga2=wJvVXt0>g%y2kf}O3CGb z43HUa$ZGYU9N#q`GhBfk;#SK=w?-HC(=uvR8yT$we5kUaXwm&hxrn9CfN!p~+ z9^gc7g8Y&1n^P_PjL5`>L#WYyW9CvAwMxiAedWi{M+Je9a8)(s z)d`IjEs-mEcT+pTTlkB$V|6RRed z1)Llne(rw!b+$#cqH+Q_@^7DD=_!kp(F--QHC&;bOO8ka+ZThAtr=rG;}1t4-2d~| z!#f35rpuwVVj-&Xzv*suO%?J=_P(_5RiXMgNh=cCTk5Of<`W`fS(#Y9&2 zD%NHp?_ywP%#mMQn|Yt__rLrmQ1-%dWmW#Xv%Kd&IBNt8QsRYE<%vWfbZ?*^Yh94l z#AcNsbIN?rNSgOwqS_6auZY~Uatq01zI8jdLGYwUJpx_KfKL>UGHaPI_zYpjx!GEx zW``J81%C}E?L81$0;kFv!GrFF@t#9FmJ<85N!+PHDeu@hhJ5KG$Q zur+QO8mj{-r9=@p9^bf2G_dNaOEln z!k6vi9l3W?cW0X<>aa>%T@a1H!ST!l+(dZZeMtf1Ey6_RoqCIZRye__LcO7Y2 z&>bneZUi4CY4@vYF344~j5fx~V6I;WhLx3nC3kCJ~RF48FI* zhkt?!(&0i(dc@gi*!o73XAb{kcWuV7fa%1&F!NbsQ$!oz3 z5Rb+a4&ILM?N+oR`{!@Vvy-9QKs{zC0q}<*d?w(#s^m-TKq@{c=w5kxQHD_4-3eyK z0o(~I(3t|(;hyryp)uQefJ3cd2Y=@{e}_|v%B)%K@RMiODZNPwkB-iP&DSrct;}R?l z9XUM*z6WTU_!feD8w4fQky_?sHF#j;knsKv8@||~gL#NNVY&xLhp)OLp$OB|8+6upBCP}qNsYHJQc9Hc8%V~C&E0s;Vm~2nZ+d^n zAPip3^iVAq0^MQcUo1DD36& z%7W?d3s`HO8^d?9B3GTNtiBwJh+h$_z==PYmEm!Os)f1+vEXlMOM{-@WkMsw04`#+$ zX&6)3I0&owf?fIBjG+&nnPa$XT69~6x*|10sCgWO4S$k(x0k&uuf=G)*u|^q<$;G3 z75IUs0;zKv3P)tjo2!9le#ks4WL>PJsWfu8pAP2+@e`Ec+@p|&>J`3uY_1i_2Kyrx zw=h?FQevv;YqHH8P3gU|Oxxrr4Fz#3mfyE2LoxIGnUv~4e037l)+7K+XN=~E);-YP z|DdT`SjXcO+Pn}SPZ2r*ry+WZ+@_0^z{cKU zRme>9iKNo>bn|d?fPj6rhb%ll3mTu@k@a-*#1c(^jL0`m=uM z(0`Pp_;kCyx9pf0@0D2KbbAW{`1O`1>7eb_jXrHS(p?x0p8%GLISh>VBBjKLiq`20OuI9s2gk|2`?7w^o9ajRWp*_9bTFo>?4gH!^@0Jm1cUiKa!RDQ~=+`3f~d<|v`~4)mR& zOEJP@)bXCZImvGN<^%ul4y<6{7ov3$^nC>olKU58Fs-ZOca{eXTU2&2lrgAUmpeNe z`Otz4a<;Rb*(s$GOIP|&)Rs(I0hNEr4h1}kdQHlVgbeHjpiZ|q(^wa?Dv&zW51lUv z+avn1#&u)sVu6H*7%|lq9nSOlem?W(`&G8iJT#AuG|~^rd<1FsGO~9p19F;k&clhs zmN7qhSH*NbyB#4o6g65MO|+Y6Qw1p^(i}F|IghsCPrW^-D>Nq|54|DZV|jnbk4Lxj z4k0`Q+DRgKM>(&$)2<^NS~}5?6ick0SOH4>h51Lz7?|A~MoS{%6Qa2O;?H?WJ3}HM z)FhBU$IORHaR6QB@JvLUnc_tY>0f+A#vDUaqq$Tr;b|Tk8_!e`VnRPh4GPD{qgpFM z;h~wL5>XOe3Wduid;LPKzKCOJF1)3gJVUYfOy(9dwy>4${Tb(i*RuYIWl@4^K|MA*RP1&Ws+u&o}z0JK3!u>eM@Sy*1a4cY<&6$=$4Lv$MZ9FG~NEMp?MKWOLgbpHAN zfR~#z4?TbXC+x}=;z*L@FYV5L0cstsUI`(N)=a+@P!csl6bqEp>aSljH@_k>>3M*1 zx5&!MjEs!%@bg(K1)FEn9kKs3u64u;o0ozLu|7w%gMgvh=m0eC1Q|_zW(p?eg~kuj zZ9_{RSxlMZD^h092{NxyjvONbF`yl;!35ErzS)0k&(<2&9)&ej9+JY5)TaG_to+NT zJ0wUMfjX5!n+8n3xICZZ&0Y9EHcsbU96ua0sPy0Ay^^KdsWXfNpCgP9u?*r)cxM+!i%}3=i*0G0&tqvBu`tWIRqX`q~BBjqZlk+*MpQMtIDsPl6o* z+ktWZIh{Oi4(5brEzT z$E(H-XK`S0rZg9USD7Q#hQ|N@{x5w}O^*-k%-|f&P(d(}1t!Q@&Qe~h%-jjS`A@Kw z^-5R1L>TGyzNr#65p#VH35SzX7Y*l0$|irPXU^RwtNj<-?IY-889t51)v)T}>s;9K zfqH7}#qoDva$5#Ejy8(5RT##TWyV(V?&~`qfQ0nVeYcuczHYTeinU!Bt8fqJa+AlP zECM}fIGi8#5C9i|Oq|eEK?ltYh54R&z#NEs7W{IO`s`9+0*Eor9dU^?%OE9(0tGNHr5H0%drKHzsBryRj`+!DIr%GgT{5IkIM z9!;luKvlCnvU=}EW$MMOlzw->bo&a$gYP9zUi_ZI@z2fu0m|-_=6_;nn5pd@7uxrj zmnk)HMR3|(s)9=wQU|)P4xy1g}o^WjwEukhR`H)n^>&JIkFw7)u z!AEt(u32Nqv4({8J{h;*lEk)Ui`AxA(G#r6eu8sB6T@t0C3P>b{=M9jgT0HcB+V!# z&+BbVoQ^>Rtt4M&+KR9%(u0#OfpDjMk9s(819qK49p(>ay-`mE8=TuqNZ@~yrEzFz z!9@eUFhdTlWk4EWpAdn4!DB&wUzfcB++brcRIdiMyN`glWNc)DgR0h|z!;NU8(ua* ztM+sU%ai6$AWt}C)BFJeX_l1<3jY;tOu}PVNa|1&+6}+!Ueyr|^x3wJ2{eJ|IGCa7 z+I*Oc+_LrXO+A5x@3d_&8VY}Pdi?qbhBapZ&%SPdU;%9)6q1W&W{83xDwePgp=Lu+ zOhpAf5q4Idb~_U+u(4-%Adk2T%)nd9NRb<_H&1CE2+bKCh|Ref60@4TV^)PIVl}%v z7;eH7Cl_^NM|7h=yor_7^e{zMz70cWUv7X1>tr}bdCBBh$|iXA)&ze8HNy5lD^!p} zNp;$vRvT!BT5T9crrN_o<-Bs^{5PE;MudXafLJY~5uuaBh|o{M5!%Fp>_7Vcov-O) zyr7z`Y*N2zkyEj3(e(u~efA_E8Bz4Aw4|n-AB^#YT+Xeh;HuSD6a}qh&KC!By~h6+ z(!qeD1HH%MIl$F#n1+A;bf*kba3S?6pRP{y>cLJ1YJ99j{sS+|IRKm$Ykh$!@CO4L z)pG)eq}Wt4Wu4fbxVIYOun;D!gd57I=p_LyAq8Y)$q=claXwU|ASGU1JZfqKFBgR} z+yVQ5CGBMPlovzPG&~dzWS-k}vh5}I zDBEyJiG+}9_^!M+&ewwjGpA`Jc1*1$a`Nkp4o)dO2%X(Pk>Baz%(6LNkN1PcM3+Hg zyf7l|1g!6Q+d_Z&iCA*F_gj>fc;IHvskHop{}YiL^HVT)$fgNf`bRby!N%gzcL+?b zdJ|$XbsPX1q$8$2AoTVQ!`L`%QXV{t77YD(_%WCT32^6wcTx^E1hVX=^C2gKbhRMK z474Ca+Y{Z5Vk{DJZwJy|8UfWKOjB>472s_H8PMoK0R(@^dnhMkChp6^8m@lxTYW^9 zQDiOP`mT*|LLr0!z>zn#xW;Q^Q9vQmUD$|Ai6`*ScC5efjaQ)FYxUR z3XQz*UM7b~cZ?>_Ucp5AJrD4Ud9#-w03;mxjiyFuE&`zjS8Nm$ecXfya&_4(I9Qa* zAQzuQ$GCsk9EnSfQ}C&0ai9%0<6F~Xi!x#?XUY>gW)AKIvPI5>8!o5$T6_GQi2ma+ zuWs&;s;rXAz29OUY3%OWJiiy#XVlBmv$JbI&xt8L2K+hAG1{cbl zk62GM);Q5a5Q<|~0am*K&$n$2zJ{nKDOGPh%oKlcMoQ#?Uy-Zp>+U1d<1ok&<6d|! zo2-#yuL@N`7P^=dB@ydER8BF6x$S)!m;nw;BX)xMqw9+#f*|~Ch%v*vC=VgTUj5R|a7F z6sv!IShNgGy^V2MJtF{Sj#Fm`(_(TB^l035?@EjX{nt>Dp~?mb^blC*IAwS}LuKJMRyqm|MsHOBO4#Z^TY+>lC4x*Anvv!O)uHAbX97;?oU$ad<**PTdb! zFE?zom(=5$S5WI*WG2Z=V8G)MzU#}f@vh|&oucsm=W+{56+d1UOG*xbAx0Wun5dOe z+_)_>2gK}1AR|YNyEO}Wg=HHk7b$s;~j(a1GP?-=#h42YS%_-yAXT+!+^gy!pEM0(I%! z1V#!5Naf5ueHG#&2D{dnLMJU#Z3ov z`&0EAyo_~kdVbi)5f+IB)w zRg?~ii&#IMuPh`zScYUcg(jVcJ#psLum$bObApV`KKK_qWq)+vGo^}AQ>3g0Njs3H z0%JU(CTWF{fO^GZ*KtTCp>R=(7;@7vusk<2!aS7`m?|$$1}gvYa^8O&9Zx`Z&*b%O zK+8*Eyk|Q|8rw9MPGfhdzn?tF3lvs?@uyOQKfz;OE+W3C0Lf=E9?nX4Sx94Ql5?t4 zt%wPc2g?y7<`g*>P1-Wrw0{HRsR;nI8+3p>pWgc(Z$pYYl16$yhkoz{y4akdK>yf3 zz&DFq&dT36z?9gy6X$<|w%!2E=SnjZ%IRcGDw;c(V`!lucUu-_D$_e}b7$ji@^3t~ z)<^)98~<28kD(jE&DEGOtu;S9wF*h!fRYT2H|aCxQNW9e)JBhA-Dl%?`;*yyul7&w zIh1CD0_#8h8llk$31VvaZ~b=&W>z* zUDAnTy2Ry$@1e8Z^W_+sb+8O0I3#BEFcIA{7r;EzX5(`q{B^`?b?Rz9<1P=C0hR}F zlVY*bKIh9CXAR1(<=1^33766zrwgn&z;6e>Z{8V}foAZ2O>C(?U=s~YRH&Bu9%x?z zi|dP7p~I5Y;8=f^Vvi7K3vN7HpwrnB&a>$XA8w(xHn}Cbf)Zg8iykM~vf8Y=I0dNd zblRqkWL)d~>Ht52Ybw7>=c9w#dTV@l&LA?ddOFFJ{c?Z6AZ8?+ z?UiiP-jrfNhB-HR2xgu-IUwa{?-`(@B|L1C*Iu((^s|2@ys-lCS|9@w3v2)@zqnTA zJKEaLwxFT#cfhT(SV3BAoK=ak;4)=j0^`b?s3)DN6~tT2F|7aG;t2N!4%Q3ZC5vUF zAAMp`IKjF1Z?OGNr$?!1)bXkx-3$z{Ue&$Xgh#=qC9k6TVx8 z^pKoF*S>!nQey%`kWRtva%e0UHRa}Zq?!ijVPIo@W zBRMdhV7}oVjRf{NxjS0M6VlOWtBq{q+Svn|e>L#-%bx3L7#ij)Hg??rW#0{G`yI`f z=6dI+?8wT2kSrI63hM{=^DWKDZ&KJXr{1msW{Kd(;Z44iW{xz0S}v3vU^b`|a9p3pX1lKj?XA5SB8?2AGRk z+PAj(f-xzX2X%lF{j7XHg<+il2CleR(6mVlckP^r%3du#-18d3%x1}@hpbpjT4!me zrt^PV18e3}NWN1DY-_uuyRZB1OPu`j^_rG()!yR`$lJ7b6W z2tIt~kJnrj;~LsOVMUCz+$a&teK3Kz8;LG+||OKz3>Cgp++NhWWiZDBYmMU_3hHk}VSMOucU zXsHVgV`v~Oos!Au7RGn@_8RVb(UbNoHuVNsi<^+V^d{`8#hy{SOrzQjIv>^|0kI`* zTy$p#+Ig+tBRn+TA^V(mFz%3UmqmZlyVprG90wEI8RM}7)(<)Dm)soN(bV_P9}u(l zgzO?0H!#RuB4tM@13sYU4YGsSUQ~w$U%MW7OzOWbfuEK6G}(F^%nO{`6}n*kh$nAo z*enqvYGgL|_)OcEh#pcejv(1nvA0#w8Y#%XCNWcoZIs+EXQNI2H4bv+no- zj+W4eJ-s+>>ILGdK|tBY!AP%Hd2|`i(Sa9Ry%@`imPB4d+^TASg#>>$Rs$@gxOM@H zs9b{3#F~zQbX4mAO%W)D!4A@`LSKQma?=6Qcp(COyeea$+FhJPa< zjF}jNq}@E?OvW{d@0v;>Ou`pVq7yRSU~dT{O~JEUXlq#>OJs3uPPt_0fEFVTteZ{6 z3{wL#KhL%afeb9i=6VjyMB`T%mE07^kLGb_*~00Tlat+erB*jBNUR(v^@Vpz+r~OC zTRPjnZxblwVGDmo^eH$plr!g0ahl4I(Y>BOJe{z?*jo4+S>{|wMJa&4u(ybfBSM%U z@Gd$43O*{EAE{;>fD66CSWDxRLhHu^eqr!RwIzTtduFgQY#t&#m^f(c!`n$fKG5RqonsLTfxb%sl!M2GuN1jR)N2p!B?4GnRYEosN|Q;EDQKOZ zjAtG+Cd&y@q+#jPADagphhj+CSzX}ED><_)A<9(uMVqt7v!dc*b) ztV(UTLmj#~+ES0bxPjZBkxiy_s7}?WDz*Vht>{^TNVfX z0=800>Kp6S9;%t9YFGGLG8C=mE0fL7eG*L=}tN3`JAovqPobv^j5JO89&f28CtZHx=R7P2_M{=iC7 zA{XOBWIh=t^@%l-j7p?nciWZ-z>nRW9Z!XaE29N8EIs7VJw$vvnM{o7ay*&6PF7t` zW`C2OAt&kBy+IeXtpG+3Vk>`&8vD0Pa)|kVfXr=o!3YGf$A zoOQooIHP$@*m>Mx?+jsbl6u{P*glW#tta*28=O6Z(Qd*h4l5h>Aj_M`fT7ilwY9Xr6csY*WhLO3iBmvoPCe zyhKT6iJS%c%Wgb3#r>GjrHEQ~Dp416nDN-Io~beNhDIz#))MYdSglxpZIn4e7;is+ zR@nnU;Lh`{+wVX3Ub;sN9JH(mPx4p0WqfKuw?XE-Ahsrey9)Dh;=&vuGk+jFZ1+VShmA?w49}($bdCE=>w~w3DhI84{ zTh~+2XI5}I2;+Y`>s0-JIj8)IBva4fW5leHmXDw_v8nht#xb6}=4kuKeH8s1)ny-t z{VurLlYBg##b|`BU(-?N3Z=_jbh1+hJei9W0lo z1M^EV+5_u@4O`a=^b6GAchsOg^OY=(ZGAsAdTA7S>&=ZTg}6a~(oW*1vRa)zn@wQ7 zJ(8#yw6!@b@;hW1^@gRFd&BbW3!qtb0UhvGpdPtGo^q!g4HGiFt{)FOvo+Y~E5rhc z7L=QswXKZlzPce-z%pgK%S$3;XHAM zF>nWlOW3&ny}46=4X(~IZ&T+j5NyK!5KnzRq>pQ>egE5CfkH;0XeR0X=?Dk?dcqI1*f=rJjQt`R{sVukob|CLWgNmfdol& zpE7hQEFcNqysn8{I-Wa(w_b|Aqz14+>u>-V8bb9`&T(`uHWhDhx%DCWN z1JK#Ui8I@e*h-5r@Qbg7Oq7hj1jgp(uTs2;g3odv8J+^8@x3v0gDa0U3SEjzugvgE zjhqQR<)9bt9z3nHn0Ff^1dyY}7GIxz4Qq=ze-vN-ktRkm*(GnY*zhUD({N}#b-xs4 zVY^fsqX1J#f!LcZq!`^U4g&j{dV($6&ow;A<(1Hb7|udS_wM(|3@S14v+)HpS^c)Z zw7u>EO{si@b;F6k$1vRl8*G^M^r*?04=Jp?;s(BN57f|HBLy%XH<`D0^u6~zilC_q zf2=?Z)9);`*>tCBI6bIioo?b1J-w}XOQn@f?{5)DxA!+p7Kkg?LpSj8Cz2JR3!npK z?t^MLKzdIvePKf_7D0YKRip7&y5WpNgjyeOcU@3@8S6M2eM=|EdPqN;4)SX0aRXCR zQ+x;*(m5oGG@

EEb^MAhU3EU6+u2e|+3}DaV88LGuY{`vdv3+T%br!CI2<;jo;t z09Rn|1d$#<7;F=O1VDuDz_faYYlTyBjbhp%tbF7SjE>lw87d*iQZVbeM}q6_A&!l= zV`-+~@aa1(c;3-bd)mrt_lxKaJ(@@E2Df22bI z%MpRH_4n;kA9vS&Uq;E9Sc^hC$USwPVzdpChakBhrbE9eD^YiJWq00?x*cPOMN3ed z0tB>BhJx~q7LbJr63D4-alSUCIbdE-i1HlH=mi#F;tk1Mu88cTRhPz%0QThf2Rl~S9nCAh#PDKV-t=mu*ssZTtBCiY1YN{P58uG zNeF0O`=cSw^ylr+&~!Rgv33r;!2Td2z|J^wx8+v4h$asJ!-e|}-f{oi2v~%Uc`%Pq5&w8=uMV9{00XBQxsEMP->T#ed^`Pkz}O7g@#p_01(gIGdTN`rdqkx{ z)C2f#15~*|V#9$p+v=I3e{^WsUm`>LYV5=5o_+=ADBl5zg>Lslb%#?#Dw>Ppzo4{W zf7n26U~T(gy}47gwe^=wp!^u4sEEX*qm#ily1!x)-TX%7Nq4~G(oLcUTl-nh8^BLr z4?u+uilqYYa>_>$`a@GJVEKrlzcj|(JpY8fL2wsqN$ba?>n(Ma~CoLh#_mQ#qC z$YZ~`hZrsvPi`m2?^DwPE0Hcgx|2G2WYu8-2Ipb{s_e8RA0oejc?`s}lN3G3&jrB2Z+JIe}+J%IZ^!}tUWDMU&ktSx><~LY}z1dJHdg*Pj?#(axf0~E>Fs4 z%kYrk%k8}_&VC4r;ts{FJM7Y&AlHc)L(_yg@Dn&XecOxMfFIejHlv;4Bv25*<|=^( z{O<8{Yycx~?}&yfTesjXN(c=0@Sxngp3a9Ku5=>Fc#_PXe?(v~Q4<(z`~lfL{q+^; z-!V4wtvTELcw$H)S7Nd*Kia2t0f}(lwbNM3oNd<7^ly|wJ>6)HHI;OpKniN#aC^Ri zuFiF+E^{f(0@81dV{_oGHmtg{!=uIhxu$rIy*Wk40o4`Xpv2K+;5@U67*xXhJ6J%J z&gm*rWYmKyfBp?6fgr=yApX~C`n5H&%yid}3R&?Tks}%9T1sD5BtzFuI4_Y*lq(lk zdD+Lzo#NOu7X1f~wdxW z$A6n1@G;47fG~wx$O&E}o4DFqjn<5bi65cl5Zl zAOnqz|Ian)X3=K0Nlb-i*Rclzt5O>EWPnW~W(#8m$0tE3(c{5p!MAuoL6Nbs=MYP} zY5*tXdy#?HPGzmd^TFjr(AyNCxNKTI*-Mx#zCfT-=In%<&S`5d9n{)}%he`lCmTm2A=nICLwVo6(DC)6U@Aus-bk%e+25nZhoa13tFB* zeM+PYgWwrDllu*Pl<3v|6<+97JR%CHFa9YinbHieT{o=?eE!HS8B4I`? ze?7^h=7RMXhoDRX&3n?=)T4s?+X)=4D|4x*C?3X|W6g<(n95uC5sVN(YMvqqYXZYf zN&6r|J6fl0!;fS_)bNCOnA7u=Pu#y2IOcDGTw*KWi=>GkjLIyfbe zI=jK5Jjinn3w*D_~O2OF+Qx2b(%>7fjbA5(i>!0 z>LAw{J-EH;0Z|?!Mztfc{|+8YWPX8}TulZz!k`Nf!wgQQ@dydjQs*qBw`5Vge`k*> zzx-Lh+aF3rhDUEd@D@|n+>nRDKN7DQ{pEU8JXEwy^Eumn#d-n1U^9zX%=v%)Y5xK+Y}rsV!|9$f6g7gW)W5(50EHP zTPY&t3vsK6yJqxcfTT_6%hyl9e{2XRY=R<}&XDJUwVfHbJV$KGQ@G!8ZydVT#@T+# zShuf^fV`y&Q@?O)ZIyJ+Boo8&ULRjzi@ZiHqB*ZNo3MXLKl6m|h7(&)+g+8%~y(GWDZQ4l^FG+s(K6f5yu*ljLfG z>N5<+yw|TgdhMK{JIwBaStb?P26|l21WqR;CVgl>&c$9M{!!RJ+zYI6ZDBF6AFyoZ zI~FO&4De8|Gw*rE+O{d2(OdEP%kBYwNx|v*AgtUhp0Yr^uN0fn1@2Q|_$TJcWe)p6 z6=lhlytjIerDfKo2~l?$e#}Zh9nP zhqG!dCh+~zca3O*qwz9APprDmfD#$S`l@XVJH&j{;X?gz@Rv@IAM~}}cK}Nt<<#l5v@kA}yxM_=&)l7?Uf5Ynt1T`icmYDx7 zbgI@+-v-^P%628HHNIvkwFUYf+5>3quO6pJ;jt0xih?Q@u)o=a%hM)Q!1j4``$L5~ zjBE1nkek=7UTN+kfgEB*P8w2Ih1=)Ro$9yv1WL%uNE!V*i#j<6lP0v=CUY25{)}f5 zSUi=lefBg12E+f&?2g zd2#hzSz0e=BTEsL8V}=AP2=}OtS1u@64f6AG9~Er^k*={5pQ^@_*Gm>{Q3fRhlFTq z3vHB35#bARf6()B8O&^~g*Y&D%}3M#{i{R2(v$r5SJq&kG1gpf*aONe?yiO}m#7g) z?f(L?ZD9cLEyb&m#li-dIYnqju+XKU<%ETCI-9EV#6FIPd|Ww1!67TBKg*kUcKO}2 z>5DH#Na6uYhYfA}c`?O@U5VqL=MQK4jICH5;f4gMrq4=qF;eP*>c7aej-ZMN_ zrpmMb(`tebA1I>QFbTu(-_$fwQ&i#W=SK@I;XXNeO z%?_cde_|P?U}*xya$UJTdiu6kiKLk5yrGAJEwFT4iI!Nho%PwPI2(t~_N?WGUCy4a zjBfT1uNGg2cQUt`bdFkay)-;rgk38cusLOCZG3}1eD;tE=W5K8Zzf!_3lk#2!+lCj zWIt^$hhK%6w+HYU!kkvrbiQHz+5qL8*~5Mff9^WiMVX~S7@X1c`H2s^NTSnfYxSG5 zKeSe?JQ{Cs)n3*m8%{kOGB+Mj6I7ZbV}`IfK9edN3+`cy*ihE-dV2WT5{I2ZO?&(F z@9kp*iUNS^7}H>e5vf%K!xjX|sm zEs8q+v)z_zVYcd|nhRyBZ(HC%4o174) z3-=yye|XSN1O2}JH7Q2#qUztJKGur=)mw>A7tNd;J%9-2R7ZOB{;@p4ajT$z%}D|b zY*z>f3Eu`HOvuDR)gTr(KwJWHF|^=|Y)K|ks2Bs`o$HF;oWtcc9EmKp9yIj#nPLE} z<>(d}sq;X3LOoD;?d2G~lA7xIL*^Fev%*2rf8Mi=ZIW-Gl6@$5N;Mgc5;%>>iBDWi zbEB+koU(k2?(e?=HiC?5FTC-7@{p@o8XgG?Y#oVWCj?FI?RQx~-Rgi1_ltAVcL-%} zeE>LQcAjBCqamhWC#i&KY*fw$U%IQRxiuHuTCKJ^XNjf{XN?bv(j|L?xkf9zlr z8T_*>3ySyh2*uEy;COZmbnUd*5Ii(z86`Tl^(_Sn!(RP)1;66BIU=ePDjLCK_p!hk zF!#oU4Od>ZU?vxj;xzRX|LRY3S*{y0blC6}JSDGdEmi)&EA~&{j15LZR`N8p<`(Qa zHcUUf{&RuCP0i9IF3#cy%pDk(f2!FZMxk1srmKIUr{ogSQhPm){Vz5ON7Y8MHKsqn zjAigeyVGoTiLHZ!GNCoJ-AzM7)6ndEtu+Ij2T&uV^{eprTq!3kQm=QcDx$3YWVpDk zwsqae`XMqrE3O*xto-@9{*aH2aU%e-FX(?|^ofKF_Bq6H7!t7oV$7|~f4kcdpU{k^ z2=C&p@#VQ|tedKn)~epw?n~M6AxgM6RE?pIzU9s9onFAcE9iI)f1u6K2Cgo7xZss9 zx*v-Ow+V_Fj)FcjGfje(W1xt#SCY@`{Bq$!m2V2$c93MHY;Bw=t&P|AmSoH1+Sxo5 z#ZdhhZ>_{NBCPaZ51)0&f2jL3AwX=8I}nnRwAcugv4{eXxhGwomqTa(nG8o2!#GZ7 z;zTYMIY&FWk=W8<0Wy2yIVK9*6_rjYw#-q#JNburZVoKC_VgTVzR?MF?Mi@eS$Hy- zx=9C`mqtQbIy$>@)WzM_FTnc1QAE#PVh*srcZlBB&LVqdto*@7e>Mo4*LsG_q?>!? zIp$dS>2pHYoGM_Ld^v{?w zxBv72C58k0N2G~Lf4YCu;=*f!1pgvB8|2_mCnTuYTpKN`ppoztx!glH>lI-QE2l-W zIcolFwam%oP5f!4V4eI8mWrM_iJ%hSNW4tYtDFHtd)LcDOzID!byG zjQdiMq=`AEB1U-TG?I+Xjo_r6i!P9Y&_1fSeVy;wlDHq}jC{oOCeW1w>zn2}q_h63my}x;k7e+KA44lJZnQHQU&)h0c ze`SyWf7%8qX3wAyR}-Bh<{ml+UBMR_`bE5ks<^m1z(Xm5(Mps|Th#VUA~XGR3`eL< zhtWQ}YJDTjHO6>MwQ2b+auZ&wsAwCrw*`4zYh6vCMQ%Iv z6J3ndu%m_-4IEt&GHa}-@$|vf5I~K5czEm_%Jz4Z7gL{-wE|+xFe6~*wHHu%dgagAMnC?uC?UM zSx}QQ3rzPz!)#~`l2M_RH@Lu8Ffd3OatKKo;JSx#lJi?Oq`6>da?NOy<=YHif8e6u znRfygl;4GCvd>V(<>K3Sp+V=&iL0>`Qc|Up?dCr4m|#Zr*#w2C>Tn4i0}vV=12ch{ zSa<37lqCGfjUQ3j!Mcf+bpABR(6Wk&`E(l@rl!@U8X{b7hK3QAfeu7Q{bY%d~S-HK|fYfibCAG;~skNAb=v&IF}+Nm0axk{r$&i3ZP+z}G+2^%!Z?R4wkn z@gY>{9NmkoMIR&aG;Md&_xuQG4lrKjPTZSAX)MB|N>;g#p2Fb|JiWfJU-IvEe@GXCc2~npn!Rm8se;dEP`0BG?+iu2~ zF`%|mLD4GBYXR{%CPbZcy&ulJcUic*jzXjD3K*xXIM=A>hADx|_B3J~U5o4Srs17( z42~_!gVUfKKJNB82ZI^t-YTG>oKK=T=F;xLGO_6aK_EJPr?hr9_mUfw=ma#+lCs=z zdW*@nSYTt}CLCmFe?Q2y`Il^F?kgr_7RymL|Gv39%C;I$-Y_1Tz@IK^T-@DqA%|bE zWR8nF1Q@YSTBx@!?qJUK;y)L6P*FXbvKnSCPh>_4Ieo_=B9)4LD*J4Hz!~Jse>$k8XfkZPkTLCMZj`NS z$n-=C1`LT545{VPN7D%A9$*#M52dQ^0)njdJwMAxX?Y~$vwmFf?tS{CT%6KX6aQbZ zG=fM*9GhZ`Gy+NKv7`YB9$j&Z$kUO_yeh!VyUxE|mPBKGwFmurE4Qa0yRW-o%+4ms zgS0$Y{h|!$f4}1;D2!74LA(H`@7##v)bfXv6T_wyFnJ?L(P|0x8L)yRMP}^+7~W)2 zpM(iU%p-MsU2a+zbo+_Vs1QdU@55M}`1gOv=LXM%n$1^uP7jDOyLMxR!{rPB0C84B z)%t=o4(!otHVd+*c;yY~Q;H!jD=SGrue#VTm5m&Ge>rwU_^k6guA0^o{LkUr-}fer z1<4l)ucB3*&@`GYD?y^sX3-SW0x`5rww7pXKVeak)2R&$J%Q%o2)lMJ92}g5nfnTb zwQ-8X=Aeibvu+TC=8;)RrGqnl|HE6GB{a zcbgSv#rwC{QU*B0IwvX_6A4MwKt=l!U1T&9ypqgLcVUg5kGT+D=vevC^K4U(lLb`; zBk}mrwFV&RUp91wF=K%Ptis3ga#?NDagM(_e@Bn)4@8b)?wyukY^(za%|dKPXS`#u z*GQ!^WTJ>xOfBfrl?H9NgTrIfFe1yrz4lufH5#ldNStLBu;nkkf}b_+&myW5d<#|h z+&2viIXW7q9}aOr+;1DC*G8$I5% ze+#cJ&N>If9Hy4=))yaopvEn};~EKPh8tSg=j(P#lbE{{H7EdhV%uJZFt_-Plr$M! zEOO3^f4@TGaX080SV@(fMS|R9WOFmx9s!9gedSyZ z9IL(|i__R)5p3o4Im}2m*6L_nUYK1fAPJI!<|vLp?~q=wo?GdTEz_T4T2A0On9Dxs z)QpiSxdu!W-b*@)M7AIzwfS=a*{i=2$dwUv?gPctSl%IKm$@-uh>rDLnZ=57f1jb> zS>Uk8O9A*Y7rR9c6lf4>kJb^M5#@JS9uOsh+P~A$6qO@qS7pI5Y8ju}(&CVe4d5sE zFD@deQTz|0AM%us)mIlsaX$JNbAK-yRy_ljUICU93592o@}`9o0EGk2g+k?BUI2z& zBeP~~p8i_XTDXXhbP-H8Y*iK<-%-jX0>zC$)V=?<_KOsTS08|mKX=zc-+Yi zb0r7!*qD%~8XL(#BFecr3=x_#{d_{~>n+74N&|CujcwLB|M39M3B)tpTI(PndMo%4 zbS`{h61`MCqHrq%072&P%^t({($zVs$N&V{*4uK|2_}kB1=&wXk7H3xf651I&1MX8 zK!Y;qTaUp&x-Zy6249I0NXOtG?oNN;tUG!JmbPU z|34G|w3)y0w3)y2w3)v3>*n^e^1|!VR~kM|r)@3M>08V6GjJKPZP?SB=_}Rn+&8A{ zV!iy%M#7PXL0GqV`v$Snf4&eC8jzR?ixQ^)kc}1%IoC%^j>}2xsJtYfwzpR|sUQD@ z2vKD;5`+BA{+2;~AWRP3_|#bCrzJD0y{lod(inqvOOskMy<#@eCrdQcnNP;R)XjBb zOjY>_Qx*Mh+>u0V`+X*0eBd5W6mv3PS)RIi-0r?o2@z3)!PZLye*oJ3%WRYpWr*CQX1k?~5ZvzlP*Z|z8177K~?TjE6%;5=Jofl6z1 zz(II|@+!R$1QZ5z0DR44VB9OG4eA5E64DZ5oOo z*+Z?zaCOR5^g$>dK*E%%srFg$R3KCWKH7?;OM_WYXw)=+X18{1kTDWA+B=^_#&EU< zJaed_Ft%Q?ATXaDD)W>wD6gUE3D=UE9lu+0cy#wfr&w;pf2$<_AnhppyL?prKS}{x;Lxj9l)m>HNx`*QNd>*x zF4lxT2F7U4Vt_+mX(;kyYEwQdQ$ST@{aFq>rA#+)!__72&q#NqY;_;`%a1?wF6JP0 zb^~rw9{lCZe^TsU;`rCU74M9{!h6gZ|H{aopT<}gu9&8 zzuTyjSUog-NR&pw1iB%&Z(G(16}!7x5JJV?5F9`nVMaYMG66MI?ZYwnFcHGeGW=lg zyIF!#1B;s()xOW9mz=Www3nRQnfW-LK}HR`H$+F>)?T9c8?HS#T*#urv+~N#Dl=$S z2VvhdM_bW^j)W9D+Ecoo>$9nF7d_BNh3}S!ef$DU0nvxiE*d* zsJ`s&35*ySE)rB3DTj4pE^1%L!F|<5qaRoFmtPt}zX9L?ugb=tCQsfyV~Q+$1~!+> z(a&p>BJ&!di`)}ABGP)InxM^z4>|Ld=9UT~e|VdFX>paBHkvB-XKcWJtHwgfsAi-1 zy~bWTeb#vBC2N0z4yZON6?zCFiN9MoQLaovyVz(LWCwPxD49dH!Q`Ws!5{@K!!FT5 z60U7=fEp0vo9KCKd4INZi;?wVxqhl0oXxo>e0z)bHmX9>V#z6t)_&Pkc2bz~rD}_= zf7H_A(uS%%JN9jvDwLllt1D)yHt~5mRhp@wgdNv>0)_ZL*x`40>BcMF7(DOuwzYV~ zB-palI+Hk&u6k9xR@k41gL(JB89ldcPt=Umyr6#-hDJx^#v5b7lg8QK|vpfU@;(x zmj^#=sI8>b()+J*W^4i%i}7{)kEpE%?DdZ?k&|4nwX^>5zprz6-R`=~lN-A`=k>OpTGkRG-<|s>IYmY#^6E0*wAYb~b z82&}pPc-JZvWf_pp^omad2TuZe-x(l167R5ora#qBg%{CiM(eZZEl7_(@2jwu@Ely z)9gODt_+kiWojac@g|7;Icnh~;D{lQ@a%O1wrpfL>8D>Fa;T(?_)XHj!;WZ!!I02i zvb$Kqj@oPDlM^Y;pXgvW%%Ay<0^hQJZgal5WA4kX=sDdo|%X4xa2&U^3u3smKS%pEl>T}}@t3jvRW&59}XWnZs zrh_`d%GtQ@yu|Wt$6Lvtf52xVgl8K)l!gy6B*jB+yI%kVR3-l04PLu*mxpa`5brA$ z#$0MTc3UgrS76z7qQjC%Z^_4d+yw6YOz6wY`55skwLN@mCfr7~V|}q)Pa>97q-MvZ z7IkMSqpvE36eYDmst-j;HW=fw1rU`SgA4z0R|9<_i{daaU|rBRe|dS^GlA2A3J_YY za$`R@1S7spI6m@Uf5%TQu~S7q8`ftaa(hWGTPbD4XV!tCu3c1FD+=ehDdK4R`Ncji z)mRJSS&^c>8bh6srKk6(d@|Gowd3?l@t7^`KN=mTKcy8=d7F))m=pNqJo)Ed#nzD6xQXJgs7o+1{4T#MIMWI-&GcGmi*wgq#*r@y@H>vqHH zwiRhpvWu_L?qh?&IowGselXZbEJ#vbHNts|w-Wkbi-+wOFa9`ueG@bJU#s^RgfC(>IaLqEeF!zRP)yj=aum$e$*>jhRcD-6lN#C=t@2Bf6K+lO`3^Mu2VAMR#a)^ zm13onZ60}sGSPgZO^|d_tfs6IZJR2_Us9BNrEAp;B!m7{sbWL6oIqL*WWhGG!?s>y z3FvNbY)d)ANJ7GN<~z{4f9_;*N?wSYE&?yZK%5n@g`lH9aY&E-K)-x zGn&~7+`gq8gOkrR58u%1q@zneWO`qhLa4q8Mw7GM{6Yg}*z&+Pe>lt$-c4?=?)>Ip zj_&-?>Mow^lk1(mNB3^Odhq4%-+Xv=|H}t&UXMS#fBO2(tFONNmp6A_|NZsf@9j*v z;Put#ukXIT`r-rs0zMaT=ibgz=f*lW=G<84#+)1L-2Bn`-3iu>$@%T`yF3*ha(i!Q zdS_>OXJ_{4-hchqt1rHM^KYO0`2m;Q{zsSG`L}yJ7yUD4I|p}m#*gm3{`~dd{WGq) zw{!UDe>Z|+mP@tI!>zNdeEjSP#9-2Y_|?w7^6@{cZ#dsMzdN_ycW-w4;!cZ=@7(#g zbNcAstGzGZfAi(vw%;W1)tA5De)IXgoufx*ldBFEef#Xr&gju^#TNVURr?P6_>9wg zzg(tp7|%c5*_xj{G`#ij_Vv!wJCFYLx1+nqe|yW@*RQ^MbLYc{r+2X?!oQqt`u3fV zA9vcjmb-0!+3CkOA9wbL)xdH5C2Hbg*@-Lfy?*`r)vN9Js5b@R>)w3v`pvzMJG+CM zXb;Q~={BEv@6{KtzobU~aQETA|KCUd`hWiShtYq1_V<7LU$@?T!F^r~?t`a%aGV=% ze{=ihs=o7Yqc1*riU&L%JYZ>8kQ?s)PdDG>68=dt1;j7i%$IpKJardW}x9`2a{hB_a0n2a~U&>3i*jDCn z>&?eIJ1=$~@4Va@?d!hs>( zxgiOt>+}TDp-ehd#&MV)c6gccf6s42b<(le(p^{$boCRCX7l~MS;y5_|Fp2{*bQrP zu2p)+0!-I>i#glXJC^*pEpC@}vRs^wyQQ=1b}0I~tMIlc?Mr)3xd_9!4#yqNTxULv zedG(~OZ|^^;IvR3IBf#HW%?iMz-gg6aGK)-ACEgWhtWTeVACY-3#x-2e<8xb@<9JQ zVyV+YbHQAfu>S8aeEdqs2i;VM?6OSw7WRF!s5|Qm&Ohj zGva!tG~M*NBT|xvIhagmf1QoY9T~Ow(J7UDL=8=8h<$Ih^ft?aA7?qu@`Q4==K~vR zx}4EbWMX+6#R=W%oW68^c;Lgej?=SCRR^oo?nt2^anv0Qa0}E{9q9+@g6Di7nH-kg zn6Hnd?R?Wh?nLw_S(UpZ8e?{F+R;z-zf_kyU3Lieb7Bro@>fXXe{}ov)dM!E34p{g zRQ>FM5PITq0LRPA2j@ro9sdu2yZ1^Y(IMV0yUDu=)wF;)@*Jv7hqDg-iamVPmH`~% zU=R?mcYH)*H+lmi)Si+pQ_1hS)`EP8u}p8uAe(h#K8sI7KwrI6sSuA+GD40GpuDHY z>jk(o?%e!}2H&5Zf4GGC&2+e+iKmMhtxa(;cEOWq?bYwUq6=s|UF<(l$^Qf3Zhv{r zsOE+Ix~f5}CLM~60G7%nrCZ3a$O!%NVlv@V(3_yOgauBQmzECcm()to)@CY$d%f06_3QGa6qZSK{({sQrmtV$;njQkt4e>f#r%bcxFMr@Mo;+$%j)FAf1&bX-5ba-7#!H-lCGm zNHvlq_4(EptM+HZhZUhbZZNs~c=XdRKYqLW^XTW@Pd%%Z?sCPKkN+&ci*jS4-umn_ zeQSBud#~Soc>VE%gpdE<$9%T+nIEHa<1wFYZGHCfO>-YUDMg;Gztc@VzxDd{Zz^f% zO86Lre>?5Px3rYoy3(vjp5HzG78ptUUGMF7Nm?1)bVCrN2%HSllo1q3f8h2d7 zK6P6=k*NmRQ~isXLHD^hJ2@jl)_e(805jqTf0`C=O}bmt?iOt87On%`EzeG^biyo* zkg$l!cppZ_C$LENnXG$s3( zcNRz|m;seNHd~-hJ;^5 zpzg95A?DeRKibEGYDC}n9p5o0BDMCCY>{EX;NS_a09+SYFI2M{e+9q$ z=PWoQg_1B-Yh>c1PZ9@8Mfs>e^lty)LAO7?+>^{WL*CoRIB-aNF-Uj>U+x3KnIzA1 zR!EcS*@)`LyQCo?L#ku-g#3X-(=0|sR2>yrb|j(IfGSLxAPO!ZrCCOIh}8_rHGD*i ziG|1wcjFuiu1pu8bMG<2bnG-#e+J9`A)+Y9ktDE@<#{3S96o&i-Hc}+9>4cHAfnUG zQ7kAW5c~KQMO-pv9tevezb+vjki!oXAo8~WFkQ!vUkHkL>%}p81^1?{Mn}vi0WpSQ ziTiLUbsYdIe108GALX#+y{6p1IO5Y~0RqG}OqCqYKd`(p_G=O&7Xk>)e|sR7NraPZ zODgHV63P{3sMveKN0!p*=qlK$gWgK}%Oq8nuX`j%tX%FOYWHA#I8uk06SXl-jM_3# zYD7ry_2U}aGWPl!QIS4T z@1|(G)jU8#93(9ZhFP49#4Q6sJ4`Tz5pg*BpDqY|aObNCo&gTSkC&VXHI(rp%G%6~ zbP#KuC_?Ah9Z<1{{Elt~kR$zoI->WfCSXzu7~^Dt$`741Qqo3(f0A8*=1UsMG_4a= zNFdLWDgwZ08E3ewj^ZW<$E4%oNMsxq%}ae*g)amju=KhNV5CrJ8jhYVqk{A-isx9K z=r-)`w3_o#CH$K)LL6Cxhg8Y}OEtnO3r0ds+HDa{4KC;w1yrd-vLxkP&Pxf0EI`L` zubNHRHSBnF#MGf7e^k(NwJsx{MVfO8;FH)!dGY{0?ef%oQs|t^K-zV(0H)8VDxGYsCT1`mkOuTQZmS@ z{zDz9d|u(kh4aDRh9_F|IxC(zxnZLQmpq}^Ii+5KPemb>D$m*53uTHHL{-VfnO<-c zM^0idph@NDgSLdLfF2LTZfYJ9f@2mJS9+kAv+XR{TL;Bxyw;t8R9lM;?a z1T_R3aSvI+g!D*B3|dAYp=zJ?2m(k@?bjWUPOaSdVt>vLBac<3;U1%*z>B_PJixE> zgs}qif6%eB0(S&NEWiHUSKSy72U>y+sEh25)WghQOHC%F1q%uNNoI7ZB>ESM4aJ+x z{=3u6KJ=z?=2s@k0{e4i`yE%3F4ikJ=M?>-rS~@pUSb^ClH!n`s8A(GG1_CTQ}}n1 zifTS^)q*Ehq%sl{3d*($xpGuCF9fGHe;st6g&xc%oMe$rDSzm0t90R z60@MxHkvNbe~EsnQ9M4u0RukTLoCUe!{9h$_{+g?Q?(SqjSS^|Qu)Y2Y=Wm_=Q)xoe+Gpwf<|I};uKTRPHGQ-I>EaUYh~Q?g5c4b zCu4pxatteDb>SrjfHF3yQ0_8x5Sjpyfa+?$QZCL4Ve&xJfdR=Bbm*XJj-x#FfkEy| zA`*$OV_A%*T_>lfjKUdi?1r6*qlZQp$^aGGb}L09zG2jY=-w-Q(ZlHF3wY98e}cY4 z20-<5E2Fcf4fBd;=qRM%l@7C9CRj^Q#P2!|F~vmDoD4%tKwAC=RL){PBzeH7$p6{zlPW`s*|#ta9q5rga{+LEf5t+Zb66e@ zVM6?qf`p1W#1?VP5sM0Z7=;E4DWgm^3fm0Wx+@@9g%mzofWyN2b$EqFTA21&biy7- zZwp4adK%KCyF8-|b52Y(J|a}|);6>$F)7>-YsWdpDAHc)LXP)CXf!Mv4F$c?<%p`o zRjq4v18{6SzEo(wr^Is(f00XNc4UDXds$Mwun!~j;4I5elm!fSCeX|`fFS5gke)(i zAh#YwX{UzdF3h~FVknl!7R3bNoj*FL5cg+EGulu?A{rbV7a9GKb)n}pb$ubHtPHZG zh5=;B^NS^{t%i-zHRDHT2iaY2mZ3IfCsEL8P*|-;$?Y$@qp!N7fBUT^l6Rb7Hw?JZ z1g#SW%xmLhs|&Ks5l2LjB7wMM76f9T@y~jYV@$6{2U2JFsDXyYws{(>Jgr$)qbpH$ ziApK<$hnBr1d_F`c@EKzh4WAuYC^A(ZBewc(nZi9y-K1&3^1AHCghdZUG>}*ey8#f z?ZpykgT*R1Gpfn6e~aX;R0nAEbMbMU!wWmtiN*Aqp=L-rr*Mffu0<|)D`6!!(NIx2 zY|Q5d>*AwQojqSVIy&r*NZ)gu-V7n$%0Ih9eS1XEyj~#I#|48WX@S+F;+G93OH9QR zn|I&OaSJ)m0(aH!=$xtP=o}G8t1-H!T&r2{oDxtZcyau@f1*uIi~-eRAzCJuqNOpj zSe}(g(PjkN3Ohj&i%Kwb%>nb8Q*DS+epn>7z--74knyF~(b8>n&aPQfPA=JoV?*p4 zTyn#LOkz(D!qeEWa-VKLLYq9*+s;?-s~+Q60c$IM>(yG1Vo}n`FciBO-7mlc0Oh}= zPZuD%^f5Z{f8)vC)qGxFK--GRB+WL#(mr;_N3b|7(3qU*QW_r#77lkjl>-NxiaFZ! zw1);NQ}pf3P^2^Ev*aJrYW`5~PVZxMLL=Qx5AO5-fd5>`VJ${mB;xV8$n)i}?mkuL zR5WSEG>>*L7DkMZGMgEYR2;?^j;9#cqRnD{Wea>(n!WO8$dc(T_qOm&@>u z`nL-TPvU5KzUZSZ=SX5H0F}b@XYFNAm!gXgDu1%2#5dIfxgsc1;Z$S}&|_$r($lAB z@exYEEW5p78+i0g1Jas?dR@P@h$hd8-o#%ZHNFvso_~$8iasqsd7L%&xQZh@w{Psrd*(dqztTB5xxVF)Dw!SsHLQZr;;{}M*XQZ%h63IdLvJBcKC!eB=vY&lPaNF zkt*eeyB7OVh;BYEDQvvPg{}y@l7+{6EWv)0T<%^!{RzOjGX^BJic%0(c;zy8BCqW}-BV$ka_M5Th_ zMRO4~JAxl5XE>J~^N-8pl*lY5V(E5P9Z^wZ?yR@;QauY#A@W_!1w13g(ng{zJ2D@M zDam2#+FEO_SOW{9=hqa#dV^Sx`Ak$90w;w&M6@$xC1R!2Wr8w4)C`&+b5?+St~`J1 z?DJ=HzYbR1VR)vS=*UQDp1?E1F}9j4fO8S@gG zv%ak_5N6q66{pMD1>Yb-u1ap5;++bJyKAoJ8~8rR376514=aDtoPnXIki0DrIlr>Z zr#De!K{?tVJV~>GPsFm0`K@2-4NeRefpMlc<|yuQGTTS+Z$Qs9lEC@5%Ztzp{70I`oK;<2Io&o1nhkdi^z zVMageq4rU_#WjCRN$qrEFijZ(y#xbb=)b4kbZymdPy8 znD7j*O?IXgmL5o%$}IOmuoU|V(BRIda_Le<)C~OtHu=sR>j`W ztnv+)UL^Q}amu~5)nmw@P+>P5G0vZi3eT#9m@4$JlvHi89T4<&o;^U>alt*9RD4i-wK}|0mU1kH2mW2Al`%S^CrbNc zkG(i!i;BV0{yofx$ekfBoS*MA%Nn+xMlYPFWSJ2p)tO5Bm!7^OW$+9Szhto537-S} zE;WpV9F&HlUrF;$3_@yNYPT#LvR`m2hL8Uu6$5`_zf@74Gr6*=H7i;tss&c@AV>hR zGoi^~<~u#rY%RDfn`w1L8qCEA>F_ayG(A6^aG*ptRBM6o!gZw!8fG?wiin`2rWAu) zZPFFYd;ax=K80}S?KRaVn~0GX*@oB zHCBJ~5vn6(D-qNeXkbhl%}U&ks4TPvOgOdjX}Ut#GYh}P=3uz5?oVepqe+l!-EllqPjZmwfXx{6~%a@eD85h9M1 zp&H-aExsyxv5!1QbGmhG4ag4#+rC^O5pkFIkq;0uPJqHTXH-+yCe$@rKO4r0dbgZS4d!GjxcV3dk`t?t*2mEJ;Lc^5U9k4yUZds7 z56CEu$wk@U1sEG=|=^!o$V4&s= zmC#7Dytif$;hhA3#Rv(TuTcIwUMLDY98}=Pv8WUBVt#OpS{qgdD3hIvrPqi8JjV#o zYE`AirOE}DN|O&Df76S_0|+z-V4t4N5Rjw$8a|>1VuR^8BVUX&$pLErvdnO^fXKMv z7lfWZKCG^d76%87;pW#~h|%S3BTI@GO9hS_k7Q9R>y;pcAz^?-lMYEG9;>B=K|Ei~ zFN0*>XmuO9z@=q^e|+YCd+O#NY+Nh_g@F|C`d>)+iZdb2e?)W1(c}T*P(c{F`3*51 zB|POFgP=KOh=$*hX~Xw-ghF^Q#aa52_k-~io3!QRVl4f8-&nCYmxZNi4HNsX|MWwo zNGe~F6cWK$Um$EXkEp@8UZ1*LN$Md4H#{R0X{#o7Z2=J|DB&Vu1t=>iii*n=s(j>5 z5ot<6?!-mTf0*gtDWZPLkx}VFst!Yir3jA6(GX!O0_XTK!EjU4*+fSRv^GU<|2gR| z7_I$ogq6KfZLg}dKiJ^d?wI!48Uqbjs=KjzpDH-bZPP?WGKjQ)!9}9`4tDa z0!%BksL--NR|ge3tkAqdaUHR#^3$djz_jHEk4>PNe@z<_Q)-Wusi#tMa_w`??C=RWZTEQ2-IY-1>`J-eu4T5?^cL5Y=^76)U8hyluNQMh0b`2Mv3ESW z%#zUff4#9>uqm{B3u2McfAW!+Jnv2x6s_75F1<8(qXo~*E#R0a z%J51SAW_VvBUNPj4ROQ?qf${HlbOFU05Nc2uTc~5Z+)=HR@K=6o(U*(0j7v_A5t4^ zFxHAUP&|LPgw$n`f_^7e#q1FMp#5 z-|O&o^06r4^dK2Kd=k~6!uc9dAp}a{iz{qH?5*_;af|^BCNZF$$ilWk_`0Q7guZA&I85u!rPwCDv*TGD2fBY>* zCd9gQ*#K0;idf>Q^rPqU2y|Q%UXfZNQHpn{$5(4tq+wB1H~&bkN-m*TDU5SAX4#pX zS6=d!sC|fSCtOztEi8*_PNlSFCGd3(|7x9ZKM2LY2Lz`<-$s#K_QYx6!QyraH|P0M z-i8FKPf=VHC2>Q`12eH@?|8Iif8!f2pi(p4j`QxwB$J6wqR3!0^{qDU1Y9FKy(8T7 z6akQ4e!TjczajW!c6#kH7VYUY>Q$VsZuEdgn-OB1wqhkIaA4;WVcq}m23qw$RM?V7 zqT`oFdnn0l5Y=zMiF_yy;F<6;UT5I4xOCzr)t6koSx7ApNyoBxU&<27e+U2ayMUB^ z78|Xd-zpXrLZcV*l@GzT1eN(^$+*D7T-(Sf!AZs3BNWH3gPv12f$2?j`UDol(Socb zich=sIY#{205wt$#9qvq--%b_X&P*l`ugZ9(`&tS5fKZ}$a)P4X|KnMkWwiYMtW>h zoU7+HB)ED;GF(Myg93&ef7hd*kmQ;RiZIrbLS(D>n$TA1MQrN{MR02=DN$9@rtsFE zT9emqI?+o{&Dr4-Qflk*6w)f8ifNT{!(EHqwMA|b4`_d_plS;`nRM7=0%=_&oiE&p+;p_^7U!%~#4JG|xdy+MM?;)VL z*Gn>*IhIHOW!=(S{d!23u$d1qe;XJ!6W)W23uZp7H8D>mFr1|FF(hN-pUPNi?yIcB zn7D?3Ixs+DAPBgDO+en{5D?8ADB%knlO+iH6gTj>I>3b`4**;r{*da(7hDH@AZ0Xy z-7wTeT_5E`S~C=VqTa0xYk_4%1NVa&WccGcgz;$1mYEV)FDWGfwL?I9e-CM(ebi4V z=viU$i9!)X0jYKwj7P2JO);i?s@}r@_i*O%Ecj`Za-*;*6g<~1>T?kYmcdR%#hZOn z$MpR*tg28dGCu+jr+Ok@_F`XI2BOeC_^1ml2|~I9mg|a!mpRA9BDy$b+I%CkCBI}F zwN}z8yQ=Aos+6Q;IL9cje*uv;f%IOZne9+%4;^tEg)QR&F0!mLhw`NDp*9rTzG0P+sD)u20O8mwU6Pun=6Mo<8`#MzlQj2!J`fNLT!p{hN`~Qs`L%F)2~x#jZ6hlZ;!gbE*P)pM17i*}P-YAvo+b=z&VeFt%z+|m4pe#QW6XhuJ~0Qz zxiZTci#br>+8iiSnF9@%IWUo&wS;ZXfu^p_forsW8jBP4ZaD`U%sEhSodbmoe_ZCk zY}Y7y8&q}(e~ke|nSCuwoerbAT4n5d#hd8$q@|Nl!EzJzf=>?oQQ^tchZ+ojB=3!e z;_0yfR@6D9s-<`ZdF!gXn!KBlXpeo9v-@9pJL1e|bLAa~M_<1!(C;erdqMbIASY;E zcRtOcmDD!GL9tRY&hnBfX?LB>gykWAS-0MGe}98Dr8!#ONsc!+q$nqqISzVo z0nFXsI|;;lzJ_BYD|k<)F&KGd`UD~U6r05z@A19qX)a>PRP9b!LmD~L=AHnJGdTpx zHG{Yoa5)4}$atI2B?=i0qxG`RFd|)v_wgc)-`+w^w@?m2JPRB@g++w4Zytzb>YEU) zt0Z?of3g3QL3=P~LT@GTQ$7JLn=<_Zw`8>VOzx*9P#QHS_Jd96mU1$Tb9Ck^o@9nR z<-8LQ$Q*V~#aBV*c7k96&zucPXouM2q;*b5qn1HH+`HBrUK0U;YlKVkkvXxQU^G^| zxF9Y@*<+AtwcC4-rz5o@CkyP$(x~-dj4KmDf5fA^gzjsYP%dKBVo6o=%aPatZC-zjb=G?$eCHqP3$ac;5ui;dIzI|0zC`@NKH_lRK=@JVK0@^pnVLx{kHXeMe`<0{ ze@DI`38}RUW|EXXGlWdw|3ZnV$2PRJ3@b z!~hPCEanNwe<-M7Lf$kgbMh$Z3OvH%OE_wcC*-2DBPa3#wd&j$sg2vb3$A+3Y7;Kj zcz0%onZ12lghVicqqi`s#j~9ECAxfOe|u39l_q5i`Bd~3DOf%jD+ylXsw#(Yn}uWz z%6uwH7Hap}F?&;?wUloF8b@X1qqw$9i-3COS|$a#BVcS0@66|kDV`zexrwN__MivrP&OM5Bz0|n_|VdD%1^pDXeOiJ8 z9riRjTB=PP1ImRqcj!}iG&eFjxQ)DW)YS}9tEjD%>4Q}}Y8mlle0u<^f4HNp=us2u zDi8LRO4x}q6l|g9R;mqg852pZEDvRVroE)N8HIg$1lKHakp&_vG_u)K>qm0vMg#~E zNhulNxUlx`zkl-h$&cUsMZnXa_DubG7)mVq_?H`p?{q+G^dBU z@K6^X9_gRV`e8;?B7I;c(lB$e|#%+rx^9}yJJHwWiVJo_N**vWyOpaAB<$0BeC9?Mx7EoOAV!2^kqq2!)+YU>8d8LppN(TfimXb20p$5Fpq`s$#%o*<%Y~;PBeo>NS>C z6R-k;6q%{GR6;Bjk(t~iNp1%5I>JZ~S8v%Rpll?dI8$C|AYHKGmvoC6f5&umjNmNx z6(D+=A(Cx4X(*fma}N+O6PNFz4=sOb2*fgydckRiBP{wpGpzD6sW?AyyeL7Gjv94f zk9So`<}00mLs+~ohhuQ(N7Nt(CKs8W)$2jyFr>YY@X_w{{zB3>a%&%pX?Ikk3Z8WH zD>6|5pq}?IDn-^PfOzW?=$ctd^y~GpDD8-=hro0tr% z8j6`z97&Dk{ZV?-Ivgz0*Fev5zP+pa@_904cg7m$p#DI zsQ2Zs%)H+^z?6A|@bO;Nhj%Rk0}AUJ2(Q4N1-uJ~f6!|*sv%^Kq< z^!uroIh4w;PMtMbck%Sh2nNY5CE0`EWDI~x)z*4>;(H`_PIG^N>LnK5onF-0rBjn$ z42$aDnXaDbSXHiOm-0umQ`#O6vvZ|Wq%v$H;IJ7wCG%M0*e0J|&1B~}v)(#a7-YC> zhCiAn)CAFdB_w}ei3D+3s@`gDA|v(V@l1<7rg29@_9Rj$OZ*6MQd3qlm5rB~m|PS^ z6>C4VIEpR8h2ql+5W5V3iI>W2DTAOr+f+Opn&Om4X^)1aVjRKHWja>@+RSHKtAZa; z%ne#XfB(9iG*%qY?EY4)tm9%>t&UMS7UXtyD$eWx5W#=pF?Ck-XrA99NQ&uN`%QsY zEv2zqu|gC`Yq={X#_*RntSKYTIL!ExX318E1;!u!%F`oRfq(dr_+P1*9{k-+^mX4b7K8 zrwVdv}HUsW?H35Ol+*|Fy>Z!KacA5#> zCY8kA>pX;2|Iy6WsGAUAsr?XTJJjM}z_UJKL+mxJEkA2nnOJyN%;IU{Gtaz2O2T!2 zSIe*fqc2}6psa>&3$yB>yOuR3j`>Of_p7VG{m=m8IoH9Dqi8QrwaRrEL855S+nC`a z(tw_AkQ_16jJC-7k3Nm(jV?lsa6P)jr-N6^tq`u?DYRE5NzycLz4PTh<~Il2-#>7F zbAa*9WcAfIN6}uM-~2AVIg0kYzuCusc+~*&n_Fc4N1w*?Mwju;@A8}9U8md3d!P0( zzcFBcQ-JYJP7dMYejK%#lT5AJMhy$AJ~)cr{qHt^_P%L5 z#Qoc^y^pvy5`TSHTl}`TiaW1%CvRST`33ujo47yNHt~P*`)~J$zi(dZzP3Ib+-&pr zpLpa~{VsfObkSYz&xLH=SU04+_wV=WR)HgJ6*!8m0{3@!_L{8%XJxCvy}DK4{_Y?4 z{=2OLcYkR13EXlHYcB-S=`P)WE7G#B4U4szUokUk9b9Ip*cFiN0iE--Y+6+}JcpOZ=**FSKd~qenAe$} zKDMon?h2LolCmKm$9Pex9pm_T#jbA#WElwXMY3#W$3MaIpD@ChZX^W#5Y}|7wtf7T z(7p+VEE)ZIsHgzCRaAiS@6v@%ux_Zm{bF2)UFd}y>zmkS57{H*9OAnri|D1P4QU>X zzlKT|73V9r#)90&@SzjRqAG z=Hqh-z}Q=VbPfr&ZQvacn$*GAbdO)L>!AwXhiS71b3F9~^NYY=Ud`RQ+Hh$69g2#V znsWCUk3Ucy>MZG6VwaNd*on)%5%_P!nHjv0BW-jV@5J|i?R?Jmf9EHzQ&UPUCIx33 zUf9Kt4D3bs_}lMcsjS7Hcr&O1(V1e$u0r_HyDwDqrPnwI-1wZ`@m!cku)KKeZJy%p zpqKD4Twi3WKr{`eQMdWy_@5V37=*Vhk6qnfTKS#u8x=ep7 zf0yFA)kCm5wf5)#1Qa&So`w|K2 zTd7-fi?`?u1`EG9pzpd;PRD9GelCp#*bCMhvzZ5f`0h11q4J`J{Ij=yOfqwyc7~IB zfyqWq5L}T~_#t);lM`|5RaPC8zF9rDSA>!B&4QoCCV3U?S&V6ce(RpPMobh#`wti@ z^eMq@cWI9TlVR1qPJ*Ay8Qb|o4px6;Vto+~_ch$0zLiulET+zmo=OMqeeO=Fs)tG%s9P_*{y(YNQl)e{^m=d0VDq zSGj3<53LWMpagt28&ieeu`P&C4-a3?pOY6laZ3)0rAqt-=Hc;6dyffyX+D`uHEF*n z(Su?|LoyKb1TBLrc=1lsk4iDlKc`mI+siGYsR44FEFM^+>OW?x71;MI;3^~;x%71} z=RYdl;=$s{{M&=woQ7~*j;=a;-&+p&!trl)hMVAQ1q~kY8 z$>pb)lgEFm;O_Gt44zm}k4PuoH~J%Pb+$m4f^$YA|x{(QgB5fds;*|2Bq2lvN+*b$=!UcA) zC7ydyfGNU!k2C9H`OVpwT$;>DnqSKKTyq5a%hLjo=5R9p_MF5&_HHDkKv|`A+g_9m zxDh3TP^wEwOAkul3na$L7#;}Ee;A|f)mTB(F1_0LC;}F6jQq1UYmX#E)UfJ05F1Kj z!2v<6gCZO_r_0z{kRXAEOZI56LhzGd0pVRq@QZrX-1$$_;qseYKNZ~4a7E;ypRlEd zXNTV@2V^B`g;wC7zyEgd;}@rBBaR)ETqsh2_lU)pf|XiKH~nT+(~!z;e}MCEXL#0* zCC0_kl?F5Vf24g0LmS7k^X=e{_ot9p8RdU|@Pt`#5HmKte$N)I#4N~qJL%YczTwbI41*NYEDpilki z#1bA095UyGLZa5`tW)iqf0aX7il;Q(93USh0gaX4p8Gcd;QI!^ss}t26nv2b3j`5B z9fZQm5Ty(SlaKETR9%02zJ1)Q+R-^;;SO$&>$IeYlBh<=I+;aK%LJOQqT!j7`A(rL zKU)UNN7Sy7($2({yrL{SuSZ(0Oq#TPlwzhvAoIz|;t%%@oF(wNe|!xvgJ2&q@w`lE z_@3G_jGH8L25=hLst7jG*%nDpVe(AvluHX}eFd%qB3ei80~q)2aP+=EAoWkxg7XtD zT*o&g`@nF}T#V}(qOUMsoQOSal~sJ?`oSMuSK(=whcu6#7d~zR?F(^nqy{X#w;kEw zF*uAIa?4>dQ*sezf5)OLbrf36Bc#Fb$^wi5APY!ZpZZy$cZ}nK(^AaIz-sguM@-8T z0jZKm7j$Ip0nBega>+XvIU_Ld~C4kvLz~e?Kj?-93RMb%hyCzJjxa zp(2EH_*sr5vN_9i)Wg;>8XbrqPIBu?qE#QqLf(;29Ig#dcOW7_)H-PYP>nWx7y7d$ z^X<$@ao5@Cn1EcJ6|Ts;5nT&o+@1L$2`FU`iYvD%iTxIBkvcLBihHbRTp%JD=Vn_Rd*p5G z-|lPaGP;jBeV7cugj0yEY65KO3w42o05&W*5)ALBnmlsa1(i~J&Uy%dFNns$Y(O-F z^D+a|GJ!P#en$Njbe(7z=vW-sHbzZXvi!oLJ%Mi;f5$43!Jlf>R?_R9@siSs2;ytgWyitv2y_}V3p&gjvE z*BEe$85QoOz4F>NVJ99M&HkG;;-YWk(~z@jBo?2^y+h88LpnBXNaXCjql~qfOz&#xzlszcUlY`Rf<&mGN0Qr&;p>XAT z`xq;c);xX;;u?qn&|WM}=hqfHjiA2_L6Wa%e;15`7{#oA-o*Ivx&s<_pOCSQLD`=u zq&yzRLOd)2@ zve*64`QSBdnBF56Ev)Ub_VZmKghcDu?51)wjfqE?J1+1y?>9!p61;+$Q8QA{%& zs947x5wOohMZj9sIiWj@J6(6!z*6AEMR(X7fPK*&f{oEVvP`WMp5wHUV>?~HCVg(3 zeu|{!NAv`0HA|=u-IO7Yszn^rZ`hj+e?hMcC=3(j1O_Z-Rg>#Jb-=^kAArb)3mJB} zo?zn@FQS*yfobAWSdNR?wS0^eFYypO^@3hx`W5x%J(s5E$6X*~+kr?5?qR!Nuv~VR zr`TRG^1Zg+J_Lc#4OgNC-M2RB*!m(M7~~Vzl7aYjp2O)5Eu)adUB?n9Kp^{iHI$G8Msb=5%|b~&Y?;_uHoG0B!WeXVyIg+ z)K+oE(GmNqhqzN7G3xw;s{mFK(5xStGzVA2B|!bllT%*`fXjSgh{cP98ElCuIA#c) z5686-qJ+r0^u{G7qA?4oDQkhs2F%l_ZDUlc>P@V3$_o!AY}4)x?j>j;a8+X* znJcWBOq6q6dpqi{y%p$de+5Ak;+FaSZMBq9207YO*&r}%hB|+swW0ry=D6^cux*Hh zJPJvGw8KO3U(IC4C|Zl6u%Pu7hLa;u1IgiQ6w$cm6LHx#K@Gxl`t7H>KRZzB{&Y2w z9axep_VdfZ!4Sea$c0cbkqVgNJMZ{K45f{u0xklZtYBzFuW ziIYWG;qWv2i0p%5e=_NF`?wCM4Q*O><17STw4MH73PIMFsdEGZA9;fn3VVaWgmyCU zA;PhkAj6k%&88&jB!&xMR@gLTfR(Wq10G!H6AfHG*BrGZdl{(;a*hPRKV(2bX*eMn za*UkPOv&S~U}qpxokm=?Jz6#=`h~H3=*Gt5bBG~;TEn7vf6=+2yD!9$Qyh->`#prs z@W4rm49*4BLu@p_1T&31>q`%_5vwAuz>iQ*6&qB5_7MVI6Q&s$_M;s*CpUYKyldj= zZ8Fn1*#a%b6=iFN*IoI>kuWBO;#3|?DSBAZICTm&LpjE5s}l%S5R7(=!jxr8p=D49 zV$kPw3NaJPe^diMfz-zWu%w*qwiQXu1#u7>kHApZIWP<>QQZPatYAo!M8m0us2D^W zFlGuiEq2H>2wR=Pl>mk$`T&w)dm+fahQ}+(=7guZeOPg%T0KMW9CG@YD0!olg`<2z zaE8y`%~W9G{d9L6YUhX%z%|uCn!b9jz|hmi5Xc&mfACm@Yq0@d<}zIi;-rMgmDI$y z!fV8r2b>-UBzvXRz=wwz$f?R=eyqfIg#?;(UN|+16-$YTv18MHhNlL2M%IWmX(V`g zBK{mnRvmtQ+{ft-LPC3SD9b4rNAK2VoB*sQyfh~AmfrM;908c5daqn~uY>3d) z0K*6Xf7pP6Ndj%5AWGGg*y4zVPo#|W!U-)D@OBB#I%7j*4~rX0xnq11kgVQ-g_?k8 zU{+@~V+|~hYs&+b;CExW+qt3{n?PIn2%8!Q!L6Vj+P7h$hUtHtGZo%SX)DsM5?^;DJe*puX{8R|?Wo;-cz{I`GV3L+XGbX0+ASf#2 zpHZm=TN)ch!M#VQz_eeZLJFuai-Tg`$z>-Hc={BiNSAg1`%y5;t#2I(WC+N1j3^OB z2D(%dJQc*?peRxPHzOofmx!4bCN-JQU2~+U>P4dv>f3l)t}4s|Sq2kQj=?eGe@-Cb z2om?l;}qCQ(qQQ;1@hDLih9+BXa)XK1Sea?JRCIuSX75hTTf)6YMQzj?tTU+_ZxY9PNzL4>9hi;OHVYLtPhoj*jP^WI&ff#Jadf2V{-DE96q1JGm0aF1iZo^t1Qak_h33^t{|H}}kTd4Vrq&OqINJ#3 z52Hi7If)XnM1zMAbuNY8+CE^QK_LR|f&15(T}eR@cz`a?#j$V}0Z>S=f2<#Dbkd>~ zqF|C!WS0p|dhA54zX+u}YFJOPG>|oF8CpRJ6t+|0Jemc7{iuKrK70i4)S%TF^lFfG26Iq(*0$1wthlC$W&96pehkuQ zHxN2WYN=pnD;egzy&@)#7XWgCZmGlmVGvQGr??Ds4#h3n)CY&hm(INpB>`QR^t}%! z0mPRaz7Hv9AJW4*Md0ouNN{9EXHAZMOGxs21LK1OtTQMATU;DBwQ9V#@EM#d-t`(@ z(_TNYxYuN`EaAFG=qQNUr>tGfD(*?lF*<`F=Ij{`8Rk>WaA@*Hk*wudfDq2pCZ+^v z{94om0`@DHtiBIH54uNSmkZRZSZl&Iqh+@#m;AmDAAbU+WrhPuS~P@lJ`y`=C~DpI z7=xXXjP)o}!kgjw{>8IVAD-v|XdOUmqYOY3hT|~omVPO5G@M5FkUj7R#X_nA3T+^- zqxubWSQt)ZCkN(RG`l|)Q3o$S&O(Y%;CEU$2-0%7{-4?Fhae1O>&AB*q@@m$r4N+L zDS!gBvVVhPefnaNZW&zHLQDWI0?1y5Xff`9<;DtgO!^D*yMIV){bbrj5)4j6SUlyq zo_R43eq8bl6I_C++aKUA7eBG37>KJ!(rqo~;B2%Q$4!c&BOWZ6Q`%@l$AfUd< z0JfKgb~vr~s0$(yw6QAb$lz##1IMfi+4oIz`!tSPnB$BsA=9`y%y-@m!TZ=Cyyk2W z2Lr>yP<*(;bB#?Qun9d=s#F;)VSqqC7(ykz**BL>zz=?ZoL%BTzVj|CixrhSj~7su z(K&QrapO845lV;Am=zG)q6lS5HADmTMi@t9`vO=L#5wXzTFw~%*fV63M;bC~D)W5< zpl7drjC(E%gl&l_4-WMnqQPw$C9IDv-SS@%2O-l09Q98Whd@c0mg)xDL*7AP@Ai%g z#-Jbt4%o|of&ETr7tDszqoORtF+?yslM`J9U*UodA^^YH9|nFK(O@?cUQa9+xDJ+i zY6{gL#~-FJVXi(*Nkz7eS;&U4fyWHjat%Zrc?6FeGWSx0 zuQ*MA;Q@aiRP!Z*(GP+{4fxYIaHZu8v@_oI>HesO#KwyyI#$r9hJM1tA*pBLY3RM4 zBM4$hV*#qeisf^208QKT6V43{@Ed-NnP|2@^K-%H!SQ0Hy}7foQr$K;2gi%$t$L&2 z`QS_55Nr*P4iwvfFS zy%QYJJHdf@C%CFEbTjV+hrv5RH+m*@Op!zY-S#&&1A43VCXIPR$rr*bXQBgjP$xK~;d9aa- zWBKEtW|Dh=f;m3DP0{l{02N_;B$y)5B{Bb?iNHj<6EY?^KZZ62oI!VChyqioLq^G9 z2|!ke&(OC|x`qe`K}I;_issf0QPxa<3MSnL+?}` zup#IzNa2RcNEhbL($r(U9ij80h$z%tKr}J}QXHls*P_uOMjf1x74s5mZb9MfkS?IGp2C#w z7RwY6zDgn2_I89F>aZvAo*9lR;4~@E32%BK8NVa^@XAmp!@Cnk54_PxIm`m$;4{!u zlcnYXK_MFY9)fP&@gx2X5TF~T_KvGCdLO7Q}{!%k#l4B{{^68ZA{1A-QwN8D2^yWr_FumBcf z#v#NE+VOS_VWzQ-W?-v@Svq)^yF8*unA9T(KqpLl%j`&U9 zIA$RKA8@_%ZRz16uIxR3Y(bE7^Xugy2)gRY>x;dDf1pnejNETcfS#Voj7-nR_WgrWNku12az8HSVX;E#fQG(S6%mRD( zP;^6t7ltbYa$>KJpMUct|9IVtVgBVl&O%#?dnP+@@#V~;!ZA}K9u9ayA75r42cFgerj0Kb1;;%7hzE{>V4 z{kyd2{*e|>WrnxN`??+a^+ZC~cu0-T0e~~)B9$^ri}H|NT7(&{5~t~e^=W7zO?^CY5&L4{!gXRlM;OC!;}8#yVB_U(&&fM z=*Q9s`Ts0`jsCkdM9^&nyaa#oyVCIc((s4U@W;~dr_%7Br4LU^a4gTbmN2-ZOt>`L z!Gk+!U^bKg&-*iiF-fvgW_e(4LNAFjA6sm%Pe*SF4TkyDBOJVO7P*u2w1~q_Akk z#peEh$$Gy;WfUYp&{iTy-g84lrc&Uv3S--pqVe}Sn)8{Q?I8zqjM4S-^5q!a*L^t# z-kV2q{AUlpC&zyY7d-llN$=Q_QMv-D*vs)@uhsu+Zw$5@>Oyyq@$m5)`6;cz7@#9*&2{t%K9O@$hs!?Dd!nBAjnNgkd0m zm8Xh_-VRu{qLS<3!RZ*j*3j(M@Mv$0#znAqezkZp93LD$ZFNR_><3($8@}v}FVDw+ zmoJb19Jl(Hd%ck*$78Ye)ia3=I#r~2mTL1--dR#i?KK)y576SHgCla z5nf|_cr^m9ru2r_$Q0fqew6SFHhbuZUf~E8W%xy_cNy?&yFS!+w2Jn|y`!6#cwF!D zhQHTB_<=%W&e#}ymR9F{^cS7{*=_uPMzP4~RCir^>+s&kClL&l8REAQQPcRR_ZZW( zuDO znEvK(FmjGgukj6zE>126sQ=*LVmw4hZv5UN5Enk-EydHlF#`Al8=V|$D2;l52XhzW z!T7q>9qi2mwGjrvH^&heFXQV0Yn+en9fz2#89CZ|@$KH+%WshXa2AC`n%+ZG{7s(6 z1Aip=7Wi)uXpvIN?iAZATO`J@wSXd%W_K5a(!F&A3i>W3^(0WKdyk549Usd*|6R0N&liN(8sfr$AgKU zlxWZ^7cLU0lW#yprVus;r!1V0VH`5V6rdAeXDgUpm)@StpR9&L1=06^mb@#76)TpF z*fqFE2vXzl*t2*;*^rx8iRBxveU=@v<#tFM7F3X-D(vV3+$ zkA{bRvZAu!*>Dp$1Skkg58NqOC{@V9GR&RJ93QDli{Tq;_o#@v2@zft$yN5XCUah`==-tnjJO-5w&)YbD zw`Q=L;!*nu1bcxK?TmcwGd%}wG6N##{25ZZCbWbfg%H#Ud7svEq+Ecx#>~j?ol=xk ziaxj0lWVM1NUac+vIuZpQHpOJQm@Fm+aP&i6{yk!M2tjwbZ{1K1W2t@Lgt8D5V>sx zy87+&=TfaY#zw?{1g9NKx*ewHM^Hee7hr;ji^O=mhMd#Mg2VWX2;CjA>j-N68PZpM zV8=0mmlP$mk}*JKZrGB};rWP#VEEHxqscTpXG=kW9I}ToH|^Kk49K%#FyjFEj{u>H zzy~1-uOSe6aRI~KZNX>ZFPWH3`E$0fAGXaRED`u%6AFPUtvvwnt_BPa zuM8M!qMz}zXe=>!5fi>G)@S_UZTM@mjEPmN;i(hN4A|cIWpE!)aNHvVs{$rk2(YO0 zm&)HEWzXpwlj%wrEG;B|!d*9h|K!gl7F4n~2w(GmhrLY27$)EkdtxmjBU z=JT2Ob&2c+oY@xvU|$4)dI{Vhz7w7wW-`DuCxOJN2G}PTp)|RK#fd}ACk{2s;uIhf z2R*#eb}S9;e>x5AIz97l1|%V(z)OVb*0K(jEdKTo|BfkYwA%#GbWwUJ72 zC=G*v=LshMVSQkWNw4(sNH2ED8EIM}1a7(fsfX=6V33bfK%wEcV7b|skZy+o;awO> z-xK>th=OImyw@k3qE#?e0hgNtyyPUljFb5C3@i?&3gmn#^-U9iwe%8~w$Beae=XoW zu-%thN1)Sg5MTvyum*b{pDa9m_Gt-x^~7ylYVBSx?mb!xbn)}SBA2zfnbOSsC-Bto zXOg#OU*YihF`i#OWwdqo6Zz}TcYXZJ?#CsSTH5^ter#{~BOLl&ph6Oc5WA7pf@{M^ z&vA5ssCSOZ+~UKRyYureal>J}e<1|nm~u*4+MV4!O5ENNIqCR}b1q(f`OVCHE@Pg1 z{+vSPhq;JZc@O6w&Mz&@;D(kvz@I1lYW5#{^X!tM)SA`0w0arh>e=O`iL*^2276#) zUrv>TWbfjA@#H1W+B`Awr@i-R_keE}I_lu+<=m5T>uJ3HaL$UOBv?QBe}(ypJL%Z} zCtmys7bmafB8~)3DR_XZPg&%tUz|8r9xYFi_=7EfxVLb++*cYW%kgmkc2;f74@@_B8 z;NzjvC7_I@pp*L2-uy#6f4ng@7lH+R?K5u+TJay%%~}>tmRpBlDZF7{OlmIp`C#d{ z<=tz%|1#X}EiHTuE&xr58Il7Etfq1x;`ln6a&Z5%_2=~sm~A|g@9xgUsS55#`d&Yz zLwd1%E0!4F$4FAE0S@DYd#l|nkTe^lVqApJV+lm{~p zbO+K@%iq^=@l~d{I>h?Ooxx?i<)oC2Yep;v<}QS7OJfR$w#l3-Z#S#k4Ty*y%|J$Z zFsGdtygbeYFx#;E0ugC5CSl8HANU(007~M5=$;V!!lTyNJ@DJcT|bX%pFHd;K!7(X7&EiNve;_m$mY6ohxr-e2vkCB2gtnqu_b&Oe! z*ZZzxjB0$&7nZDNMNZhgZC{!@8~-_&$5+7WHSJ5DX-!a}mos6JTUtu3K>=R@Le5h@L^b7e;#-&S0C#bd|E`fEpuOP zz4(Y_K~6+rhl&yqZ)Q`jFjShg=6cn}2zS9kd>&&IOg!Cljj8${K4{@G&A%B)n6W+- z!sBG~@3(e)wcISX+q3>mWK=g-g`*>a$090y{Q=A9!!Fc^@~I!|dG%^BL>I!XQ^FAO z3rtZ3I9cfDe~5D|A#(!7m}JHmq#rNNa9jh$H%7&&ps`KLVbqKBXnTl zQD7MMaz%wHw-9;y=^t1_@7@_k(28!y7%GgYOfTS?f4z5Yz1OTRTxPuoOWjs8KC(*GYGYVJ-S@`sc+B?&pr#FKn(sdIlmn79Pjyj6N|63Dm3HTHg zXW~dae@D^j$`whMBAjI~Wf*jlCoAl1S9YlLV94ALG6rPi-SJc;HVN4gU>u7Vig$MA zqRzv{Hvywn4nM`*gRW!F0bu)#XGzODdz3MPoZn-L6&Zif7z5%qk&$0uVjc%BrqX!w zvs#4Nr}EAg&X3 zhP|Yy(VCI$eO;_8fepkF1}vF7QW!~!F;T9FQN)DVWq4KdL@4aFJRzG}X~#~SO*Ymwa8Ln*Gij?9|8X78D}n&dm$9vbh*K|koVx0Z~3hy zt_&AI!E%Y5&}th%9V%aR!hv}a3h!DC!-|Y!+#KWGL7I!%;K#&!R&UJWhu_)>o{zjc z&oFFF(a^>! zdqVh)(i-378sD@vzEWK{%GP*WibVQ3($^mlS(>xVad9&a29MX(AMz z>p)WuhkK2;MCEFV2&r)G3oHd_bZaOzSevBu!7fEz3hUs~o#(5XzPoHMue`1G#f~r*dt255_nQe;)5)sgKMLpI6H*D$KoX3?Z zWKxS2<1{Iz7VRxQnn~t!p7@={UgFUqpVgSw(@y?(PbXlas0B#B@>mL%i|#=BxjPp2 z?;ISGKBp5duiEWgX)zIMucl_FtVhxqEfm^&v7gA{?hBh~Mg884()St%e^TmYAL5LH zBMSR+9%q%6*5llehI8!5;c!$c@G0eU+D4eOPw;o9} z@QJ!ScumqVbizyD2L+8@LJ4T0V2ab9#H`(SZF9hJ#^!KWkZ6 z-P;92JHG`M=1fOfjS3VLC{M$!HY*Mk~TF=2UZ0+vt9$Abs-pt z3OR$7=KWd@P&|pZe;JK#y~?u!cQ!vZ05lP$AZQ@jVM4*l4Kf9zf-(eF#w*v4P$w{f zS*a;X!1x+NB5F(Ev*p?np|Wt~Q19{(!JaU?7z21>cFhNvs}_|XGzduMGPagZHYPUf z(CN26LR5K>oRH)SlejKG`i>1vDGW)O4!e}YBen!LJQu~Ee?S9OCzf9KgPmOT6PgAn z_DvGoV_@cooGw0&WpEUlVBcI07|cHE@~x7HKNIvLq3Sw8+T>(H|6_^#@ImaC&S)g; zS3?!kT7rF9ZkRCNoTLasuj%svQg||oj zOTa|?-pxU>e{Y2u)RCzTM@&@>f#}Xv@Nj6SbAZxfxWFXRQCd^mj@NKM%}&Y>+E9qX z;^~L(LwNkNvf)e)a?j-VJ$4AB_V5T;l-Ni4JOS$``ifF_%IgtR%x6n_^!+M1{ir*{ zxthHt9WtsHWWssu&63D-a9RJ*Er}%Adah_P7f^HJe;leJC%clA*^lWOEV9Z5FTgqs zMHyskLYPeVTS~2vDVhlg!{`#j(j?6omrAu*3h;sI;$vV+tVzKZItY|Q$}g5A%w2W^ zEtqp5G8E==mIAguPc-gnckEK-FP&#OKw%+%elq@{$QRJ^+(y)~uvE7#I&?&hlF3nR zLs?40mk_M=qtBcg4O5uW2o|w%T>bVQ4jKi;Ar@-H!Km4)+J%6R}JDf)-9@ z*$N77m8Iv}2bDs*M412`;1=4^4eToip_T_Lf7LS(MOq#WHGK^Zz&2EM($$!g6#!$P zGf_fWSrINh6GfDj716YsC}VkE$bDqf9Mp1RS)j~~xB-&|iC;?TF5!Q{Zn*7B6DDk` zf{5#^SmojIDaYz^B(DftITSG4e+*UHBEl6hbRTvCeTH5(yh$qj_j| zc)`>JHkXxJow58$pGb@~S1U4(nmt{gFK%AxJssDsmr(H%5~}@tGBd7xg+i0L7@t|S zn)HsudG7e-`8DDjX$zu!Fkh%V$2WS%f3hXUbJE(7-Ak=-i2n*og5Hrm`o!=F7;Ey? zCe=0YQc>?JXi&MW0k2zg`D=-qS4d{Tk4-&5 zo@@-eFVV~etA^`v7Y#uab#JW?@l(QCd8t*}d-&W^{4PHHJI`47A%07fL`|@ffB9^^ zg_^$4Yk~&c6q%M+`nXu>UFP*;f96g;3>GA!`}5}%c|M!i!eLlJ@4`9L2b+GbCYCd~ zrl?pr>&3hKTlDsXToYWdE`$K1g+UreHylSdHjZFVe36Z#gD{RR;yBu_zPR`rQ-f)8 zhWixr9_4n}vq2kXs>_$WUsXM@!0}Y`<4*6e|UEZ`)6+{ zqhjqW)FD}Os~tf)(UY_-_G+0&P~+7O*We`EnbK9LP3zUQGsP>{vEJ6=aOw!m20tlc zC5C%hJEh{_qZleYPvS(N$Ac%_z{Uxb_|d=b3|*Uy~g7A?o9K=k!mI(M|lrZIm9 zds9AY;vAv% z@r%Hgb47sI?*HB0rK-#D(bwL9@-)BY>+bG8#vA80c_N%lyHB#S`y4n2#X~|rd?LsDfY1F>#gAGa-kxooyoS5gqw8Dhf7nfG$DrdU7BJkd z$o??7F05e8XZFNGcHi=q7>hX8jxaIKB+jyR+PHyG%bnzQ3(TgvyA+sK31x`+C=cwp ziN$8>D)VRrCkFiw`wYA}NBsq~WFCUmDSAVB$?0`ztV3+e@q>4w`q^}_r1DJvqJ9>lhS938x~f2gey6(#O4B3(5m@Df2- zi%+Kw2t3`$DU`d6f@M$lMwOYxoy4|*$A|4k+g4)nMTVZvE@ZSZ(E$KnirlKjEMc6T zM&Chdf3D9VW*2V-b4xD&qWTMb9osR&=>EiX;%$@G2#JAY?Qw$yDY@LsLfTtk-N<$O zs`Jr5EqVH*f2H5?T#8f&-b*XRgvFSu903(1ppuGh9a3EqWXEP>VIHC{a_-(?gcPPp zql_WWRpyM9UG?oC4R5be1W{lRxfNA_(NFMYE!M*^ZJvy?2hNE-?=k@1l0$GT9iZ<| z0`|U#&IZt(;imA0hev&IRpaG^!M@jOgYA`9=ly3-e-0JdYlk+IIqCzVz{?ws;M7@N zfhQP?6iiLC%^FhC>E2^qQJ>`F?qZOkE*7<-pH5n(7fy1b>L8NegPq1y*>xmOK$m>> zOt_>C*{g!Y9XEJ&y!DF?0BkNqRT}CHpd#97eA#UOvkHLJ%X!ke`8D^2)oN$1r{?D# zyli!Af0sLZbN?Ja{c-%=v+Ui# zr+#$citDkKEKuZ$$FF7WiyB=8uJ?h>Hge<4f0?=q7_ojEUrllnW9lS?-jaP28|W4Z z(_X7_0?iK?q(dPCj`E>Mm{4%*eD7-3Hz4WF_NU>dbA`oi68ngr0gPuCW1XAS1S=S# zvG|=qCvfCWu{q6g7#l5_>#r;x>8sWI8Tr;!a^Hcuh`*;?e2!|qdH#`>96{{N%$K-2}r{5{*eVLPelmG zM4#KbAj*-BRTBoEMG?0CLF`S>BEFr_Fh0qgxwv&rybqc(Wg#9)-p!!({Dn|07EA#-9Nw)$76_iFPsjI6DHWuEQ6+ zBk?scFA|FZI%U1sKSJnNhrCk*$T%E#))Z%0`wY3e$T)SBjEQ5K-bAVp_E>@bwzjpe zhwjS_iJfH)&y|IB%o{xF`_P2ve}1bfE^!2Z)mW7a+mNCy2j-c=w*b({jHl@Iv1TTu zxA1BTAL%@sOssVrorUZ6xHLxX;%giAh~ko1OMi9kvy*KCPDSLs5BZtsnZAxUth)pyW19V=)ac`{RaBebHD#QfBUifX>N(X z^ACUd9VSN5v&(AQ-6c~4tPLsIeX%++NoXg@zyAekFgN?L555H-fRt>_7S6CQ_U8Gd z!{xZ0%)t0_feOGlRpWtp8Ug&$XXVV#G9#RUnc&PX#K8xfflEp7%)ob=;ompR{ziA< z*({7-me}2e#wFP|`2DZ{f5LekX1e|sG!?M3TG-p1cW_8^&u<>X7;Dn>HQXA=y}KPS z`!U*d;7qP+exIo3w7{Ug)0hJWC4k30H=JGyl;~qr_6t2_J8{;!|FL+YINf#!Xcykl zhz1#<_26vB$41rc=dfq}+|8+>#oH&$ggZ15&t7EiH?V!iFXqK%f42t}+mBJGQOVHa+zCvd zVH!QvRyHekhGMk#fBCdfiO&k!x6?lY`~A7~zt({Aa_i_m`|0W4+oD-D)n>t##p^D~ z9O)rVGCvk=`VcnXyj>JcDfVF)4t>{!%0g%16vl)v+DRw5>^jNKe_tGYogc39>PBs|S+B1*XtA`lMbk$bCatdQY;U&9+f`v3s|;vB2t&5M zxmH`RHpHpQaPg}$Tv+{WO%VK?zHQdG2-Pb)9QDkt{#sqFZ5zOQ4B9F;-_RVY{I0%T zYwGs3y4~=m)@atZ|4r!q=IR!jx7h?z+iWzgBD_m=e|xjqY*)&aH>_{Hy!m>k{90hW zQeIE5xUtiyRgj|en|gf}P<_X1*{W5VJKK8l*80wCRPXs0Q#?;TIKC}d1tf2_uQ^l>@D!X`p$Nx+Gwk#wf|S;b7C$HxnP{ytP|MqDwVq- z8~Yvhf36^O?+)RAd$XI>4PIliUbYT>2WEYp!28-J3(*e?2E%scP3;}uiA`;no8T+0 z?0~^^?}g3!_C}fH=R|&eZOuo_#03nf)%xZ-KjFj`G#4$ro6ly~x6Ag`-&XiSNce(p z-mbET-n^~;yIp}?t%0uFuGiU@mbbIb0fJ>0exA&H|r`jmyU>GzCj^L6w9wC9llWf9WCDJ@PL6wrSm;&O?p3L9*goKC9jnbPuHBr+U4%aZS(CHbf z$)^&HSpd_ZXKh$g=1SVd5X1OeCx256x{|#c-og)~9&HGHUUbYlmccLpFoXqZb*PXfp&WZ9nyX*~|#&Y|koTQG8!^xqA zcoB30#g^f0GwJm=S=Gn8t{=$_e-+B(Nbxl`epB7iBptbFE@}!6cF%KR$tmdDJ}BHn z(B|+_1hZ;mzQC3G3N<&;1O+g*tcHy_g!JoQZ^O$c*f5I7E#8uH8*uAS#)?d|As!TCYvp|g&9&{cgGb^G2$1uq1~13imD$jBhA2QE zqA<$p-7RqpsBP97k|88i97#iQ-hmoKj*5e=405Z2xx8UR3rOefMUxWrPU1ZR;G1?> zBV6ud-o$>laKipHN5ZqJNH^jhR?U$q69q2J;rHf}j(7ww@Xf$|O{_d;r!iT%?D$9_ zrXk?4zK1uQc-=ht5!^NgYycVLHA8orYfpa^K^Su0n>7m2_m_+74;+7nCZ8Y0PDPx( z;VC{TK(Oi%@{PmO*`Ag`-acazn1?{*t@chB^~BXI;EWT?4}eT{*gEV792aZV z#043a-LM8mFZr0x;Z=_F+4GiYDs^psSk7A-psb0v>wHjTuJ0cl_X;;M8eoXnXF2E) zw41Q`PeqL2H1cX#YM6g?!opJP#5q~(Xh;O+a;>v{42e8h`DDEU9U<;_a9IFcV-aKB z8KqcnESp|+RW-DzEzIE1_`|+76()}7DM+QBYIxxWAaS-Z3sD`R0Y3z{e_umA`_KVY z&%_5X2QdO;4%7`Qa!e6GQLlv8q))&Y7~y)l8n4y;($;7Yiy43HC4pEOFowP3*>jPN zy$=0E5GpH(6^++U84P%lur(Ux#YoO6e_B=kYK*uJ=^EZO>=MigU(J^UjLr|KUHuc3 zHoz-kgvAaNV^_CoWe_pEC1kBbH9>LSC-ULB!{jmr4px2l*6Aw;ihb(&a8%pYn(CyPHb!34yJS4 zaG`+y;HnJ=2v}8o6+x@$BG%t@J7@%LZ`d4Y#NhfuG!}ojiul-1Ibom|bA91Y8Q#^N zQIj_ngE0;!YUMb(TPt#lwWg`n0DNtNE1h23_3k$38lk~`mWz{poq6*^XTAPKn)N^)p3@PTtDQ@>B!qD&?eEXQ= z&V(DZVdbY(9bt7dK+G3F7hHt_K(t5T@*vTEXoVX%S$ihe`j}g|#j<>3iuh#3mRqRE z7lobkIMU!=esaGV?~-N0SnVV z;6{QK@7Q4A%VO51DX#}KyBJ?mOVY1fjnOSuggwY3cw%=$NmIWtJ+}kI`L@JNeGVXv zl(85mhSp#zONgqLW`q$yrg&y|n3B5@(osvnO~Fq=HYhnk90;>-q*b6DyN}Hn%Fez< zrBi>49yYLiEGT_Vv0!^`Ta-)A`{&ZR!?>FJ;<_9Z@i*=I6c{A%S;-Q}a=UoLfe{-Pe6^$XF z7+8w&;AX)XUi7QL^e0QGCrMI`N_~_h_qu-vR98y&G=WYGF5A+17_NmOqlHW*nqhps z>o^FP!UHf{Lf!I{yYza!zEWOC25VmmzLw>U`eE`4HSvgW!iSMfT)y@?c|07w`3=9LNc;sq8MmDMT9(r4G)2cTm-`Ya@T5+^PA($D23jlG%KU;q| zvST}3!*(X!0|u$a2TC zwQ=S3xKbNe*2k5Nabt7+(3Tg?Rcj)e*bp-YXxq4u4yMR zfU|N_$b6;nLIBKzH7s_PKTh#uMkRl|Q?ux$Lo5vEX!|pW&dgg;F*#~^Q;Swg(^S_m zzFJT=w*WIy|2r7!Bh(8tuvAM_lJ>yOfq&@n2ArDmSQ0_e+?Kkaa27obnqK@JM}Za` zDCiy2>!vjD&{!w!%uiTRH$FPHpazaFI~K3q^P+2ibAIrOk+z@=!!Y>Le3E}Nd^|%v zgSF8DHuF@m0@}jVB5NzA|gEJGeD1bgX&T(lKt+ zX4-0Lx4oWrI~WMG+uV3Km1v~QLa&l%34n+j!H_*dfsIl1P8F+^Zu-9kEB4L6^qID|4u!?c;2_VA_pCha+9~$#8+OSyZffISkfqNO_9XiIiN_ox) zk|6vZZ4e2rAl9a)nh$HiFnMO&Yd8$>=d3}pMrj3neG%P)ETZ}E$=rWv%OafocC{Sa zs{yf*P{v0a4_5u(9%V+TjMkO!e9(%R-G7TT@4WTAGcw&@ZQz!Nng z3?(Fxe5~P+9a4$~sJ?&2?jn&3r18GC2ASDpJ0Ns}G#6sP&CMOiSyrkLmQK9_$z^Ee z8k(}&hQ!Az&FkMRZ+OLy*PCy)>+ij#JJfPF_)U3pbv?Wt>Mr2#%IiB->kZGSOR`2h zSC0<#ofAE4<@E-i-rU|{Vg@ZHhBJW^-lM2K4RapM4TPqqMNog+)LuPDCX&T0u4XyD zKbgT=Cap}O>4X_bV0dA(8E*SabWLt8qd zw2jCjZ{)kwtK3-VRT#-y=K7$pef`K{|D&=Z)l-*25D1;eki2Ie<+#VdSjasqJdWuj zD$bb|5pN=%DUE;hl0n(eP@PMZ(MWUfi z6Luj5%am_D(xF0bnEn;SW1sbS8vUJm;5$j{N-mId-Ab>`9GqW7Ff zml@B%I+pPW+~9K#ihq!sO&9^ken0#wr?1HncaiQSrx{QdV=Dw=d4t6Ah7rqn#oLTn zZU$ocHWJIL)fcy4P=cyg_URZsn};+HnHKEZ%+x^yKl}ztsBw7F3oODfx?9%$;lLwF znk!ffO^E~U7}1xU^ba0?XYd5*rf9 z*ux)ESo+bsDqPr_9pg9j1ZW`Lzy?>aPC3IR>~+c3ABLLbQTrSH()q1ZdJI%q!eSgE zKU#pxeu?26#(NpK+A4=L6@Y4GG?iqi7{2ntHMX1X5^1(b*w67mPfqWvmZDtlX^Si9#zM>$OfkM&gK^oFb zc`&_TzBqo>mQp;Ze_?G6ABu$ML{HtduXhu^=*S;|nOf_;bA-Kq((2be{!+?1SV0zI zDTSOY^wYyR<&EW8z+*bSgxA;VUhDCry_YfS6aG!_H-z7RqP}BT>Q=ebt=dutKM9R& zsjGygt`V2It?G-$*YO4JhCiR3>$LWVX!>Y;b_#rvj*S_ChRd=60k|3G8`&oaCPIsR^{a9UHT~%H6 z)$hLeea%r5J*}(M-0SQmpyukm?a8ZkBMh%G*n8i9);mRug2th>IF?i!AnG!@06u5f zD$DEMifkBz74>i#OZMC>A&_2g-uynps&3-kaO+;%iLe~wpA5$*6h6V+IJRhIO6{B~ z#icDKH?o3QoZR8(_~bLBnj9l52j)2CAKFgex)EPMj_V+ndD&AVi+)_oI)K_e1Rxa$pT_J9sM2dskqbP5T|LVYJm_rJRFoAzN)w z0Hnx3oBe#FO^Q0qs#>ATipAwMyYV^A{zxC)Bs}KSWiOt}*_X|32h0z0jo!mu1P8L| z;Q-nsenrrSi_bo53p4iPD~$e*wDiM&3`q+wnx6MZ|MU~|@24{?pj}g7pJ5$q z4yU3%eksZgKOK3J`($&CZKEF%g_Y?|Q0R1skq-tnu(s+f+kfL&a*X1WR*tzIa<&l z@WIJSqbLLKtB|eWKwhG`|JjMmYhBXh0ki~{;D}hDoSgcUPjmfX{MUf1qC{=28VAmQ zwUA-}BGp-Q0679;CtF8j4pewWmxqIYjDD5RtioNX;H^wtbMAE-JzG01SJBL8xhP&) zvJN`|mbsjZ>Pyl9QpL7h<-q&Lb~7Eqa>TDg$(_UH89#EeE>G<&XUvfB2QET?5X2-FJC6b3(OGbDUy=TR zvC;oBN)mlOXo`*gc8($s`1RUQP0OT?vrKbN z2DM8{n3J2Un);A^#_ZylxGhs&Wa|Yieql74WI)knY(?LWZnq!PcDvDf_VJ->S93sq&iS@J zESR2yIlwKBS&w%2`MgYv=KC*#tBt(s@4<%imfWB6LhwRVhl{#@pS-^#9A9hnS|wLA z5TwHEFN3sT3EA@fc5;HP*XVOaC*)vl?zO_-KU0kL&FLLmaZ_oWm7YI+@)b4I3!S5b z|K{iCQsQ5Eg5A(JznC4E`%i%kNy zigJ`MGDc*A9iZgf31j@HA_utOiS8MVh7m6^Riq`E%!$eI87wHNHfa|m=81YiNN z$t5UJxK0S$8T#`z#eVwi1w^*1Xtm+l$~!yPUXNDn@N>hfj|Q!mqZ^JkVPtiPdLM~@ zbwPu)G8vz&TqAww+#6z6K^2u_mRe*5+M2P6RN9#|`#Iu|@7~cWWxQeyF$XK$8&jK3 zZRPlXjIT)Mmsk*@_OMo@Oui0`)V&+uoUNRpD+vtBm^xlF{{x!MeLnoU*3qwt&uWH# z*Mu6^95o)amYW%B+>NNQnNZ_F>sj-+Y^s%GDY-{;O^F;MGxourtuuGXmV;c#7d(qf!Y#)8sqFV^R3oeds7u-E=zAy>A zW}&&=>9zPh;Ob$w2<^3JTaUe?qRGw0{T6IbKIZDF1=&`+dTzHAZNsYSt{3Z_V!hkh zD-d}XT$OHeL6#@idZ~G%wcp$-xD`y{ZC!8VvCGxT{bHMI)2-cNyVF?br}?7T>AY-z z6$sbc8%G7=e_f>JHay!n8VG7JLVA=7ws>+qxb=$XHgA=OyPEvI?7Se-+1{4ivgkEl zwyd*7j}~!f`-s4HtEo7DTb;wg?j;vU)_1LU2k0ZHNvi8W7qVN$%SQ9yU`GiizV8){ z%}wrv>Q$49>_RG`-QWvQ8FdL)R0xBAw9z=&-lr?=ms}p+g$j>ZHK+}vc)x%}Be z<&GkB)0AEohh46Mx4J5aQnp(~)DK|3EJP{RkMbBNMLvEKot_~E9t4QAtj zPrL2!ycG^B+)Qt_(A8*Bn4r&p^06jtnJ`&sYVdbdG`igezr7}ZM=S}Zs;NO*L+3+{ zp^sWcVfGCQ4t5L#!VT{2BU@a$i`-?dSxVgw-2oU{6s;+x{Y)K-HBBv`{WcR^v{3Q@ z9Gb1YeZfKjptrtjsici=X9p;tsauVg8mRVm8!!iof<6xOYPvNV1E5fU@X+q@Uy32c zKUe_33NISl92@L&sdu8e^_57c>biYAV4RfqnrC zj283?X0z$D*WS@QvqaHx0d{%>rP`vGJ*om;i(Y33n2Mts;HCjY01sPW0u2~vp-mQ| zriWkP5GYa7%LV`rK-p4%Y<1U!yAJgcKTN6&2C$$H+sx9Mnqf*u3<>R3o3-XU8~V7t z0X$PZ6XO%6xndHiNzl|4DssS4Ck42iRuxs*4CY#E|FA{9t`T8NxC;zXmC#RD6U}k1 zTcCCRf_6xENDVf?q^4cwCkuu_u!UhicKti8dKO$*i)3NR5Vs|N+GBxxF+gf#-B6%+ zs<93n%X$Va1Gsv^TWyeneg&^INH7TCIV@sq1XQ4bX>1=hj+jy5TL#<#TXBYzX>|l> zgVM!RfBY8Q&x3b7X=K3F(kG{%7O=LCe}z*Ta7NLhlr!YLzw~*AoXZB zidx_xaAnJO(jIwjO|!#drGi3q&SzoTC^2`8J^O2z25Rwtt(W!)?;19@cYs2AVHO|? zSN|@0|J<(7n%0}zp_+QTEX^%ewDv+ajpo4`E3B)H-uep0***YhHhA4(5*I;EigYo zcVHYb{t+mHeTXiH4lRBy`t6Qr!tEX?7i6>#sups9PSZA3^k}HI!Lo=6CXzX zk$TvF@SVf=YEd)0H2h?BVXaM*g#z~ft03$PC9D^v>}#Vq3LA!^QYLIMEqe0vicw)n zR}0xf%52Xj8kzib1w@7}*E`TkEn6RLC)6NUsoNejgF(=?D`GCR>o2|!gU$-sN3@?c zc3VIR5ZToDV8I16Ez-xH{{`W@+d5+3-H}Cq5zT}C*ic#D!oE($LcASq+Jum9_5Y>l zk%ywK;%_|WV_}QbLf=%uD)bj4Fxk7bx?06|0(6D;zq1#Fm`?3TF%(|(*o?YH;OzHa zvVC=&Qhn84??YW`BKMwpc(f0KSxRK?X0_FrWbT z8lphh{Q`=&-CQ|10|@o{slJX_Y zY9%aS!{g+MJX9?%Juz#aiwniVl3BNZjOWtDepIh3`Y{g*gs=YyE49)m#K6Zwv_NDK zkw+X9asx#v0;XxOc5SZ>Nw#ckpR$5ds9s9!aEv=y;{a+zyw~F=6*_vcinT5FB}`p& zxY>s0-!!#s1Cq_YD8UdktRBLhy%6A}*f!MU;p|J>fAgX|p=ys+)ZMg6BTVprWe8G{ zpQP<8pQ6qokOX<54T-Z~A6PN!Vlx{1@re{lMcbSm+~|csY*{n1ql3oDnF8;Hy;$6%|P;3Bb+C$cepO0uZ&#J-)t~pY7-SSx7)UV^o(}L3Kie1c z#wT!6`m8B2Y9d8q#R2p>9(4CR+^4afPdK!{(Qa+8_jLw?063%{FO4ecuN~QHDy%4d z>`XJ;9{r%&ugZ@n9C1c8B7BibjI_&iO>rMKKb&u`b4be{&U4sar?j;LCNV=7F>BTTP#<3yb17!12HB4_F@1XcreAbOoXMS7 zXb>c#uGaw!ZE0G7_ZC>q2V4hGcxr6QabG&5!2z^8Kn6;4CRhdjVM`KN*g;KJ32Dmw z9C6<=_RnrSzA4^j2v0k`*7dr$l_jFzkS;VciND;Vk>7m zhE|RE)Q4c4TJpSMjkI>iq=ik@PAJBy>xWaM0NsX7E4ZbTalWf;w{|yyy40cvcO0#G zfA4Fa@J@|rt4s;B@sytFfb3bXUU9Q>(&U0hQk{`jtVxY@fks_Gt1 zzg=rkIjnz{zm~2q1ezwy4KlOsr||D{&Tq^TjMJON11|@BTcsuRVh04L z1m^B|{w8dHA0irZKK2^n=2k6#!>myrg$)PR3g|dgQeCqIn)`{NahIXI*_x(4m@4kRk3=EO?aO^1s5gD_l4m*}h*prKFPn;*+G)Si{MX5eduyg6 zMl?BLU4O%7E$mjCkZ{lta&oq!PudhgCsMj1d8~ndtN;+j93ZF(9_}Gq5~I=Cm#U+p zT_qF{P0;D;21Z*qRE;dG^18&Q{&pU?MQjqNLXf<%t8!v3-aHNxyLI78Cu^(zgMHT# z$7vQ+igjPp0cjFgl0eQ@8!A4GdNpz|%;0A$OE9Z?UkOu7$VNP})#tQZ2!vH13#^y* z|Dm~mGfflc-zRwv4vvSX>cDW%o)utBcrT~8wcT_#=A_!`lPSOVt0?}Q*QoSvK8%KA zy-!8@C_7u$P7P7uTBq+HMAM1ET|eoh$*9hh=_G;_dfl|qIm+6}1|~Fs@XGhkKK}!% zlO!{*D$6B?K3ru^pS5KN*}ki(Xm(ogpq=G^U2W1XTB_m|&1L-dY}m4GC8gPL>4#$* zTY1NM)jFevcj;`ONC*im6ETp^{*}D>zMPdn`mjqq0aX~qRB^$X#VWZ@N#3_6?=S>`!dG8Y1 zp7U;Yq~_%c3wh2PC-COH2%wa`(RrASPy~|8>uTF!w#t&Fcu8(v(0mD(o!;JQ?O-+^ z@qGuQ=DUU}0$Tz}TdqkkO@Ie8^Rsk+dF-`{bR6<3FWx1ZDIp$VkfwV7!pWOqG!m=F zHWBEykb##v4}mYh7ET2~-P`fTK*aP|9IZ!-6iF4sa3brT?2M5y(m}K`MJ}ZWiER75 zEo}V@*)_Y;W~!nQKiT+DK1crqB2aFaQw+)&5l6uy3df4HswI2L)|sM_XK&+wC9bNE zx>NsNfOW{@E>GTAKMb!F${3d!8$@p+(`@R<+TZoLQkDeD>Bv9RnbwDsWH=p)=r)0ANSK#@HJs=2H{sB2G)b_{V(-%$@s@fo>&sRtP>fL_!7@}$ zoq`6*C1YWh5UGh;uE5EzrBzH%7m5aQHO~LcYpZGMRmCpNIG=mldz&Kh9Og`@nUP9? z6C4_nhQpKzTq>E!mMBpQCHWDd)9oG@HE9!?#TPIaj!O%%0MR8Y8ZS40CAQS*$DR}* zQKiQf5NpsR3KE+hnK;otG`V65MGRfN$r5%NuL@~|=nxng6iP>=E-9UYY9BwyK>-8A zG!_yw$D~tWvrVbnc}VItgrb~-ppAg(E?KnujX!(a;Jy%i6~6Di3ZM6m(8t?fUvIq( z534u?t!7jC(N-E;mD&V-#ol=lvwB4A34MWd z-Sk!%3R99oWuXhx$uS8MyBJK|O7V}P5h29uidd+z#?G}SJ%kntCi*dP2>or@2KZ8H zkz(8kvx@c220i%fVlZTxd z6%uraLB~V9(3s>(V$wQfBdxK&=!w{aVt=7%$&^UpuH7!yETy?6P!!KBJo>CT*Riw| zJ^Q8>7bEEYAutzoo6?Dve`I?fHX@U`A(bF+A!4Rt+iKWZ{}0zlbo^}MITx`cr4?5e zw%3w(c@)0B6zQr2&AO0G5YIBXpb1gtdBk*cEGpb2HOUZ#70T#>pIl@;of=hxjFnn_ z>e>^=TP(Wj6Mk6elYb_4H7#+*JPbFu3u%Bxm%x_jp}@?8GRbEPe|-)KR6b%BaRXyRn5fXix22TgxH^1NM1P zg$IQxJmj2Y`Kba4f7qtVy7mLa7Dq&84m2hGYxakpX}9d!?u)vet7U`kNEA9aK+8-k z-j!E`7y1eXC6%OC5;a9!N2IZ~2B5%JM7P?699zZivBB(j?GHe@oP*(B-Zcsp*GXb|Z$1 zy)CF-)HGAVVQbA5_PkI}v|sRt0qCI*rmzaiDpjVu5w<-}C&-sil|tKsMmwRPu0}}e zY&O7>_iDcg&wdjGDG{)%|Ak8X-u|Q+Q!VV2;!5R_X>(tCJdv_BN5;4X4I>hYdM^aU zabRKzv4!v}e?L=}#c6f%(c8WLp_~ng_ygQ#lPWg-oOh91|H{D2e&a!a+>W6LB&8Kj zSCQzF{!bnWC-pqZc)ryuAI9)$9+~rg>eFzR4&T;dQK{Vt&XA)Po0ns%{B+z3-%rKo z=b9=*q*gqo=oH#F{jl&{tCo)?i-d_`gW$D;Hs=Wke<+9G>6DNV7#w+?EUErFf8q6q z-5^kx(@A~P>+_c>Xdzccsoqp^-~|i{DQX}Ta!e;hauwDY7(XXqQ;JAHgq%j=o932h zo0mGBC{6acx#Nq_)3CB)3+5zFrRBZ8?~R=p(JBpSr;2EPYh9_wt7z5ynIt>f?FH)7 z^UO&}f8U3jH(@Ny0;#EBXNXJxQ`D5lv1=S$XR-O>14v@RJNg zoTy8S2u*ni!Rrq6sD-m27?z6{Ic$Z9(U2ZaL}NV~ix8))s;m9NX zfA&Vuf00-ve~}d9YZ|NlS0WzjDLOJwC+XsrlB9E^JxmO{dVx@qkZY+nmX~R+n?9J4 zK5Kv)Kp;(a?rOmcJM{A;y4dwMPC!~BeV$521)51ls~M>jOH524ona*+mG%c?x(=Br z9;Fi&AfrHWY6Q+Crvo3kxywfg1SxyFHR<$xshoQW1>8cEJCp{N&3b5P3pdC+k&Z#fNi{-A2 zJO?ZuaHiR4l~G{=&3(m}roISwaP)zZ>t&RFT0r+iO5JFj{>;w3`bg~l((X|43HQL@ z$WQ0Boyzj+Bvon~n$BXfPO=0rf1VzPaD}k!bk*&E|EDtv?wJbZVBk!CP|80q7WHAW zAI#LbX!m#MX1Kqj55+*6&L$Q^X{T{3+V01hX9iupn`wkD!{Ani~mJUbZx`sMfBR60<5W-B#1#0i~<=Fesaq?-Htx7unmWk?dt8!WJugp z1|3Z0-J+dSdGyvw@hfrbrKz4Pvx%vAI(vE=w)}pNzT9W8_C|352rkQXD|}nDoSHc3 z`BIcrdDPgUo~Z$AS;obne`QiNX6d=@e^c4pwgTXMTaF;}o+;9IY0X1pja59oRHbH! zgxUIng>bs!y|FE3x`A=HEXUGwks&kC8t@8zQOoCK3B8Qh04iDk%-H!1+SD?g-AuMa(+$MWP096Nzn6G{`hE(r7F?f3pY7_R5B?Wb26b<0VJ0 zQp)~K>Sn>G2F^e-T{mnYXp*9rt=<4&Q^opyL19>5EQEZ$I(MR%&pVadt@mCTuimlp zk$?b>)irX0wyl)xe?~JyWFS!KFPHJYKxryCq=P`>uBEUTZl#U86;;`?4j{~uEuDK+ zhI_a)p6$C1czz|)Uu4#=LVD#KR#Tz6WS(a7)nd2}T&8Q2WuX4b*DJEv@OUYArcZ;S zp#ZyUY!07w94)Im^cu_{qSDkz!VT!g`$e(irFIu>tbjCMf9xG;bi4Zu1}%tsAdEcp zT^TGvq(Rs9?>J37!{tprb=J4Ohy9dIs<#fTt%HXKZ*__e+3aJc@wp(rFJr_Q)vc6k zG%3@zmonsQe1I_QX6gsvWT*CzMEgyfGymBf5iE$UdZ6o|oY>&~>khOofUkFs3RIim zOo(|b=BiS8e;h$UAq3N9d=AjMHVi~?`rK_J1XGanUQFNBEl=*`aWMVo0i!At2=>yL z!s)V{DKuL(DHgs3BwiG%QI4FlfvT8y+C28!4v73{OPFga-&{}36k_wPBBCCZkeZh? ziw)jqUC~5GydzQu zslq0WHKx+s}zGWd3m&Ayq# z?!xaEp+=UTi%~RVtgkYRE`ygDoPCc4Ong(>gkXVhdJ=19_=ojUE6Yy@vix-5mY+6T zf6I-`@)PE`-SSf-S$^7VJ!?E<`3WnggHQ6w28j^t{)-Y=QuNVV(DCtVb zKhIX)d^$VJ9k^AAGM*=6qPc6qH_zShf3Rg&Wqyp&Nq_fv@%idKnUT4(`!Cd|5(Lb+H#)_w z(OTv##$nTl{v)(hp7t%U#1=QTf0ZT26ET}YbMwh_1t=<-;-pR=YwZG5SMXrwRY&bZCAhm+u=8E(73L zJC`6F5JCcBtCwUP5Ir4j&s_~y-q?m%$+WjJ^5}yhUqJE!ssT3tZdb!km%bbj8V0DM z=uR}Em);x@A%79|SVZPy+&a;~zWMcOJJ`2Z!ub47L)VlYPs?YCP+M%2!;>ln$gO=w z+}+VBW*)5MyEbHBJ3ft`ZRK6R75!BCs~t1DJ^iA|M9YzTRY`Qr@5XcU7dX|Vudz03 zdzdy{+`CuhEc^QK!%)5n);@nX7?0vt>t^jXZ$V4&o_~F3IcpiRu>61H?*Ddhm3=YO z(oNtsi?%WUiwXNdEr~@jJdN{^R}ph%x$%*HetVH;+Lj5}JO{>LPx1`rGMojH<=Gu| z2On{akR{;&wsW>7ldO~cV@vKrQF;*NtqQ)G95H}MI= zu4zb1FMnp?BYSlZprjo0z#_f8|FehE=DoxJ`ry;N7yIKuy|Af#a%ON<8<5^$@Ln*T zu8{7+e7_M|M>yJa>)@P96A%0634t$F*Lk|RtU$Sce=7#&>W zojLcn#ag=R(W3pXTLAu1sv58l|ym(HaI+6EhRD89bqwQz7jbTg;e!7*)PBew-i^*6LVU-@I{~Nr z+kf5K>$h<(tW6C+I?b@NyX9ygwv&^Z1rm z2W%VM>_ zuSLJy8ec1RRz-bn-&RiZ^N*6h^z0*CAN@C)!f@n6Ab0!^HZ7}V;ptP@WB1o`Umdm5 z=63a=MrB=Rwsz8CO8%)M8z7s(ynPE#4P@#Ke)?2x{bl*b)!dy*;?O4Mf6lFLWQ?aB z9AK>7$6q>M?k|6$nUCs)$7$9vxqk-2XV-$;$iFcd2B=%pKy9h_fx7x!t&*>1ySxfC ze_hQEgIjlT0!QJ)=zZOL?T>ha`>{H;+nRs0^vrR}cdLxTuZ+R+Pmz^SLFpH7UK`sM z*2?XZ0Tk$9yoi4h;L~#Ua{i4?!dsh+T6)E|jmYj@=7HHscRz)RMKkM-_kVSmUyA;3 z78S7ZlP6EUBVCW=I%bCT;6}@j0N8|X4UFaCWdaX$?oM$ZTKtsit=ufmppne;QRSyMfb{EUKMSgB4w93{ z=GTvYk5?C*9!&#oRieA4yvK!O;^wSkg}**%sof7dFbWM@vzIjO9)C~HIdF#c@YAp0 zMfcbpfx_|pG$X9)rt=e$uG{OyM+gefQKqtZ}3Qg2%;Ay?6Hy zdf;bd4(RTmgCzB@K2Hwg>ab#?{w#0plP`gd`HrgYneUpP#!s!~Pnl4o9fca7l2GHP*0WE);+Go& z8lRucg%R$vexGL1KJ5HO$m()+iM_|C-;hlHsfnv*pEQF%`F{-l*jnypGx$EvU^mU+ zkF96jUz@>8`5}_u)?9zq;|sU^zFo$VrLb=U-+8ATlTHka#RmPT2L0#_+G;KDW)0ej z4MO=eZk1Z81PA33#FE*@=QY985zIxDB_$@!vrU7Yc* zXe>x=&Ul)djLdtxIccKMccV|!uF~0tgSSv){7<{ws((wk5$UD{rBGd7S9cyg{pCDK z@!*M+Rk>#h{p2S7Kv4g_H^e!`)WsZi|A^Dt0sSB&MMym3@;rJ>ggi1;HOQjJs{DRm zfP15BcnNd84Nl}~5Vw7!ha9ynt~^J%B#McWgL4zuW|AoRD|eZY3xA#mx7;`{Cu0x* zB`@ZlWq*$M`rqu*x57AETHss0z+bkOJJ|wXj|;q$7Wm87v(Ehs9111!-f`tGe#*Pg z#_@510Rk1h3NjhwAj2!;+{@*tv3QdBWSvF44;L?~FGO*V+=E5_wDIZz4NNPXo|a7n zJY#-G_(5;t(YI`A9hWTxP2~m*+HwOIqQ|%8=6~R}+`Z6--kK^$(f(stV4)m*xJ@X08L(WEd@OOa+t{w=!gi}WY zdU$6odnS%3;mwWskyoupdPv%B0GjL!!QfIfy5 zO@Gams(L0*s$~xjT-n2`7%dKNR?CAMWWj?H`Nvoz;u4E;4Q>>(5O{5B+}Ut^Rjv=N zKl5{QIpX0P4Krhpwut@9OP)FuQ>A-?C4YcFI!Ge5fdh`7V0p$+5%{Q#yEz`JlF8_j*6*t(7>y^^-hX$?Q$cJb1 zlgkgq$@N4|gbkSmKkK}_A=3@dyD`q7Kitr}cXShnmGbk?4=#)K-GEf73zUB>ShEbz z&B^2gzj`&6FZaQ%f}i*~J1NdCKH-b7zybEz#{vqxIOp^86aK&BZ^(b&6@PfmJRKKE zt@)w7=cF@C=Rc5#FUWB_YT!=+l5T%0&hLtILLaY&g@#Y4lHsO; zq5Pv$?r>NP)#RZyd3ZyqL$w=>2uTTLsZWO=@vq5wp_9v0UWd3`g%550!!`a?0IMI$_zj&ATyjt@yTE&?BMKVFO( ziSY@29G{R^9?2;Kc11BB7GovjiStUsKBmwyg^%g$nE%SHevj{z>jVFptg+fYIVNR7 zb0)`BHaVu36KbJ36UIAvE|;%zhGoJBWWAI#(Ft9h$g$^y@Qr^;xlsu>DnS^Y-=B(! zDpZQTd5qQ5R{lMP(-(%YnL{jEG9fyf{A}Wg77Z}mp1??;Aa$ImMZu5 z=b(U6-u-U}N*beFB0dyt($;W%sYGe8zv-c-NMEHRS1}SIE7=$W`hhDv+wU*Jcsq_S z_cQtG^(=oE_C9anHO3aod|7=JZ#VQiNpdD=uEx5!iYu+psmip~CN}H*y5lI!XEo1R z><>5-=UABImIP9{ylak|`}qyS0X$>zE-8!N>8vDXdH{s!?p0sjEuTJ!rWUQJGB`E< ztfj#YbXuCn;X#==sim+kYlCLAYEs&)Y`B#{-amf>O-Oo8Q6D+rL--DOLpS-GUkpc@ zgYJ9~sk>K4G`7Kva4{_m5%CGAxjy#IhhgZ=>nC5mc`F!&Rq*(A@%H)iG)uEXdk^H? zKg8K644;H|2=iUtfm`yGjDGUuUk4E99b zDYAb6;|hd-vfO)%-oT8!?oG8`?-5SSABnd~-0EVAMy2t(@c6d6-w!^4+cOU<)z{5^ zS9@MVU)$bZpX{Z`xG9>IG!-m-F+96n+y|dVeh#V>J+Lvbm)R5eXm=)VOgm)qC%6g^ z8V(p%-EPEQOBnlZ8Ta~VKqqDitd*C}S~-7eEw?k)%3frxv=eLPsP(ME@#!5HbfKF>vLi1}eRhR#o>Im;R4cEBn5=3;naYPp)h_3^Rfz5cRyajbu- zg*9}18pC@r09VCyXfL6iU60fha*aj8^T)emHA@OVrqc;xayHVt!B0ce=JCKf%+sN1 z0b6u0eD1M*Y0p`lxP z2`^!v3_iv3QjEn|eJ0_2_(glLRHDx4xugII%K z(KNLw4~rv~B8PEO4Mdt~-J<;!qs-y?c@-4{Ek!CgvuKw!%34Zs7#{--ETC59tRjT6 zFNjI4&44y&gxmAd+6iweJT?T4S_#f1^f9~QY&F!h;EWzEOKZTjcO4$RDT{x9=HzNu zrcU1LsAp+*oHc##%h5Ot8fRy<`Fe!Lod>|;(&UJvC1}08xzJ^-cj(rcqIm`wR+dz) z(Op#2FDwf}{F`QYGqz4njzI;?ttsWP6AvzZ`4aF2P2fAb+@*r_&O>_XA-zRhF?0wW zT%nE)_A;16T{glgYJhhrp(}sysrA_wWBbZA6dhz4(Xsk-5(5Ir7(N@{O>RvWkE5Jv z^vm#yvcn5zdU1$i22C40eSF6TtJm7HqTYIZHhh2nr6hQLCiHZD zW-UDPafPml&waq+TB$OMqmed!@yN>-i`p+0uz6UA#k94)NaxXKjIlLv(Rn!(Yx<75 z24$-2NPsNenTa7#;Vz$5orY3O98JTG!nkXUjasO%tXf3P))-H^rG}o3Zi(6Vqi#Q8 zE+q>P=$w<=+bNVXl$ART-RsNf~-%`QK8K+rt>Zs3pOA{|44!O z3EH&Rx1L4y$1W>*#`$3Ac<7 zDUm(f0}f;xY!!duyAX^ra~@ergK@N*xrDb_TQ2=lEbCLx=^+Ipk!IgcP8>}uvJNA| zV_a!cGX}nfMgJi%RvplJ0aZ9AGfb&X#2Tu48D{%c%GI%;jlD0-sLiKVOWf!tKiZF> zmgAF=Dm~^*s0T_|;qi^NLGMln+PxGS(@j9oC3kAR<-UI&!P$(@go7-G0=}U(Fq~aI z^1$Zt9h;MV>j{?aEi#cxIxGJAjFw;0b4!5O#(xuZh{|k5#_ccAKx(3G3e`N3ev-U0? zUzutedctw$zP&mUO-U*oH}9G>*>*{w=8lrq?#^^6fXyJT^q0maP$;a~y@-nTvUAB6 zQf0qC;7C8-ebDs=)ww?OyID#LS4Av6gxl9K2cdtEmhUySeWtojVpW9?Jrcf+d!{|R zwq~{c#M=e&B#@mjlyPz;use%s?BdmTm>Y zLq2~&es&FVRx#<4pq@^*f#d=q?KcL)?Z6Ksc3;0B=obawzO7Vn_As))_viJ3E3>%p z!pMI+8kA9Nzj07tcUwWRc}+{l6?Rbg*CG*b>lT@l6SR>Lubb~IZsdJB&?LE>CUq>u z=)1SUnntcZjf$CRr~Es5AtcYJ$<5Pqo3eibQK^$0iRW?TJdeZH^81YEu^o9H?-S4C zu=VWyuPLyZ?F)%4C36O>a*lD`6h-7WMFR`rTDFHDqehd*VK@Hym!N*cZHpR*E4!@C zhH!Z~DQ`!&x>Z)5++FD@{arUdk?Ci9)*@!bR%^(upc=0Z-Dl<^jer$W6@PDUXU%_& z{HBR}KpCs1piI@jnF*NbFCJ?84}JO{wU&3X>EDRczmul_QR~^x1L}g2;U``B%Bn`+ zEMw%X!YLiMU;t!Rev-^$1X~-D#3lZ`S+S~Wn7&$%HrzZ$ek~8Q${c3uw7yzW(+_!n zUvZrC$u`UKIGB;&NcZK*#tc1h@BDv#{jX3E&tK8WtIIp5iuogU8Qy$ZK9M}EE~K2v zh%}Wn1TO%*Qo{^<&-TsOHN$IL@0GvF(!=Jw4S47q=>=CkNy zY5m+jUU>a<^(~BXpk@q&h)I6@82ANm*@Gk4JhuSxfnKv^z6d~q? zAm)Wb%nz;Qy$oUwBE;+^i20%QZ0{lM$%_6-RMRM4(e*&EbYP}1oLeL5S1QqFYg*^(^exvE4DT55mL>`Y3aqUUvW z7UUUE6pM%zC-kut?O5s>G%PI%#z9``)HnB{5J#N)UB?-6_;$pRq3}Zh5SbChdN-FW zzID23oai@nXmDKiP?_E733R)9M|KyQD8cDoR_7Xr~3ietl?I`^@J*pPy46=UKFxP zLZ_q}i;}U_tZYV#F;W+lp++D3rsO85>tmtqWJ3w91Mzp7z z&X9x6r6kyQb*;Orc?#c+)ONMEIGb3RoN(A~ z3Y7GLCsXEghP2cprN?fgjp#ymY5)_)n;nC7DusXPP*Qx{q49X57E7lJkuw^NBM66a zU#nG@Wx_sUmt<_^9iPJM)G;e`o#k?S$0S+oaQG-Sv+uu8>hxSN2drVIK2?xuW4V10)RAMlWL2Nb#N z$<}`r(5^O75#tz21p^Gv7*ZNzs>Z6?#uqT6!t(kAUq6Mpl*eG|z z+BAgeEd*cZ08Z3uq|=r&d!-o>YEOYaT;{%}p-LEn&y?T?_PpSb#0a`5(D6fmGP&qm zom%I4e#NC+%Ep2418#|p6idkzhgn&^bOL|a2}SA|IvKV}_LadM{mPcKexSTM421CB83P^fZ$)3+b>+mzZ>uIEwR1{$_H z*iZSUIQ#Jwy=$f%lyi!%<$x1L3Y&i@+|a8vWO&Lhoo?<4)mD3I2=%MrU$dZ+tr&0r zaFP(md!~mv{Bd>sLu{xg=o}@|#$&(b-R0z+BseFu+}a%CIr+@zk4?JUQd$1e6VeY0eLZ@NB=h zxu9-#@o*V}UES2}Q?v@D7ioMj8XDQ&<%l~lEqcN+J&-qv%<+v!#6m^-gf#ZI z;R#DOrrsf-yuO{vIxlg6xhj8163|6R@RF(~WXp4M(+4?RoKB7%O@MK#FamQ6eMHgd z`egk1hW=R0rb_{vERl9UamtL>SBHprf!I6Unhi1FI%`~3U@v`?jh#e^5pGr)Q-yx`Vz6-6~+QB)h^jp;Xi&N`oH`-aY}ssCoUE%9R{}U4|`BIh0E7}?7uZ@ z?DdP(lIYH7XUwJ5fXW>l(gcch|DYdmZT8GSDS6H8j05Mh_EY;PyrzRIm)^LeGI2_@K?ejHtvsW25 zUDG7xD{mZDgpX(104v4d&Xwdum{8M<@&{*>KWs+%t2w=p%_#4}jIt1Cl)svD3)iuR zAQgWLm;=zyCnuoZKmRPJoRo%q;lyC^FhqVKP1~i`hrq%ly6}jF*&`-|=YbJL*Re5y z8oYvu(NSdFr$*fE;280%j)29~`M2vZ8IfocBO}_G41nB$gqCtg;0Y8Q#*IMIj36CVY%TK%;(UQgAwBo!TSGCM5XgBNc}N5!Kc&je(d2)8 zt!z&dMLLvdCPp-7^vnIwg&e{R?Li_)SL4cHAqQ}3m;AmhfRv*-4T+lg((P#YYePXB z(lgmiI5bd5ODPy3b2767q0OaA46slYA4e~0FM!U8M%N7*iDTm!d>&c>9q}G^Jj$+l z)`-Ck6pQt#&2383wCzINj|G5wQd57XE9&~^8il#4#&LD4!RXM)iUkZK+l#AJTf{0`Q-Q;UFY;2*1jPu5=|iWE ziZJ5Dpl+Ld@ZfosNm%JN^c zMpN;w@wDr~-ehn;!Ts>dN$`Jz$u|?$0&pka&&OZr-wkH}3X+@4LP(@8A6V`peX-SX-~`Ze7h% z`84hNQ>n`D!6EkWd$^C;Ib9v|us}VgU;XfM>Mm{_eqZ<|p~N^l!mi?lt?J^Vc?L$+x$gj8uQJT^O!|FeGi({^Dls zFWapB)|}qXHfxW=W^Fre)_!ZwZI6X<=ba31tO%;>Stg$0eX;nmIGSdq~uUh%Rd<|#u)X_b~;$}8YER={so0Y`)BM_C0t4HfVxR>09=ZkN7*D19F3!#_p@)12W$b&`WI=N<0JNY8K1bC+zYdKMc0<5wVB8_-v)S zQfYSsj1GvY0LQ|SAqCEeV>+`Oo#7eCEPnezzdOSlaoGD%e9#lkDibe(Y8DOb05Kz> zI>x@mG+}?#ol&wx+!Z#QkjQce1tS1s!U8CPdisk!sL(L7qLWBpO`rng1VCtYp{oVw z)q5Ppv`9dlP84T-uj3EUcw?JaoWMC5%5@?gIOO6;Fdd~eiK$9YX?R>*=%@psM?js> z$q3Ya7tp>zcp^4Upi~ehz75s;K}R7nKCn!T7axCEaUWE3)bOJ{@VOSJZ;Czs58eBl z;v6B8`Ch&$1_O|D;r}0sWAw`pR$rGLJ0HCPrUQ5i!luA4#^8m*gvS*mOp^_9!CgDs zo=wkIE(SWV-LS1D00fzbev>;-bBOy&JNn|4!CqOv#Vd9^j2(azSrGD2+<@j(k5pRm z%1wXJidUv%C|=P74apEsAdMDg#VeXD6|acPD_$AsPLDxE^a8j~n$6>584BFwz&YDaqVy!x~AKC9x9Q zGd>BinxfI!i6uUu{(z8AitY*t?i^2=^CCwxD;xEMDTRpOuvpt$gZNyo#IOWPgQPlN zy9ef2JOcsVr*0|3KMO+ajx2DA1Q+@#LRK@s{og-kk)MCE2=es9&oLNoLGZs8+Qz3CZeTdv!EkoVf8lHC40Io^gyYfB z+)`^j<#0t?N9c-8hl171;(2FqvbPoVZ#U+G@e-tqd zBO->;xTJv{i$QP#{Pf``_9tdhGSUJJFKlArN;ur`5g76?Z}@CY{F^Uy055+ezVb(4 zDHQm32>c}V3ox-{M+6=s8O22dC~R(_DHez66)FSl)Pnp_`iQUCm`qIGEAN+c<#aha zTawZrORJzHccntzB5K4Nx$M|Gz25tv8!4~x&MH_VLVfeMwhyV)hc)0=-no}Q`v1f z4ycN^*cTc6f0G5sDEZMym&KEbDSoQvaX<4@oL$Nm5=57bq$H%t+0lOtbat&R*(bMz zz>(~W?FTkXwsNVto4j;%>yObQvpDh9Mx5O1=BnRdb-dYp)O@~C>1(sU_=fcX`@+=R zi6VXfhz`s-1I{(y-06RQy6>Oex&PfS5AMCZ zU&0k*S^n!^fFa&{SpL!|f5Be^+M)&&M&*MNo*nMIn0@%&P2BOz{RhAP{l6&t9XP^~ zv;I)DoyjSD1uzBs!V}!Q!P0nkXGh-#WpwM+l*%-;UKhYXF|F1CtgT9y=qA?pBp5Emxk4>^QWU~Ca) zsA$$Xyk8M}H-o;ULnybmLe$H`AS58f4Kv8i#7x-HD2{)XAW$j@g1-SLR3{I}4Y#U1 zFbJtYocV#X$HCIHM_dh?%cvg<@xA zqonlEKnMmov%*|w^X!d=psl(Y>g?H(1_V6oq1qtoY;B34`}skLz9YgT*}^;p$Ha`7 zD-(rmw{g1n>EkMd8%qnvN8IM34&imWIJN54qbPq-V>?RJK^rzSI?zb6J%lYJ_Bl9y zl0*XZX>v!4ojNKAJKggx*n+yOJHgehvD6LTT>^zgF&OG$Q#K~tveVH85CviPE}cK5 zQ}1A-M)3wi$RW?HP)YxEz{tS9tgeg$Iv&ghhty(`8f%`835L64Th$o?Tx( z9|wQ@GG+qJVAVitxC88jt*b+j749G|%j|YO^p8PdRg=sOeAV~j?61xd z4#9gaP|np#X{>$G`TNFgtUVwi{xwWTcQMuQ0;ZiCx8?D*3TsZD_rjZflKoXPezLNotbnpOQUILOPO)FW5?nZK^GWSj=N#N2{m@c;#1DIwAB=kP&fjr;2;oNgx6ziR-$0=j zvlf3P4IR1AerdQuF8hR1Nyb!B-SuoNUH&0fN;b^t)=Omlb6TWQ1?!NWqrSL&9urL$nhNG61( z!Fm{KN?l@}l~^V$&tNCqy0lQJVV19E>8%Y+JM zk2#5uJ;Ul5g_+Sci-1G?c0xGkyk)f8=83gq2+s(!W4_#`O2ALuSiyh3%(0vihUqZP zfW|cby`vAE@;^hgdvykpfL%m2?e=xQnWfW>8Dnx#m?%M@`J#YmJl#e@7Tjx;_poca z2~(vPckk0{!qAi%-3WxKYiECwyDUI?uy=z0r^cE)9KF?B=Ym;3!p9~ysQ%UHhz!=6@a ztA#2|{u^AXX7xWpU>0kw=4}xw^qtky4tC@@jwDLX#$7g%+vux8TLoJyU55#lTU

)^pGtXo8qHAQTl(jj7(#`e};{v)Y|i5f0{y)N2Mr@bQZ9=g{hP-z$e~5l)Veu zQh+c1{9M*a9)KTO*ba&9+>R|ijOSo4Z+9)hYC=IiO538n(~a)w$Jb=iIRc#mMcHzl z_<^qQM6hGY9}BvrgqK|m02dfps90TrsW|piP^F!oUSfYpt&<2$T@A<#1;l%vz)v1bnp7eSvq)=~usFh=&a{{j-?koG_wpOB7bBQePrB6EiA4Fv}Zhi;?D zQ+@h)ksLH2QKxFHhtw=;tr09?AQVW{^u-^S7)z*Xqk)otEeMl;ekFK?Kvb}jyf~YN z5NVOL8%Hwnd*@{RqW`P8V3_UNSW6`DJ;Ik7wLsdCf#bq+ zr67KnEQlw5fy3^9d=oglWvtV6UKhF>M#(*nl6y8vwg=OHW~1brFiQRzN6GeJ?$4{( z`D~lefSew5bDht$=cU>4)k;Fmwf3{j?bN-xwxEJlgK5~;T?Y+&T${;X^%akElYtx# zE1qGRzRm7Fh|%b>Ag$AV!!SU=AK>AuY-rth!UjOo}eD`AHl>FvneFMl;?Ll z4ReC-Xg)%J0_BD2zFRy&FiDB&K54*cZ3PMqK-nlBbcoJ5e8Nb2DXAkdZV<;-naVJ* zaoU3OPQ8j2SX@&WzzgzS`rt*jOmN&sM}^3=&q)CX!0K@L8Al=z``~B+_6ZXaNpt~d z0H=w_q3{6bopK6F<%A$SnLh=@5U4pke-Jhra>z4(1t~Hr%dDvhhRD%EA1Q%_r%kxb z;cBLX(VxpuAOv{Z-tlq!pn?4nV00dVYam->6Xtj{p!B;3ULWoYQPX>SP)?}N@@dY> z0>`yzyTI0hZxk|D$ny4}80Z|zrBcJFbc+3B@E^fFDSXQuVjW|AKRAK3M?7)dTm^C~ zp6J7WSe(L+h=C_32<8QxGL;2+dgw8jk5SlPgqoBWdocN6#yo;UUAm{GR20N4!ILcg zJClmXyrqgw9fdNCU!dtJAW}Vry!)ivr~e3oFl|B8etmY{Fmfbp#i1<_{gQv6nG61N zI!--;6#o1@SbHws6{kP;V>VCWi}v&o-c!4Oukl$@ihd9-F$e$5(C^*{j#_-HDI!%h48b|JZc%lsHO%sILRm})N1;Y60SPv}Ub z6$1zr5lH%}?lStiBjg`orVF^89dIRoc!*(TaJ1jR=fbaIfR9N8kgPweQK(irxEG{J zdmoQ3{)a_10#M`q>0!b`rHV$q3jMj-zpFeD-uTtMwN@yiDTXnq*1=E z854L~uJ*iIbsTvmvGb5^Vl7XZ0a$g3@TC3r0xnzLVjYW4b+O*^j+8GM&UjCMzy0=W zD}_uvc<&)*29P{GE=!>})XoQ>-f*45nL_s(>dg@_Jn4^=y&X9ZcWM7I}Y!Mc&PSxX9}c=5Ag^ z6zz8R?zAVmd*iBMgcqM6)KMgMF&f>|`4hNGg1@KWa|m3E!J7}N?u=GpRN3eL%IZFW zz?LX>fh7nf-pdaE_!z^xdo6Mc_@zr8csW}mCXYs#@ZGC&w9@BtHFI{9S?VA4u;MpC zz7`c`Ob^|9baJH$Gjol96uh`4w@4nQq22I&N?VN}hcl zew|s|Q{a8xr?*P;dKA1RCI3eTGPaQWW5L%9=?~YURa<wgWB@|wNg&{jOjWn0j&4fBy_R2zYsJgG#6WGvr= zu)LPfg&~(JWAM3uWZH8}Ji2-qvffPM$`Itb{x!@CI5|X0n{0sWa)9jG0C_r?{yiHY z{|W=-?{R=U9nAgy6&d(Cx+fNZo7j2vihvUxRp%26E32!!8_ms?^`$~#0b)aNeFKfP z+gx65E^e(nb+l|f$!_`$_7pAD`%;s!^^L`Ki>$0|EzK`~EzNJCrWdxin&p2&($goc zM;=q7t#4FgYx5poTwQO4-z~0huWjXFWNB*~{5wnWj?L!$R`bbx>-S2+()^!8Y0LAA zTkD%c$&csPmR75eTYuWz+(hpm^^|aJ=t9cc(50>QZL4%oU1|dD7hbuvvcVsF4A9{9 z%@BEnyEZp}*Eh5BhNLIWR%`xINL^_);d*J+W52Dhta)&CeLlRDLDT?lTigyWU>X{$ z*~;RNS7K%uT^)|rf5EioT66Q!pS8r=qc)qXY??*X_*ye$mKR!~FDSA#4>U;VD@@s5 ze^QOrGk~PptI$ZTmGw{y>l@7wM0+ePuWZJf8DDFEK2Oobyw4%W&H30HH=7%)^NTUI zzPdX9G~|=9jplr4cWhHu=Qm>?XEgk-)kH_BejZ3du{ZFwtt_r=%*WRw-G;0be>%Uq zo&8Kv>vn}6fkC2xxImBEFjgI1i#&EE^TbC zFBTYY=a<$OQNdmzNbnegs1m$kdvmdW$r#7rmE{#wDI(h~WR>3WT2`ZMODhXQ$Q(~z zsSMg(cquEyGq>6DI2(OoWo=^~h2&_lfby>Jj%R;h_C;H>axhS+LJDgrJ_c>DjQ)t8 z$7u)y0#j^EiAh`QdBS?Q|4;rctt>C|tcqJ&2tQH97w82T!wRc<9d)}xmJtPi_1jHW zuJT3DAG+kRuZhcwfqZxy0y_;WrWmL{TA`1EDRdU~AqEKcbK0gyJ?=Fr?r*{+f#% zhY)y-1Fk+|`Ic6matpxoW)lpo&o@w%g%+A^9SyULqlpaMs8Ls}$UXAs*G=QqSA9 zPtBH6xtWRfbT&q!01^_I%))%dRKY4^*Pz{@+_>srh z^4Udn9My-#&|~2f6k$$TxMV|1jBfq8kw>kjQ+)C9%IXrjTT0PtPRUtfYh{7MVMwv8 z>!wgrzml)U>aX!z$Golfp!Cw=3-Jw=N5#~1es?utf0& z`OND?Mm7HGVg@dM0V}e?Q*MP%Z7X~*n0}LOg?|fM;Wu$Bd@z`Mb3MDdiyKpb>C#Zn zjfAPL&bV8HWP@gFm3z{Ks^NB(D+wsR_uaP@52xQp+OFhUTUK=60Z&`f!?pxE^s`OD zO)0qyEKO%2QyA%Pn`Ydg_P=buocwS3!_Vcve=L9gsr=!8$N!eJkDn@!CzS#+H+o2{ zIXoUk@CqOt^~r$1QWzEaUWc6@A2^q&fs{XHvL^R}97Rp;&NsP5R$|2?vI#CTSaH_~ zKS2VMiz*#dEDy?giPg#DS+1&}(yVtTI;6 z#HQpo$gV_xo|m28-Z8Hr;69U0!dpQcOHdfZbb)J@ZoVr(U*yf|-AO*zS?fUFxg&3Q zYdVKlH*k51n5<>!Z@SUf+1hXkH<2!sd0Xy0QT;4;)=kvB)m?|bD&D;a%O(k*sq&}e zZ~6fNeFnYXdw5+EXQfzhz6Tx%o$aweZ?R#Pjk(u<3DKD@ehoFPk$(HVS^AO;+yD$Z zI;`A{PRa6QX)O}18XOW2QyHQ=as$wR7el*8?-W-Q}@(Pd|(Rg zN?NWPjeRveI**GG(?L-T|loET&+K`0q& zS{a3inWq7%)MCIMtZ#Ccj?h#BuN=#FrM{T-lD=>!+W%!yfB2b4gUSmi-^M6ql)%z3 zTrzU0yDrTGr#a-byDt5%WAnRdJ~u_Q>)?EUhwLwC*fM-20$@_Nju|@+9N^a-$8Q1! zQnBtJ_-lmvHuuZ%9mZ3MqYtA3_cSVX57J8N^4q1=LA^@e4rCZd{4TTPv%$>l(5}RZ zyB==;Ayn>l%=lP060^5Q5Tg*&{qQ@O_a*Fn(4-HmoA)1HOx}RW*d!40ovAwyCtm!2 zK;yuiYHt7GNQ%_(Y&PkPu>fU8c$2qF_^kQxV(|ILFXbgpKYb~;ar*CvNU0gB0B14xx(1p%2bhnORuipT5=^;I;*S(Dx_MN8i3H#39j%K0Q znLX|V<;osriddwt5i^b_Je;`k9kjE5J5kR7Kf+^t)%+vKhShz@J!bHbeX;{!nnqab ztg8wW!#`!14;Cp_O7|kxN_c#`GkeuD6L#c3882q`On$)MP}M<&l^%fdX~p2qd$pP< zwLE~D?EI7qx~M4o2QSD6oO__Z8KJ7N6-^p$d{C-&hKjMB_ld>>Y!cw`CM>dl54gxa zutoOeVETEs$i_rri|prdk$pLsdw!ioHeD`}+eDY<7x@2oAf=skt z7DCeJdO!J_kD*v5MlRRNzowgih@{%5Z9SEd@_d9lj zLm5z-8KrwG&@X|!f-^t!lK^Lt+LzF?Z?&1tv9V(>$XJvn>29CNd;-;gxW5Frc_CmbO-$7f@C%XWVOm*3Vh@v z8A7cpWcA{;$kUrkyBUBGbZ`$E1{*=$97+HPkiCs(dq*A`I@`;$fM+5F#9_hE38|8Z zDbi7-5ejL@ayZJNZNm@Us21liNGfO-Nuuf>gAZPZJ--WxV>`0xLn8%b5;#*;{l}rO z$7m*=;#Vhnk8rksMmP>nIR+ZtN6(m)jimJErR^pp1}X~9Y`5afc)0`nk zMTM?|fDg!42RMg1P*8Pn91u1LD3>-K0#T)^!I{I7Lgt<1xMvuw%TJ$p(&mT*2i$5Z zo1r;S$Ow-@7!xaN(n3rFyxRJ(wI-de2LCC5YH@_wN5^)5P*)g(aOP7K;3u8@tKe)` z5U>fy2P+MWICty`eMl8>*6~ez1Nyc1^0${4uq|+pI~)K{Lq1QB^f9MtDU>vypCB?~ z(;3JNNBQQ#nfo@J&h_mxaOQ!YrwrVwkOR^VHGG2bGojPOE1SuIKzO9HH7?x3XoQuK zdH9Kh-n4K7chcJ5B)oLMe1c{Z}570&b0D#lO9G(O7%;gRyQNj57 z91axlhO_{SA}*fHHP6R08-=jShyhI379eGih4j%Hq(315LEfVkjb6c%PX<_AuxDW* zXai7xziV@XP=G#*F+9+kE%5zVP>;vS993amZIilV2QSb4^SD%vU`L(TE5giuL5Ghu+?!J7Fa z9C`8dk&;t*ck<4NkUzvjd@X`DZxMjGGqE4O-_Au09%yO9Z##y#+@W(o-_sxq)ji8F zLx_=JMCWQ@OJc+yVO9y-kdNlREp0?<1HMb=u@9>a*)FKJcV=-OdCqT@k+>8Yq#oh-Ca?J)+##}8|E+BgJ}n7-ynq*sqP4wVNPjw zO&3&|u-jzab1)_vN7owURF{-fU7DQga4`KxCa3BLIn^IgPIWk#`{P>7|KmibzXnf` zG;P@%<-Bf`g!yL0T}f^f1CzOb6urbzkn_F<-Iu)9*j!93)8MKKe=BeUang{I+@ofck_i)XG&~;ETd3oK-{@^ z|1%!m!SMHg!f!lef^l-*>I|{BsKE|D()whwMei z5@c(gRAho0O|R8deVa<dKPUmOogjVGJH#?9@G%#CvSCaMvg#Uy~0eLPKcWZ(djE!bGGJu)&9` zlYoUGFT#78=GaFW$Zd~7=+2m$h^RSO2R1KgF6^nTAPD^@9>csIf&g5xMee^ zF!UW`j$zDiiwzBO2Lpznx3r@latosd%Dlob2YQjYh!3m|q=tBnwIXIi?m5kmMg>Z#D{`vzL8`rUC zmvDWFCCbV4aqeD!`;hB|Lt7`D45t6e)(J4Pv~|K?ah-57nEUH0b{vqfK&J~EU?_Ou zM*B0|8@!m9zWr+M225l5Uk?)a0J2SJmnf&Ku=(xB$u>)3}#!DD- z-<^Og1yg?n7xXjqB|AdHyj_d>diDSm*y>dN32fr-G~|z~$8Z*$1+ThdbfyYg3lR0H}JVM zfGvZM9q=J!r-pjDhmCK9EFH6u03jes1JX3=gAETLA&WYWY6CPDxCF^Qdv?P=2&0io zm$juu(Mj@u5fe@Q6;hE6`KPiv4OQ!}G=3L+=|HwYt}E^g_v^%xiBbk5gx3+BGO=1! zpZ){{p-%HtNQ5J6Qpluz@NL4iCX_trMTd zzd+26?PcRZ;2l?N@AMp?BIrjBkOd|jw12suf-#iR9%Mlek^0n{i!nKEQ!nz%zDe~M zrS=~^Y@6;7#z33@3}ZP^SQu_SA>_+5<*|?*&kK&!cX-w5TeAeOHcK%!cic;QHF4B? zXU%_q=1KVv0YoG5i`a5prc(fN*svMtVR7`1e?S)U^d1LJXpp_4eL>@W&}ZcZJ;#Z?*A2=nF)sK|?S~$Hh(O2|!)nsT197f<%#uZWPv)eI>$F=+VzuyUa?Z7NBnajt6{17alldfHe5V zeXn}4Q{#b}K18gtV$^*Bc+|%-kJ$*3B3U?3=ZBdhDGY#Y2-7(x@@En6kRD^7^Pm+= z;q>D8)|iss7hi_6gp4Y+N)$VXMIRb}(?8c?VvlKbkFluCqP&O&2iKlH!g|NGlUJfg ztT-O=;&_b3@t}&65AQ%VSjWqU_kP#YsJpbIbrVoMcOMcMRM`gAnNlWi^vfH^CD8mY zUO*THCrJvlqXNNRxq{sVi=5WQaytLiS-(Sq`wRa;P+ixDOa zX?F&ycldrEB?rr2n`0$&EaIqt9M9UqYBamg80wp|X;ojka|9DoCQ=wJ^{8Y9{`6TL z^aLGzh@WIW#C!4u#ofp8^zO@G(QyEDZP>(eD9w?@y@NBVdqz_&9?i5KHy2=>22m3q zTz_ob*_?1^b7DK2}-CEJDcOd+;3M<=UipTQ{A+^x?N6xyi!G3=xQ%< zp=aNgDNlWO--d>%S~2Z0jQY18lC>!9@&yo#zE!!p!vdG9+RE-23wN&7u|n699hpvG zMocx_%f|#Kcf`Htd-SdsIH&;~7mK6ZU)naD`;wZ+r(4Ixt>xlYzqqwk+=4TgTfpxW zx1d`oZqa|vts_K=Tc3)5TNG@?9iCS6T)%5YujM znHnOXf#?M&EZFv-2iN<;0#6Gy^a3uV({j%^_Jsc6@yDu9AL!D5l!G(#+AIJE=r{2T zJeVL1v?JCe^yVY!if&e^&j(o3u;R=QsI6Gs2akCKeccm-pZ_Q>>HA zJUc59JMWi&=LhBahZ1aQB?&Q0{>isyuRQCOk3W@f@ppLM#vgulcz*tY60}MmWd>n- zzd}3kO5Ikfq|t~@C^EfKgKAH%;s}Ek=zL!wSYw?&HcrFOBBZW?W;DKi2=f_$U92bJeI0IvzR<-wg^YukDOoATq<8UFReEM%bzi$M3-6Vs;HW07`T>Mp z!2BspDGVIJ^9BzC&i;nDJ481MdTUurbJblJN`5`GJ8zn3hP~;L%%Y za8oWE%kj}8taf@>ATOK>YjgG$G{t2Eo)px$-c=m&Z>|{xIB%cp77_750DDAjLf=vHosW$Zioj)l0RCWt zKi&L*J{cMkxny*GIyV68)0bnhfU`P0631}um!5h;!es%3@+J7A~3m_s^Q2Cv}%XSZcpfyt0?j~OiZbePj?uLf8Ji!%wj(T-V1sW*y z?73L0no%|k%{|EiWVeZN0?(` zePOCeVWh{J;RTPpoZ%{QatiPd$-c1TA_mV~czR2_rOiHAm1R~!^Ag!lyX01XEfwsZ zO?jY^z3o;+9Cre=USm1d)I#Nj3!n>kTL%WBBkF zR-NaDdmN2%N_sRNpJ*l`u-s2-9s52~N5M2?tn{i=R9S!rqYu%9L`J&i08E%}G;YkU zA}O~4Fz8lF1PX?Vbo&>oZv3}@3Tr%MsPfp9P`#es#H1AKc1}OWA1jhwb6*f<_QVUJ zeCOUxIYwfT!@St&oj}>3E(pOX9~8m?oTB!BEo05aNz&AB z`2^-D=Bz^Eoa-OsX%`O^4)UC1G~}oDkP(^g>WexsC7lh9;_|mXX#Bj2qx3R>u$WUd zD8h-WL3hBOaf5GS33!5$$04<_zBj)?c^L1o`LdoayeYblVwo84PARkn4NbS_vz9p#AYvq6zY=?C7Nw@emdcgX)W`DF9+^&t z62lg!l3FWGT%T2c;`JhVYNfZOwDEV>Yc#tuG9UFGm#2<-%g8=gxi;=iqkd7l*Owz% ztey*{)t;ra+LP){9_Ic$T7R}B)*fz&wWm{hYD?RYppuX3g`vJi^~2h$Y)_RU_53ku zI4K&x`VWADn2i_1hjh1SlT=`sQgSwb6*CS}cn#eiYy`;x6M|(w z!*0P>xo#UAj}TPn!AJ|QNc)plJ9E*9ODx6W>dK-Jf|w}CMKJiWM3n_!T zqRtS*VKJ8ye1nnJvmUB0m{ji?qOgtg^-)L*=KUe=vACQMJ(A&UwSR%dHUs=Rv}4Y{ zoZK2rMDvv;wDzG5dbALog?6L3o~`L5a7>?u_Yf$`(QxFOK2f30i`ms$v89(8@d_P<@pqD~n}0@<*Zx{Djwrno#r@Kt65gEQWa) zn`u_LoIQnf?1aqmnMJwjB~gAOW17uPTE>8(-Fr|4J7_`qU1oIyZq$kQmmY9*?zuU5Qs8RI6`K_4@Ky*a&#k*4!at*1(y5h=KGD zM$R-scqDt%TZ!yVp~Mpk;6jEh7W!|V6!)EZV%&D-iDB1SNei3KJTZyZk>)E~3ujs> zC4|ORB+p!w+9;MaxZ>69`RAo@>;z!ixcFEZBq8NG!A`>5Y$+0iGZyi#N3nl@Wht5I z0W4Des_XiL>TfFwg{+ID%jvg#ZzlVKI#f`04+f2=ZDv3vk(_ZweJYmk z(y3Y`t4}~ot@$m`FkxwmXWqv=#kVIRR(}*maTiynwN~hgR1TUeFZ4S9o;(ysjSx>6 z^MueqAs#9&=$>*lR4T<-O_jEPS8=cyR$#>xUsc998zDwiIz(*Q$Pkn-kQib0O+v7k zhgxbSJN0XoEYvTCx7XA8`g0%>Y%KOrd`%_p14=b53?(r&jDH~^Y4$1!wTIP)z>w@6 zHbg_G4RIR<1HBw)-s%QBONzUiEG=%e0gvZOJ5Zz%o)^y9vlvT{NzU?rtFbf$NxhNH zlok*3q{V!ebggHDMizZtO`k^;Bgf7eQ!4vELDA}KOCcOY@Mii>8$ZbM=BHRbMPl)i z&dEPYuH9^rcX7Fo0n%40ie#B3^@VX{)O)k1#4o23j~#AAs`r#pS3-BGT?<{XnjAag zsN|6^sddWgMemx`#87R2)l}=Io|ZngYC^pVMtyoCFV(U)^dZ*L>(wywvmAYG%$uq; zQU6wJ$(6bQ=<_^wr991X8hMh>(4LejqG~CPJ%Cb2BnO@*CGXSl%O{SM@*3bOQ$@z4 zFj+vHckXM-225g)pud$4*wRy{R+LL48(1u!ZxAp{XkDu_cBc$~8qrHGIaMUhgG3#P z`pW|FvQLlE#%h!$#i`HJSZ-{Ls|j?bno>kZs+~_ttG_o^0x(Wt1tPc;gccu-;gh=l z*pMlLBbO3c0=4TgC5&f^VT}j#?;|WmLeEih65$S~#OkW2d(WsRJ7wsoWOQ-1%FrcW zJJi!5J~?>nq+z;$hOH<-5bAi9cr}YLH5)Oj7b-90(oHjmV!p8o(dtgrlG2Js@x0$D zAqu4}RuL2_Dfc3(1oEMwf8^_`T6(=GzU+zNuq;gpv5eu_NjD|M*Dxh!F-G#aDN7BC`#dS>=(ALMjfVt(rgrbJEshKrMRiutbXm2ttS%Z>%DeLmKOxqUH$JD6Al#5%j+r%ayDcq)ZGH zMymlu#}Ma#*z1Uck3t1Sk_19g@3+L?um!!>vX`+WpW;61Qx~)9FbpN3%THlL<908X z_dB%HIlSM4(N!B}RiOC+HW(0W@Xg;R&oC_!XbWl(AXqnDK}bbE**7O(+;7PGMo#?% zs4=d{cX$QATr-FPnt3$cSA=oz+@CFPSBTq*Wgq5$P8fr5znrNdx~qmh0Z&e0M0CfK z1Ez;e1V;Tj=e?oLz|578xSSaSb07WiKDkIM&eAW2+_PUJkLZ+_WXba<-NSQED$l9Y zTaEqUJuv%E+&!%ScsJRV5{V8{u+m%cmRIlb;k_U$E!w#xyf zpO{&HN=FNpapd9*kYdC*10Z&enY5JAJiDcZAPP9!>v&kE{UE#d`KHY1MoLT=B{dm5 z9K0>{0-MKpfdN|um;L?5#c64a7DJ|+64#Rq+U`lcSOSrzkZvEKah%9+SN32ZeSu3| zfa=Pm=P1F|3!!o!S0w(`&$Wsy2|rc*qJLU{avK$*?ZekR(&x1aru@|S7y=&7e zQHkjWF5i2-(zlAGqz9}JUv26P=T2R)Wq_c&>~uMz;l!mE$qWt=rfdf%{Hhc4(Sh{e zUXKuwStX3rQNt`driXA>2#~V9gftOsAmtfIQsI!`w0}{a;>+1DMVg?7H2MTqj`u-GncPVEONxUkz^RT;0B{4cRfo|`Z}m=lW*?;h8}D>4&fe* z9Sd<)jHW#t^(x=WXzPTC_)Bm$NNyQ_Yx7GMw;m^5RhH_ip)AEpnN&CB399O-Q<8DH zB#8_&|69JI)kM5sk7WB+z2_{s}Q`j+uU0~t?55fb( z7DiZNoDZ;@IR!6b?*z%{sy(a@+ZSb+QW*$&GQ2ztZuW4U&U|p%!?Z32fYO91Y5^C& zpq2c?!|4PELOgXUt>U==iki+6mLA0s|;4<~H@>^p)jBb6$D7y(!k z|8l8dt`17G_k1+mnfvm&%AZyl94nI-M$^lgV4XE$5*uN>gtQ?Wr^}gWGKTPwZB}L` z_v<9(P;lHKeeuB&tffa-r5-1H)L(gj@oW4+MiDvjt6R_Qe4fM1T{B!BW$fyUkYw(9 zHXVomdwV|M7ZV_S9I}``&Il%d6RlRPe19@5%biD)j&BpqW+SRN*#Dgm z?w?MdoBiL}V7i~#|6%28_J93o|93W+>(l=43cvO(e8Q(i3uCa>y2+@RYdz54XuD6m zgWpjxH?Pq?&R{qPKq4nB{rvs(zrXCv{x1njLH;*6^()qNI}dK%yzz2>r+5j!HsxWeFx|h`7H!A@Prxgo#Kh3DZwVsBfZ5 zk&8#iASWW*J(1wVd35D}oKM_k+F9uueM89hW&+hDT(jLABq_nO2d$fp06xQ{2#n6W z&&qX}Lgr-5o`q%(`i|g^aiVR{he1r+sFaBhGgP}1|6*3b=EY2aZ0{8TKIY}e;Oxnn zV(@KfzzOp%XargAnb7uAktr_sLb$ILM`9VTTg(4H=DxMNjU&l_^85Y@wx)MlvT4aZ z-uEw-{_`O2I`?xqyNMlHcGNC?Xk1{?$jeBy)ZC&z;~^rsJ$aPg@!LlT z-Ujt%Y3NM5M6Hr6xda-fy+rdSl@j&$op*nG_~X<6cJj@Se_!4@?{2P6xDQ!#raEW2 zAZNKy&eFSGoh8nK{a?yiX2Dr{w?EGA=PaVv*5Qm9>F)l2UdZ^jk3aqKOE+L{9rfg& z9(=nr-D;~GQ<#TH0~U}1Mqm?HnL<5|N#yaINYL#j!zRNhV&|mnf69|U85|rp_{aDz zojLFSDKM?agh3v!rlyU*fe1LMPkrWCk_bBwQTkR&kG|0XhNv@*NTJH+=d$^`i7?{V zg}p*9j7`;lh&z*{AH=e`Cs53i24N!H=Gk-7-X6PPPrKmh?P@=D!LfJ2essap+aLS? zXr4#n=!b`3<_JGGSlQjd^OgR9EzC>fhe+q`AqeB`H%!@>!ic~OiD(ZJgacO`&!>pP zp%Fzauzo}lk&q$7Uj#zjS$G`q0nhROwfvLF7#fFvkx@htiNf-F;s|X*|1x3*VqPtOq@Oag?#+9WqZ{80%&a<;;C1PN1tu!u~KAs%oHVS%~F4g@45i98rX!AX!) z{t-lWlX<+76nccSsssji`g9Y5M-%$A9Piz(5!p@ciA*cyjX7 z=kMQ5_c%E*on}C%>wuVh(-4`wG%@Bk4+Z;NvS)%tY4*(TzRlS)kw0^3TRnOA-LsSD zj4bP1=#*UORJqX2?dm9Tp)=<~qu@d}w?B^Vp9sI2l;Hho?^~C6@Tm~Qqn;w0VB~gx zW+ngh&L?NRj37pCJA>XI9==F^9fps<>$N2Z^cQbMJFpUCdp)A6<5`D}E9RTtaU05*Q{T9a?cw)g4S zDDylI3K1y|xJo%Ngf7sUqDAx=6HqQ@S60tO4F*M2t%KH=b@#i(JF;uqi7M#84b152 zl|JT`rfPx(%e5cfKyRnf{Bst89ys$m$Ql1Piy}ZRG&4H{Ok=&VoUTF4o zl#eGr!=R}-k>)?!)fdD5<*tO?bU+2MTe`QL=*D2pK6rL^q@gw#2ulvWQ&kGvn*~J7 zq?&laRi8pi^osfnj+rIMn&%c3m{1T19w*_HG!y{((Ar?2sWTlIbP!zEDa60PD1RYq zgXL0#!4HsZA$ele-(OF$7j!FsdZiJZ3%b+4b8;>HU>!=TZDdN+23#E2i(BZWC;Ukj z6*fXN2*&R~!gUTHKpXwb!w-m_Y7|!wr?c|90pUDM#%t>DT;LZ27#_hAHLyng6V`!o zb$+u?qq&{RbEdNh%R!{mJX>_sPsNu*?8D)O4vsbzemT8Bd}O=iOD-ILY^$F*NM7pV zdQ#r_6_y+>bi)>?g0qwwHptw71ot)RxKT&b`V%R394Wj4dZTV$pm)$`Akumh?DjAE z*iB+@=+xTfr##5M7+c=hwA{VP0l21^ zvslJ90J=Hb73J!wcxWM?KuUhPC3icNd4+ev=d~s}3a)4L^gv?lLg$1y4_^L`(?o0`|SvwhyS}TtOabY{6j0W8u{h4iIly167Rq zoho+kxUkD@OnRL4v=x|!Q>+%QCwpS zX=QD&lYBW`Y+Lh9Z<`Aoig&J3%4_T@hs>;z=Q2X-vWuejej~^Na`AZWjZqlTR^g0E zNEN(};9SNh*N8rNQRy-`>`nIXV0$kKuO*^KiS035Pa#Z(o0{|1sPao8^^51IAR!Yu zunz~f>J0sVO&9i{CG@VsGZ*>Ba{)^-0h9}$BZBl{&s zwib_MkRu z`QD&Aw;2wa+YD9c$aH<%p$GxeFh&=K<^X1rL?+&UUn2*)y49fN($2$$s4j}uR>qW* zeD^0@H|Z}paPTpL?F!Ex4vJ(}0dhM-MCDVWIlI*S{30S?^>0<$`vyE{dsu@4rl@O1d=XgHG&n)cws=T+t7T#h?BkOVeK zk_@hYvo0Qxi8|2f#E}hIrxzs|Z$AgG_U6Dk5W|RFm_|aA9e?mbbzmoT%0qCy!4#2c zd)k@@2*ZnsKtdUK&Gy_{dRgTTu-C&|R#lgSwhxFbRRacUT+2{Hlsp_R0%7+3g>ijo z-)t3dA&Ynrv~bop;j*}XmsCni%E`lvk`W7k^ra2ALP$eIc^~dE@cyXkb!kmV7;RuB zCFdFzWsEhLZZsfg|8kRQ^{4t2RBCiCZ%A#%SI3kh6qnATLYM-3_QWW@(Ny~&uzLke zMT`WTrxe6PvxO_dpV?k$-6GBfuqiR+GA)8h0k$k0Tt+09ex?u1+zI85RR(<{ErG{FCxD|zt3YOs_ zXlK*}X+ZE-(HZ{;W(@WUhQsrYIN2Otji;srD6)l!23p$H<#Ch_84ryE%SbL&Sn(R$ z3Y<8CYZ>yVY-(a5+?7KlZgo6ikJv_kzqve>b$MXM*qtXz01~^YlwM0l=d;s|5~J`G z4VXy86_EmgAasrco(ukpcOS(9ZX*Ka z1oNr>3gFs!EDUrDCcFHZSl5~}x?rdZQYG5|TqSz}Le-ZJL?kQmHBetFDe^*pxB7J# ztbgC=(}L~A7D6Ep5Jo31RcmG~RA0N&y|BX(4N3)BBh0{I4{Ti%?HlFsE`&@EVZLKJ zDIX!4q=BILsb0ZMXdg;JbSi6G(D?k*iO*AJhUKmRPe8E0kp5ylO{t3bOrV^54L+r~ z-t5kYi^3Zpv}Y%2%F6Y5Te!K{X`MdYe=P*0dNnp1jj?A&3Ilv#DixnV$wLb`YZP2s z>BNcGuAiXr9i`uf9our@NolmmO%1-kpo6Uo3kAsn3Q>>WBPHmb`rVa06mzZ7SUMb* zx5v(o;gJUMR1@?D$D~~~&o)B5f^gHHoqf=U6N`1ku>rA1!?_msb?1cYxC*H*e;`Wj z4*E!g<70P`eBKOv96ngH)Qn;TJ<@oiWAJ6sl^mW@JBz40)RbjdZ!BhJVy9ETFv}!1 zG35_g$_6|(Pp4QLHtcBHB5p0w_tU=~6A4E*c?*#R6w+oSkn)ko{Xw}Hz!BXCa)p|D zbMVQ6iwQxlDA1bOI+O~zP{}f~f1RA&?dWExgs3H;#>^Iwz~Bl(zXV@tuI?&}QShXO zOd<+gfUn@ZrXpcQv*F#It`$4BKoNl26B?3d$v0KZ2Cfn+Pdgz-hxQ$I_hEz<`KqnS zdV2$MYEO{PR!S7>NMP03raT#;6L`>O0#u?XYZXmfNQ^qFO!~0 zc5L*5GDBgM#SXz~L7&(re`Wz_0(-;g8?0?g?ebwl}km(pZFhY_mM*vFMK|@+e zfOSKYNJJ{jGNePr2*UIUf6}2gfWTvcB^#mgQ$_fXw$PSdMAN^Dm}LSWSa0VEUmfl4 zP=<_4Y;SHvNoHh}F!0!lCjAzm^pgVRcQR~KLrNHeE@k1wl-`|U#~UZK0zoVfZl(wm z^rmZ|{Sl%1X!>?KlkK+-i-6z!RL%jb_n_7Sr(Pgs=oV{}!Ljfgf5)nO@*$gRYv!kl z@cteQjy3hKw2wnJ%{|%syH+mg_ertn+?~wlAe<`zDIEkFRL^%!;-TDrl@q)s_1V*}T)zUoGQ6 zsK~?7$!0`4Tnz+b-Em1SfK4@Hm=w-Lmq>W`OhaCEp|@S=-@DL%6sUQ&<>M4f-n#eN zX?L!J8CGR%#k*9~XaOy0Y1Z8fm+19iy@WfhmWmScO#1;y`MNcx=+QEEIaj8^xGmNwUk z4z{7mms8bre<&*5eNGvvqIhIfNDvsD6$U08u+hHsEfNwIVv9t%KCZ3n;p^;hjFO3NaeZF@Ipe}vQs zg>>zqP}Uwo(*4Y3MupfJr?4ez?^G-;?mH3|$V@lCf2x<~4gD*U*hM#ixK|V;A&Y{J zO`K4r%|IhWSWblUhsvD$TBHQC##}FOZ7m$k=_ZDPv4MfF?OOU49*(B4UaHT;pnqrH zU~o>WoT~;yUmNi&4NtEx)F2{7tR_qGtbd2BLRTMx$s@&>rrUzJ-mKy)C_0B0LjyO` zOko;Se^;Q!MM*)IEfe(?Zienmr|>pi`BeE=AgRd;gqoa5R}mF+)45T}i$xLBX^p^o zt;lLhng**xQBo_~lvKr1?_-`aF?%sn3Kz-Wj?-@Bv$v;M6G zpimmgI5)UE1-rm-E9-?`qi?bX)7<5$7?Pp}_Aj{lPY$_REbw+c;DvBFsnamcHB~A< zav@jOnQF{$BdaBXpNq$b7uDrPDK^JM(ovBFGw>e|FKFqE#9vY^8^E!AXp0?&+3rG? zf7xxZ1-Vp~mO-)8{+P@znAEJ;E(M0X2CGWEC{w!_8LTF}j4 z!|t)HVD8Gnof27P`*NZ>MJA&B3?c@zv zR${EJmUqsef-khyBHCe~E3g2Nw!c#JuK4)e$2pdSl#_`!8wD0>vV^RV>iT6Y8-} zlL>_b6~=S)X%l(95QksL6|m3N~&T6{yo&psJM7@LHrn^f1a#?0{|x2V~=1 z2zCYWEYjk9d%idEp&`IN1Nc0g zqL*Qt*X?QO^yQN>e`8O`jf`HQ{X#rq%*g``Nt3X^dt#!QR%o8pDT(E>;7O{{NCnD_ zd>ICZL`j9rifv9)EWF0b5n9gIzyZM%-kyA07dVMo_zg`$ibHb8mlTufqn?k&<&cMZ z$T! zvx!NtbUEnxSADUr3hB!}Lg0xlt+2=NQ!Hr;8Y?a+sX8R=sWp%L(Gb1oqikKA4J6>A^e~ZAKs#;$; zgTmtLbZixroGJ>2^GHQ+v&R_n(z4AcCBAUQ#%-uxY^m8mzTbj4$@SUFYpKluI|h3>s9{Wc&1s9Awf z+Gj_SE9|v^Yp4vt^ls+=B1IG2c&!Ga42DLei0)a4a`lU&HA5gGEH-yG(o6XEgS2&K zX^nZJf3QM?@ED>*D2J;_L1%Y+fY$Sp5ZEo{65YS1jF&LB$b<0Z3m~w4{RRhbIniCC zGdqxqw3~yp*kJe0cO?jpAma6y22ldSbWAwh?4%E5UpuLlAvGMR!&!rrb_*c{t7B%} z5_G2eDa*5K1nIE;WKc4x$D|@SE#~M$rLQQ|e{{*OR28lRhU0soNVFDl!7NF-H?BHp zYXRTpT60pVv-T{tC_0;Ty7@6hq-EIpo!Ka~#@-JlsWtHrh_ctr&lIsGilDWvu-j5p zPr{;*a(kH@8VQOFtDX2@e^;kR!MmI!YL??kCobcvC{QGr_HMU7K`V)7x*ts;zQ%)k ze<}~yr(*)r<*j_U>s!7Iz^Vb&tf?1u9)Z1=F4)&q28 zlB*vEeY}In*i0E}MSx9qP(G2Ylq!p8CWBN{w|c5LVB(Wy6?v}PAMJNv316+Ae=&5@ zD%PWbyxp74=Ybs8C%l=y4t<%R_jnXk8;Npe!ivzR#R%E{80F^FhIBu>L{(=jnE_#~ ziTNOQ+DJK>qI)wbcczdn@^J}N;4 zX!dSz5L+}WlDGk(skTsb5JO9AmU*3}gTAULKAh|G+#QDGNM;Ny)cTVjVZ@BPQ#I|Z zI@!k8YF63;X_*1Vr7h@Hh+C7mB~gAK%{*d&$k$FbJDZ5fYE4`L)b7@1e|d8Q()Xz+ z)y4u>5NQQ_hkCzF0EdWUY&50uy^^*g+CwU88vxOL8#|J1L1#&^N1E4!5^fo~hsPg_l$@B7Rt0j*Smue@`kGf@#5ZT0}DJOWGltbzNmZK*O=B16I-$rMA|P z%dzfItjygyc_2rXc!`T1Z+927ENYz?Of5}o9mZ+|tC27CjkpXPi=IMN6NVrn;|U?& zHGAiI?S&EQBSY(~f6`qvN^-bO~|sCp!8&Vi8l|@7UL>U1g*hR zqdkEw&iNVy5Zk{$n!Ck73AGbQS+-bc$yen>zpy88rP5NjnQ@_?6B?oAZ#(*R<0&ph{>?)(;OeI+}AZh~vFooAf@j9vaC(ts7DX+3{=y&dU@B zQrtGlyb4A{f7ruWZ$T5D!E{|-!BzH0+QD-({#cgNdpoiDj& z++;Zvm^}>7%igLftr>m=rc3oKA%$kgWRQQI7i4X;7s$`q_L$B>=@L$Ubl@q* zPs0g+d}@m?DELOa@#!{3M+kT0(|sfdQd?b=%cZg`Mk;nD6e6Eo{QrfDyUWg&a+^X{ zm&;gEuse0tg(r=$H_i*YC(2@Z$e`hJtSdpYqPDb3GAMB03QepaGq+0fqUyi z-v3(lns7j>w)Kga7v#)i@RxoBCH(pce@619brsOki7uxDx=Fs?;}Jp*VI2xvG*t65 z06hg!JuqR3#yo}~9TyN2MIFycFnaT}e;B<}yiEB|F9utJn_d{kw$Cldw5oWz{|P>f ziP8Fl4B!S`@bFp`$8LqWdjXWtP*T*U!J%wQA*EAr;g`g!IY2;p!UN0vq%BoifP{n$z*GhI9(BTL^y))_#jbySx8x+BlpYq zV&2E(fu(cT(!|$1n2nu+jgl(lf3O?@@JQ%KltS~95=~F3=4UxtkRsuGNU~}Nkj>fE zxo_nYi_Z`Krd1$NFt8zEfxeX!7L7zX9$ZCKevyKX2M9pbYM0Zwj*57R3RzI~1E}cE zWe9GmG7?z$OEyUALQPHi;!TBp{6M3z98n-1HN_S%!Wo;B9#g<*izfief0plIZ8cLK zFdD;Cr()E-HR{LkFN5?C(N>*`h{NrOY5Ia%pCLt5P-UgYXk#@>>Eec#X#=wKyAJ4A zktImq!y2R*1&q?sp@a=`Bh+>P?R+-+Xj&(`p8~LRBl{%+^9aJFSNt_A-DS8o!BBS{ z1}P!5l~F3Y^o8;UXSw9keV{Jg}rI|cL*DYuMuW4774rHveOe5Hm}Pm9YV#yPTv=_yLBS&tFAtK&Nv(@2R8!S z6Sc8vIhdhRX^(;;F-<5L!BmwjtPG^BZBMP~iCCUDMrzhCAo^|;Xo42ISs+{Bmr8P> zKbCbZ={64tK%T;6e-UxVUrM)Wwjl}5yKZqi3zBxGG)VfHLlkN^uTK$iG+n`c-i!=6 zyrR{S7{H~lVlJf+zeQX3EQ35PaY%vQ*T-_5^3~!6nGQs%u zc=GPDLag;v6}z}EJ88l}%|o+yuGU|R1gPNA6nu(5Ls|@~f3GFXwgP#fO_A8^1u~?l z>15qptb9?ZAh0A#TNDKLKYq{xRQnCcH!LXKK=!L#NGAj9kTi^NX%jXJwgI)uw?<;0 zgD?1%69Qr@qPNLlXkgfmW%wbA#)edcxg+12@p!-(0Xrz1&BFbSbH4G)p2mtX(6NyL57J~C^fXYQYes3MJ!tgUuW8Y zuzZd+;J<*&D$fM}(0y0o_9iJ?AiCywkDj0ZiosLNf2APG>&kJ1em%u{nfd+*$N(x* zpo<9&9dq-VNo6S_pBG(2@o5ft8^{V!8?Wl>O2Y!L z4Vdvde*qyD*MJU%z&wnY10@8pBO%GvK)#Bs8f{NB4lZ0!!b2Hl(JXz!H9E$h(a~;7 zN*)6Z+mI2B-v9(@OJQ)4#jXxO*Kz&S(uHz%j+S-~UV%xa1&;jOIzsdYIqV^z0hX$Y zv;)8eq?(G6S0L9iJY9Rc^UCq0s5n%IDbl2_f5{D{2GlvZ1IN0}6%-n(aH*(!fCVtu z6dV6QXLr(O8EC@I3ReAWCQ~u~j;5wDsg{wE=!F?HN1P1l3PA%>FOYNy7i^HGW~Yy= z;SQIMD`bdM6h`cDDx;mHkT9W24P<#A1vV59GFdY)jEF(>8sw6KhG$0*tKmmRJoGX= ze5R$N|9jDMp|}~W>b1p>ghGq7DbzOqy$QFpy80?1 z(PXluvvM;=u3d&TU#$t&1;Gl&t-LrTAogHm(kgc3iwmC1|wpL}Jjz8J9ZbfoV4gB~r{Sm^NW> z%iEJ^MA7EU0pl`iKXf3?#(~8tMV=ucRv(s%Y^{_9Cm;bMQIhJ2>|o2hEFhBbhnaVt z#sVVw3C9zQ&uWAT*2pmilS9r@ph)b`cQ=?BI1IXN>~Ej<&xe17J)P>Cf0wDjMOjyq zoMZsZDA!f|CUY19+FT68Y=w!%w6a3--=+vr0Zmk|6kK45F_N{#ltb#Clft4x0ur&7 zDu=nbUE@w7+TbX9oT$hq-lHt)qa01qM1O+xKF3ahAd2Ruoz0deEcvNl>N=Llv2dJu zO&4))+`x$~BZ;)mR$Ab4e>`j^I@T0wW;F#7J|Vf2mXjMNQw3Avt^iW^4eX6faw$}+ z)`T;mlGxi=$|8wt`Smos*c50;c*v??p2@eek3qkpz^Nq*87yuN2a2_0i^gEIGW8PG zk(jY~FNP}-f#XdN=b(Uw4oSU9w5@!-L}%yGszL?!s>VA^5Yer3f7lD%uZX|x_U;za z&zJXV8`b#q8|reull2~LN4Xi;)}{a(|lzwJ)O`KS*sAIww zELesEDTJkf^=@o&aUtZJNOf^D&g||miz?-L@pWTst(G(4f1|InUt2KSLTM70Ksk7g z09?U`%^Up;5{qtXB3_iIbip*wl*L)8u*c8BA<3dy358yTL8jYb1(+hPAG#M}_!#n) zU}#^fE+4(x4<2;AADplmP!UzIJg$OGC^O=+1{9(dLqj^7mQv)fbjY`TlhDXyrRQ;< zcPCzr;cm+@f3oncdUH4daX*nlH^Pg;)gv|WO$>_f7F)}uoWhuB7|djjB%q;9tdy8& z)^RhLSxwnvUTr3uq##XU?&Dc z@vr*i;8h<>|5~;sig4K#1uDzDpz>xY(rG6X1BVvje@XYo+m54*Fiz2R`ksPfC6KO= zkW>=rPAi3mDL00-K%0G-yn}U15&dfh#rv+(=L0)Pg!^YYjoC%6lOQ$L zx_1mwdW>O9WN`%mSQ`_{^sT%5-J7QdJg9M??&ebiozqg&C7^R!44NQ2rzHQN4z}dv zcvmAkf2V{?QG+Zy(VH^?-P7W87P@m%;roT|o)mno(A7!aIZM0~5{w1t#o9Bbg-Yu* z!4e3GImlCL22k5t0Ed_@C10BYSqD?F8`aSemSLIw)L{|=@TJlKD(+oD-K#aR1&HSz z(xl5$GpWM;x=|7UVnE3X@y2MT7MYCM2D${vBIF9@j1F)UUw7!;5t=t8wi%K_&w3k1F6MVN&sGaE|~VmwI^7POptX$q%6 ziYi9g#_q@*=1O0i$z0b~)lzDy%6%oF!G%OLH20ne z#Ui+Kyu+WNeONJtd>~22kb4{SKeUjwVT4??vbfq9837*(aR{THccmNyLM*8{ssjOu z+PZh{eiDH6J+VF4$vM(blfg#(B14nme?sVDcxr-06d-~{2;@wj!@=B6kPdBr4;8@kO416ihHih=B9D+y|JWJFNZRN18^c0}hBMg+rNUYu9 z^wI|4-D5mD7JaG-TMV zgCgxE07`9*(dtqmiOm@zi~EIyd}57bK+Ui7_RSg@BF`~wPR-t)d;$f1%*M+v*jaq3 ze;qMJ3WRnnvdbGd4Iog0bs(oSe@RxD4Fea4@fZD&gG3Q=+Mmi8#WNrqE|80<4ozk4}~ldZY=K=@seG$N`dRX?n3fyACtMVawSa&22pO3@6owM zdx!c4_4V`Rv)MC|av75kaqt#JF`gm>Ha)kSwLq|q@$?!SYD0twZ13!B3=L057Ew%A z#N%ov_#y9&XqPHAo8*UsM3k7j{Kun*(ExGf!vh9)`CMZ>IkoW^f6D@RjwGdO-@U*( zC&fTlpinA*(qoEjnF6;&Vn!IW0i>|(bTOY^#*C;tRIube85EVpf;i8M&?*vZI>GLm zg;xlB%t&Z#;1|6vVpt?2OiUMC#Bco?A>B)3;b2x$WdoqE^lr*6t|xmi%4#b?{KX5H zHy|kr!(b#riHr6&f8rw8;8Z}P{1-ZD(*_tPydA;OA0ZUf#9Vo9$jb;4E^bN|1G$jJ zm00P}MujqG;yJn)mYOCEK$2Ei6KY~)3s3|S&dY3=nP-QpSZ$@t1*dJJx$r%1_9sZ>0@ z+7hkLF=c*EsRHPfdC?T7qpBh%=?d+fye!d*RVDS(kV;T9%$upzDr>-24-;;k1RiTV zsJdxJRHfX)rNiMBr9c>z&4{qSy^=*mV9fYmb(@g;(qRY z9ZK147d zR$7L?MJdmw*cYRlZvy0&=R~j*L^-~dBO#*JfF`Un42JCH7F_2RuS+HA{?tT|(F$}k ze|#Rb6f{V_gBW6pdteuA9y@LES3qT4i)g2i7{t8T{NA>Wc`EfTn9lbRXC<+a6*y5^oAbWhJlHODG`m%!F?=T)_c?r6tmmnyQW@zSv|i-o zlH24S>*x4715 z5{$XP^PqD9OL`tlYLR5L%E}`iv3JG;|M)E1BA}ED=gegAOasl%ak4so_6ae}=5t=| zDMEixTs_4sJbC)$pWe^EdDs8$f7g?5-=98Nh1v1xlixpCMGQk+V=#Y;q}FiD8?I2= zIbRu_>t7+@Jv3aw4@N*HFl`NnsClr8Ih-78{`B1^yT$wW?Ee*a~4 z_}F3&_W`f9f6?37e*L1i zvA4VX;`LE)cW?8BpzAw(8-K3glP^EwV@x<_A>oJBgZFZOxp8oFp z(g2^V^mMd(idYp3ocMIQ3cC}GF5{>3FX?^%GYi8ty?cJ02 zzkm0){&(kV-)(*W-Tyjyf3o`I{q1|a{FC=T;m^O~-^%;XD>(4ut$p{`-pTvNtbO|a z84vH?KYeoY<%_=T%FXSw$?DDRmz(}<gbuD|G>`2v3vf52Rwgu{_GtzP*DxA04W;e z^@Jff+5M-e#QGyx&`RD74hMsa;flt%kP*1}utI|aJm+Mffd+Rg5XaHG2d5)E6wgP{ z5jd2x02de@pr*i?f08-Xl+a-!q`z1HhBuN9=ts>0ACv^Hu(MAQDoriQzoB=WPQ|=? z%1T&C*b+R*f0R|f4;a&#g?1*7(gQCJ*;RfP4&C(Gu7J2Cfk@hP4RkSHUZJ36%wi>U zB_sk7gQO!iSc6oD^d4SB*QR@(tisPghBbLWBe|`wA~_VDn$yFEQi}sNFf-``^tWBV zd9EIcJu{Q|Db#b7)bzV&cPdXiThhGv;2be9gHsuMs(F?<#ahc~$#RdoIS#(Wm|ZPa z0W2n(fB9QvZuuxk>mb%;d=?pq_&%lI@MA%?(ERA+-<`zc%us7NmB(&jpkU%DyESdF z{*3|5avr{*zw?~BjDRj_a53~W^Eb2aO0L{9EX>r|cXj*F&~w&$s$IO1vO^R(>e8fi zK2%)^I{|fI3dih;u_1B)NaX5&AzNy`PP~EjevL zMypgSmXj({gLt_04_L~RgD63eY27p2(qc&N0S%WAqk?*zjw}cncF=3|@*-N*StFLr zaGo&2%buMgCO;H4PI-zGjwD(=pC<~TbA{0Hg@lS3KT+vqi5cRAtGb2gF+PjGjKKc! ze>9_S70p{?>~S_sXNl-&F^TP8WSu?NJmpxhb+n?5R2j|Asc-)DMAMhF=uKVKZ_x#<00bgaZ=Hs zc!O&Td^Zseh82nhwns^%vLw9F{;^!bf012k6Mp!K3TG2HHUZOFv^zWGk(9x1JRwMD&Jx;GRLY8V_wdBjtfK`Wje@ex8 z{VVG)l$eKL*xgV{cv6c?#83qumS|vstQKrOJf3tFk5z-NuAA&_?>uKB9Z5Pd;4h{K zOLgyrN42?_^&pn<*}N=!*I9O%KnUR$#;gUH(dAi6^Re!sQsQG=YcBrpTD;RDhNbP~ zw}n>Kj-sGXcr(=)17-^6X1G&}e{F%H@K@#5_*(`W2>Cg}HJa}NOlPt3?fbkSzL>8s z1@zcuErp@_0LI?x!e8g=o9lDEx!bC}2W}?V-7BzpmrUfk@E@tQ1iEXev&9((vACmH z(IkrbFY;u+jCEQxhlF3o;63WV`wLdjJ<*MOW>{cOo}<@XAd$$8iEu`ke+)OjK21yl zR4IhNhnJ(v&aYua8mdFhwK(@Dv0vQ;qTuqDQPx_{?&ZiwF-q6!rLo|mBUD$9az(Lc zvt`i18D;9CAZ%j0h-@ZRM>$@{5nsxMR9jYE(~2t&G5whii~~|r$#t=aVUi5iX?*cW zLu$E(%o5DVvOpqBEmBaHe`5^;S;F)}<*;RSgoU2)$|8;@VZ11k_b8gWUZKRTwk;17 zyR<0mEeHF+u&8PBM8;s5!E8%&#%XuW~}+3>Dw{2fQY@ONXZ<=Ab;`AC38Hu%4`bz!3Z| z)3UpI^>0>-+nMt#^F*VxXEA)40^f+{C#&ad5;0S(MDixli(pEZNy3Dx6sRsheywz|89Vl09ibkKRkN$ zXtfviW3d~{dzq#8Uuo&4E!>X1lW(4USv`#(Fz&SKqV|J#f8Txk&68*U{cr#KD=J^35@F10>z7GW?)`CMvJ1?K77LU zk;UU7CKx%fV7|8)1eth=) zBkb)GqY>xKf4_aQidB#Kw+|knt@xWqU(_zY5zSz?_f|N3cwRkTdXTk;N2{Mgew#o2 zxXOw5>GqdrpT4-gfBo6Et(dHQeD?A4=XWQo`eeJ$p6{Z7Tj04qzaM=2`zMb+fBsm$ z=I*1PcAu{E@b}+;+WqqR`@cWkePjy~vHF6QCk@ zw=BWDe+z?;>DjU-2$m|*ZF8z)*tJUV_27w?^jYFBpnQV$8(h-tIsBu7i6}z1@O>5Y zH-@*^jnQThY;~p+)d%3 zFMM8&Zb#)uoJ%{GtUyggk!lM7E7x%T^IZ?Vf7mz|6a8%VS%j2s&5c#y6uW=}Hx+#| z#lFQ8S(mECPm>qHt0A9==+qxyApS|e2e)|@dTXEu>jxt55Xbxr(`77)CMGaj$I92Pt3Cn1$ ze}5TGZgRuHN=*MNT}}8f^<@P)eJb;cE+Wi(gDK|r@N&v1o{0U>zZ<6b>sfu_d1@kuj1UGuSR;jm$aXof6mpM%g$7OOv=n^Qh`@q^hBdpr!56%xLw9B z7@kK;;sZf##T<(2kCQ$M_{;V>R|Vu;H4tfso*2ia^hN}-+&FBvgMNFnW ztSxHdY1qlhrF(zWJkd_7qfnyYdaSV11zg21ITov^I46K^hFXt{ubQF$qyOiF63e;?pWb>{@0 zfQ$^wZa1HvFLVG2b?t9@i8VPa1d_vq#TZf}*B3Nrl(0cR*NM!G40Zkd|8Vx@{cYUH zwtv6-DHz$AP&TQ}&SsCIk!8uziydbyXXegG3PW)bIpQWRqGZ$ev%hmr70~D=<>bDf zL{y;~4WO|W3Wb7837Xv-fAkW_?b~RtYIivjUcuMu_9`b!Fk1*}v?Q$U%SRE!{UuR+ zn4cy??inqnZ6?4$(pI28Iu3Z?h(kJ>Hh0WyJtxg^0ybqrb{;JAYV}M$0Ho$3A}!^T zZXR);7|hSzF?{B*S8GfI)rJ7alF*GS-TD^LA3&-R1RG`!@d(4{8;{-LVJFwxZRx3XWG~2sOA37SN=GMn0 z8oX_iC%#o7e{#t;>bQtqnn)N)Vv}li5wZh~7FSTgdRO9m?QNQ73cG|(nOK(8L59tm z?Nb{ec?{hR$SEbF^Ln_f&meuQ4{FU`AHsQd7ufZ(+d{}MQd+Av0dA4|@7SR8jV-Zi zX>Lgf(Gs8I4l3JuOMH06R%o2Nul}PoZ-V9?qkLRDf5$kF$qe1Ob6S|{m9HPYv zOMJ0L?5#q4=3R;?(8*pz8qPhFfsTPSE#x1qprmnQa!%V^>aA%;&JmdNl|*k!@l!mr z-KIZqVTQikOR`8Rgyg!x?oL7tn|xS^1lh_OHjkk_Z(AI~Ja>uD<3x|`QByq(=~~U? z8_?vce>KO@zoJ>|N&GPENUZXB(rKY*=i_dW8Qje1n*XpbEIIZZr_5}>FSgaCc1rcz zOyzjadHr}7Xr|in z%Ua0Npr=#as8Jl5*MYuAM;&U*)Qk-qVPSVAf2y4L1WU!t^McyCrX4IsAv;AbWaWT@ zzzGUzg`l*xaSX%M?`!X%XwLJ{&&DPL?MAU_J(Gt136=H+zURmNlOOZcUL_P@h$|NO z*`z$`E?Nst)jJC`4>{Xg>*c-Ov+{aD_P!)}KmBXv9Fq3DfP7}+_gzTe<0sGX@@g?S ze`LirJ2OQH?H})=+CxgGoBy*E{SeV(o8YW`wvPNUrT6~o>G~$*dP?QvPWrJ=vs6E2 z8OffaM_bTg8ZD9B1W?M`!Ej>(~_t=O^%K zmU~9;sV#qI;qCZ&Pm=8OlL~R3%^w%vf32*Q_rBP8gyJr*J)uAcAZU+C_kRL+Ub2CJJ63E1f1wvQ z5Dw?hd&?UL#X*GQTsDd{IkCV{8&&>4cO(Y80(SVPJ1B8y5^H@z{%+*d&Fwju1=xzn zq;zqIe*&`frQ2=^*SNH%y*t7Z6jpc?vQ)p|0gQSB|Fv)7j9?}oo1Xz8P1g(p4Ef{M zFrjI&l*y5`?feT0Ag5GBRz z<~B=IXOUBDA{3!VMiegq^!fm;OF1H4B7W}enrkl-32zcdIE0$?ZQ9SU5GeY4$Yb>M z+qX4vk4P($7!hMaUC}{WbP>aim7@SlQ3ygB1m&W^seY?;aXD;)Sw&@`f0e-D;cbA? z7Sje~Gyo&_;&_3>k%01#A2RNsOE{dvE5@&M0ku*t2unC10UsPH5g3AnOM=zD1Af~W z)_M;44Di-L?VEt$K}dRxe{5I5#WV_c$lqKJK8G$+9`gyrJSf`>Q1$&%{;DCQX@Lc( zN7pI@4-Z#FLgdghZ8-)Vf0q;UZ2^^5qmF;CNgyLQUXBe|@TLnDS91}cLj@xi-Xl($ zeh^!jsWMUCsXAB`D--L+n_aoj*dl#srt}I=|ri~E-@S&EP&wR zya?JCFR_`JkM(J%VZD?@?es=T7%Z@f^pH~|)y1!ef3{1xGo%Czf67{L`LN3eV1nTe z`MZ?Eb|r{t*l^6PP3DFuG*@vROl{u~gOJr(P>&G$Wl9l7tf-a;tdWvpYgG^`@!>~K3;SdCII!>;6K`PY4~MvhR6IlpQEGy-ZG`e4dt!pnhfZJ5CA7Lh4Mg<5SuE9%?6QZ zCfmo8~C+I~<+hl?&L9>N+F9ALnCp4P~fl2|Bh#%td+z4Pc zfpnX{shpv?;6_bj!!qKYQA9BF;;JPoy#$hZ-NzxkO-*2PC7Xo`xBD;#jll9Y!6ZT< zP5?PDh=d*KX4pl7B9dku`u+~&g;rsy-Ql3Ye~Gii!z6}Llg==m$TXCWY0weHHXs0Y zp)l=Yw@S|k&4{4944``eRY0o0wCO>4VV=bgS=T%Zp8V_DmNFM2~ zZUNaB34bk*j_~V<;+hIWkWnB~f;QOUTjH7ortX~%c7#AP3dMcOJ)1eEwCh6xB-Lk|wtZK|u&dg-Z;foz^WCID}*G5S&&C zXVv-X)I*RnHWyKv{#Jl`%55b=jCTY#Tmu2Ylz()^IC}Vp1`^{ii1NGaLFc!(wH**- z(U2zrc^Z(f1M*Ek;_Kf9_H7%-~?|AqH~~F_?SWC?`02n(*@V2cb zFMkJERVe>NE*)U*cLV`3U?>0}w)K!85spBHOg}_KRSrBhqYUQ|AHDW!Y*!hchGIJ# zbuc3ma2O%rE+-HiGeFigMKT{gS32ZZqBV?BVpMYjdq-%x%tXOO&<$f4am?`qm}>*X zq^`MJUd+6Jnm--V9Kdh{j)4AKTQOuP>VK3tcX)_-uE(`&sdOu(&L|MkxG1O@OIS!* zgDN4*RUnJNCM_V?14YFHVopR9cDyp zI7O_)6>)f=+2~R-kIVTGY(ocQ2=1=v_HTxOY)lAmSnJ$;dZ^8p1GoSZ{Z>WSbuAi!#5EZ?m2CtzNw=lhheGB?m&9=$P(QFUFOdK zzR(fAIUQeO4~Gc?OOc&Ym-+P&d;1P@vs()Q6UAAV}G>E)*f^+bUUPR+4hu8#9Lt%&|D&d2W36r;- zy8ye54CDCT<7$LeWeDHYUK!uCO|t-F=$O~UqijUKzZV^D~X6S0@!qDtaX?gO}2u<=2!vdgEAHv0Dl74LX_%7KmQ2KW>URP4={dN=qV@7TvW zg2#QdLNH=bQR8ncX9)MI1!)Z6fIrHI4ftoeXXJ?T1(d@dR5`EYfTbm%%$m?;Vq~20 z!_g;jxI|2qL?J~l*vNX!6afrH$l3FL_}2_Y;hPEZBqJM2pF!nf8_B7XoClp$?}Y@toltzERy2Mv{V7ss3Y0%E8DfNgWL&_I#4quGnw@x>i; zlV^C>61`}TBVrL>bhfS?>G-2g2s8F9Gy;MY>=8B^B4Y70V;IY2EBG%1f?>))_9?`} zw*b#F3{UtPOd1aDok56iF!nr*o3jkbA~#=%KKkry<$ul6lQ*O&&tM!Qx&@O180U51 zm#u4vi;0ZuO(kxeDUeP`vSSY$`qrn>jj^O~%suRHN5_&2GGd)or5h60UP()zI z36w_-lz_%%0~t3j*?-iYF@gg@pA?`KP$A^-h)ki+q+{juxIn1SolYj!MwjlP?PIeK z+>lU1lz&~$IdYk}CX=L4d~yN8bwj^r??KB<$e_ougjrL5z;E!Pfl}BwOSZ|f9kIS@ zLV#n?jmtp$xOdSJa$RzL02*MzuyvlT?(j{9Al|UvGl+SeM`aZh^Ef6z?3~HPykihS zTiANSh%@Ms*sFanhYwf}bVMgBBUeP8b#S1kM1Sf52Feo$@?%9vKSA(6bs)c*&VXDB zgAs@fguw{pr|x%CP{F-E4B-OFFztp6G?$mK$vPO?uG?VPd zR};oygt#!MVvF9UA0nJ}hRusc3C#*BhGW1Xf0uH)=CbsKAZ*B|A%HmeiXoRQiJZE* zcYhGIQ6qHFHw5elAT{L)*{J}yPcj_oheWk%lB@L8tQ;^sZ+Q+$z;-ImSn}o8$q`VYdb*B zYH}%rgMKGGWDOt#odY;ByBBn z8xh@<`ifjWI%F_xl5y?lkXeAjGS4dkfm$0se451Ep96o zGs~$3#1W3nnvR$Wb1Or_ad9wvTZU$@27+GaXE4ubq;w30q|pG1j!bB#jSJKop8#?< zw`MSJmacJHxpa+nC4NBIROq1CuYY}Y=a3Xti(LAyRb>X~=cr1j)-W(KfO@)~;lJLb z^f_qOM}%);R^pr{=dL8ZUAo$u)}{R=*(I4ez$@bh8Uz+3+yMaKYLbxi1G9nO6FJBP zKyyxaEJpz#9K>)fWa7X=YM<7jmpy%5*mwYf6EbiI{MF?kd&ZapU{C!P5P$b0@g1EA zC!{0^v8m}(a?gp7J3-nAvV9=m21416aRdhb;RUxtQRf=*9P+Cj`;J(fU4ano%z)7^ zIkf|-b{yKfSbsT?-y}kS8j>CIJM|v8Y7HyqBF_RGUm$YCYgWT!d;|6e@KXaD-?S}R zgG}aTS_1=fXJWiet9?qd}}Epk4F>yI7t$4z~)0c0LQO`100 z+JYqp#Kip=C&rXnI%FB}_y=CLU)X@d$6{*)_O$SAhzGL>e)w8Aa)0OQ0|8+)*h^kg z@gPwPd?J=d-Z*2fUed8u1~dfCW@54!T}}p94Z;BBnvUT~AB-PzHo<y}i-|1sQ5yd#_SbaNUG=I%VR4GxJ=>#h2mXMF+ zM63*%C5n3Bn%}BZ3x^4|u^>(mAdS|f0H{u0nxJZ-UkEZ?mM&i)M?eQHpDsQ`0Of7) zLqw3b*?lgm4CcHhAP(gGHCIUE)D1Kfr85wln&rWc~+8;~9v2wbU* z8N&8+a~C9Z8EWZEOhm|Kg+qHI=140JhxW*p0|5y%HhpHvJrWQTE&4S2+MEIBrkMuF0f$#7(9`W< zpqi@%ImEm3@ZH$N8#B*y`^0(pn7IwMuvTGS>yUPc4jlvtI@}$`M2;5*nYTNfHbB~U zlPJz4&VSJc@&b-VAI3wThlZUanmXcdo6Zg$NK*-#a=PYD9E=D>!@LDoVmpUO7?}DZ z;7m@>T&2RPD?q%=|Gv~3g@`F5!l8gHwMv%`Sa$-+|A=q{9(q_%NuYi4hOEigP&$No zm3c)AVu{JY1MgS{QBSsIFPC8mJ_LwNV6h>6EPt!lXxS@bEFYp|E@kD56NeCvUxuL8 zXz@#qhWzPxz@w57nF>?in2v2>gc)0h1}z>S77r1|GjZi;joZ_SMaR2BktG3YWK1#d zighKTGMtP(h`r{l0ET;9UsAF?O1UTk^jNa`gmc{gO+<%VOH&jUtWILT9mM&NKd$i& z)PHJi)E}p4@kWv83i3QP8HsVrGe^Y+pzI{%BQPq~i+OU~6-#5#UR5C=mpj~7PQ#7B z1Qdc@uXxp2)1|O+21_HwmRt;nGPy&Yaf6x;);crDxKz}1Fy7q=ffj4Yb?Ijl{1ZSG zlVTZG8mGWM*6GkgrD;j|M|8o@ps52f9e*ky+!KP;N}}90H2}GHGoTHVbq1epsRp0* zVE4sQBKR><1e8OlZ=2|CR1c<4} zu5 zivDX}Y$Kn!I53KhELvXZIxq3pC83*JTfmw>3DGs}00=$(-2(IVE zdB}k1a~;*!MxGkz&8W8RP>;l4-eM;dvy}l(Xu!l9IaG{sfg4b$TQExJv8^P{`W*LoKzQq;1S!|T> z6Npy{h(6a*i^g#OtPvEVln04d1u5nVh~6G+?f`7aaU7do03mVvSbiObBtsN05$vWK z;yJf6Fhs3r4AxdpIK;z+e2cFLf~x?ArQIzqn!BKjvfm=~&opL?`F{-T88C8HrMp}F za~!SJAbXL`erd!x5!?v(>@xxdG^w8!HgbMUVQN$JCKmeBl6 zc1nUEf9cgx136nJLTLeaY95S9q#LP99sA>?YAPzMQ!ki8Z{7Lu?#7ND3$2=mMF0$IX#6n?@i7OoWq z(c%ojc@#p*RfJHoB1H2#3;`ua-_vW`?)n$BtK#QZfA>4dWPhafF)sAV-SL(gb`6Jm zAD(^O%e`{;sc4UN#U*jeH;es#_WK&HiyQyf`J=tHuYQjQmYuqG{%GxYUKW-{mL1Pt ziVl`mFUnXWE@-oHL1T&wnog9nBe%1l<->)~h6`}Q7jPyEx1_hgX6!=d<`&pX455H( z&|mZh_~&^82Y*_`0JnD;REOjj*v?--^1Q&_{Q`x8?a76V_$(-ag@Yf?)h|$a3uaIG z3Km{~VC-1%s16n+ix+OFVnK@)(U59!L_>r983vUl@Vg$Gz#DCrz#889mA-~I^rGYUWfd-)r z?CpVa>Jj+cdez@EpfJFii^0g=Ll;C5>n%5Gv9JXbO0Uj(hS@oDAsk+q{aMr_#*qc} z()y@PoH<`$Clba47nJqj3C#w=flb%G0g?bF05avY80%eY`2>hqKoJuO&n4RrCZ#O6acx zv)6%uYa^g?82Sslj0Gk$Zh@gcY=NQtz`#h&0)Jy$9FV21^ylG$or89I;n66*YiV6nk1#X19TIdNLB{wsSK>T?jl>~$Y>gI(hLOu$)dFi-{+JONa)6nTHICiM zrIWv%mj2KAqqDO|8;>5YRle9>|6g7O8hwYiY{B*4tK}4Huiscdr~`j|L*wbSN8B@Fdfd82CF`4 z;J^R+_Wj{!L$Bg8{DZ$*lT8l50yE;Q&ocM$z~4B75sL zPnBHpKWnV6kRK2K`{3>Cx9?(n!D33Vic~J2q9NM-wC5k6RGxlXU*u^!upuuxtiFH) zJo@$LgZIa8f3CeeKKW(;{lSmVR&!yV01UfV&t+W(=7By{_TQt{Ui`}HJAZtAc<}zM zwS|~Hy9sGHuA;wWxjZ{{Ln>#uKQ~qY#)_<4G?trCW4WQACmo!eq^tF@yiue|Nn9;x%%Ylx?m^s#T65;I(Zq@tYK? zyh?$+h1SYx1O^<9*(m2WlP=A{Mxxy@fwL@vGrLb;cbn20`1K5%;kw?mscTPXSVia- z&^k;#%f2=&QTWB6IASDA+lomy%evuuwA!wWf;Zc`UA9YG#7#ZY#eX<5=G?_xVivNX z4xYsdk6k@R^-;T9(M*nYIO=w2C9U&>&Qm%xYTEh6Z8a-&CtNhrnf7(lpzPoKm66@P z*+GV4yWQ0R_v%8{ak=Eyoj0_5EknVwS8LW}vBM|}vjbWPAJq9d@g5$tq&k|0bbkd)-=KHEUGNnSXYv<^e8}rLp|vwU^N1 zgqZX-4OG}QIiyj^u^}V6Z|W?KcIyc1GfViDn_zqa-du!Z81}aK-}se>z=q=ySg4_{ z1!}k624ijQ7B10m(B5e-#rJ0A6$s1>;1Wc$r%5qIef$c&9Cq(yY!z6&mk?-cL_K9} z-Hzw$pbM#%=zo_>+C{5=8xHkIabDOlf9BSfS-EzTmwSG(cd+hPQ}Nqn-iCHbMqNS9 zdBX&3ceQwJ%hWE1z}?K%j^AZST)SW9(?PqcHm%Kozu(0GSj8$%J;!`nAF03Jz>;gV z@TOBcx=%mz>sBE%z)9}BN>z5tJ&bZ!6|oxN7#Aui)o{^4ByfRZ1s^}02WzpOvWTm8*fd9`(G=Z`6G&$5w~0>(J-+b3 zOh%(e4jN|r7gs?*rPR7SMpU~V5VlCHoyA+*LK$I>iRFc$tW*ag1X^}OLh zxIaj+iq*ER+%(^?UG+ca(2h950dR6tf>T8y@7(cjdJFX*TZ!*6Lqj>?m)F; z{Ud8A(fYc|6h#(Hy`l|)o0qwJ#>1;#{pz!rU4MD9+{PXLuJMpq zF4~Ncf1ag8Qs$#sjrg)W$urF}GTI647d{BzH}Yo6F_K3(T4>HtWwT2!>&>cPb}D=h zrrHJ>C}rE-EZHrX`m}J7Wo8yxNLCxXObZ<EtWZvR`+ICZT`+qxg`+w?Yd z(SPDtrY7kwdemiL57>^R6CdwgW>x4G2h8%Aw5l?Yl1^Z}j5S{%anAM52pty7E5ux@`zby|Zt}3O%o^iiOAEGIYJY0Or z=L(xCjx=n(EYiVv*<~^rg+iC*aFACm5q~Lt4&!h})kRC5sNI;CJuBw1s-ZmG8k&(q zi!4y8#v~M};bzf{PKG6vQA%V5C3j>~R|VR%HY*pVq0p}Qm03%Jptfb>3s1_6(*>0* zoL!X@JzR=F>Bmi?Cv*%j#ESh?=uS)otxUrn-IL0S@WqfAHgs=$&cBokqjC~Kvut)X#pR!A%)RenF(*bXWF?%l$x+f= z=z4rMhe9G&{w#*#lh{fVZdOeYoshIw@-OLcsYLFa|!0NV)-C|0Bl?QN|>2q7)xCg}>(!kLnyGmJ} zF7~ul?94?qvRLv(?#jFnf|w}CMKE~Ty%1H#qSeWDUsO6k>UM)G@i7*~ORGh#tYmJ* z1xCwMpOyUrIXv}aYtheBq<_?cv%8yfD>J)WE^;UCB{P%xE+rmtPnOBx%f2t6g@%yQ zLe)FXm)!2lKeTU=WHQ6})zszdHp1*;Q|$8NxUO4%6o!cVUcL80mO(wSyKe&?n7ND) z?$wR_tYdkGN#(8~3d=a>j{;4{KN7$DB0C>iB=LmXhc2e5x;M}6vVY5ZjtdNQRfpZF zm9o%UhgKV4-gWbwR-<^H@N^P5W?jSEiFjXFoQ5z{q9A&`okWJw`>XmYbz-$br6LFUgTdY1d*CAlXn7^0skyRtq}wVIIa} znng~rf~}@O$4bbrXMdNMi{6>$bF6D1Yq3=}9&lO7Vl{?Dj2PJwlelAG-0fpiSFAz1uw>S z3Os2gruZaHE6`wQ7_U(Dxb&ny{13&+IU?o_)znfv*o(l3$A9}oa^&LYi*6%!p{kQ_ z%YaBDGmbc7t4<+ck`=wTsTKib$PSl&>3KAJ_=?uZ^RkF zFRT*5Uda2Lr%Ne;2NTV|fv9z}fTl0fn|q5#J^b$UoL?Ui^Ao9sFNt)|d@IC4Fck{0wOJ)5(6a>EMmzVmZdZf z0fBTTF3A%j?~deu?qBA9CqIJ-mvo$=~ zl@cLTu75mf=AzU_zNEtC&u7oOm+;sKpq4$p%MFr{a&@qhz*YRg6NEG7@uo+ye~y(* z_5sY3@72ZqgZ#U>4TYqMWRJ6VnQkKc!ggpCOAmfD(Xc5*+?y29(4L5EF@viQ^me#- z%Jx&izH3j_JV|-R>y!+sny@tUC)Wfz#g`|+SAUEOqqvJJGhQn+MQ#pa=f))K-k%(c zqek#&8FNCYpx_S$7xtdgZK&)k?%k=<@+uA%%Ntmc;#_6)vl605UuPyn9K+@dBu3!A zVW6}d^H8AXvQvDP%R=#CNWDnct)0+Fu(8;&m`u*^14^D2hLT7P<6j_TJ9{}oA+o{{ z7=Os#V1qX_+TgcQaAacvflV86Ig^m$swSburS^#TF>rbBZ`q!%U=kO7Su`k0%C&7H zFY#qVkhV9HnbQ1Wo;07&lD_L%#ioYcLz{GuC`OKrGg5NvKUuUX@|MzY&{d?i-)Z9q zEt)up-zQJ}yll_OJ0*EHWAetc3k;CXsej0mWL9_I**0pSH9IBtoSZ*4xD`}yDXX4@ z=2CbTnqZzB8{#VR%0vo{GXKza?u0m@H%o$VKB*m|@2Lt@eP8o;7ND$r{#OZYnvI zCz}VUb#!Gn?h>iuiUTZD?2_1o6sJC?@w>4w&J%cqC8J=;gGq=hpNv*aHx>ePoB{_T zbtecd?(nUy{t_!P^T5?@z8QhL>wl3F#xwbN%7gVZ!#HLwN90U|yG)72Rit~%D3T{v zVkuXV(ZpFROOKp)DAFN5f&FJw;?pxMMWF1wmT7`P}+PsL6JyOkO{XLlK@d2+egY*73jrJakeMofi2Al@qZgb*Nhqs z>h#kg?h39_N5&#evlMWQZo0fV`s1XVkzz8W#4JWnIyWWMuyLP~vOW5QYUe)GO%m$z zUU)PeVfVFCJF^P2MHD|tQA3yCGZy)x;-TI6T*Vba!Ee%@*vojDE*%DQ{xAsUi9wK% zr~1HX#OzBVIbktwhSV6tReui7*_%HpA0tEosCh@OmT119f)IQv81u+Xk+Ll>R1YC} zlfDW@DM<_pzI2lngOrJZ!f1t4?R~)v}f8D(<+B z`Y^<-x~zthX_xoPjrEVFM?Tvfz*A}NLR+EkAOmeSclDT4Cf(;H+B6Sl#tC-LSBz&TZx+FWg0YDO&JE`Al;ZMuWwum&A z)mUj*`=C#!@}aKS-^KN#P+5f0!Lzf$>9b1te0{BWb?zNb&*v}Cz3Z(!iLt%n%1c@@ zX9l7+Ij%W9MIk^Ndw;Er^Mdb`7Lau(91fa^4_}}7pd{x$9G_TwfLzzI?V}rDpre+k96a0hn!sLjd6zB{H(%$24`Br}vaDrjQxgcFU zje`>L;j?Ci`u?zEF>O7od#*}rxDYsNEwhcnVFsK<`CO*f{#Gtm%R`()`@qu(umN(_ zovv5);qBaquYaSGQ1Bgmd?ATk{Kad1agu9gyTG9@T-|$yrXIW7Df;y}Pd>1lz0lh@ zF}3=blkN~s2C9pDT3`O-btgEwT{uHh4rfSk#cx`Mv3GPsQ_Y4#9@P85TrBgoVvFbL@Hu7h>`RU8y zm{*#~u_&B2v|~}tcr5B*{=E4|r}AbOzhV~y3O^r$J2f*)5yg_Hnn)Bcm~bX368oNgqHQ9jk7q|W?V?2 zb-~5Q;+C|J+<~=*{duL6v`&)&8y?x-B7H1$Ip(z zDN)pKX944zt>n#Vne4?{<+y?|emx5_X>yr!Hdv^f=lIk58@du3#tmsujCF`f#}!oFC4 z_J8qHmS#PdN3tztW@E$e2i{v-d$zXs3ytAWkO24s7t%{~fsGpo1{2*T zDJqE{hk+1r{l=_FX9Z`bT#p4X*c=SQCnI>)n)Au#I%@Z-h z+-k4^UFRTl*5wX^leX-6jk*r{C{s8v#&x6^X4>l_p9~oVBs#;{CBkh|*9ig$-hV`M zRtB%l>4}ObfhaW;Q}Q3VQV#!Ul_$^hBL|xCY_Cj^}cBFVBg%ApE`dL)>pPtWq(sXuguUX z(IC}U2VKd|#^@a9SVE$=;uxKsRY*E(_r{jy9SF@@Op1O}{CLou4Dni1xqIM!M^G*M0p@2%{A9-i*AWyvei^VNZhHNI+=E0q z^1$MeU^NMi*){}r@y3I&T7M9(Ddjbe{e)<^Vr82?*FqWAWs*}IKDI%C5)r(0WYch1 zM*qUy6MAr6pGF0!-5mPYp>zME{u-l`~yiIB7 zz>ofLe}^`p-zZ4twN*FmWAHNBcxo+rvs`L>$4?2p4hIq0H4b}0+kbC@9^%6%M?{lA z&rJY4$Cfp2kb&In2uJfy=>12%H*5V9r-n3zxTMNY5Bm&YZTUra>fd4hmnZ;Qpj6YH zb`B+eXdzeamY--P`B#N~gV6?pjbGxizU)z+7E72O42JvE;pz464zZ;)vcU`1pCpZ_ zmp4y0ch9Pizj*ZJUw?o2%i_2H*~2;xhuddcTl?Epfp0U)_i|rkgaf&Uk?>+m?si7_ zM(zu_M|59)OZO|~TDMtKra+Sz)_-0f_A{UlPp{@N%p%=Y(s z>&ekkpnSb0%D3Ns9Vp*^|CE#$S(rl$bNFqbJlWb}S^yy}pnuWU= z`*Z|i`91k2#IybKfRyc*Sz22!?Yko7$WjN$C@KvAP}VE8-6;~dtgJnP;fV{?pRE;Z zS*3g@cVF&HxhnVXWC%6Sw^8e8 zU#Q}zbic8(i{-nsrNno(4v_ecWou{qJ9?g4*r&`RYF`cR+wWu3Ik2#(7*_mu@?_aU zMY4?mpyi^@tugE%ENb06Pvm*Z7hisxRp$3rnJ=HhaM_=I-d_kyYw8J%?)D zM~6?J#yWq>>Nz?*!nYqCSu96KFWCSNQRf$6X`5dBSu@MEuw3I>YDFh#MHiJrYefg} zY|_>OQg_lmM}D0S(`YP%Nw`8r!zTh8f5}0W!iRd<#>8;OiYzDMpgdw-EG6&N=g9R= zH(F#o<$nPNB|q!$ls7Hfs(7u77|C2_0~TyW(b^=&a`z5Dh{byK)3M#3>Jc5kz-VWK z|M82L*rmUezO=l>kZ+;JB39@4#YyXO){1Xxlh%W|odit!Sm%%r`uSuZH+k@GeguAF zPk%l+0F!N5`}yQeeSkR_1&5;IODv?5P#zu&fq#9ibQF9CFF-b|}id5PsjOlY(EL!nK)%Eg{7`hSu@ zsd&qxsX?4%7{qfMkUwoK9)7(1wEkEIAcshJ)~dY1@}h+;BbqHbuRVf@qjD1bZpO%{ zePl1mL$LYt*&HC+Ebg7_WVW`7WlCJfEF?OpQTpSHAmn_6b4RYny+N?s8&h)6)5)^4_!4voXZ~3%YDT zm|XuLDjDa&?wy|;3*yrxZp2^(l(8gU^m_ z`FAlXzq7a0@->-lsfWJ$5K?{g-T(f4I1CgIAAUUigdwf+chp>Gihr2#(s|`BCcIhx z+u{KPJ?nex^&70v`93xm?Tg|Z5;l*LO^{W)UvdBOeZFLeEew!opOV*Cj*xgUfmjNE z^Lbz&4ZqBZ3Gs^!SYJoMJj`A-`*rDiCkXH>KJ#vhBoOqxavUd(7N;2Fv2#@N`u^&*hbc8y-jDgpyC&1{PddL&F%6?o&p$msZhw(8P@oO&*OY%kC$nyN zku+*@-IGVpGL8bSq_;(wQmPhkF$ z#%GJbg85B`BJu9_oDnWvd{E< zQ--Xsua`ShFscZEf~e)W>h0t+pZHe%Mii%}+6b)yzO3>h+b9OVj)`XT%T0XqnD!tF7jVbF-#LGg9V+5L-ZH3S_w)R|LI2y6Sj;1d!7u*|z zO?K2wY=4T@5s{K2Ia!&UWj&}Qt?V^u7V0pepP@TjH~V-`Hw)8M5_d2-O96mS0G|{q ztm)+j>gU*(E8C#@3Ku!IOWo;4U@pR18BEWsWGu#xUbFmWy8FYM>4sQaYy)S^Er#gn zM#$#wk3L|7Q(~LBcicSZTOkDn1?RMKpjjH36@QkqeqPVQq*eD%IHLjjHQFqi4k{j9 z4t>T`{3%no^G!+T#tL!d%koc84IK2MO2Pho_qMWcDh0RmN;^?0z=da~QqYbn1-J9( z?LSa3d0)Te6;~&|d$)S+p)o^xNUgwbf2lcWPK8Q-v@+#VOE~=oN zJ%2o{MFpwE2JdI@aQHHL=h^vV4yB*DAOiV=9@q5Ymlgl4&jp=91kY6@a|10JG3K#S zpcQg!RrqdR86{PC5vp($tMJ|Y`DnQct(Q!9wSigEo@VJzSJLC^d2Y;&cd2zYfAD;B z@7dq}vita9W#fMyeN|ou@%$XZfqIThH-BrpOX@Z>X#D7J=WdqRJ;GW1vZ(3nfRxqQYm=~-1SXZq|TM?Pz4T)$_DewjQ_?30zN z)07zs+4c7TlZNZ8&{v>_MH+O7HzcA))(R}{@DCGP{uZpTmF`;FjZU!6!epFH0DsG? z-!9VY?Phkwhm}+$_t}pM4?!(_z~?f>1#;!%r&G2r7VSEAidRXWGL=BAKP19J?Iy()jTsVHc(oZJYn=r}t<0Sj@{CWS6 z_@w_w+qtkebzFP@tL!*#V<#>I(v#B%LZ|^l+yj^gL(&$gE6F#3Z+}RZWr%V<`}_O< z*UapZEF042J$|g2*|TTQ{j%1Yb&)YwSp2Nor)fC^ujb30+w~X5eh#1Oi`8ev>LrV7 z`{a7~QR^6=y)r%<zFg5xKg<1Kg9h<9JLaKhm^m$1USF$DJtdpz@bRT?H$bWx^O8u6VH1UvHA9gUZ zait%(^<3>Iwo#HzvyyIy1q5{co97drrnu$iYEW(}j;SREF*VShxk@2Mo2}DK0ii#e zj9ViJi7z$ryUDZ6ehMd{xm{$TLY-E!myoznC70;B!ck^5MhC|-^dQewv4Ldw!2T(A zY%(J$3f+QtRDaBzftO0rP6+ZM|EA%a+<-tRHQBaa77t-HD~HARmLGg`&E9M?S`imR zc@PGoA}Z*4?SnKHl&7$D6;DHy5n_!aKjcp&BNstwN=clu3Wo9;v~antheOOwgf0@K z(vp;4Vn(faP4lcgu_l|7cYC*Pg)!fFV#ckf2`C6WNq>yy;H_J>;2K;DssAa zeo{9cj@2~D@~wmd;w}#L+{I!q1hU~InZ zC}{(Sn`N3WzVPc~JBES)nlq?ekzuAO_H%||CtF)8Fve$F9GfD^h2Y1`T8w5lYIKvD z+*A!Nbm8^};i$$@>k0H?{l(+8RBk1xcYoy)^Q@|6Uv*m9HX@xVnX9jVs0Y)%DAeF| zPS^WJj8y`rc#(^$ow)0oxa%=--;Gzg)x=%P6SrF??z{2r?&TBr3K-Z}a8Ma$0O!Fp zS!aq6xNu8Iu?TJ~woCYpvTWSy^U1Txv(tre6oqd@A19Ilb@eYUVpAW zelmHowz;|bXl?TH#m2_t$;*e&SD&m+UaUV^dmirA#?NcdA3omrW%9R;bxoVqzi(|m zTU&cDdA_#!^2yrPv*#O+CJ)wEAAz&oXGAWcH6&U&G>!{2xH&anpR8_>>Eyu%##EoL zPo8h+s`=%{77vn4#6za6aJL!OhVvwB~q1XmyY?d7H) zpGsU}_1V^A`S+f$t^N=G{nf{ymJ9cvDhWcScAq|2msDqjAFe;LMM63E&~DqBMyHbt=w;L#g)pROa4O=#oc!_75Sr5JOHXvY6JBm;uaR$sc3&z`TT7SCS% zg!}wO^u+U*YG{afEAT(-DtevQ~NzX zbNFd$!Y`}qO89qv|KRseMSrPcs*VbO@%-_cYxVLT;pn&r5&F3lpZZi{>go@rM>Lo% zIq$`<7CeT05HcfJ$=>ny{aESf=Thu38V5PWIh0qp)cKFk634$ati zf%Mce#=;M~@ap#Bn`!7$HZw2A{^?IUdm_gMC^`q0`8=DKvsO4ir4*#TTxQR1PnmZ* zW!}Xp^JKhoR-H2Ae1FQEl~d-)`1aZ7kSi=oB~`XNTcd%csSuw!6)#GJwh{$M&#hE_ z%TcckLyxn~b)l^V3%>f=ipVj7E_?zV$5uwt8xD52PEj~zH2*_bXiNA*63Y^H4l{Sw zx{L{2Wu}0zr4kf^AKI6B0`Id#m%`bqpdXSJya*?y-UPFjGk-szOeRD-Wxa6AgX6lk z>Qpc{kDVisa-+}3dx$P=B~_Q{DSECJ4zmfeP-F=HZG;jb0c&f^>T#H)67Ji{d4(>g z64*jWpvEZkz0(#l25LeAS}9s=(qUpQgyOJ48STgqQ26$3s;`@=Er>6`(4LjoCz(Kt zPYh1!=KxYcIXb(JddmDTvQ;n(!TkI%2X9-P(5fK znaHx0EPXkg`)Nu)e71O&$t@AsLQ7ko73pcKGu%pc%2I5ubQ_auT0JEsIK^aAQ2P{v zFr9DSzw&d+!_!LSGBoifrLFs;Lu@N0&Cl;xBF9_Vbf#q-wnBgTPa^-kMPY4>Nz(0; zEvSi(nnxmOT?=|oHkj7Fm6&KjC#ss{U{wW#8a+La4sP0(X*6rA^z@*kbrkmYLPAkQ zBZo{dvL?yU|DV+Y4-c%wNW`MBvx(7wPyYiIi=uz+F%g=#((dALdh_NsHy4QHvu-j~6ryFBmSu;Nw2^17n39qZwnfk- zCZmT?&g6O5+Ao+P4>DPj4GqnlIRfN)v&j;~+97WLe=mP$u0?LAv!&n*eA5^2aOd97 z#xSUDG@H+Dcp$wpt(eV3 z*IAkC>l^fOT(9}0pfFZy=r3Vk%uK6QE)`2uN4>LsXK8PRo1Xmr)^9Dtd&`kk_zt9_ zNo-kO9(8|1wkDIC>b+FE=?^lK*y~^a5Nv-UD(x^85UTz>P%@ z_RabB-KXx4&b3?3qa)J9FDfy`n+A3H;JMxA#40-Pwya@7h-mGGZXSzVVN3p zphbUG#RnOKspw=GLa}T<7ep7ek+eD<%08JkPk_XDZnxgiFq8v`^k^(Qcn^GK#{~b)4B}uaSxtTrK*Q5~>fh_{tsCOo z%%IuxoxL?*F|4M04J;;iPQSZ3_4xgt^CN#>|0RcCatAd1aQ^@c);rr(;v3&r4{feW z-M-RO`!4F(7Rj>`v=O0hB`iGu!t{t|g(A-B?u}4cY1vLVjZ&3L+$t)G`#p^a9n|?5 zm6O7EH;oT-V||E91Q8#0uzHkKkd$!M?W>vz)iX*MlGaS}I8SZXVEnSvT?Jr2?6Q9f z0tn739oD$}%V82*!%BXBE)cvtWCag7ViS`!o%8%8)d@NL^7(oMVS}M4PG;vEw~Rc! z0CWj;xwhU_z4UYYI#G1XRJH}BNZB7g)T9i=Bjzc{#8Bq84S)F|W}4L1Ztqa3I$W%N z=Zn#lpoFIqWN2pug61GR$J%-ZduV^R2u0;^8yHkeDpj<8SrgtPz-TnQ+t>)ohe0|ql~j|-x(#Gb^p%N7`9j6ZQt5P zny*MYA=I|;!}W!4#yhXRMSrJtJKe}fPBRu|nM*-jE)h3&m+tQ%bGH1&ojZSjx*_eG zM`FRs{6bKCjlutLT?{&Vcdq}?;^ii&SI=zspD;?^)O>KH~>9Q(; zS^kC`oh!N;{w+b^O^Uswz_t2(#@2g?NRyLW&7ns(tg-%K+oUcw;2 z!B!zp3+>leF>TJwylJd;7N@)MA?7SdGxUYBNkWMQlvkksB0)BizWJTdA=~<6~%o-4Bx6HF4uZ{G2^SL z81ssKX*CoVln5j#u`Ic@n`On)Ntxrfb8UBF5m{&-t%d?M66P1VOtP#N^^(+DdH3I! ziE2p$^8EUJP8q+6{_)G5sf8Q4ZD-;Hf_Fk6iUgk7Dq(-nX~SPnUT-f$&&UaWy}9yR z_4*sVo=QKP_(G2Ub>oie%8ankCvcfK(Ah5@W>NgpvV`1iwob zHMLAJ*UW$N(yknIpcMWN$uyy{WX>R$Ar+gFg{C9}IcFCP4X(OpLi#Ub2csQ;)}lPN zOmy~1F7yCSiw4%vI-8{WGIg(77?ep~8o7Rp=Omg#s8>bf$B+MB{B^wZn|5H-YeONW zZ?~^uI`&;>ALc>{m($4-biOc6T7t~fE{!skv>$&>FVZ^KYBe*EU({qGiR@D>$4 zOiRMEIB1+u^}bb%TTImnwJv3fa4j|gshychnkN65z;a9EmBtX%v5hiWs>3c*`41xi~uMA~{7 zHc@{iQgvw}RQ*T2K(nWbpnpTbL>7H)Nuh6j12puFqQgDhst#R7+?0b`zdl=q>tU1A z`ss_+^{1P+Uas5+wA!RE9(lQV@4d5TmUccPItPS6Ckb3S;uNZVj$S^N95 zPpjwO+?mz4pTNSHp7UYO3{YG^66enLO94m`JzG`$+M5_{sUjDTTnixne*ss5X*7Rj zxpJ9mjte@=E{X#lUbFAo9A3jMpYN3dwo)26CT}^kK-2{qinG{q7IUz%io+sG5xMU0a&$h%ko4`J1X5CfiG}Afr zTaKpqEfd;t#c39tmRD(BL7F_h4|9JvyK|?8G*na?+ADZvW{16cS6z7ol(F&?M_9GN zyjr>jummVppoZRjnxaUJi3kY!(;9`-bxFC`7e{g21r+X!q+?z;FWj)|O}-`Q%34(@ z)D7PGH?4T)tLuevIG;pVgGht_`KlONiOov-UnJ+S4^$X!FImEcak2dfKHYzGpHhfq z7-VUCdH-5Ebgs>uF!Vlzx8Duc22`5>S|s$cQsSx=t(x#@rQ&qEZ*l&c5G9g2TQ}#E4l@L{*6RAJiHQ02Az-uI|!F>ylD&6YRz6?DkXs8900KWaIM(w(}57y`RLD4=^cH?qEvCd|c*2|r5 zS7yc`OQh;L>LRol7c~JbI^4tcHGRIRelWh%TX_&S)z8K&o7GMA{d`lsS#GMIjc;#$ zLKqd@;>_bYyNUD^#@W_-snnuk3C4Id>r@N$F^*i1OUU-Svmg+`;wQQ91#hB@F775vAH#A zYr{_)TU0`|^S!ngw(j8?a597{&~FpmIj3}hz5bD0s@s?oplnZYj*o`TBZSJD`}egA zJlff5Vrrq_=3Vm)+m6hdB195uJSU=z2S*up(YF?ddWpzFt-(LG1-rmcbd>w>oVS*+}Xu}Kltwe2FHe@z= zVduI`Y^N}O1;=w8X7K`BlM^ABKz053kD;9LC_U_t2f_ZBS|9P z*2U3$y|nsd^6Uu+%0bCl?;Ti9pTh!HH6hLED`o4xY-&EJ;R>3AuQy+RY1OQA(;j@{ z{qZN>&z1$~SE7zr&_a+t4?eWdSDl+Nz3%JnSFg8WAzE5OBZ)%aEUo$KFdk4jGMSE8 ze)as}gTH?9<(s>IwSJc>pO<%EZLU9lvpjkAhd-i!qe}J1pGd=9pbEJv*@o`%K9%Sm zgFZivS>&chHh8=XKso*fZEnEu6%W`~(j6o9SG8`=OK*0r|M2=c6rZH;FsY7db2BdO z%;qsaR@k)l?N0u+{Cw?+u^8(Qn&El-xj)oVat~v`z2@3~Qwfx`=lEIo64tj;_0^QN z5NQJ8sPwY6Cou-O!^X>?aS;uAw%8kV(#Qxb$6z`M#q%x}nnoP3O^|z7=|8GHhx449_E{|JlkaD ziv-;8EHR34THpi2G!o$+X6Pn9Pc<4gCO=saU%}HpA4(ttJ|=-D1xzvRxPn&_AT#K| z-xcGN(JlfS?E$&~&alTE(@|Ce=%aL=h2bB=HDSMcD4*{d5n(cbHay)?nBEOY4|NR* zfovdu@HCppV%cs^JMVyC)Mf0dnWV>%3F=Dbnek8i8MeY!6U;#}*py&8BtlF^B5=BI z$1NH*vK+kQHYH}p7R+L)No<8-kR4!t%;e+7jEqcl*#?t29nC_axbmSxwc`zB2O4VF zt3MRlCY1!Nqk}$eVHSC6khy1rRGBc4oCF4c)jl}qq!$02H$8*HJxM+{J;UEU$u!`0 ziDpeUSVd;B9?--d6pW@fjI;rZ_lAn6d{(j3jhrwbbz~$ZFq>&1><#)*Ww;13$Iugi za=_(UG}7#6fIny@O_UWyssBlqpmmkzgqKn=0ku!}Oj#@AJiIArQjz)0E*MeT45u>Jz7?5!u1`Vh zyEUKkW5Jh?1HODXUKv;L<#~oL#|6HBd^o;6{yf>SgTxqoNU=5m&X$o$IE*SHA)aSgOQ%XqvIua+&EJ*qz^5*$5|4 zVxPqAf)%YPUvy3_y+J0ve;k(nDPkq5L(+%2Zao^} z50V^{yFR61AtbhOimW7?TCpAWo8XTQ!*Mjt#^-a_@z!R}LfFlkdb(C*V?8XreHC<& z2N*psA+s_{^MWxgBi=i9SEWjSdV5l-Nq{E_J7E{hW(nPHO{FXZ6sc&KAdVmrDi^DV zDIKMQ?Sum%H2H8}T$)~pxE#xs+>tgyJ-TewOlO`l%H_Sc4wdLLj!&R5bI=E??v&gZ zCt@!#)tc$stdY?h$ygtgz`XSPgOH#~3TU*|hR&kI!R*5}1ObO|>V`;vl?=ay0vQv3 zU<3_gIQ65BqwQ8+vwp>*I99InUUlBKuf*6qi@DTtA_J(L=?Z-MHm=&y%BeW`ZRV=; z=X)1PS7)rC`7rN15qm+QGbTsFK&VE`(hh>Z+?_E4rTZzigA^*Nn36iEkf=!Nn*?c1 zOHf$q!kcRmoN#!)|ha{`j*NGW{kd#w#zXQ}ua1RbP}-_1^gQi%-#1 z)A|tR@zV>b9{h}}OO#tClF|i@maMHa8uxe(}iM(qGPe}sShjA)e0bMPB9p(E_#yLyY$Hp{eOgRn- z``IL~A8dQnhvRXQuqypCWo+4~o`d;qz@EwAauIVyKEAfE>;v#U2-u_2TR|hm*WAFDW>hC5a!67}dl~zF7Q_Ew0rK$&A zk4_6KgVIi`NQi^Op^$Jg_!Gcr+_Yx#!UDS`Y%gDb_cA|@vI*^W*c}G=R(zI+$J>e< zdIwXJAT)VC#0d)}ChI^f`t%HmWU0Jih@@V7)@x7AG?D8<4n=fow91p zis#GORup!SMq!Y83N$3tLduVxPeHXBEfV>Eh#GE9?E}NDYGj94rG&23hEOhIXbjOh z(LnDr& zcClKBi`lpNa+5$3!oLVWWizpnUp&<_eX$=Bz>B5F7n9L(Cyv@xr4$_`QT}mBl=Ez( z2B*iGAdA&#E(W;haZllQoP6!mi7f6{Z+Ef#RzGvloOOC56t32>klovdqyuSxCeJ#B zGp!?XmJ!G05Ek4es_rTe5&Di@U~xC#%0&T|v9mKMk$l2s$b#)S8bn%9q&4e(hXH2x4T(e%OXH$yw7`qtC`z&K!{<8HSr1U4lIZgy@a~@Ui!L5`dhldT!mKPWFlb3mb`qb$z!HhW3 zD4L=K_07f|4=$vtqb_EDH7BPF8C}fh{ZAGV!5%6ajopqF0?d+wyLr-z`FZrW26a^eW46HGxT^$lG*AhuCI z?xZQ~v`&y8OhBiC*ccDJVT)1|mDFK7oF)*V1HsSvA**a?AKHX}ek`e7o@?PyTL)K{ zD~x;url6CiuoI_n+q&E;m6a5eMOEVfQ82*7NRbp#RW)tX`MFB$=kmpF*1x~FTMbwa zyAJsw(${0Q+YVX^#s}4~rEm;!8Mp|=5Vu_x!IU$=v73PHeXAlTDwMG=?zWW=9W;x( zNz44=ZYd!`QJuDbga}3n)v)AnB(Dc1KScdo&?E(;bWRcoV%fb-)*28tU-nMwN6%21%Ndt)~T3eY=o~Tcu=BB0gfTCn%wCD;$lUb-{ ztRe$k7AI@gB3I?az)FiBN2RW&tp?K9aqWww#;}S>V0;yS^Kr-hm1#)_LlY;Uo78O( zv8Zl_uX9bk2;dzmMhX=AgS6%uS%yv$bOfE;x~?%k+u1whGFONox4K2keTGx#ePd-o zmC_)6HKQ2(XNb+d607bqgcF5>inTeH8aLWYjls0?s(CDnm+?2wA#cy9SNmLT?Jd6- z{9@bRe6{p{s*9$`dp~VFcmrb?!iMJ`|Bkew6h4SotmY8Ax3u(ol6Q;QD;q_HeKI#b!1$5+OqO2 zSKrJR{cO;75#=tgVM#zwfm&PiEL7K8{fa98QdIeWmqC?(G+tS)sPY?`D!*E&@{h*1 zSFbS0hw9v=EjS^NVGb*NQXhgDGK`I#vZ0)Yy)qtC6M8<}~m+HS`1-iUg zBE^>r-}Lhb1eWi9S-!x+KT?<-!V5D?IqVQJ=ld`3l zr1WoA|81ty2OXEKvZZQ@YUca6N(JhLZO|@4K0#uR`^ip!01TbfOD2+WO+da#8qPt} ze=1l>O+{IklR6S$TohS&=w{1Ph7tRHI{JC00PtOX_Ah>|VQ+vYAPdNgHo3 ztf+)Nm~{W18B{8wVqDIq(x*s^5uBQHExj@EpP00kFLi5Lph*8Q?!o$&2!BBll%xfJ zuEPU|t#G)d=#9FW#1%Kyo@mwsnkt%JkB&Ob@YDl3o~=4Blet1uXl1n}w6~q<=$5aZ zl%LM^V$;P%wzMjP0aK)?it^M7(ZzL}c*l^sDE9zyBTyg{K@LT!E!WVjJe&AIY#~vz zEAt&vRxR>d)*P%kwIwT6QxT$!dU+#%FoAumApe(en?*%BDuGn{Hc_f_8=;KgUu$!X zhdNtkib%J-sz{Af4{eevK?#b|)#j(J%1<@XFJGmnn{}3*N2iboG8Qg^R4j!AM5RqE zUE9D6DRr@x0J(%XJ_mGZ^{9WQ67^{X@W+?y#+lW&zVveP_sO@D8Wm zgT0O%7+0Z|IYg4d-kuy%q72Y~yyCbc;zqE2@?rOB)9vuT-E{d!)M@9S>B23Jd)RbI z11I?j0#KHL3PGskkz5`L2c#M8Qd*q6Lwr6&0-yYQPx;@4+nj%@-GkuKmFtk=#f}bp zDv`YHiM6$XC9=13-t>6QrEAjz+2S=W@$j&kDhkv3J}LLbx5~w}7-7YK%+Bw)=^gUl zIUzr|lY0mYi{Z9+M0Qv;=BJj}(`#bHXM3#gU^VB*cfbl_gV&F**l?O25hsM-H$7@Z z>0*>0@qa{Kqa)=s7H7QJ<-7W!4pq-RIlC}~`nO9Q?y=pIa7Xrrb}b#Y-B+q++mdQH zZwd0qN5^7_=rr4W39BxDDTgP`4xLPU;0NA8TQvNoxNza)!f%gz1pjHUpf)?i@W{WReZw7rieH>Wy`{%Ig^UuA8UD);I9>-G> zsvE(o52HT+@Z~j3!o4#%_8Y1D-?h7E_q5sX^S{jxHtG)lOc!x~^uKLj@@Cz@lFX2@ zPr_FN>wXNQJx7V#n*WogKjNQi;_%`vt#~_X-r>F5Q3Y@vdfOa4<$t$9^L}%{gyhH6 zluKNPe>7JzGY^RC@xRaSfZq@q0sePSNg`nZdX4ctP=6eFqRJ)39{-ARs}J~^kCiP$ zd2om{Au|P^79G%k_58*-*3787^4zD;ENG||D^TU(5hqV$3%t8hm4LD zhpYo%^YceA<~7G7{+)i@oRA&>W*1onTsiu|RyJtJfEzu2{0|NY@amY=b#fxv2mQ{P z6GS6U`G3lfuTS6dLp0*_h#$$63lakQh@w7x#}AteNAkZT!w=u_4e}Bn6y9x6{>mhH z-+_4>nF)%27T2E~Nk(j=VSgyLZb?Z{;)~Gw8>6X=Jbiz^~!98X}Lp z2$E7B@8pfb8{_d$q@_J13!>jZb&|&mJd1_!J)<&Y6u2DGj|zG4he*H<=>_uoATg0s zQcCKHvE&lU4iB9!+YT-w6&*TB4sF#fm7GI4mcqr8KDuRtk3_5A1R3Th+uNKIb*{(!}@R=cE}UBZK>%e_kRBGit_X%{l4MJID}!sD$%F2@^Eu$P}akI1A35`v=l}>cv$D1^WOXq<1rAiy=MA{hXmsEBSV0J1fI zSDylNj-eH^3W0XS*agHR0i3RFob*}D%oAmB43z3r+COBbQ&5k(ISGXaM5F=?6A5}U zR0Q@Zz-TP#@i4auMAS#Rhutg9prIu9o*|`Zi-NMK6EIVxwiur! z_;Ml>`T?B8YbE$e=_7G8&|p+bt0T&P2?#`*eVD-lloACv0aZF|dv1!rY`HE%8-xL@ zsHnRg7)y;|aVdYuE6UV^t;9YEQUl8jkcnOaUJ_^%{58PbMSx_7SXKeJ0~CuA*x<=e zfh?IQ0uINCKr^7UGB$u{E?8SLfLaVx&!j&=Y#m8J>CiIVmg#{jU#(>QWU2+hu59@LSkX4M>kI->@D6eTMTqS^@FJ8;dUp+LIPmfqlMs zNfi*>$7PN{Kgkmr^3!xrFreT$C~MoGz8cS(`# zG{=gdM_L8^s0AZfF@Q)zQ?A2@39eF8o+71 zaxVs4su$JNPr#~QL-YY!jX~4E(|rP1^+lPQhG0o;=~R_C3>X%`Pkzi#!?J#N;Qa)U zR^9Ka37GXdH*6bg-vF*tXhmlgHv)C_GA9BH1LW170Mx5d0r2%I@_ugcSG&8wUu7Q| z#;6(!PTAyrMuAA3Pt0Yxt7({lz0wSw*vB3Z;JGb1+hM9Lh z^Lz6<8rS0NC+r&YPg#c>+aUg4_NJn!EVyg*h-w?-v zL2Ciq3Z;7ca>8JCz}h0`sj~%hYqbdC-Z>utmcL7S_6>py^AiMre&{!DkoEr@eoVV0 z5V`6EQ10PmbW*c@;wi5jZ`hR|J)m`VYp>qVK1!0TymDeu@J($uVGZ}owAG=Skn z=rJg-Z_-?)ivwwNCkw6*;NEorz*iE<-UfiLwf`n}V$|lNGs#HLKGJ$&t{xQ}O2ncx#15rhU zgy@l@R>Iv(L2>v_rbQG zl4g!Wd&eNvfi1abjWB6nr%uM2Gys7(>1u$WjtB6k+%>spLX4hi8pu=<2TeFt{gBQv zBUm};nGB+p#P&f_bn*$=QajS(1M4z)KlBbX9CuECG!VwWSdd1;;;|=j9FQ?f?1PUb zKUSd-GOa_SV@hVUOxK(sW|n&gH`D%U^en#gE+OnJw^~SAv|B9(DKmBk1_pYjc?&lr zI|4Xb$~rU#xRtS7Pu-$evvh<{vUcg_m76={H1&W7!x)`TVIy@qqw*nbj3@OSa6S`J z(0-hMH_??PpESo3jChu2Xp-495~#is9@y86&4*2O)|`db5wJqTSsoMNg@GJ;l7b*o z7$_od@}x|dqT*vJ30YKps+yT*z!=prW6i>>L4hi>l?Z+0bPxi049e*K8<&0qlhhYO zBe7%m);RAO0t(Od+Nh=Lr;rd#iVgfykEMQp!ZQ_-D)ylx1Cp(N2IkrN1D~Lcc^lDG zAw}6@(BVf37B_nxZ1wH2dvoIwYB59%5}Rlv9#Ug} z09*S9>kj}1IV6yd5s}CWPT0vftPT}8fgq|DX^5;oV7QMRdtc|!Y*rwAo4}8uoI((* zy9ifYdXclPH0fWBpYDd-b7>|SqHrQNS*wjIlkkXBM*PdF0@ZeZY6#tB`{*z4oB(qR zO4dnCzxKBw1+#p-61n@l`Cs1)ClDPO=M?Om=A<5S6% zxEY%72&p(#PnA)zOk~kqi6Xgn5nIgRSwM+u?!znWJb60`Y^#*7FVhrGU86W8?#bA_ zr#4EeLG#({%So$?Gh?&`JGcW4xzjoOJBEK7r1hi&4MVbOB(dZG*z-Vyz%&->2&!we zL8q>hh^5%wodzI*SK=>@l^Z?go{2J402NILaZG?%(opCCp*#jOGu7o3+JTS)$yaFG z@T@l9b{wKZS*AYg{dGk)6^g!VDtiFR`!anDXdHAu2%&OB>TR(1_7jdP6!5^2lI^ zoSjRGM7-0eFdxICZeSZ}!;(T5ZQ_(12!!`Z@;!W~A&OLDsBsq1Ry+o2Qs*I-3K_l5 zM*(9@Hwc7)1zvAF%e0aZsJ$5t(bj)qtUjc-8c+K)Wm)@yAZU9g^B7(a6ofk6c}j61 z1WWc9?dc4pkXhgsmKNwaoFcJ^(mLi8HN`4*jpQ#y5KLRLy1-kao9TLl72`w|lCXqW zdvpS8H)0#3jj;=*5;@A+LqolH#Qbo+WiV9{5ArtLH`LcG$-ZLgK~=Dwt(_i2hzwxM zc@J|@K_Jvvu+}u5u%ohPNv(*4VT7g9pO?rz5j%g?pl0dlOdX;#L@>a~=#Y~GsZ6GV zfQGX7aL3OK1n6s2GggclU!m&Kd>L1n z9lHLiI|d_SBY1NQX@08=Y}q=cxqIpEtxQ&%>XI?dp(xR#O~m<+Ix0LH*fneYJ??8C!Qh`k?Y^ zu0^vd4z|qDho2>`vXT@$fZu@dl5KW*!No-vTe^KptUn90r-A~}xE3N{=^<2*c(H$` z7ZI-GgZWJ&S4A#e4_N@aL{1yQZsoIsosbo3mcs~KV@nb@T6#(nOs$-@Sp|>$CAeJF zCJV#H{#NtjRXliACH0VNVeGdSY2CpreR`L<>@riGMfjbr(x3ARb17aL6Agr&G8$!l zNJTvw(U)0OzsIV|Zzxf{a@ktzKwCgpQm(wMdtZke76Iw{K zg=^^)^>zUF@!eZncWpw6r)$+S?8bN5_>wilsTY%P&(S8DO${o(eM}i$@*d{%l<~>4 zIT@pOZSoo#!>)Z8Q+apm(!wG$Ys5vJZ0@-JcQ+^f@Bcj6#ozt@&&x7AcTIohQ)X%)~n&@&FkxZ67wye z^5W!!h)|Q>=|>E9>O^~eU72t9&(tb?K+o>H|A=F3Gv}d72!fyN?NkZ(POFE5`i;O} z9{K;vAB`?)Ehnscjt4&UFIM?yG~ro5^thfZre@jhI%oxjPYRJdwsf!+^O?6jQP!(U=P} zT2Bvw)h|mU-;9Q;+Me)yKD*cBYc-c$r`EYQSUGKtT2O9mL=!mK_l|#J$=le_l}kPA z@AM)^pRhC=UF4gT(n5^Y=i}?Wj<5G|eEl?Dd0HJ`PxA5gv>abQjc-5w9Hl_-$dE&M2>yg%5{lRo$tslK=)$A;

2fNjbB6#93VAQ?9{#b7pEb{YzY5)b$yCG(|I<=Dw{^t z>$ruAZe^ zo)WV{U^Z}bxz)gLYP*f;LCVHbHkX=cJhqwWS&jW`#a5h$Ha6-U(sWXE%u4p}*0km9 zoUFI-mG8^+qRh=HjKBtLl{H4hr`43FR{k|wRN9kNmj8cd;8k|0mStHcy_~XteEkoX zO#dzhO?sF$*=N3DnmT`bsjmO_%lkzPPT2poY&ZVG61o1GKSa-7Eqwb2u5KWPoSwhs>A#VQ=PM>( zGRd`o$=H9&UZhOKvFE1qZ%YTD;LE#Tya9xq*_7JpIs-~TnVe@Jr8D17P!ZkePubka zy?)UeazQh``~uze*}l9~=w~a9wIQimLHyj3-joSbq4%>{U&u7+GZx0(#g5hVD;?K$n@E;&KFWcZDfc6{SX|9>iE^HV$Y2i? zzl7XQ2eAvT8ak52kbniu@Mdb%y8)~S-R`$sM(B>Z+r5!PCd_qV#_bMaR@B96(Py zox=Y!otA=sadL%jd{6LX#61&kT$(5lcY?k5NJT)FEgV)=xuA2DlV4H5@(q=3d1%Q9@ z4sKGmJif-;yJ?SmPCPiHaX&&LR&h9FisZby5pslDhj6Rhr~xz-9A7%%L0h%wa`2fO zVn~Dly9?Gv>*P`&cwUG?N4G|Hmuqwha6~4Sv&Vz%PI}+1;<%H2pNS#}{ZvpY$IXwj z+;|*CxCi9&fG#Q6`P{#9slGkl$j^TsK1y70WQh?vx9mIZemJ;E)8(GrfU*vaU5f@A zXcXc>^0?Ue15zXAPY^p_SB@+*Q7sFN9G!l9!$zwd{LYrEl68oqGbKDb>9IKQC8-h~ z!X>(_mBSm{_jbq4+ur%d2Gm3Dz%Gs8C;qy9iIs3MhTINYh<@gu~Vk9feX2;6XT4ymaScWnpBzsW*AINqi)a^XS4eQ#Gu8F@Ln13T6ZX78gtTp0Zi zuu_3;?B*~EPAV|O!KR-KUYxy`L;i9dLH=^h=f*v`UBCFq108*6BMDFm*cHV=7S;{8 z9OFkmaVDyAF&ZAQ>FFx(3-+3+?rl7(cvGislpha>a9n15Z^) zHVIGYTqQc&b7J8fH zdJsN$VY|AG$7Pn`(jh0i17ybR_L*EMa8rTd`xN7abK=!u7x9z+P04?@puKW`phh36 zd5+lA)94^YD*%6g3Q#)*;sw$cCx>TyJ0HpP@a!PGqwwSg{~O=pNJ{1eUNT%nTW}n) zOZ#vYO^wjesEf1`AQ~ZN65^5&S1|+Sh3l~24*YiDx1%lv<0>8)Hy%8y^275$*^g&j z)OYpX?YAKg!W2@UICKS2-X4^_L)+b5i~gYDB{as?(> zqDPh+5ClOmoS&07gCPLGV5qe_K%9n6lnXzt{t)Eh42NS5_BO9ms^J=CYLL# zSeHX>2GGm&BLTJHM?hPHv&XKA_WB|FCO@&S$<@8e0qh>Y(6o)n3#Zv=`({^;eh9s2 zJCQ*eIUE7rAI9v$Y%t@2S~DJ~Z_l-?&b4-ih=>PW@qg(ly#w093)k`)dP?u&3qe~vgeN&u9>NnW#zS}l z$Z*rA>FJnrp?S-RKoj0l|F<1Hs`Zu{5@_D?uiCy<9QAy=hez>msR@DRE&r<3Tg6eI zw>><50rdfTQM)9Dak>*@HG;&8+@9sB(+vFLOcMAf}poKp|qRp0qxJ~ zR(9R&%VL%8YS3`2zweCVxU8$E1%4L=4D4#0YnA0Hc#R&cTR{h_Ic7 zj=H9I2Cvpl#S$3a1X?37?0?^kSHs~=AT$E)yA&sARI(puI+M2#&wDHhjuPT_KODY`z>!*~*=cvA2jE7#L>&(Zaw>&OgwG>A$>({vKicIn z#pcM<;)aTvzQl;A2ie8mflOa11z%OLKqOUk^i7fDc|qv3oIM4JcwP z5-FkzQD|ht!o|o|Qy*J{9}8wg+t)YN))O?M&DeEABiI0#g>B5*S3Bq)pp8omjY~JQ zsxuz#3+&?&)5l`~6pO~AH?E-v0M;aLbu+NJuNj(_Vy|20)r6*#tq8!>&hoaqsSO67 z!?x`fFam!svgkM%yFAWh2MM5ekcaJv#&ZcaD`v8fIBXmBL5As-1KOjrP5&ly~j+rTxF_v1b_uVotY1$ z6hGhsd7N=3w+SFlF?L>3fjk28WPqP&T3;E@iUwyHdJ}J%+}l#$L!nxj-|&}#zYI+w zbWqJ_)=zEH3x-d6=4buZrodpxPp3iU%K>>9peO~{3C4ivViT4Qk0BI*;{Zgj5DFl= zglT^+7&>Lx2GqFRs6RJZzhsh2HyOjdHB?Sp)rd--pteCK2{A$Lwy9OYZo0*Z25+{X z-w+_+hc-JXvn6Um%#-F#GwhK8py*?6M3-$&4;T;|VJDLs5B2sCHkgJgSfPWN+!S8s zPy{w)&EN^RPuOMzn~mWJ$;~Rs47X_>aua`h?4tpQF6yNbl3R}vEb-n-q_7AlS~eO} zcg7B_AFg!w6+A8+0^sCNjyCZdfKaF8sP#dBP4p`L=;Mx=BRa5Dx(j8*O&lddX1&5sVrG_WCc@=WMxl5212OxMO9?MLrL>=vJzz_&9dobiC9H)1f(Oy z-F?wPA{+rrFTw$c9VD{_ICPL?iI8`YWJ!=^Em;DTM_xod5VLoXWJyq-49)3K>L8gl z%Wv}V4ie!AWVMoFj2)z~Wp$Y9GfRInc95)=vg*hR<{hM{hoY4R3Y=F(7Cd#3taL?* zvXW-mj2*;nMRF)Vik&3@)zP?I# zS7&BNI#(mjO1pFC9D&q{lpkj#t^Z-ILHf1*KUonzQ~h78?5=Sg|C7`lAfzb&zpUEVj5GrZt^-2OMMLj0HOfr8m|M)mh*hz64Fn3M;D! z5t%GS6n_-k?sMr3g7M8DFd|{#`2+dNS9%r^Zh+~Y9)y*%9GlR!@hKWD81lxT>U4V#d`xtO zw6BgQpGTv-)J;9+KDS?jm&JU4SrxEC1WJnC=DP*2PgpV`Il4zOW#yq7f^RRY|MZ08 z8jk7t${Q+wZa+$dWEbWa!!0`Lp2ZE3PB?Z4b#GFE8+;waAkjh(k76MhbhgUy{Q@Y$ z=U@+<0FM$e4IQ!_GGKQ*MFVrWx?uy8)Om3R_jpdh?TxUQ1RJ3xtV9d{Q?~1v_-DJU zy#=g)dVLh?J1*jb^A{MNwp@6B$AZ~;I*#vUyg9U&Ydc_PMP&aHYSQ5@FurjAC9(tu zJB~xJg#_nD9Fc}p#6NpHGjD+JL7oM|t~MtFPzDv2>?PXs!&{Eb9S?1zt*Gs}CpIJ% zNxrq=t`mNnCP%Eh@eB^E&K!o=PldO*2Gb&rD87b)65vmUrU`9K0Qn14po?^uBF+tGq(~fcw1d3M+|2-51t#zb z7Re1IFBtA%<6tP;wpNZl#SUzot9b;Q>}Bd+LUXYFUl+{emYm5KY~(a$HvVpzxIN%2 zQOa?a$md1Z(^d~`93f&Soe&3TM`Ztbmx#r4^fH(?h;f^F< z&$zJs%B7a2JJHWOOAbL2;0DCA;pQHhlk@2j6YzD;BG@Vm82uLg@?J(z3x1+(P^rIO zm#E|3&F9PiXo^)mEZ|ua@^6H>L4ioL26uSk#uaSAuRTq z!-;wD;V+1`Z5b#YeiK)x?q^-^-6{8@-|RIiZx6kCW@220z4lj`5{>+NDDR~{pmi_& zywkZCGBm|iFDKTqkXqEzn;jQ)m?b7MfV%1alL}@M@CiqaWkF+fj9S-ziG?Ph(@F=D zTR8QG&1ZAS0y5;L;xIsd?EH31g1*zrOuVFVLvDmr zKHhLi$*(e}8#VP3&2~1v&35?qsXb35ZEGt9YcbTY-zZ_iEfBtaJBmZq>s9K_>1E7& zs#+#l1LONG&oDEh*B~f&m~ezPNoe!pUd0M*(--MEF${?m2P!)F!Ft~4fo=3?T*oIdJbx?iTK~y zKiZ0YBgt9I+63zcgq)B*6CU0{bW?$EU$7P$cW-~i`4mKB81mSsB#b-GI(jn$ zEhf8N5#g~(27J7h4-_+r8Dbh{bUgH)j!fTeZnvK?_1n~>Gx?jA2u+55MfP|bZ3v$b zbeHuy{_SY8Bi6^usT&por=(A5hHDQWW_O9MFR19L@n6@?CM(S5h16eim0$t%dWa8WYaFI>t+TEjpos!2091SW_JvDu8ct%$AD;#d$-Ai5fvoZfOxppYr z{t~4}aQ~&-GSZRkW@Y)BmMc(k8;MK}dFiJvHmma)f#A^4H)UAFTa2sd-`^pkZK=~D z6(N4dUw4Sj9Q=)VbNIvj8}q6a+I!8eya&?89=>M60aZPl&8T8=hCs&tvqqqu6j)zI zvPWgmg(wSv;+?6-X2@!1(R9v^bD%zTA}1zUZU(nvZY3O+`^}uM{lua{9Aoa7wBtMU zwM96!Ol%*9Qek-hOXM;azh(^>3WLZPWY4V z^oolH+)+5`Q<9LC$^(zxS2?GPeqI#8vM*QanMy>eiMd7=bqa+up?Z8H6TL_93jniL z?1zT?;=fP-r2PEsWm=9PQL}=aKWYALJ>oAmZto|jAb}+k# zXpAETNr)zdW(%G(nE0a-NihlU@AaQV`*H1Bgit@i;5~Fc&yuvl@jrq z`BHXeQg(FoD)FnT@xbTxe*#Zu9}=rn4*Ne*dqQ0!W!LuqMUj-<{|YLbTC&E}|2NXb zt+}J-?XgNX7?j&n-QvhNCwE~#p;m!=z0|pS{AwjxqmHdYb4Dmlz1nE*1Cl2%VFO@XMi1CP$E zU6H_6K+-jQ_h5k#qHjt_gmgB5>uY~aT13Qpb%YiO`^{LypT@r5@QD;{AeROsh)mHF zDp`nI-%Mr>7n~9_pQC~FD(OeVJ}Jcf^&W)Ywq=2LytVHUwRK+Wj=!KSkY?8mQku>> z;O@Jm>ehL+C*Q|`^u@o=th;RRwK(&h>uNspUhDEWdx?UAGs>O&mstmVJ^{V{c_{LA zSXr7i_Bpi)z+HIO)*P(s!b(D|s17k(Kd~{wt^7|{Nmq0&`q(#v>#5||8_Ex#k^c&} z3>Xw)Y_8$}-{NzAldbgoPP47G`%V)B_#f|gjWzoQ2Jo`~4QvfAmjZvYnV$}2-=BT~ zUHktPUNU3R1UGsPcX!R*XVzZIy=>N9+P!SnRzp#Jd?s^UT^&OC-++UOEp)V-&&t-1 z*z@t9=j#M(t(;9RIyU&$`1}Gbd+dc%90Ze=+Gm`Pa#snyp<9HmeLsL}n}6xM+!L2b zvuedp6aU&rF0s1TOmYIC(EL1ig2GyDGH&LEm;NlZSS&xF;7zwrOi6Hmi?&0wi?;ph z{-3e0w&T}x;S2r?o(qnh1D9Og(vZzupA6{-+#~&S+uQ>VX0>96)z?Um9ITg<(z zVn$rSt0?xO!-zG!07?z|@7MKe69G$%zjCYSN|offNV+rE@$ZmIRyqXA6x-t!Uu7o1 zMY^9d20ixBYz^xi<%Et?U`ySU8V%0Z0y>qP7f_Lm*diZ5UwutQ?h9p8G-d=sm*XTD zYI7grX~-G(>-Uy)>ED()=eK$O-7Is?sePkj?wt6&a(VGn4?v&e_JXUD{>APSNWE(b$>(9w0fwQI=(q5u*~du&OC6I*4futBsnAkHc_zF24e|l zF$z_6JaEqm3%nF+?%Kzf?ATN_@1#j%bYW2xYl5R@9ktNBCngTbP7zmDfTi@KeYqrJ zWP$(_)YSH~kgwik?)K~MxPDw%!-l`s(E_#j3vhiIlVv7g!QO|(teUy@1J(XXrVNo5 z;!zB>5Fn!(CRj`_zGe2^Vg2=d#j58= z9^7{u3tdPH)80(Y?hRc|ATg+zH;&)&hINB(z(;66L&y4)j5}bcQck0!DU!!!X}6%y za=yI4D+x(;p0usuIx!J~XUJZQ6ftmwxu+a9D~m1%+{BB{P*c|fjz!GU5ytvoWh#Pi zU8YW5I6yLZfwbH--V_{2vMG_B@^@nFK=u+7X`A;e2h{^>E9mK>MYu4eqos5yk`x&= z?srU_dtlQ%a&~u~jiB!1hO*1rn#QGp(D)hsupgdc2LUI;7AMqLqwY9rZ!S~98c5hH zF6vuarBwecwy%1Z)GK8j7vbc9Tie`JxKhOrKj7W-XUC8L#%`!d4#iKE!S7Pid#@&L zQvH_kiRH8+{eq-1H}H7Lk~wrsxW-?8y&o3q7))Mw`1-YUt$(mFH?KLjGd6P@7`P!; zk`{+%5LNi`JsI;7$dAHhP+#Ay6b#{whAxoZE}JzD3mjw%$_G>UDnPsc9&oG8%|o&5 z9{{c&{uVPt0Z3kN(lV5z^+7EAQM4#{wEj$|R>o%UvboP*e^0)>pLffR&kffP->-gv zuxIq!hqdH+YjT#V^w5l(1lU`b>#l4T&A%ZxKUu!gUyjB#s#2Aj!>qg&Qw$STl05S! zzrLpT|9CqvE)pVKNMd7Esm@O+Eu=6%nFD4v3TN`zzqPxLkr45~{LxKjdM_dTcCzYG znj$>w^eYtC^)Q`A7QHdT-dAOU$n~sRhQJwR&(> zQNeU&6mvEKG>W|PjY>YB!t z1{scYD^LU$ZHg38)gFx$!@^JN-8@7PF)E+BgQ=YzTwc?^pY@MAR+|TA z?>KQNQu}hNEk|5n+(>5PclO?r5Hn9nVJ7-xL?=ww_+cILF%fE`xpL!Hz|w$aM+gn% zXI}|8L9J^Wy|z=A<7>qbW>>}i1q}@5w(wVj-$@*@yP0V#g@ZE4QM^vaXR`(dQahw4 zc>B);Jx;Nxlcr8N(~GQr-d!z@HC-ET(VD7x9*~x9#CfwrbH339J@32r58o-hBOZ(G z9W0FO5YgHor_u-x#Ye|{16KfU;uS|tF=n;)CmY!i@1}lP%}JC# zh&u=rZr%M>@ed5toF61TSQR2Vc~L`g(EtS^*J9Z5;LkhUtv{S7+5t7D2z%fT+J|?JdD|CSaJZ0ym^#5*Jz%L6h zANyuDGB07gULOx~C?~#%Tea9U@E$#u`%<($NObO$QFny?R2`7pHDw_;PK9iO&yAGct!RSms z$e+-9q~)F|BFm%wjQ(d(Knn?l27`WvEVgYSy7WqNVB^fXP3%>hTv>C*WhZio=Gjej zkFid^1gbH@gk}Ju7fRtyXXolCTn*-}_4t^;V`fxrAIVj&DYF5$=|nHlLw6IDJnsrC)8;ZZfB`U;Bq=SBbvRc*ue;X`IqFZlTXNEQ*WV zZ1k3aO|k?aK~O(7tc!k4v!bsQRlSP0l-Rr^lbNpGRs6NV&oYQkkU#gEoU`jE(t=mIMoPN>(#A^WA~KF8?T=-)k&U4?ou62!>+NxY z;FAZ`T$Riz%(mAE_h4x^qUE=yh>p&TF+_FK{Pq)o!1wHCH(1>!?V;Ah>kgoOp9Lc+ zWhS{g2|FoS|5K_u-zq6e1aht2ufEbAC4(Sx4Wg&Y3+H;<>(_4eDoW;T4@Kn4oKNlR z$&w`L2m^f-RL3n#ngg+*dz_ks)l)*>K<>EmWyi%cA31G*2>;jw)Q}!Wa}ke-biq9R zJee!7k8wOU*2`YRVbHXgT^wE@qRO<5$k#zn79)?W3{C*YZ2m-XA07trX59(ObC-%a zl8|a2NmAd4A#21O$mJ$e z+f7^>*LvN+KqOswzf;b!#J46o=XT%^OH>(-21W!M_PNmXA1D)LLW9y0L3ZB>HCn?G zSz**kx8sb2JnV*FQvM&QQ@`9O8vAhks9=vQXz~-TF()l?ilVQ7nBK9MQYHmrjt%1i z;v1ZAwDDiXuu>!H5eA=m@|(P=O;uYFwQ3Qhrq;CD7uIb5TG3TTp+3Yz8enV~Z$UST z3h`wZca6(pBheCG?kuEmgm9*#uCGZvjK>?L|H27Gpq`e)jmED@jqYCHWMn?E#*U*AsbYn~ zs|AGR5oTeO#MLMosW~(+NT~F1$fzuT+-_moKc}V^#%P{N#gT3R57xxlR!|cTKpBMI zfw>8!ThS(-Q?=u#FsNB%JagiN7>eyhaXOl(Q>}BHNFiC!(BEQ@wcZi^ovE46pS~ss zU(wRV0h6a0{3>}ErAClENH?0G?d`^FxhwzLA$;XhWGuwk|H zH^jILs7d%quCi+XenqH^bxZ$u3@JoxmwWF69df82_#mtVnxsznMi~Mj(H*{1ZfXV-fMW4Wj)>Zod_IxZLd!030YpPd|NGpM49r!^ z3*8=|yIFD^}p*f*>xGxx7vNHX~ye2BS7t-r`s$N?8 z*-C5L3^PMZvpEQAV+emb@=&AV_S)(!6SW6|CeOU#WS{~M2W3?Z`8(jkc87mwL-st*EwRb;g zEp#2R{iqyNO&`a$rZTTI*;I0!33t}Vzd5C{jD}<7=p_rykyh%wJLcpBC5TKSh!t2O zw#afvT{t@OoL~~SNX+4KecBV^i#649Q+Ox07hNnQZ<)s^@rk5_X#o`=yJth8S)Qe< z0zL<=J6Y3cTQzZj>&y3NHPQvl`oDoag-wc=JabLg&|Xc1D~*z;y2}*HB(J$kz)6fS`Km#tZxu*4H;vDT~Aetl3-v7^vOpmFF^r@FDGjsTfdh zUT;;ky5ymQrp0kd)St1t8wv&88+g_MybeFO9Tw)$7uY4B$5HeNw;(%D#@UTc*G&Yr z&)C{mH`mzpWqsHotnY6PQ$VY$cp(zqq=f!PA-Rk4Att@OI$m_7W3>INy=?qB1J#zn!`vJ zSK4DS?gB_^LbO7z!`3+FXnbE`GQ7h# zL`xFu&KibhJb&G!cU? z4f1&#rp2F5K3-pjahlQSm--5uFaEv%%{u}l%(V)*dAOIZ*Fq={cfGDGpN{DdYe234 zc4yj`;G-gYkXnwk>O_?c4W08+7KGY2YpXWM@us%Em|B`FB@_U(9@tM3n8y8|We4*E z1j|E$hzjtG9lm9#Zp48+%v;Zo+nwW=m7SG#=9{}*dku}rTNAb)!y7-UJT8Y|r;S8v&T&>#V>a^Rl_PH0Y$vrTGA=oHax+DgvwcZIm%qyTyye7Zs9LfyY-RO| zq>2!EZuRPPW+P0S--7dBS?MCvjXhB1Zpjv7 zLymg3yXmQlG+Og}?TxeQba}BNnWUZKuwE%p65mc~!O`faMEv(L6t#9p z-S)zm+gS|!%N*?Gp zrbAwdW6yIX-ZXpYR%`qS=VhQ?nK3zsphvM$a~D__^Ii3{Gva_dlx5P0kwtagxoLtF zeS0*E0Al0AS2?bqtvRr)7!n^(gsh6kf$Drc7{b5euPQ6_?wxq_m3DYx=3N)^gKxEYB<|n*TCO(*@BYBn0UYNSPIaj(<+OGYA^_u;K)P+j?!4{>!xpI;`;wA zGF%R$(Qd9+3JWYSqz%k(sW7*Z@@1zCU^& zpMI6ruyE7_WJZrMy)1*vooE1EFjNENmon1dTb#N+9oNPA3Cb;Ck=jVKxMfiqVu%wT*|Ul*(BzUup*cI9 z*{t|L33RA8PugM07Gk{g5EDR6hCrNIV_h zIrF}{_k=f*d16UXTO4IAVY*i6x$avNlax!)=Rd%w4Fu*TS~ZV%4`H??&7u)JUY!R! zD~7tzbyeNX;OKJ1CszKVX#=iGoF`I|xkvx;xu5LvxpK%jDN8iW&@{-4&b^q!g1-t> zx>;oF&{%{)M$zI}&HksG8hyJoQ8tCdava+)!i!#hVhLHyXKh&9l9W@q zlGdmj2z)t3$$&WfgDo2uQ^+P0Wh-4hZDxoZfI39U^MlhtwuAd&;U}{!OH+!qe&X{| zE7D&!&7U^1l;Q0ej-C8xzYX2^U8k_kVAc;W9agO0Yaki*Hfj!%@}3HAIxvQgWMgHO zz+I4K9cZDMjEujo7pcUAe-x$cgwwLP>PHB3M#r0F=nrsfCQB;~Z$h;cy?$oNA zYP@wKs91DbL0X!*E6XH=Rk@1bGOfg;Y_S&)Pz>E5cB&-{IB%e`_kwLkwA;oY5ao}YD0UX=Lu)WrjH>V=F5KVr`RKRRY1%iRn)*KmV{bGsJ{Z((KP{n#KNee-BC%BxolH zSyO3O;4Fg36$pVq3&7QRv$$+AJNXejX1Q(Pc79uKz~AZ6d~jBETxDSQ;l}X**mefm zEL@~!ZNJ(4E%v6-Z3AN0T)V5X@g0_^hYZzEouYkIzg3-z7}-|G2$b|;5v1M?o*$=v z`bk{9Jh*B`1~j?Pj8;X<_;ycJwh0QDMeK`XaF1e(=(hrwp&}-6ECzpfimjc*-DR5i zIhUzv{L0bx|#@7`LMmU-lX!4OkE0nXCi0Ym+rYgCW*w2Q&qzgDt|W*5y=$j$%O z2($y;#FU{T0kk<-f*b=YI7fX9KU4|Iy@rh4Q?I+gbcfo(_J6! zpFN>ghmCFW**||iCn2V5{Y(GyQFZIpCoviqf8*}@t|GV_Oe#C6L30Jd`(`jEQ77-V z*El$_niv}T&pX!#AnNu?Y`5~B_q!`=(T6C(f8p$GuTwPW2u*i!DA_u1CDeD{D%7#l ziSGJP%@=Gh>t^~RSuLwcdSoYsYVFnnAU~Ymj@_hb28@H6pQE4EUk1QA!{Bc@u!hI3 zL_tWY=UV3JrcD;9cG~8|?lz|02B{m+FsbLo1h;kl0DUln6iem4+q?83ORE%%1Z zm1V{@IS0|o9wm5jTU?KQ?WKNqJR7~d?nf$c)+&`vgS$2{!*P z*cMBbMR!PNk*7xwP8z|tx6G&GZ>%P|T&HU#8&eYJiet~e{>3DT*9B?2V;h=|)eX&F zP3zo?FkTF4BiM`_Y3r&mR$(@3R!~rJ%#{o_k3eHX=Z22sE4ul3S#{9K(9(T?EO*X$r1|Y z@kUTOk`{<`kSLmYavgC{taHL-?sNNqhdVeJ^!HtXQ~jY^#4*{Py~yR5;8M~Iml!As z%zqB`lwEPZb`D8Ccx&stw^(CSu&+pZY1l}=J z$UX8W&D2Ae8Z_2Qrwb?>o%s5a{prA6;=MGX@bH}=B$`9$2BBaNzFy*+Q_G6U8wnz3 zbz&V-4Qbf&qeHkN1U}JF*14w6!s*gWq97L=dIxmHo6yn61S(x7ER(#ev!|)f&-(g( z7Oso;)tT8GWM5??MeKOClq@aY!OL@6gD|d@=yTB%GcAq5<@!Hswm2t=8W#Y2CyJOu{Nc(lOKOnqCR-h5H2H%ZZ$(ZdEjc5Cv?f<=(VxIrC#(=JeL9PDCIyGZ!6%}ayPJN5~fJ- z=HnrCt@Zuey>ta&Ipm4bkXfwpIK6l=IK61TDEi}##9b=q<6&B(GS`F>LEecAenIZY zZak9Ct-NGj6^h#L{f+;xb%C%phlq7#bkqin+?f+g6CK~b2589?CF@}~CqAlr%nPzb zy6BM+&iUH;A$z&?;9EeYGFnby1cCR_+r~-=W4Tz9i}6yN(kliYZgD7oMyKwJmsUY8 zZ_ki9Cg{nXkpO>>&GJy_gfascm&vAb$ZDKnExOPo*oFMZt-_D_DwV0T+8}b*l{Usp z_BvK%0JU}>^taDjNj6KPNeV<*AJ&az9{X?W&ucKiZ~LT;4h?vZZD8x_vW+oSPKmA> z+eqB67@oRc`R>4DT7ot6wckb^IhIy&(JRz#Y<>;q*EiN^(sp@h_S9&c9K9>xo6=nu z8(HX3i9a|zr&WtI7FX&ZU;Vyu+H{aoDkxdGL8g=VSq>DF@xHP6ifMl3?$)c(cDhvU zs`EvNpB-6eVjbA{b8?mlr-g(X-#+>NY0g3{Y;x5de;TPcOFW2SM0 zKyoSA{3v+Mu!$3Z6FeK$hf0OE&=BKnpG}#NE>JkQrvo;oI-o2(us)Jh|9I4T@?if0-M6dH%N8?Fy@CKan_aq3`B&24SKYJSW zGXXXOkQT`BwmLacJY7`u!a7V(jbnFGfZaLvfS{-Od6!WQTAroO0NcEKaUUCU34w17eXk%(dW3#Z5oQT~>J?h4VuKO3~MGanO z=e8ZL@=AVb!$3?P&KV`HkgS;63BUWhAdw)(oVR0lP4-qfgBrDNAlMhGz80nf{2Oj3 zY@nK}WWg*AUxTy5D>*s^L%5T*T4ea|%|3Rbe;uTE^PNjy#u<@+a=K`$PxpgC^1uk0 z4n%8b+`zUgYm}c*S-#;&dnNI-peY=PNB1E-UqN}kpA=XHOb z&jxi-uC>57hl_02#YoB4V(S-%Yo38l6F}cHS-rOfFBp#f#LDJkv|wEaeIv$AQmoy1 zyNoL~jV2n$`Hq1N8UubL@vCgIu@TLX^>xjy_qS3VNM!jWj=j}mm7uHVJ2@>uBB~f; z;aNu2$Xp&~O4IHyd6xRSwqBm&M!Lv9Z;k_2zKq{gVy&3|IXdHUwvBD!u6W&l2m$g0 zCP;-4A~>mto}w~o;w9!^OH!V&Uz-l9+tdY$x)$E+i;BKWtcMHmBlo=i6w>bNF ztK?jvA^9}TED?oQ)k@!OuM1jJaZsbSi#8XevSEokpGWieoTV+j=}DFj-%P@-G6jY8 zeX&vp3WZB@Ue^p>UxU8Kd~m0H6Pr!Yxe-zQaB6?M$yFLT`FS`US4uuYumG@lk}#@N zKFD~$E2H+c1D5!pd;lxz%$qtvNd0HqEk}bwWoxt_%HV zP^~pdcESnLhS5yq!&zd_)CVQ@Y&+tGV{#`gc@`RjOp#e_dL2mebzK`g?vq7=nFqgB^K% zWQd8k#JXuzB7D}DCVNiVJMEOGdeockEyN{iN!pDD(PeiwvNfo)%!;ek_Y1kMWfCVN zTfAyImp>Phh931_qO4PMf`jLX@febcjArgN#uERXH$m9&m@xms|ixLUaQTr!g! zi!}ZDe!$`r^6LSRjz0nH(106NoB#)Y7slxCR59w`VqdPU_B!qx{(eeu$wI({sWo2* z-gHi@uHCGQbe^kPux2^0FG)NJ{6o9VsdTsO5QoHgTK9J6x`_H!ZD-w$u7-fgaxxeO za5et1HLa9cvD_Tm?9f$MvgG9ppu6`qa2#(`vIs3@{k@0HF-FY>XetKl2LC;naOi^_BZhjnu9=%%E$IHgTTJ>lez zU27GcI6Gl5M5_|z^=f3q=fcVrY4pf&+;%pxlHa;h+a; z8)LH&4^zN~-zB@XleBJ?HsnntVXvoFR3Y(D$i*q4qk_7zliYEOI>*j8nrH@zu+m|V z=y2Km^sRM5zoaXJF2S|a(Iy-BPdGd6vG5aEaxI?t>|OQNrA9CLcIg)+Y}0$f{a{ZqEzyX zQk=ovB}Vs*UD*t?@UL&Owi(ip=cVv4Iu8hzCi7^xqYA@h&y1~BG{^ zyV}2?5bDmKJ7g>T!h9Y_7d(1MA4iOA-Xl9VV~mr`O)kn*@~U9|m##!OS`APj!aR2q(zr3p z`B9Cb&RD?lU!^pCeH8x{vyeF`Kw=8QQfAgYU?MlSr+S>LP8jC`fj=-l?>Fnp(QQk> zw0aXiv9_(AbH=W7yxyMELDV}!em5P<#Z5vRZAmTan;QO%v4y+-i!FowM5Gk-B4tJ` zDGR1vufEzSuc{&xQ`U!xzL@)1DcUj0dB-9Vi#9KXf%9W0vz-sCeV5QgF#zUi( zML@*k8up_=6~b%roEa7}Dx^lwcKEvE{MyzZ8QTln6WS#hMMlQBc~ne z8`3nVZHp7pPI=H$guFRe;TtX+>VA&$Z^ZseSTlSwWr@XI{Vb-fGi((Ujfci+Aqe41 zFY{X_`G@It8Tkib1r?kCm=x53gTfv6=mkO!+3A}ab_tRfW2fhPkKZR^GcGt=Dl&HV z{obC_{h)SJ5NX*;NzJklO3kxL#iJGXBl=U5Xc+Kdb&jRnR}>#VR2x2uODuoZ&i5?H z5j9&c4xKMLnAbOfugeodcc%(;&}kZEHee7?7@;F760pT*9f#CR%|0*`Omvs8vr=|~*&cm) zrkZ#8+Y>nM-Lwusy@vF;aP>8A3@#PsV|*VhpEE@@27~AzbAwlW$dMxqlor&$OS`g! z;UR8_)kJFtTJaRvsUoj|#Xc!rO0e@m{ch0<;oRZYE|$pP>r9|*c8ZzTf?(%AW`hu^e4ru5Wh0Pr*iKj<63vQe@KekR}Kb!a>a}_?ytF z7wKci<4n}+)(@Ir!FXa4BO-+TCzb5S8nJCpfB!Ox^x8JQ@@^RHUQbQ#)eogI%kD)X zAbtD7$cSa96i800X|vhp5hrIR~jYosnN1em%bF9Y3*3O3_8*0df}@PduaW z<%LzT>#7HI%LKz;MzLLPMU{9XPQ~voiU&rQ8c=Ghv8HM&C7cr5tyTL@HUjHB8tJvLx?LoGXY*dTeooYIdNb)1Z9j=!=^bvCrr!smo>_bmIR3$*M{5H>UcCs9iB^1@ z)>4()mC{Gfz1wY*=-dpOE`yQ%n?2f6HM6i|!_$)<;%arTL+{<*jvbecaYuPY|IKsR zi9P$m2Kgx^F&|`ifvnUeirUEOUI&s~&ZJX)umVj(TtT}q7Tk04~} zU9W@(UPjJ)^KCmTl!6QXv2fA##er%z_`ue&7;DY(YZ7J4F=rPMe%QUn2D zQl#sb-+5}HgnbxrHhX7g+5=le-;{;hirxRMX{su1doyWLnn0tD3tGN~8W zI-R>qUEmwd$`Sy5Xu=N4*LifWy=a({l#6+;Lc0V}eAN(`^p>}d8!8!`YHbD8D49~4 zANg}@5G8tEh(~G3M$h7`tu;Q`d%OrK=PtRI{7^+Gkr35h>%ghMDoemUbi4s{PJ83} z|6ac|PhD=19HsPrgc`<1C)A?PqvW{vU_{88i5x9LWfi06Nuq`8Q#kcrX8gqUz{=r{yP z$mmb%dOH7-%O;?P))%vtGaCVhicQ-$G4FNG&(*4mkGJ(@`_fmuxtogS7rsgiJ|M%1 zQ#0yI>1MRDB`$rWvIk9AT-|wk>XJO<(&l?wC}vP*9B+B`&~)vQ>=G@OOmca9a@B9a z*KE`lT2!<)SB4x(1`@bh`ZmPNh@Zx8PyOKXL$K5SiL)`h--)l4@#z6;rekb+$7igm z9Fd~eZ(zmApPeJ)cJIqvCxSgh&Op%QQQ7+1^x|qCgop>u*4C)9A81?uf@yhadQEq_4dE$VV&BPO!{;)Vtr$`|gvAR!>vAIXunul{q^-lxq*P{ctb=B$EzE>2E z+uct=JG!tKHpI(GXML2Sj~|P9NZM{-keq#|z$#iu)@OF#oLqX!Fn@*?2tRC;uvrCF z_B5MAy>JMi1Q?4XWM?8S7w=#e(Its^M7?D3u`{r3q_Eqqii!Z$Rt-Ci#Qh>yD8%#c zs<;I`V7lz`<#Bu#p-=OxtA^uIIEU#toWYAyU9mn!e2#{6< zG&8kEcX&*aeFxl~x@xc8J51JcIbvw<%y+>qd^IW5_NE{r6`b-Mq!m9Tk1;s*aSeNV zn;fvKR%-3JCl@R(l0<8&{f-e8fcIw&ie`HS7sSa=o*i1h^1_RRZ+e9OWoLK)=t24{ zS;8%CBa$zdX%@MS; zC2*JE%;(BfJPL|aLu!9k<^6Xm6lCylu?E5R8qN7*&rb(W!-!O3<7B%w1(SIT{eXH; z{k)bnk`fSs$f#4q8{9)xfi~i&mLvC9Tvj;(msAi1K;dTTnQoizK6^cQU6p0> z!u$rlXY=EaXVW>pZP-&8mXX1caQ*sHEkmhELh zs3@?8=17K3F-fMWG0XUqnDGOqMe?Y786OC|5Fm3;Qs#IgkY^5p3lrFXHd(HX1}ZGp zwdFxiUQ|g;x5mlwzo~l@tv0f4P4`tuIgbyBK&bDq%mv&exsB~@aJr?i00G(tiIhYd zC-6-7e*x|ox5lXRV)f0rnphDE0nWY8sZ*II6wT_}xn}cEEyxF1>ku`eCMfeEvDmSy zd&0^HDN~&gzw~65>~_ep{C0OVb3I|nL6zH#SYr$xF6dOAg~aLUm>Iz&`6@%kG#rD9 zDPjUJJ76RU4In`nhq8h&Xm49Vg1yq1O0ZNUf0L9veS&W0Vdh{vYoZ&>wyF6~y2GGL z{Y(;KVortYBENcQSU_P|D?!%aQ&Z%-3X|LXFuj8*VhgM~x)WI`vggP@fF~n5KP*X3 z%1F!7hBG<6))COYiuU)Rb=!k-rzHJe$FD zyN$gj9LE0y_L|YW`f;vW%#W9Yt>LkyS!zGRO-pg(gA&c+tgSoF+8qovdyv+*f14m= z_r(>yx_6Ba)MCXd+~ET5*zB2H$bAQ>Mt>=!8v0SfW&4#G1q>0)#!!yN3WjP)CsDqCL>m4p+YaSDV;(?$UQ zUdoHwRAL5n|Ct$Z5s6ic8~x+Ee@8zmnucffmZ6X8sUat4p!%FF0ffyFz-lIDpwYm$ z{xhLO;{KB8F2B!UzM4IEy<1QKe`E5RTNY#EH~xx9(rAgq0h#}aU@v>$Fhk`Sa>_9IHg{fCxEQ54PaRaTWsV97aVR&&qFKgM z@NndUoH;)0vAfyp2&6{b#QU%&tOfLD=dy4x8J)rwxW2xGfi>xJyR!N4;iY3SeT8D4 zzs$1Y$4=9*3PQa>!xBMmkVshUr?(axrpZLKeEtxgtvHg`(J#V$N}l~uCXa8zr^;%?!;XS`kGOL2dYHgEk>1M{HY?Y_Jf6UYt(dOekfwi+%k3)V#mGzGb<1 z_>hl=%?!E%eC_m$e@Z+@?&ineNS#o@(eokEb29oi3kfcLC+5<-kg_!2Dhb%Uu}CTF zRD6Ct#fVQlSE$lAw91Fy0EIAR1J7H49;5*+W{f100)Yoc7+v;to6tOI90*W%s)WSl`P)K>=rzD6*n~@psloe|sO+hM!3s1+qWiLzQ0H(tMO1{AVG5-#nZD7+sC}2Pc5l4(T5VZxiNE z3G-3Hy!!}ce`{>O&GM}+7M@$crPnhJ%`^24oLVu&H7(oTmU}(FwV!696o6bG>zjTs zi_M1+vHh)->rZRxVJP&ie?*+Gevz90A_uLkbOj;Tr~A&VN$=9w2k+!GV%rb&2R#YM zTF~zq<#gesJTX`dhJEvQa^CKN^`Lmf!i5Rwuk-=Ve`o*`@M183{!tkz3`Sw;yo7v$ z(IcbBoWsG{zr*B3xnPtcV1o(ti!pvP$3qxDUt`7($9{Lpzd(KR?656rCQF})0A{wB zZL@tFBmRY5x}E$I4sdj^+| zDsqn1NjJMIV~u1~JZ8Z=W_7fRnoMUX(gz%ll{HlsHxhCeWp#C3x!OcjCdf>qiuVjZ zp`WFG9Qbhr@Pt!Fga$VJKcibY&r+*S0a$=le-~WZ@ci=2jZvR`7d^S%YU5V@N)(#5 zL=ulWrSsTvDZ}^Btb&HjUbBZxv)TLtiTp~P%oUEHr~kzM%{-AZoh^u|_!#>>f3>%# zj>Pu%+Cof#9RQxyK=2?Tpl_n>?`NF(ytI3#dn^iZvCxYHlV zK8`v+@aqrdVrx%k$mg3IBbTzJc0%ju=b2}cyADao^Z9>U^_lS>oP4ccnpyJNIdJAq zI{*&BLIk~YH2eyDr`>^cv&sQD-21jZf4uDEigU%ea+QCgaD_Kb8(xj{`JD4CAFEy#~rd|?oj{uP;nujTy zJo|cD-!P7{jQ`%p&xdorfSBkZQfF~h{x)@F*7^Ji?CRali!F80q1)2dJW~!VdYM_6 zhS=RY#<#H?GJm#}SBAojkFl~%e>nQn-&f=wmZj5xn2Db_t;clFcxm0Fdq$hmf=XFy zc*PgP%Mq&ckE8h`mPE^TIXo&%ghuOpF?6!ACD2_0WsY~f{kNOqE5;B!>{$m6MxrB$ zC@JA^T@yt{`)Dm}3a?;dwM$s#A)Ad?kcAb|NINn#grV9~)TC97YM(}4e-#Z-PJKw} zpD9)+YwwAcPsyJS>nCI6Sma)T=7^d$!-j=%W%NhjYgq~$CtXI{1LV$MQ6@1=uWi|I z_Z$IFh&>@0)?&j&7Vcfc)kV?}Gq&JOJ&mTD*Kn;i^aL9=+cr~Taw12SZwk0G8j9e> zm{8*BLP?qn*dfL!VfBbjf4zMK#prnG1DvJkjw}4I&;|<2C+k=2pWcI+k@ww$-~YwT zv)*|Flk+LMyuvvkM*<}?e0A^NkQe=Dp;N z7Tzd}#}|>cetf%$mOXvQ88axpMvz61Vq;A83ISb5a>sSX=A;5IpZTUOn?2Smr&N62$@?y- zz2bk51$9C>W-X|L;vEYrUcF@<5!9^F-3y~Gw2qFud!f}O(;(G*mF(2oxd%v>M+Z|q zZNabg<-hQYe<-}{)FQe!dl8-S$t|KRk$ZP6ks|-kULyN`iQLOxA_*W%{2aGk*URZ8a&`cg$ZmRxoLU6C^aU+1y#79m4Y#UNlA*&c%J8l+M0%wa z&wzxMQMbRsIb>e$);ccCQfXxkgyxmCr6s{|-utw+e``m>)qY2wR`yxEzX~YsPy0!H z>8G6&o1qRS1*u)@JYF*_cu)yEO76Z*G7){FlZuuOEh%r@-iI4HZ(P@5YBMjY=0jmr ztM!ngAJdJd^Po9x+Bb9J1#XU$oWT8St3%tHv9K18g>T)_ARG#E=8w}32gY=I3>6>{ zZ`O;3fAmdjev1SqLe!e_M=BeTu;z3d8tDuefs}_}Q2Sr31CdFtIvij&%PSo&!9LY@ z4@QyBaI zSA-G=>M5RnP~SI#jYqi)K+oO4)*vE`Mbr{@e|GLQ4LxUE330lbsM)(XtHO{A&PA^a z=ISx~ZWmQ#RfaGxWdWjY$ZVf``)85)IfnvPwgNQgQ;{gX5TC|`o6qg{fK{0m0FExRB1GG!9G~rIo0Qss3{7O4-t4DEEUGPRN z%H1c#7LJVs&_El*^Y3cqJXbEl#@ibH3G1&r_e?lRI&6K&7bd4eW`lot?36OBVFJmI z{SwV#zNl`<%7xRcZ5C@5u=J~%~B#@$!q! zji)cSpTZq1`e?Y&5|)38AlTE;@Zd1AF``Uw7#jsrgP<_{$T(b57?62+VuV?ati0wKs3p zUhZr@-JW~(W^Uuv%O{&Vo3CE-^lWbJ<%hYyZN7XG0fR>#C@X(nqOw38C}>|AwRdP* zaJwf>9~Z)o8cbSy2mPb|0kt!}r00%>mne2gArna~ur!_1{#lP;IR3JJfxw6Nh|xt}_AqhNo23RjJd$J{LD_?G)*g1N7|qOEOi3$j{BV-yD8GG6Lt4u^@|*M5?G z9zM+N+gd@2-+rKrgN?q(MfzEr5xV1~%G-zk)9t;D}-H0Z#u>y)9% zMFpq{Ne=q+NvB>#`KMHFqWM#<)nRMpv}N|xczw`4-4lOhmEmX)J>gCzI`6d5|0z{q z-{F_^J6c<%=v(LN^_$I?JMC(;_3Fvyvk!ZWz@4Wrcea6?-gx!;gTPGNFKaJfzS>#S z!P%~qqi35hUhEO|>6^8Uoz35#?mc_;W^21G1(AsIxVN^k@pOB8bA9v0=FW$9tyGTI zwzr>dt-pVGivB0{(!BS6*?j)X-rwJ@X`phk+Ppy$R>UH$8hxeW8&v!c%Kwb}9qwOo zzs0vFom%v!Q;%MD8ZaT7(F^ML4{8OMvV_7Z4HLbW>i*s-RWYBU&hMnz{_K<*Nb<`? zlxcI%1vM`h{np97L5qM4ekFqsB>qu?{=GvzQ4oKYCdR3*l)uXpPA~|C%&=N))uTbL z(?rm~Zbs-vy@|GNr(Ua7fafM`rBrN`BlhPK^{O@KHR2XqjZ&>FTEWdqvso|Ffdr^G z8jUi!0-Fq?pk#p`!-_aRs7Cwb9(_k5_Eh#JS!s=NU-aHTU-pq8K5>ugrY3sp9&rd0 zJsW?vbI$}*4DAh$CF`db#DD#&tt64SJm6`=JSo;UkH4A6-wXyBFE-5!3_9JbzqNDd z*chP?c}Nzb^+B7qa~7zA_oRyw$ian3oO3rKPQQA`yLaqOHm`Tv=26uDsRvI_`iJJ> z-D~sdHM_Lbkw?CnCx!}XB`T4q1G~I5=bC@CA3`rilQirf(y)k;tI?)>*rCUwS3Snj z7F`lO=`oVlrOTo>TuaeQ83NH$=}s8aGMrv;t%*GW{k6xn5xwQw#M5pE^zGlJj|I=Z zToMrLayj~wYbE-bYgJ&#%eCk?u601$JLQHTS~J2hv?;fuj})yK{hez`z`GfMpiqBT zDq*eSP*Gja`wF-a1&U}boa;--|^wt~EYp%>!uFTj;r@@rv%ADoO zq~*%2<;t|>%Dm;u#O2D&ophQ^U9P3*H?9@I?rv72U%A$z4_xcfN3IRAEonBRUboY1 zMU!r)RgAh^nY~<@zFcwl$F&-byDT?DmSKFWFgi}VjE)m|yx>vK!G~Q`LIO$8dA$i6 z(>^|;Cf{G6Ll|It9d=_4zy9E8h@;Z0!|vnG8XH66)Vaw=IbZe=X2enS{AicnhiVvb3mOug(8sCsImom9aFBI;oF^OP0LK8d4KdAe|6(d z8=c82Tq|L;Au^PvY6p+ri(Kplu|L+9ay61Z7(?q)XvB|tD&Q?OLIRo7!sgok9;F!b za1_5k<2*HCxi(J|;UcxIAHU*?J6PBkrJEbL&Z{Fmb;KQLJnKv0BS3e>!_-ywxkW2OJphRI9}Drt zNDhwK-_2MQD$oh?I=vNrloM-ba+3&cnp1uJ`T@R@458%_)raAzllbC_oOpR79uP!8 zKlhpo2rY;H6ZAHR@E3YOTn=Xh*O=4=!$KXQzzz0Pa=ck zPS<5pP#}! zkp-G%$}MJ}c0Cuj58t-`XtL5@?9fY2vug{D7`k9E-(T!9@HlFyZdG>#&?KT9ysMz> zeKE#u-0gXe;fUGNjS8X^B=Un`NwQ1ty3|*j&~6g`fJPJE-G5w(WU`w}#SV~%O}rse z1(aD_1B_^Z5e=}oI9lj_LItK=tFix(q1I+?!de=yY^kDG%2Mjt?LXgp{J30wNRknE zrMkOo>W$_UG=~{K+ah+1Q?+X}>L}7ewnlDFuqCsQ?x5I(A*V2vg%IKF{h~jC1^9Gu z2$vfT5o03W7hN}BxfgAiqtJz*CBQ13 z+;ps-CR=M(VO*>nup8sG!QqHyuPt(Pr&(p+iJ26`YjAPd4ncMFjegte9wff-tnc3` ze|((y#ykD?3=Y%LfABJqpM58qKFKED*xtrkWN>(Q^G=0?X`(K?cVvI!E1s~;CwyT; zq#6%xs-QQI`r`RzG*>#mT!3(OROE5Dqq9Pn2)uB}1c5uUU?w+`02GgVu}HJTm-FtS z!uQRWqg;`s9A)x$(m!=m{;d18_e<|m)i&LBYjwsSh@Hr%f8Oqm{!Z*~cNe{H8+j}k zuv`7XR`=4-7_ugI)rBe3RY`QYc~o4u>UJjFt;mJDvfPz-*`Vb`z9XUZjlI=~6(6xA zA4?LkB6k%Nv818x8*^)&vGb_fA+yc1{|`kqtdY4(v#Na5l{1-`(wuOey=O5R$mO z=d*sHS>y}tAem)n!?xY~v#-=vDmzJ;?6mR&?Gfk@f34z>A1ZXf4{h#t@(DZn73?AizoTP;?TU1GN0!Ayc#ba+$72h(E*3ImuMN6L03mR z=P7AjEv>eGWp_!(n~o#hCg;26wX};imF*kCRZWbA3M;kv9otR3iWyOrPvTN6&QR!G{5kQX}GVJGV>l~z8YXHOT0Fp!U6 zAdm7F+@E#M;USOnCyNKLk@sODkMoDzUv|F91QYtVe|;@KXze?4qMtv7chJvY2zi!2 zp$P~1!<8fG(3LZ}oG*4pE5~x#XBw?s%H`W4f9HemTyDD3rk+fdClrj%qhr+1R=U!N z!8htbnWFCzP|jVM)8-p1o;-!|SSW&Tw2h1B8XFDa)KCc664Le3PD?t|biwd*yt2DI ziS&c{Ez7UO;73;=!ZR3TqG}oo=Dj}A@$!*7>3CLgw|3LhFi=OZ8ZLBq7boSt^5M3u zf9bakQteZ`4N48ioo+r~W~k*wn$TqijPfYG(lNXp$lKG-JX2y}xy+!@)*1iKhIGoO zrTKCGU}?x58 z(07uJUyQY4!r+mb5rT#z1UdR$MeFPie<72&A7PdQ!*2Oru9h7M+@NNI1;Y^c(5wD zw?E;+3(c{CA6W`_oUxc>%sP&h8S_n?%uLTT4Ldc*;4<251ul0gR|?jL4oT!Je@_wU zShQs#Z+RjPC$@efcX@K*!~Eq*!`l)(&}n1xj0V6S45Nd{Ff|Vzb+G0?c-$!^Rgg|P zrKJNgxz8W4OkQwB={7&F|9Xp+{6T)Qz|Td#yRdkeAF*z_uYLVGFki>=b+~exsHQxj z_rTk*lJW%D2yeqG%99BjR#2V@f9tBJ!#!QS=md34siMZhtPri6M=}bL8-&-o@yNl@l=?BEb*ooX89fv;)OOwT+ zM#oeM+6I?X`a#^=`Xk7BxARG4%|G&g15s21p;rU(R|A1m1L0ExVN?UL6lPREnA(58 z|C?pxZd|Hzsd1rR%`);me=en{T9g~4SWShIluk4KFvcgXg*lq7aFs*_BtAfa?QmpZwXT)_C#A_AekX)q>DLus~gBR=g zjnGcQ!grfvC-)!!FWPSY^p^XN{~t!AZjZ=b{^Ng|hZ5Ukx0Ab=e;i?DxZlgII2PHz zl{+0U4LE`NjW@!{+=8CQfUzY#n}kWvCZ0$S;qU#@lcL6H{jdMer6mtGmog9YHsvM^ z9N98eUgOAFVe#z1z_m;bz;3RNx)T(+M9&=(C(T-9pB%v%m%!*4x*c$Gef`rQU>khC zEUg3XJHYUC)Kj$3f3?$7kuzPE_CNg({n^dWueSB>`e#{XgrRAaKA~PzSodYBx7u?# z5k=(+2&3#oWFE#R7kH3Dl{vtR(WCy#XmK%S$EMklB4e98d{}M>#|p~tc$Z2nOa=Cn@Kv7ve$iFoq?sYMWoa5z zRrS_xLcox?P7skV6te4t?xWF4mrl?L*4>q;{KU~bOEHuIqa`TXRjM%cMC?Hf*Hms1 zu7(KH^6L6JfA}ud@W%yF!GF86@eJbZ13K`iI0uUERL6YYqEpcUUMz*5(<~#9%uHy_ zT0b-)X6Pv_8lb$Rfz=`a`Vl`+ZStZ_TD^wMwfnzzdU`#3uO&lcAZ|V zQ5H}ce-J?8*{|_So$=c8H$|~HEtHETz`cN{8wy~gJFc&FN~vZt!WAni**H7QOzz+e z)<$+}mqBVoH;HMpd<_KKSkQxUq{d<*p^8P@HkGg48(XC({ewxe3|3=83$lkDjb^pg zJvX%8B^+!g_eL_b2{N3_03$1f@hp0us4|Scf2(Lx0F_Kad#NJr?R6*wC4fWpo-}>k zO$Il@7Z+bzahZLA3i4h8xJhONj1qX)-2_X=Mo^dXRoveUc^I2Qng`U7L<_@MZ;7RU8eBeMF!eV`iv*CEqrWUJg-K zK-nCM*9SZ43jKS1Z7P)vesQ*MIPZww7g6-#A=X}iz|4r^#}`IJ$=;cehu*ELmlw1V zAVACJFJID0n^u|bJoEl0|H;~dfW(4v&v3LW+DeQ!gOx!NyK0VL zqb+>z_f8Mx^$)C5li8Pdv=JwN+!sQA5fcQ}&6i}cP0)=D6cKdny!lc>7ODYraPM59 z&VhjI1eH1edVVfo07~Mp@HFsO@emq=d;@L-= z56z%kx1c5_N`PH<-x#cWYd#cnOi&aCr4$A2ZOA4LS6O4ukK(Yfm~GkF;8(o`9hPp8 z+vSobaoP56tU<5nw(4DfJe@>h?e)x#ruE$Rm^#5DCSH3OB7~5V!!V*u%Ma zH*dZOf>-=#?+F%5#)Zz0&!J8(u_jcZDqcDM{lpT>-Olp=nE(9waB<;{{NxvYUM}=5 zd(arM{tz6Fq8Nb)k9<{=(uSpy^QudVQNQxfIk3P2Sq&f(vAMXV4`FiH)C{%8kj-KphCBw(5ROG~%PQ_-sbpOF z4b+0d#7Yk)5~T^omjSmCFn_+7U|*~sOM%VOv5tbBr9N(tZo_57hws!C`|n#+t>PfY z#~u-dZ#y$nfpi)k&V8}rz9@0yvh>QN_li3XBKxzUQJ14oiKch6#%3Th&cx8`bNAt{ zj1!@gMHlX+F|ChP6oc1}*PZ%$&>aMywd~KBI))4n1N-_J^#!BWuYcj=p3x2Fyx03` zJHYM#VdbG6mP*2Aw$v?J2TM!wzV2dcC%Anx)p%B(B{4lq)-&a$R>F`g)n^uf^Iob% zCi0SyWiVFtce1)vYR~r`J!&p2YNBkVXzaSW8dAom@aR#wy0AF)5-q&xmy%%Ol^b|( zFsrre(!GYChEEQHDSzH~Qqer!kPzix`*1<+l1z)DD1(XxyQ!@Eca=j!1qF~D*zjZT zis?g!u~9{Y`ZueO)#x%b#2smc@lw;-uVw*^fR0j2KyL`)^{KSf+Ql3Q!t3W{yyPH7 z&R0rHxPn5^V$5r;ZS5v60O&?na$DT{qA&aOa`Ie}DY$#nS7Xhr9&RZJhn z@`&SoF5~ zYHjo~C()Ht;v$d)1RD277fM&Q86i|dOnLE~2Bu6LM5fpkmDJI0K^B!4CfD$I9;C%7 z(iw;ZA~NJ+6P1hk(oYouDH-M=?!YOQC6ge#n1z=1q<uh4ezF;$?T0|i^NF!zbUd?|bHdI(HmE^vl#N&B z(cgrXg1AoQ#V}GBwMx7)>=D8;+?`UHU6x*B)VD>wlE#yz;r#cLFOc`g+f=XqBw@{S<-u3TJ{S5BK0wkPJSA%tx^ zFn>(KE;uww62^{-0uOo!JoV0ofS(Y@Vlz3Umd)f@1B(Hnio}L#Dk#KR5SD3g!d`QO zDz(y0V)2xWXQ{gBOqw>{bZ{}Tx;-DgMTOrcf`;Sc$B%=$VLfuf!Be;Upk*qks0gLh zGC!q?{Z-Ck;;5+|9WcHfHzmRT22fu&V}Ex}^zdl{#swrCdc)t5vvwX&G1{doG8pGF z*nUcKLf8Apw0ym)p~)omO`6Mo6qKtOr3r_M&>xJ6QQsPWxH+7vbA4g8hY?UJqEXqs zC0aEz+DldWy-#G3(HGJh!eN5SAAA374RTG@Z`^*dJYQH``26{kVaI*`y!-RAKYyMS z#=zvTZZS6%yHL6$R+F}tm_XOG1wU` zVrSRd_}Y?sLpJo@6K>nRcE!I*Eoutj0AD_St9sZ}9o^2vz!H)#AwU ztXgNQ+{t~LUzwlo%_!IYBEJSsAjowOBYuJW`E}bVlqT^HECJ8kyf10V_K>r1xWIuwqZo&Voata z?1F~)l^|NN(Mm$v6(7`Ak@HGe$8T&;3+{|Cm@a+z(5vdj%8eu80)<^iHxy;7*9cZ= zZDhS7E!>3N;3N&XmymbDRDaVZxIr^+WYP5moHj~tABRiFs_jjQTbut?ce{L-vAAhRQ7$mDBKtqV) zeIivSHZ!RfOygsI?nubM4tlhpf+;=NntZmpovV7WoqKpXS;oF(uYp{IrQCWngE{|(9 z0LMgI^---+saAoJet#@zPvT&Us4L3P#&SGZt5k(?XZZf?bXvaj*Y<^=OlD)Klpl2% z^ZiHQ6xBn!e)>=c)jbz=EdA{YZp`PfykENuF(QtNf$foMUQjllBjsg!WQx^n8!QL}F+#xI& zO~pX|#HUv=X4iE-UL3l*BUpN8`P1Cz&y(H7bu4K2wGYWyU7#5O+)0$BH(HT@QpmY zGtQnc6G5}Qf3P+<2I{7N!wxMg>(s#Ms+%USA?zmIXn&Qh$_w9c{)KWuoH_$rmePS} zookK!GOd*6Gf-a*DS&{^7osDZHVCQo*7(s<3&W)G<5qDsSE}aP!Nd!I4}x>mfgnEq zIu;b}R72ZAo6|8nX1FhY66b}5(=M@3h(Lo`q*{S#<>~UMTR0hxS?p1ol>knE_Zsp# z+`tP2mVZm$bJDa<5uR15Xd>G%w`fM1lt zws$S7hi;1tP%P$y(#km>eC^fwiEscywdl5dlYdW=;(lt9*s7g?#GAyavgF{}_@Li^HNvEzR9}A@5cTF<%TYa4`j^1A($gR^Q(F5( z)_+CrvRGu9yKFq$&AWAuvdUS$*A8qNN_B5_BjU*{vxib09r4WV{0{qq*t$ME-obpe zTN*m%BMTUVB_DeXpfQ|X;%2y3Y9_y1x1}u)PM>~6;%nk zSzti(uI#9RXMEMl+-_PT#Hk(FF{eTirGG4*nn6*UYZWd28TM_mr6TQ_An#exkEN#n zs$awyNm8+&%Z(s1UrZ3bI%KspquJvSVJo0TOR)Rp=)>6F9C%KDXq*r;;!-TR(jp7V za#M6HL=y4$jje49@$tY~KUl?|y)zCn7!V}ivFolK966uOS+Lq58Qd1J#2VKvJSq-ED!YDGIr=XgQ zW{9R}!GvgQ8KqCUc0pSgL$PVlo4`CwTtO$y#jIf&a5cw}2EFxHTLNbnTabxwMhV$g zbavDIw(EmrRI$=yoy!)uG0(Zdlp zf7|}?9<9Cy*0)UY$& zB6|W$v538Nr_T;KV21>Gb-386vW9*df5Lu1y12rfptW!>a4zzMCAK^X;090FU$e2q z$Dw~s(k4A4*c7d8i-y;W)M^T*l7PJ-9Gb|LBkoj39PjTP){6(dQe%I=SUYU(*Bc3| ztaKk7?|Vw(Ds1jaqPgjcuz^RmfyG#{BgPDJr+7S{dQv5MqDt~al}wRSg_X6Pe>I;u zx7Tb{_K%7OhpnT-{YtSMj+(H%5<|8Lq69?_iv@z17E3OLct>fp0tKf+3adYy zsk4d+QIEzOz~=qQo(Ski=$9PrDMv0YWIR1s41-vp<}-cv#A*bFA#1yW*=f%fBO?TL z&y&UJH>D_0yyv;BzIohJMSTZOe-~9Zk<_$H(-jF4Lg^*ZG&Wv$fW!p^0_7HwFQ?kljOTPR!?NdmP4 z>qJ19w}>*um#8}wWUS*W{?rnS1#!*d4L$waH#nvgKM=Jl*-_(@$u0)MuDimXGU(cTDf zoi`o@0&wJnmhP??MqAUE>D$s;Pal%=vW#D{?-fqyDZ1LQu7Qh2@n^DR)N`$}iP83t z2h5kdvi^eJkSe9@Gol1}9}g*L4H&Yjf-AoZ2PN zJwrcE#_4_+7qBS1%qqke@neJ<4DK}WIF7nNVeS>KU}TOP&#(X)K$1w)STfHvCm61w z(u*hEZfk3}U!>#d#oNP5clcDpp%F&dw69k)#%1pYod+CInc@biWi4YW0kU?$Uh&Tz ztpdF#wI}Z#8uGbfe<#JX-HBQtTRiHEGr=JctYtZ;%8qSx9%m$JlQ3bCJy;z{Y_4PS z*nAX=^CSTtN7P7hO$rZUgjyAuC-zeXX;SI6@~3U`LEgwLZ?zc~**lIHB;po`Msy_=A&tSI>F4-HcgqIB9wGXbfId*FfV5Ej&`9Skh0H8w}->4j_eA zh^y*Uvc#Axxo zL6!7Rf=##B0YuW98zyU&Y8fgw-7-VkM3A{m%b0|+e?tjeUr)n<5=CAoa;7?5h^cc9 zbD}=O#8p-Q)KndJM3sNMT5OMPAA$n7+y?=0v}_a@CvU6N11L+z z#)XWHN?v(fN2vd>P~?HaO6rr!Q7m9C27$Zzg9X8aOa$ljCc#gU4qnKSZSv_v8ou}G zl%HFl1Wpz^W0!%+5f*)~p@?Pm2c zPbgVru1_Zb7Xp9un%Hsxe4T2|^93Mar{12Jh5LK-O=s12X4iLy%XgVe^5PpWzCAhz z*mZH??9(@ysxpc4rz=AoP8PvmHQU04@`z066AgX*=}2Z9jGp{H5zQ<<2z!9I;JS*P z@?z)Y<_2|X_t|#FvFRc@qe*9EQy-!2m+RtWC}ZfT-&}wDEGJtlHnO#LCHENaeyDp> z6vK0f$9gZDin*0s^7*Gpo7ezCC3d~TADxjlnmVoy%4qIS5Of1^!SswJNUn8&D+IvG zgfj}F>FwWWv?PuRv94Ln;_1d#QN#$+GYo07hi1wLL6-A;n80s{cw};Iv7{cA4u;1A zw$ekZ$vS^$eBX#lhNwCwH^33}Lyv@gF=Q(gc^7_IW8s;A3e8-5uA~j&r`qO&mugZH zE~;)AL)|P53|1gzmIW9bC){-8`@Wrl1V{{iAyZ2_{F_2x+__4b!VG<301h>UIkkmB zLSb@hpWJkYEKkF!xpE@-n68-yG}C~!U=gIs1OR_;R(+W2QX|NLlNC)jE-bF6sEC`z zVs3JwZTc^o%QAca;>Me??V1F1%QYX|&TDtwaJ!WZrgRMi>|yc1uW9i00K;6PysxL7@!V-h}r8s zI;Ld`{djBJrc5{X%;$Tz_%c>AvrhGMQon!RRG)PJN~fT_TfLngsODw+y{#a(um-|I z|LXKHt($pHn{hVtC$so`8K2CYxggQAPG=m3EmCoCHcMLrrak$HGpO`8?ECDui%#H^ zh-E8uCA4ZCn%3IYa;w^^H;UExtYykI&~o|d${=;aGf_;o0Tg7isx;Q2b&WEYRBnIw zAzOhV3~jA&?Fh#GC^K$Wa|A&%539ihN}pSUtuD;PZ*`I#2UML3BXf{-_eN0XpM+Dv zv2~a@wzd<}!ql*d5sKpcW_RdxXU84d|0g;W@tRZhPJpsqv)K1`ANFJR%bn`ZBBd44 zr5@(t!^HPasA-?Ht+c5W^g37!HqL*(fBoUbK=lP=F?fJ>S&T;Sfq7Y*^IdU|ri(JS zL%qeFLzh`<%+cVDsOmh+C=M0om#T$I6AbNgrCF^PTdigjCnU9Mq1vpMYNb}S)NGX+ zb-a+2ngvj$Tg6%tSm_$#*F4hbQWoz)tQ0G7#+J&ZLb=*(QHV+d5bI(CWcx)@ zt(9<7N3v9^R9RR&koctnxqyF`U2RlJwI~&!%2XdEt!4%9*5yXE!5*Y+HP>h~MHPq1 zr7Bq46$;s+&FaNMi8!QRt<_r8NgAzAO$fyc{6?b!+@OAyQlV69pi2>(9lwmRHN75J-;N9s>22-;smkc*)Z@Q*lWX@DsX{z;lwWL_>T`ACB#a5+Om+4ci z*+wfDz*%Q}l2MTvrhU_7yvPh`F}@gS^+q<~W%SU@bk_sY{a835qh{)i09Zh$zcY}9 zKTLS2>xi(;s&ZnfEZ#)`EmsW*1OenkS>4n7m*CJ56o1TFXPlgZM+lm6t#+uwaEyJ# z`=Vs%O2cvElh*V7J0mOkV1GZp6Cr{9wr;=K-;e9i-PhN~F#)T&ynEj1!b9{Tk@xQ& zq2z8;l3QUf+6-o&-i?lCP!WGhGSYkp0f#gMaEk$`0We8asOpva#8AbRVcnPELwx&@ zTee$q?0@WYTu1HwtI2UX8_6RS-dY_~F_Ey@*oxWTkL#V{jYqP3zivo)8zgx6xPE-r?0-~5HJD5SfY#9kVPD9-fM+O9!i;y z9AvT=2P^qDU=s;;?I$(^+`Sjdtgq2hp~UvY4;w}~5^@4h^Q_JIYv+m&^`%0wj*ImY ztABl~4(NwX*PIVh>9(5nRtx7LB+BYr!w0?W$*nrh?h9-jc){RJjU9$Hp5&{9#RCU9 z6xlNI-Oeir8$6K|T6O$t)EjYr!;JhY&?D@RIJ{rN7bBZXg@P`zRW)lBty8PsqLP%o z*{BywMbc%zso~7N0EJMm;#r?Ix;y>X-+F39P05OfOc zM{`=6@zDs`W_*OdU#>2fu&D##Xt|kIQZOSlUh6H3;a|MeORDy$_(?~(1yV-c#3qEg z>{f7u(@31+vpiMI8A&4l0j;BG#;8@JtTxqtm; z>!Z7Qzu`W)n~xiuxw7*!-eUYOd8-A!7+<*^Y4BgL7Y!w|1G$|3(9R6&uqxxdS|{S%JWw5F zpGR?Z$?ReK^SG@d#pWsi8;dMfZpCW%@@{J?JUG00;Fpxt5hQ;o9E|zW(r96st9z?3 zS>h6?w1g|ItnbY31xSd}5?U2m-_`dY(%Gd0%3#ZdLpQiXu56rxgp9D|<2ZbJ^8iqn z1b4<%*4+JY6|Hoe(H%GFz&O8ijQ040^&6q%(wsb|;*KFWu)%*Yz?u zS=xmIPNv&f=sUNO;Q7>T9C$1R+Rkn{KFEhS$Oj2>WP^N+gM5sGe3T%^LF=8Y9Lo^6 z;D`P{1z*L9qq;`-D?*w4t}GU&O3 z=q%dz&S5fA54(AY@cz4{tVK#;LY&QiSB$zqpb>wNJvESP#2;oUF8&u&;*}qv#8p^f zsqq)xdkBY;=X9d{s|hzr@;>Kt(OWieyBwd)-M)Xf&pV~bFr_Rq)A(~YyZ1Zb{}YFL zZ+MwWNX>tsn~eXs`<>x^1~DZylkRYcmzgJam!mZ1W8auILupO(Qd%>ewNd1mmFw7L zD=BxR>D^=Zvg4m5hv1`RBOjrL0Lcl^;X3u@a%+{nz0&3sv<#P3+)q|{$qKy|&orl= zyvXPtEp>52oLa!m6p}^Tv%@_zTnDjqF2ft7ew}|?Yx4tD{1n6Y6?<^!<(QWlgK%NR zDoGJ!=z=82Bx-VTJFnUl<-R?B2==Z{v-I~;5q$OJAHONCac&Noi#aOjU#&LIC_ z&JwGDOo0!j0-V`K{>TVnBw0?(b(1Uy=CVx})~QVwX0WE)Y}A^XFz02PaE*jC`V_~#Wu z+2mrgEj8iUR##R@ERXkFFMgR!0O?c9AkYK^v12~>{OJxlladIp5IL(Mj##*Kaw^6& za=)B{IG}oCl+HZXfQ#UC#SRYQy)0{cd+>GT!G_~p`~lvnyMGoMjX&5lhf8C$p*DXn zAd%q4$RZ{NmWIC{oQ?Mmf!x{yK-#!qHvmo;o6Y(rcn*N_O>;_&4o{*INI2h)WzU$x zmd(8!&TVdNBsNsb24z7uo3^@MG04i!HP{9fle3sq-#25b-V5{(rn656$S6dt zsp4;eV@VdRYKkT@*83Li2;-@6c2AdWD#X1D=WcP>?8`X|0OHHrf#-ocBv>>FV^YLv z1>V@qV~>Ga+F*q42_l9ymQ5eMvW)VRW|g2CoetSV`kj{^S-~~QtW2a`BpZK)N!4@O z>uw>oceen`rrgu>AjViWxOnMV!E8uQsRx^^8#0|`hRCw!l1`gC*)d?2_1GjTX)~O; zA($Wm)J4}?8V4vBqu`arxTv^cXLpi?AV`3jaqHfq9*#pLs;=3_y>7X*W>a~Cetk|U zRNa9PBZ%60EX=I2bcpkT@y~zAs%i)m!QM{SB79|=qd(moUD?DaaB8`AGs{^L2S#br z<8v}&e2!#%rst|lQ8#cuP0{Gjs4C_IGdt%Nv1y_&ya?4ARL~Bu6s>(cf5lcSH2}s{ z?uMhUz0ot-TQRp6`^&c=N_9c&R?km%r2gUbo7v8~fr*anbfwUNo7;a>*yW9C43%+Y z-Ge{GZo(#`maP`?#F$gZ7)Mw#x_$mX&p7%o8AX5bWn1|2&sjky%!ET*P#h~$I`1%f z`cvROInxF-9m^S)8u!3LB)ArcDJmyOeemo?hb{K}YKkika_K{}MB0vWL)IYkgkLNQ ziwh6}=S*2^rag(Xw2FVK`(e1ghR(!w%$ZJ_O`gmhUNA6+oz>mQ7Uh5o?-V7#EmCl$3arZypE`u3Qg}+YuZ%5tdM#kv9&LH-e1Y z(VaW?MinaK6W{RGHO-XYskARYlS1GlDolyeJvPBeQ{4Z=B{Hlj@sG2pm#y0oB7gJ! zjq$2ccq9!XE`{ zyk6?UdU7n@VZoSEFKG^(%}j;vc(Q$=4%dz@PM>ll0m_V))8yg)$>_4KdQ6T1B2Iuz zXzV$YW%Jtn)3xzVM=hpf48CBTiTgCtUf(j3axN2R_=!uF$$Sm%-}Uv4uzw3^MbknV zs0qGv6omcXP`@uuyN+4!3PcCk7@Xr2SV@6vkt};v@5RuKjU+YFq#(f^+d5qNvU6ax z1?i6@{csX9Y18m`LY#OxTd1ABjID-|m)SS)WlIaZU5xo#0L7|Sy*EWmw!XUHT!`Bb zIx!q<-W!!&9I}R@xBCwYGJi2tw{P~l>L}hFmDk1rCT`$chJS2F2yD7v?USQI<<~O{ z6gN;eX{(pnKs`UREcJ~x`^?fgApZpXtLw9LIn))gUFLn!1v%UesavPGVPMUip}`Q$ za@eJyP~Plz&8g3ljiCKD4`- zpU4bIB?eqqDy6`{zl&+V^nPCsVY6DYe~*@A(;cvzDAA%(rznefX-&J+T3ifRKB!A{ z7yfM$^I)dS1C*n8q7^#CyLYQuR}TyZZm``7w{OiYz& zI^|zQgk6oy@VL7uW`D#giIz>dDHi4w<<|ev^qs21e*(2muc(Lo!)dxhs+|MG}Nj7G_{_9l@9> z+)+H?yv**ESk25gInuBe>GCrQi7lZJdrDhn?l@+4USEp~7%6dR5W8u=S+O-W__E&b z$X#_!JJ=Pcz&}V~arlcpsi!GQcOZ*sx1;`-@!k;`fB&1k^YLoqNcR1|;;{GnA~ayc zZv!&VvE#(q*v=X!*}bfvSAYP;Ah8k{dx7`2zt6X-yQgO);Uv4+d)_(k92?E_%=FLd z>gwvMZ)r0LIfc!nru@)1kV(I7JIP6LL5;hl(D9WLU$|I3C6;^$kCh_P)@AwyH0j5_ z7MdIxe}-Qfk2lT3D&zbBa~iG3Oj|- z@i(3R;VGMii|i&;{&F}BXMfKR<9^|tRb=$C+hvr${1l!iICy_Y<|CwzzVvmh_7t*0 zm(k_v#INt%u5|Y8yhQ4iobtW-PdewF{T`tze?GM#ZI!VgBs{PJ2d5~D6+T=ilA+WI zQhvQZJ**AG_S!)GoGo@xBCr@KY3ljm9piyFL_f3qM?VKE2|N|Kzm*&W-4c!W;zVWKlgt_@9z zlZBzxL`iWchSR3ew22(5mRWU%RV(zkYKffcg6l+9VX&EDQzPqT3oXn~pdQpUuiepBIWNrgfQ_5!a_kLg5XwVMy|Pm=Ix00nNv#-!Aav6zbFvCqyPS23f>fP_1bl zF7nIN3)*G}Ihu4lxFdzZ$tvX?;o6Ae{wizF^od+3^b9@HT|8~a(AA6@mb=Eo2eXGOVkrx9WjTXnBXng!}KQs$<@U?~ol zSiTvH*TY^-`3?g$v3R~qF~PHCAV!QYB?mY8nRz-mh%X^6hQ%W1PBn3{e>QWPRL{~2 zZ8e8I!eVTkt3pgo zeZ)3lV*KezJPR}puxP7G^`PFr;|qQmzG;v1eooSb+cW*EdBzl0f8mPr$f%|hwwB+h z)5_PoO5B|(x<-AJ7MO{jU=KY>t9WY*d8%F7+{AOz+ID0IVSrQDQ^eZP!J_B71T$?c z-1nLQpBjqT+&qk_8PvQP2)xKn(?W2hh4*Y-f(;@IiMK7hZ5Hm2`-f&qpFVZdyeIM9 zdJ()8UcDX-53rWuW$*XIJ=PhLEOS_Y^rIvJxm@)Q;m|E4K#68e$lU(YVgpAQce zP);^L?^xVeyg`?1IRxit$<2M2n@arfl5s zAhpfPR1^4#>1vc}rPwOJv@s!6yEn)}wR?*^7pE~1l95nzP|^+{KIL|;8X)ct@|{YP zPKU!thuH27`j&wid2IF>e?u?=Dxe^cB^#x#TW@cUWXn~Wkl%rShExvGCXFlh%=vk= zvj-Nz+fAII`)_d%ARgK>z5(m^hd2Y2rha2&j~MI-OaZR74o@9oz?SR-ak)7mRNKY& z;f`!xRV7BzFjHGg8~2AhKsd&PwUz4q@>2D_wN|~aeO~*z{;}W2IIfrVc*LoWyll0c z1Tr4-8s5ifa(%vkYZ=z4C(+JPf-)5#7CT?~^)Ol_y=vp6un`T=Y>K?cVhWyg1TXS!P-U&;NmN@maQ0Ed9q{Brb!Q8ok)bQ>mn^^;6|$XL@@2 zVE^oVrmslOt)9V+H|NQRh^A{LF+8cgI zB$J;<(EyQ^FP)Xo*#VaK3*yg<&d0|rg6Y`Gj~A5X&5 z+NJ51Oa$ClrjbD52$E>ZYW6A?WQJ^MD6Xf9| ze-vvRJ4uy)&4&AR_we!nuQVcU;I#Jb_kXV2b5jkt@ek zIy?=eT=ui(V4+yg>*lLFmZRz(&66_vk#IGw7=1E-R!$txGksMk5D{{-D;2^NZo{f&3r@Xgb`Dh%L^@fD?$s|!t}`}OOvjvq z0LlQI)3R>=iPg<5VA*49KVUI$J`((930qyX!-irhanqqMuoj5Q!J%IF7HDT0pDz#* zxdVKE0!m_AbII1%TwrXXC7<9gU8!6~bH9-&}FU%b;D+=de3t8AOtdv^)N}v>?-b6%I*Z~7~Ett9{Tchus`dz1bN$I@x^t2 zz24HYayDT$;iq_&Sy<2B!olgl;?eWecI5r`UFD_bP0T-I!p?e)3yU8QZrk}7u-7RU ztp|9s^1o!pkiY|YFgv02(m?@fpH$;W&&>j`2oxj{V_S<4P7x{V>z;9IV&5ZYstF;6 zOLIxRKtyhM$DyzWPPYy%L_DVO7Wwvn1fYxU?aOe|g>NbV1u@X-c?j#|*t2Kt^9AdH zo0}|@v}+$S4apHIz2mK;ynaWVi=!hs&eM)PEk81@GpeIP{-a}TYTYG76#0pO>f)8hGocAfYeWoCO#>9@e3T*7SGV{8oG@kgr_J!mElpE7Uq!-{_VMk;@xAbw8@4}b_viKi2p*MGs~Qu0 z%nn`P+01FA$f|$v`_1crArjKq7daK}DE7O&RMUS)B3nee5Uwgu6*0a%5bQSBrFsDV zy19IR9@J690|kC6MU7g~BeqPz+M!fF;4n}171OK_1@@b5Bs9?58y@_$SCVbN=yNKk z(`2xmZzC&l&0>4WieJ8;4j4KFiNX&x)QyeO zEm?L4{!)4O_LgYDoWTKBUkNSj6FDAPhsmsLQ#FM2tv|XlI1KwiX3w0VKhQ7BOTb(# zgN9LS_!{uOxdbl~`?1%(A`WrX5`9K7ip_vWh+SSnR2Ox~!8T7_VL!ICu{f5#QGoId z$i;+505q05FAG#y0uf7Lf?MNZ9HyTeJfp~z7A(05ZK^uvt}Ohx|B9bELy%<~|v z8K>=)#b&b70s(5JdD`rU`(_+W#H!j*u)6rVl*ZsPjRAs`SG2W;%+`9izP@1%I3PGy z`H)r|5ZEm|SgAemCQo=!so=DiPHPW1II?sAA10>HyQ6hAC$Ig4f12Ba;j|_Verc0p z;lDIJWfWWgVC5GS#S*GO-CCKrPyT40Oq4B4jyZ;83kMh01R@7GrF=IQSzkp2V0kSX zztAbK=8pFcq4h^L>AW5`TqVQiZY-k0%XC%zt?D}r-<-4fg#+Jlxd zJKRrhc)=!PQUhGd?Wlbn8Z#E!A`B<+@X&I#({Q2NF!1`Ler=N91lAllq9HTSroR+yhAu6My`7!Y0 z$zb7$aXdeIIk>Qt!}`JV^?2d`igIr~oR?w^+X_;R(|@EmyJc)=3n3_@lq10G0Ljj8 z-3l(k1cHxov0%UsI>xVO{L;fuD+(l6Np%$Rf74TN@!YH|SuTpM@r5vT_?J-Xpi0*u z;e1goWRjy^I#4SQN`o;CWa%_cUI##H15{`vYdyo0m#|8iuRjFJnd))VYSqD{CY3m{_xA%!Rnd)trcHx6wtfIde zf2wFi#xzYtHk?Fcy(vW2S5v4Jytm_{|NKaG#gD%}`pG~kgd%6^&U`(yX}?)0!DxmQ zjK4ddY_mKg{Q3M{yU$-89`E~`SxmS33uv|Vh9QUKnR!C~@&TYE{&I}Q8XueIM+~YO z(DLGzRHxdNr3B7eax7a4f#^?N=qRO?e=w){7vX>|_L!ZS8|7EZu)fW!&hVPiXcyti zwJ^80egyMF9?-O`h8@5-;Cguqle%BiV=U-pR>OSIh4bqZ+)Tcty0ehxmr?npkdVLE zxc{nAjlpZ+xwR$;k@%F|BR%iU%^-Ifu#?K85;B%Ym;MOEMIqjo_&Vk;7DM+Cf4r3b zaGSdrt>Jg5M0gZy;=^@Vd4>jk*!wtEO~Z2bS{BFyR?i5}L-$%nM+VhiWm_Uocvp?H zm(7{Px;SSVYd4Xnk4+>&F?R0#`O+uKG}y*;*zKNamDgsEGqI>B8zOjTwnNVGjZ>=d z+>JJ@HNMfP2#6Dx8DC5;wx**vf8Cp9no-DY!|b z*PMB|Yfu@oR$%7oq}c0_+FC`DdVbs=2ylf4#jx)WQi*_7(3=aW&VoU7%Cwx7Qsa(2 z(In)-%Gd*&aiz|)cta4dMeI3gbASYXGg#G=mX-4{*m;G4 znMD}&%@{sY>t`wTPR=!tw3#56zCG_A+x{}`FC0Ky*@OT{u! z=S6G1SXwETb&656c+@IZ3a$vR#Vc#Y@^Z1lk;z7}(kci+MR2SozF98TiggYEiltV8 z?HW)T3ttB$z;E&tI0^7P3GH(^D8wEkER{3PLSmtxG zepsyVE%`1MYrL>htdP%Yv9?sK!B2{J9ZpB6>JObZ(H@IGb36w&c=7j6o8X*l#W$UH zYn3QqKaoz9$KoHI_Uih><>EhhzVUFaM0MD|?42Hd!&VD#SFe||pjm{EHVKVdQ&cKe(1yB7Q1T)cH}Ja}Atq=+fXqY|Q5 z32rMb097}a=3Vq`Iu1U-m&5biJHU02EOo|*pPtnvBt2T(YUH0-VzaqLiu4MsKW>H} zST?#e)V|>%e>?U`wVqt^Af>_d2e|n)wdTs=jkCLdL56AC(o^Y4X;CksNct$();K_H zG+hl}t`UDyz8HFK1Xi%75tbx#!2aQS6f<%S=PuK1Jnl6XO){yA(W*NOX9t%tC(haM z|1Evu1e9Mf^vI%QqdNo7)7am!{DY67l<2JT=+W{0f7Y!8QdyH*5dPIw#E>M4vYAeg zeEUQ|SzchDoHXmG{3#?Hc+m`wx(uDl&QXSXQaa|bmS0JTqA^g z^xsOvSTmH(4r?pS^f%N2{#)jj7LVD#UE)r6PA#ZZ$mu_>XOHA~G6bSv;J}2l1aJ^W z_w8|eJ)@yV>vf6_Jgfvn3uh@zcMhud5>a9>{7GrP`JB!d=e{EztjqPn2dRa5Hcf~~rbu0|!u*r#M8C*UV zAF$zUd=0m%^65=U6XbilIk63o^ENrGl&~z)@@pNYQ1*qy@sN5zr7Md_^a3Uu@JR8u?(5`XG_flcJ}xQ z$_W|W!H1F0G1(mNNb)@0S=wCIfAk41V;)SyewL(Rt#$x*X!$L}N3^1hGQ+XxDMY9C zq1B(=Z!dARzq8B=n%iS7|K{AQZ?(@f)8KJ=<|_g%$X*fz+-LIU=-Z`2sZ|(RO&qo1 z+}c3h$0$vEI|4`rD*Kl(jj0?Xz#ls%2A-g6E19Rp=cX){kE{1(E{Umgf1*8?dTh#i z$KhI<&rP8p<#Q9!{qu8EhbEeoR^2znt7H!L!a@LE?F=O#S9tqeH3>z-0C zo?d$IiNkp``-a_$F@p$qUv3`=V@LcH&S+;!L2hPqri+HvIOojmO}!USeh5;ikeJXS zMM1A;!B!pS;tbAyZv~_5dph@-76Nc{~(mf z@%%?*O@DIeDa|tFM0^=5!S*NpV0YcbRUUVD8Q;#2wszZtxt}`CgSl_mgvZUBF2u|#D?{RL3=bmptRGu zzjvC4bARqMM8C1uQi{rsVxq{Kr?+-;xC{m^M%&b`YXoRIjgGk>WkDe;oGJF+|O zHxG3|2T}pQ#QA^JytK{QQC}{DKVpg8co0;{Af!?Xst-kn4uy&>XduJEW?A_clbRRt%(ZW>-rP z&c0nOLsp3IDhXzZ)?HV8@zJhU`C^0Fn z8z(LWI;>MyR!B)-De?aW3Oh3L`e>AOY(#Zs^mJ~d^vS5`%m`>-w6k>t5X26Ooz0_1 zs2MjFxkgLF9k*M5$9l*rvUwaH9^1oXdw8ygEQ*`w;o-SGJhz8udU(dev+(fD9-i65 zeLX}>+T0Hh5&L+!Zx27|A-m7bPvPMwd-%y7Ug_Z#53j<*D|>il4?pVRM;?9*4?o(& zkM_{nE52jS95>$LI~F)CB!3>RpS%gj9YtC!v4-Ojw_B zWSq1^zrcon5x*isu?v{ZX^GClEKZbY1W}!@_`bJiHyI$Mw=Z_^0kp&JM+mf;J5>-n z*`-!gjV2=XO)6Pm;y_yB$m;S+_>wTOCefJLTHyit2r9a^jlvW(ZImk|ShvMgG=ZX$;Yrd}2SV`0Rx>}fX= z#e)qrFnGUyli-!(Ye}IQ-uN*`QL-?6V9BM@Vp$=0Lg{5WrPRjUaN#5s9U$b!zbY%C z4?e`2;Iwq13~-W?#vBLFg%9WhVE-~QPlQ#cZR`)i(^wHPM1(JO!NF~1lBhm| zw@u6k^YC62)DwDQ9$qh@xL6vrI;dqxU`g>dx+f9hF@H zADZ3?(UdNA#7?X|07m8Er&)Yg&J)9)?M)02&7_j8Wh3*|pPxUQ_j&4#*N&^xzV3eP9a)s6 z%~5l$&>gOL)cAHv&r~&B#;9G(rOV~=a%GcEeMz=$CXc-rQXer40>?uuzuJPS!@D6a(#R2me5^X+xw^5qZ|K&M$L%YsI+>p zYZQgRs~>r6#=zMeUY_dDNkmk=99yzb?o_Dm@|RKFl#FUrcL~+0Slew!UFl^;e=D)O ze~lF5^FqXh!a(T`^(qGIPI4ZY3^fs@F4|tmi zL7y7kYDwGXt$wIiz16KnPqucC%66;4UfZ>|#nEZ!c*N#}W_sF2NNbVyFt%!uL@GyC z{X|Fs)>0~$>4!zC3~(@7n@H6D@Kbxg*<-;LJzquT>!+l810UUNLc=Z1=f*A_(iKcy~NU>1DE-1yE|?Eq*{g%k`ko@oT9h zn3mH0aOCNoH%A8y$84sADG5Bh1oHNK-jSf)et)txzOSf87uVpxMXjPACU>Xz2s)4L z4|h$OV9v!xr-Fyzv@7!^(Es_Q!CETvb-eE=zSc1e@)*87TE1F>IUA35rrxsXm6XSO@ zLdw3qH$Q(*_Q^O*OEXX8*I{?w1Sc#|oqyjr?iJSF71Puy!d1y807R}=r)oSitvbDE zbuF#`ZQZtFO$HLg-NV1B`;N$Xg@)nA9 zi~q~E480uNOQwyJcMZ!=X3{hD+-IiwvfNA(6F+Rn!tuV&QeNJGYn$n6rkBSja(~3L zzVf(@wQjqo$Qpx7W7@vtjmhRrExo1)U_5) zS^dUK=?}s(XpKp`7o*1r-dA0f{8@m{$<{DW|M{qgE;z*cIUMYFF=cSO|H`6Ok0~-i zSpzoDUiAR&`5}|oj>*SX4|H(#Vt>L4IpqyQe;oS>W}m@Aqa+#|bx=IxUQ zzSwxmUr71jDL)n!6-_+DPioBiA#wKHQ<%efJo?Zj^|}YGg+ik%+s;rH?k2oP)dg!) zX-XN~ac#gJ=!`KNqX%w9Ipvfw?aB71)B#rr5KHIwi>q=OtKc$yY82@G>wk#djbb<9 zDQ|4J3}T~xNr{)+`&*Yw8Am~J)zu=>&bB?+( z>h|`sSjh-}L}W};3(K+$_=i(FCT}m^oX(B5KJEd_JbQS57qg1xoAvvLx9>sp(d&ZO zI03!qB))z!H$b#Gn6tNUW`B8C-?$b!&-!Zb423>WT*{jxsb+g0b-3F7B;Z2TG&fu9 zsFAkY`!_dF0QN+ra(!Uz!oB$=jJt(&GyUQ%ZZUEJFa@~xEP{Vnqzefchjg_f6Vctp zkrY~2ba8uDf9IYcaBzg#XmTMjFRVpZhWG*ClsQy@<`p(N9+siz*ne+xd?&=gx0`^z z6?Zn0na2r!M*yIc6jw~|jivZ3qYLaWYzE)ltjn;d{f4mePH#SpHhg!L} z+#B56Uk(mHe8a6Hno-K|@UAc~26v8mrAK%P5;VeB5Q~-ECMN0n!-bXAHSii&7MGxF ze+?_H*77P39?mZ;uYUldH@~pnS_zMZ4mH2Dw6?I((s%3YOLG}+X}!KdpP9uK4NAQd zU>v}3tl6qK@zNx@71Qj%eaU!PWSUB;3N1y@(BzBFc|zz44xx5dHkS#pJ!K7ND#Tr_ zsZPEq-9mUAlJN)gI(x&bu-YHX*G_R9S+hnfsghZn*qURoNM!J8jtlzX9*Kz z8lw#X(SPoKO>K+^)VW{bT@XS4OpFIv^0~)fHQ-hmq?LfQAdt#4-J!=ipY{VZ8LExA zr5FBB=YJ#~#LsljX97axF!j^G=oNZ19zW8P#y#=!F$emI^|oiBs%3Oece$^3lu);8 z;BOUdq%qJe1Dd+0rp1bv6K(8B)xomrN2;EB3x79E@Q_tCn+nscr3!%1$|1P^#kq6e#aRhm|NK&UW$ZDiC{64 z2n4-nGC@;54ek{v+2H>DrIva@Zh?5iUtgC_2@+`mJD0c#5;F#OHV#y#&zJED5;lL= z$bsm$epxIDTb?EalTf@;t4WAmp(unNL!#la21?K`*LF`L0aTkYm;}%&U4vGsV3~(7 z5Z3_R#Rw3$w;wvgd#}#Bed*}iPG3Rr5R#{l6`)2@F&q^t)+sqN9lUk*==noM$h{oU-$!VLb33n%nd zKxwe5R`hwot7m~%cu&V?U2Q~aPtUckB!U0(oT2Kz=$--cC2V7@uPUpH zKY8F~j^z)#4(D00q?#=oDJS()ukcoW{!EgCD`$%xY2%>(;oE0Kf1H@Mwo-pd`?7aT zj^l~SvP`uuL;;HPsZW0ggZS7Z5HrH!=vuf{?U^!RrYa%E*tver(*BzTzeEtl!x{4j zI`PmB2M|p0-x3Wr{uaeZ<%S?-H9)y}`uY-e_8ACjj<>-xXv3X%6I9`r0M;Gm5sBay zy)5=KLGJQH-0m0ri8 zE4$(528Wz0NN6VW2|m~|!ZtPfZSlU_Jr8Yqe5zA&#acl*xBF->Tf51q~u}x_BE)F~{*#B_WXA7M^K}y-&tvSsL#`T@8Ob9L9c*4gKQW z&{D+PLR6T^71B$d+d+mrSnEBD%Gt;vHz&PN5McVsXPMQ)_zHEOkFzYpId0l9TjPO# z)`SjCH3kZUju6BQ8lSL{(Y4AtP~sB}wM9Dp;HOAPk+HFrWUWT}jT8U+huyDUZ_ZqG z_ut{+&nD!%S6{z;{NjJBJn8$#Z@$@_dBDX_Pwn@cS9;;W$>6N}Ap7$1%da9rKcX2t_U1i=-4O zKD77DoDcT0_x68n@vIFu;H(#g)#1z+aX{a&8;_vMnyT4-+?1(_#){vBLrt5x*36fk zmm}#>1MFKy>@f3$w`tWY$$=`10|}gx%`UgBhHE##tlstFC{xQI&auYoQR2fs zbv^`#K(l`+y`ct%V14bt5<5qm$Bo%Bf`F1`59H*I^R!hW%s94#MnM(gQEdO6@oY{6 zQQg>NoC$_A(5eymI=ehcv6rU%#5;VG9ij3q^nI(o+K|)XlANrZ?^D(@pX6B*mq; z)LKFx>&Dm6W5n1QyO){>znz%|TX3zcQXI@I-1|}|<1V+%j~?&B_}@H#^>SAlRFu_2 zi3CT3g&8Z><@}$z`;SMX?imm;3!x8V%3(7{p zXYoN0bD)GPmU+dAlWD&`Y+vK)0#LhW{O$~UoZA%3faSDwxJO@k{^{L$?;~XTt`!h6 zZ~}{lRDyf8?Mrh07}p8oc+krOKPh4j6>*my5E2L#mIFizAQxUHmSeIN%*q#ueXjiF zxtBW-5+fq6rGXlhcbsQo>OthH0xRu_&0C4h!`f{^0|`={nu*)eXP1Bw5+Q$YMNPNH z+O?Xl#)dnZep=pfKziaGf#FCL3T?AV;I^n7Txwx(y0N@Q1Y?6)2CE3@hevVyuDx7Z z+K48#%~IYc@%DHhs65|9Q# zK!RT*52*RgS;8=~mJYO%FE)H(tz@8#txNb=@|YbBJ;Ho8fD3Tg&Y^$PAi;g{n#pMP z9^Sk4H<3JUfM;1t_e&d+8Y&t1cENL48p{E>L^~Dk9|`QeMY}%Jy^s|U!Ex|QMiEH{=G&uH4+hB7*!+%q)U%A z!a|AGY}aIMm@CB{?!kXm_&&uTq0D{FM1T_q8EZN^d^hTL15%X2)3S3zJZ)^xbC|i_ zdiZcjM&XP6%FwW$wu5-P=~{2$+gQC~f$NlrY?#q=NxU*JSY$#IcTKFtr*o(>+>EQ{ zimr9&y^)%1;jW0&cEC4DIHLe8Ynul`VQxZwhkHJqQaz}~Fl&FXPJ!QD4Bi=L>2F%u zRxlKpxVBZXtT4K&+GGE$6tVI+Y)d#|r#aP~T z*Hs;Ih-CZ|8w5qts$uRu56U*5V6Rw+uysaKA7KRfYGE`{(Nh|KY79yLAVuHPE<=yc z)q!-J*Jr|3TR0owd^H&6PkS_J0W9&bDPt1?pp;AX`+zitsym*W^1D1xzV2+k$&0Qk+BK_TjZmU>*+nmQYPXOqU=ImtU+-3n z|EzxizrSeDzFNS4mw4gb89Rc(0X=-FyCXuHa{WQqKc6oJqfJt-idPE&X_q~~!Nqf0 z>Ss;b587?xdM3V6s<+Zp1OW3d}ds9ND^exk(^4G^C8~Mw=SK9bgWTd6_E_1l1)s|{myHieWn zJFeE%_BGvrEq>V-J0z43d)BetUOl1m=?sT4Se6|QtRL9kwSrC~rj)p8oo3F>|g zj9+FW;|aBYp$R3GkMACwPihILVdeDeMW?c_JMFl#g!7Vb&p-YOU~hl7#Pue{J>!F+ z&R5QO!rk|kyYDJ@A2cfA`seKWS^ieVzQxt>L#+MKMT=cv?x(AP{41Ub5}%E}ls7*N zPx0N47B3&7Ef2+n({2jEA`K%6zx$qJkZ4e24F3;h@A8F3%3=TNc0k|h*z+BV1`2u? z0oE6O9{nxEBXh=U0ldQbrymT?{J1ECw}CqD&7{KI!K$P=QV`jg2J%)-!XwWFn&)PDpESMpF% zQaJfQunN;*Cum^5me~ni0t$JxBmBJ|{FK?ObkI{a;sC!(m+%%6Tmey+O&1bne|b%+ z|JjZ_;$<_(0Szz}vzWq`w(1J;X;FO}D7oB{tCpmruUe8k9;!(kqFdf_-VNequ$P)2 zMk6Vd4+Zh#E0%ei8(0p;S@;CkxC`95$U1o3X^EUPPA>;InE#_2T>#CePN#+6e*fot zZs${h?PiIVloG%r9pu{0{TyICe})&Ay;rhhOMA@J$F}uhXNght4F{FC{k@BY&INee z4RqM}Fdn>r)@OZ##)(kV<(jB&YzHAjuEA>ZjDEC3&QzrzJH_6Y-Qs1p_{&A{x{IHP zPX1;~A;@!k-WSHK(Z|{xYO5)zbgsxavUnR?}bSewP6seoE~#lmq0Y7=s3xv23@E=`U|}S0_Ji zA8O=j?MJtO=c^2V@PQr3)rP%ri4m)dqtgNPq|f?|2P+NYfH=Vafpm=tk<=d3k)jiM zq{ZM030P&3ND6o|1Yq8Be_svuckaPGL?J|k%N5b)! z=B1_4OCfHGG29CRr-0kXkNmg#^C&_1k=K##Q_QU6X??%E( ziEo%cnx%LSq=fuCe~Q-9pO?d9L?j6e_BgWF^IJEf?2Uv;gBqmUf6`%+jgpyp)m@_Y z)-1lN0-lEX;<|9bR%3Q%38)T;EDHi%S{=r_aoyBe^bC>vtHOOTr9L65Tp&_0Go4(! z!#4xV2wQE^S+YJEIry4ro9j;t?-6g>AL5fU&?!a&gaT5&e^{A2DE`|HjVnoepNf+# zQWrrGbiO^#Yk$0x*Q#DGkox|oIqi?Xfzwv%{)_qSFKqEImh-S(lmm zfy~s4Q_eq7f1S#Y@PvF$J!TCYgwk+xJ-oR&@v9?UwRCl?t0i5X>uOn7L=3#3T|272 z0^_A9pyVddt8&>nD8$^8CG?ol<_@t{=RI6bvMs%%4UKy4(e~N~ym&X<2^q!{0Erf`68|98O ze&=6loeDx?Sclm1K+xxdQ)rsR><)oZVxsU2_$@)6hz1OJf3<~woWLQ})X(yVZ=FA+ zX;O9YEGL1chcf`cV8XeM0o!#%qY>qfnZdvT>BHD<)RRbIA8RPyiKgnR^lCWdAQ{XgSKul^Uw{MsO{Z>RyhiFi9H;Kp5O~gXHwf1&IP17G;B7cJ~t(e+<+J6<#L_gS`HZsic0t3BUgle!mXCKZf5w zCf;2}$||#D-;hTTGu%aI%_WmIOjf&Ewna%NIXJA^xt^Q#o7O9k3kr=?dvv|#lXDjz z3{0@tD;O7qafgXLXbYi&X~H7XmXeMJKnwRr`15%ViSDpuDRKvEtlr)a^k^s>&ybi~o1|TImAfiU@xXBqH#{Ia9v19&LD)-WGc zVhfJ<9AOj#eS0sJqj1*%e^;Dks~J+?GLyXX@*xp(m`HE+8Ie!KGyx~R`8moBlQy3Y z;Q;sElW%@_`Nwy=&;R?YHtTCVhAmUyJ^u354{y91%G7y;B!6@ItV&z&$N|KZBf5|4 z)pvXS_wlqg^saV>j!hLOcuI-g!MPb83ElgL=BZL)Io8pQO{G^kmm(k%9)H}u3#V@o zkHc)&!5XF@HB4nuco}+^+|iMa;NWCehx1B2JRs0nq;l{WvKZ;riU%L%Yy_w~@7tGI z`|IClkD5+oUZ5-%f~;K~rLg44FhA=^CV9Plj3lxb9?4*#(`!Y^fzkS**_V)H>cBS8%DZXgE zg)85>hm-;ghf@6ApD&8NnO9&)bkHJZ>DDJxzIn$t(m7TVUvt99Rn>Yc9TMmCyl{f@ z6~n2B!;w89gS7a1w(n_+6d0Af!%1O@z+>2>gr^VRWtBj`Zy9L_LVt}aE~xnsjptaY zoo7E*-^|{$3JsBfA@XjGJVYS2nS{V?Fdj0CfWQ7%sq%4f}dWQeU@h@W`o?UoN_2L@XLmZ zk{G32MMV!X?q5K3)qn4Qhu^nw+$Yyn^KX8hnl}wQu&LSS zaDkXK-$!7@9(yC}JVNY*JY(0DN4=7Saq$JvhDe%Q!~;Q(plsY%w%74Y#Ip`;2sOk?jtpI&8`;dy9 zKyHtG-jJCh8)qf%#WxfqK;H+a3hxDTCdT5k3dvFyW4ev)#muhgnGCDs(v3~%2!>EWEZ?3`YzAdQw`VEdf_dB;1oqqO<3|7)Awab!Vu&I?TKwjOX6}jKt z`9J2+)qiSi+K*+B#umELDR9{VnK6Cn37^pF5~I5`B26KU#@s@=CB2lonsSWdad+8+ zS#B|MiP+eu%>~f8|-;F&;$GQQ`h1|3(ZcKj4ZP$ZsBDTgz>K5RBL;&)= z`S~6(HU?XRW_$g%%Q?6a_=wZ#`7My-@rxPEi+|EXPlT~4rOojkO3a(l5k7!|>3OXB z>crKW$z0Q-30Tf->;4d*FtMpPcbT=V|K0JTgO|Y_G!dX06M{(wjVKI&5)W}IHBDho z2w7qKR?h9$e2#v_tq{XDvu^b15Gqw}AS4mF(qtrYu^`Mo;v${4zhIE>5VmV^WgM{hFgGtAJwdD)Io@=4ouwn zZ-SHKLZu|EU6xWA!pFmrmX4pRln`2>g(g+4dttpl~FI)iV6kGyz=*}TOQMZ1D9Xj zAGIF-H?_1{YTgD8hf*63^eRUn)hYrh)j5Af2>8?ydat;=yYiNoLyqAJQLP|e$ZM&B z=*bltGL{+_yXGv`Sa+0Njk5pihhcInpY#r$3htnQ&o$f%Gt5%-Vl21l)Xnzb^8AxnwIdg*f%K(13MfM*#6903UFUs>Vl^*|0e!N`o} zmzNLnO0&r|avLdr^jxuJe z-W&aN!r6skjjQm+n63J}Z5_d^SrSNSloTtlmT4H39|Oa5NwF}TqSlhdnv{GPb~G9A zZKoNR(@eKfz!mpdmC86w|8rK`V& zN{@QO(Z$o=F|MA3aJ`E*OL*jsV3Y7g+&14qmv$!-A%ENoTd)gZVl?24#3yskX8;^L zU0b!M>x(GbAGIH@+Z_NII(5SVBus_8bwP<2CFgGYVN{yIy78@Mydl?5SijD-so4@8S)yE|q<5kdWhfxpmZHG^azu*zE$FHmh((igfSV#U6%W`k6 zAnarMOMmRk@OPy^WArQjE*HxA_x!u^JO9O??05XzD$u+A|G)o3f8Q4Wolk_;5;2If z3GwgxZM6y_(paU+tEHm#a6=@>72r9Vn!0K!R;*vGYjWxe%$jhuyl7vL%f_lbtz11^ zviHg>eX$mEURjPg6W=Oat*$N7Nq?HeE$Y7;#eWjvZp)u#m5_c`#5~F$;f5Om) zAAc{;e#qJvsmVXyofCdGiZw4N{&+$0#|sKSUcWHfan$3lO~&}UilzR)`A60NxBbw0 zBG-vO5P%PB_<={HpNB-JURT$0fj6vQtSyE|M9p&ozvE{q4EFdBgb>In6z}E6A0OWM z6UaAk5lzd9KfF@?aq^8np}FD5$;p10Ab-ZD|B2tVH8tv=ywKzbj4%8WjXnE)SghNU zz^^g-|I6K%a5Zuy>;4s*dmn==i9r%O2#yWSxMzCtYw)#w8EhAl0J*hbEe*Ve_uKFH zMMP$0Ri#+k_S~82bDAnuWo1T2MrKCFiea)@=&q}>jkxP(WkXgNTxAp3tZce*U4NEA z;LQeW!c9%kiyLH`u$v7ljPzbc4a+vHg3?*n71@&imH%=9`Pco6Sua!bfA9K7|K*bL z$NlAe{LG7wn~BMGpS|%71m1{A>P& zCC(^v;&R8+|E*){KgF^5v7>VI(0?2~K1UAHu_JZiaQ)~p`$NE5vrnB=SzVMBXWzD0gyvV0mt= z!PWInuPCYK3*PAg1DF&R^`Wc4H0#QmWclNro>kDE9sn~pj>PhZ}kcU>OeM(<0cHsa?73Y+`Ln!Tkt3>1V&3?{;caMyt%Q|AVaO5fd4@kqC9g2 z8VtE|fD=sG)yPPMMZ9vAWI1;=%**j!iQj1Wv8z-t>xzclkUIJ^x)fOf2j5YHHSFkL z4oBy&$)0%bPJhE9ymqZj$xGU z3W(%Z_M`08?NfgJbIYH#pzAQMR-ec=d3E2r8Q`Y2!68yU%sAVuiWhWV1vvkf7eu6r zv3dFHnw>E997`1I-`Tux{LJ!4tJW~yfAC*o?vMJ5I4Yt^-`{_Ae1CkH+*n?xyw==B zo=oG}`s`4hy(QQNPYRZgfB#di&LED!{8*BZ=KN?(3ooynB3`t~h@qp(aMZ)}K$E4v z-7$5V7GU5uJVLh0cjrvCes||SVAeIHd%J)^1zr;fu@{v`X({B-oc0F@^}U2}oVWID-} zAl?oTY>|VfX6a%i!ngp7X4~)+A~<~DH?XCFVU~Jp{e+n6`hTpnZ640K=jgCc&uefZ z?6le*1RYWLx1bH@!Jamt=G$-ajigbCrTvAGOU|lWhQwu?PLb{mHXP2)QV7{EU?Apm zWo2>Y%+w84&ec&3D1u&w(C8ERL>pcQFh6VgqG|utC`X0^F%sYp$J`|y+#-a-m`3dM zvw(w&Jc6$hiGRk1E~FHi#nWC#eW2Ax!@p;>aMHHXWa8HA;XxO{ZkgWI*()Omw%IFd zG1$a?BYA+}g)>56I-0`i-44cj5pFUV;G8)&od(oF9sUc5p@*nfu1T3?+M;noIm-#}1OY@;G2)$*!P@vP#-if4hK1}Z^^3-~J|-hVF0vWQkk^bdVItkizA^a|qr z1BZot8Fg_qQBk=fmpbD){huIS$6X*nz^CD9@j{tO%Ac7 zUS|vohvl_~>wrO4^E^kaCiM^Z{L9n7qnR*2D1Vd(bijfo!5p9nVan|O7PTbHN@?Z_ zSIikldL{@lR5BlY9#fP<`ocob8uFtx8{ac~JCkF3A}sDRB*$}n%~;H;!9+!YkpW&< zNN3z=g1G1)U!;&{g1_GlMBU}h%-JVya}(GbunGyPp>)7Ar8TRiu#!T|Oc?gA61{8} zD1WZG)NOfKp3|v-b_-MjSHFSlS-{$J31X=H+yrkfpKcYNF-)=1A|mfNFw)9k#$Ea} zgdb-1yS?Qt7<%Uq74Y($!9oMSvBf?6$b}WjbS3vyHU9)M2wQmvbTn1pS)PEA&H)Y{ z>G?O$)W;oY|NbZE?)T^Hu~^*yDu^uMYk!!Z>rZjwI79FRWSd}PayX9Q5K|5LhOr>! z(TM0s!#kSH@9u6O1YQxJ$Sq(wc%_Ei`-khxcbL(l^A!|Ng|qhI-)X4a#2b*p6)EiD zz3o*X=k##Sl#f5MH{QK=cpoxsVKBqoF)uW?_w9@8^e*hv5mrNP!;>JLi?{}nD1W-+ zx$Dso@kG?p-|hao(Zdxz{O%r3$3MbVf&2-pMxdYE6dMIV3*+<83bz{@zd!2!S; za5ABgAM!OL5QOAH;^rowGdg(*eA{fCAT>t&I63Pnv*NQl`don&x1a?GCZjHbs#(&{MeQLC1|7z zA>@}}1~BmzPZ*Zs#WEHj^UOLyND|~G0gdO6*g<53+@?+Upj@CS+ zo(F}(BR?w`A;Z?dj1VM;;#y@Ljuna~2?NQX8ZHQ@)S(0Y6?Wmt^>D7;?SH$$wnBeR zq;CO>`K+$FjV>IcIe7Oqk@0YK@BgCDySt6kt^f9&e^%E+s>pYI6E@<$<6)QGq{x2( zAdgNyO@n7V1)WeaLNo9jbW)uFMJ^P& z&l&{G-Uduf9vcMNE1ob29;q&ej-AIc2O30qkcCfN??9@7s9RVsW-1TEdS^b~b4N`l zciq|P=r)`lm?TdyMro~Tl5;Pk&3%asJvrErVb*zpX3FmBhTzLpJAYv-_vy?*>i=9x zgk9LdlAU`D?%jFrIVR{Co_h>n@g#@6B#bk5fG1#Ik|uAKI{mB3tqZd-YJMW>C5e6D zC}|NtTdnS7l4>tR3ZK(xERHIl{)YJQ_;hjpZ%Bymbr9~Me;_Zj8i=$^_Bo20BEprh zpLjt%gnP<+*QV$oGJlQA6TEh62=~(cM%tpRkF5}`KV0UcT;{N$e(zp#?wv~AnKSF+ z_!L*hte2^Bc$oqaS9j?6sY9pZA$g%xDRNSyjVLU5uvu^0K*1b8$Er>3={zi1Z#^ zBlHASfFuL}YeRwD0FZ#7u9t?iSz8wfYMav7`ieA$f6!ky8vM1{K#FS^q9EtBTxyMV zSVXOCEZ1;ZU4LH1ug&ERV1}>O*eY{k;{y0$Aq5jHRJ~q@%@kOK%@wx3zPYhpuT?hI zHX6X<#`@YS>|Bsv7z*KhkEC6?GOWNPOfJh9ochWte(_yheyuEHjPVZH>scN|z<0Rt z;f54}{SvHYHen#gU-b>CY{iNo892XN(K^NCYo)QS?|;O~W^>cEr{5V!E2s?LHE5`V zcM8O&e$JAc9c^t>s#;NC8*3n%y)(dML)2r z{Zp)1AAdj#(m!o)Sw3IIFR61?`=?bmv^_vAa0;0YE0qwzsP7VG!jz zSe>yweaGIie}+$iWyMgwqIdz($UD+A`lsk2CfGk4KOJ=)j>eky-6#T+Roc_Ie%unv}bq`oHaJ|9Z^8M=(~o%vSLHL zs(k>F3M`5j?Fy#0&J?3Mr57Fk#+u^AXu{1t1$S9mU&XI*_9+UuFtASRpUpl6m)Iqo z+P@7O2OVOp0WyBpKbw8}j-$!(GkUSvr?6mklJT?t+3eG9a-=zaHXn2xl-#&T2|jH; z*nj-f@3iVw{0irveuo82#?QX9`KPe3YL1`Li&VB^B&AE_GKMjnfBKFnVE^=;n|}(6 ztf?43qg|VSiWe-cf@_;qI_^r|jWxxK(V&}u+8%Zh=^wVkVE$=)4Q&q%h4W7@q#pK9 z+N)#J6F9Z%Rc#N`Fr0t-j?~Kj*%;ZlD}OB5Q)T>YWwrUIxF#iY{A@nxcRHOKYub0C z2{-@rJN>naU*Y`I@30w4d-k2pKmD8~**{xf6fZVquqz9_7+!4t={wd!y4H7Y{%H~H z`!asEzS#WJW*dq#BL*D+)TaGYyckV9fA?E|VD}TqX6$}Cr{lYy&G+c;XLF^v`+s5l zq(?LMKOLjz?|=4PbpI1X&e;D9FVX!^-^KSon=8@%&sN3g{-=0({{E-!#rHp{Y{vel z?Zx*$8>8s{r+ts_e@ZX${mAU#;XKO)p|Fcy;y8kI& zp1=QD|DyY!_AkEwS^uK@pV44+|9`XoMfX3O57GV4=EJl1Kl?7a{~5hR_dml+bpO+L z@%_(WiSB>4t3~%e#mn>eKbuF<{m<63=>BKxQgr{bF^cYgMoZEC&*npP|1)}d_Wozz zMfX2jU!wb;;U&8N>AU#;XX{IJ|I?E3{cjUzLRkL}BgaC(yM`5<7c9u~i+{li)^WzEbtOHa%o zK`ElgXb_#elV5A-vs|ReIz~g@$z>f~mv^hM`7Xg!*(`AnnR@V90j-`S6ic&nc|n&; zxSflRmfYRRbu>ej`LokxUVln}ImQA$C(M=)n~~)Zj@&YUveu0k2%(F})TLP!x@71~ z(2a27W5&UTRq*9dQf)t6`J!YUFF}9ve;QEw&kA7tGqn$g`(MA@|J&nrHtGoYJENY% zgID{sJP)36FV`=e)=V1m#TtO%~LUL#-e3+%5;zRAJN)>MrC{fb)1Ky>{WoLj9CcKo= ze##bfzgoTFn1b6Xv}kBZ@dYhDr1L%x7A&7S zV(y}%N0T`gA{|4q&N^L4>!3EM|1^SRhiSZEE}E&%25*cM2LRS%U(?N4EM|!Fd_pKc z3Y^H^He5%_MQ>!HBS{;9{7H%}i@Xl26b_!r>77zC6G)NiO@A_^>Vn4^sj5C>lvQCc zgS}rnX3cET`8nH@{A7VvrF+Nt{|JIl6-3hPE-cod+9)|YXE#;4ySuic`N=ebiowqU z_E5FG#U3&*2*dqjt#hdaVU?ZhFRTm-{T=MUdZ$V|A_OE1`>Nr|5r+;Y287$C7DX;W zfqw+}nVfD&J%0%TT#L?RL5#qWkofLyu+#cXbY+l&P>9Hjn?cH;+HyGQ0Ve}V;`KFz z=>23M`mbzqS&QZGNI%ty`@36$H5l3)qu zAh;l~?gLX2K2NrrA^m~2t8?eEIT~#F#sXv_yk-J+VtXmWA0ra?(`9nWM79*`9g<9f z<%Zna(p9JPK~a?_vA~2QKq+jEnTB7|P*i9n=6_g;f-Pz|J{3u$Dgk7fac?|=oz-xp zx_!K;(=>M$E*+nzD5U*d1c6z-qnlor^_cZN$tHI=ZN0e7HKXHZ9z1cFIUdoQI+3lNeNNj~VXt z@_&j}x0N9^JMqi_y;xDESV!9ki+kQoyg60P(i=?i+}=5xKE4Il&9|3Gk4{e?ERH@H z>$JI!FKS3EBcB9GDP6y(rLtvOm{hBCOvz#OoZlO75XHo0mjCo-(T^4GRCwgrQ z4Ek5&ty*Q!lZ*O);WT@(RlBdSR1LBX#|iiu=V(YpLlxjN;FTF&8rJ%3Ve6FPq@W&;3GUa{DE4MI*WWNJ6nf%-PLC!fqEarF?y-xV)Paw*$qYvc_H<>!H8im7!2S; z%f-l!QBLq)%DK^ql}iT=a*wf#n%P^Ek{Vr6@N1Hqu~fxhJ0vP5#7VdT4jWNkrB{(sJwwwK^)tX$F* z8TP$vEz7X*#6A6dV=LEGP>D007W4=L9E`*vDok+)KFt4GP$`c_6aY6C z=5J)9OzAMPtaDz9(tko~i&KbEx=X*Rg9bz-+CWm3Q&uo|10rsS3!J6~VAtRPf$vCx z=EWmVYd?-8YC?A@rA1*B<%ojvpj5+?ubR$4BJ;+eE(~3IW6#gdjffLz`8oAxAiRg` zl(%YbK?0H`SCI?NBHCJ!XrW7R#d9=kg+0wyT^2&$J(uGc{eR zMPb4m|GCY~)J#9f_(-+D0P^htlR>%lEYSpmn9K;|fs-UezBvEwLGW9H<6wocyTTd%>|HT<>r+4qe)BpuM1Zhxh3@dUOq=>zD+HjrG*{ak|( zC3s6oN&1UE$s!pMALqScbG$W{W9G0~#q@Tba=XoH9l;7$Hel?6lrh7d=Er1jxFrgR z{7`-Q>fqsVnr9KneEeYf!f!+fqVB10Q0YlKt?P0%s&~({z5TNw>1N>+}k2tg#xjv z;mgzMcLuYDXJ)wvnu}Ih9Ha}ZJs?nsGqpl-vwz@Ych7vGSN_)_HXhu6Ga8=bZj4(I zd*SBExP8g3hZ@xR)5;}drhU5ELTHQIt!f>7=nVv7{x*1u&>OhtsoIs+dnv8A!PBtt z3hv3_;Z ztJ8{b8Ik?Y`Mi$!faxBu`wsR9q*ipUzb*)u`W<^FM2o(8^WI96^U#cmi$i5=hQ`wj zg`ttkUT91T?vPN6zCeJ97u|)06>2O^e1E#Iz_jyYXq=aBs6KW-Zt+9k)WSFTfj3N_ zHipxzyzoExiT-GWZ}8*Rxe7)*eheo!s#KQqdvCI2EFJXw36xSPo0Z*^|MC?~GzQLO zf(b5L6=wQ$*_TyqGJ#zKc4ufgC>YMEI-v2KHitX4y~{1UrqgyCKkN3heu}e78-HlQ zzTUWN0}HsRel!Yq;{oDy|J&SJc{q+7_^EEdk=Bb=vH?l+a)ix)rc2 z<0f)GuR{zzM)vO7-D0cU*y-%GPjHoXww6nLxPpgMJX~Sjd($QX_7%}EJ-GrJ@Mq~}yY269x6hhylF8*# zzdKkwtLXdE_N_fkZWeF-!|SxHNKT99oRDWxG{X3cm z;EU?j*14M0TuBOT^#7)L?)ra}>+DUb@}c->-xF4C%{`QUU!dO?J2%@G?Dtjk{N&pQ8KcKc7rMB15a()1Yw|{BAEFbaar{=-Q>(i58#4Y@%(toF)n)`hG>s|9F z7siTx|F(&d$Ww3S+iJD+iB*w`S-~%o0P>d|2vXP-37U^zGYAl>c1`_+BMMvC+4&Zy zMW>lcGC2ITv@Ly=jQujR5AuhVlnu;p9F>+H7<FZ6!DvV&OV{ zaJD;JnQ*$N&xBZ1H-AjyfpehdTqpK9srg(dw!6O-&FzJO<+of9*+ugrfUFikc7-(`NzN@A(hoE&VR$CgC=z(0)#jj46)fw zudc9?ciIr-ID?7e)^?;b49h}l@5F#qooxiLQDTuj(?HD(CG5mN%IA;*Hpd`!+zfY+ zRkbC5cA@U>Q5v=ds^Xq?guNAenYE?L*U#At`W-FwP11r?d zU1X32`ve9DZGT?)S#p%0CF%LLI7=LlP&u#2ZdEy}+$z%rf!~Y~0MXj4n}a~{a?T6{ zBEw;nd+j#Fo63k};!C}Tcg0TX}yV%NM(b(C$bwfX1Jd4)!N&s+}A2i2b zd@Og-GlDY~dCIE;Inx#aqU2}4@&QXH_gBWqNt;`YHunCNHbyw#HHRmMrA{sUIoinUZ%UXJ>0&*?R)+;oWF%hCxWp} z5f%-l5bFVUuZwm3WH(2Q2wh!IQihn`HzhH^`1r;BiyeRgb%zt)p(#@*o4{dTgX0p~JCBgyUn%6f>;*4=#7xNea7nULVJz1 zQL*@A{6#Fp$r67cXSd$GMHKj^RD}mXD}Mrjb=q%-gZG_D(jDN`1=;onoHG1cgePk& zcmQEKVS@LJn&QJMdUavlAJ~%xys4SlmvuLWL*d=Fwg(j0qS+kAHA( z=x=p0q%q_LqPhSJ7(aAf!sfIDlFR0bAD|uBn62$yVqZ_6h?)pX?Ij~3o<6(0u zM2U3mOIHw$emNcwTM)W}{IWDfTYt!Mb4AfrENggn-YwB@*$^E@H`mtTwnm=Ur`e}I zllG6@M=(D%gH%VLKE7RQEsKVg;jx($$bbbDsC7x5(Cqfg7l>}hxnZX90Ux54h%XTO zZ9p<&jLQKy@+J}u+z%k#fP=wh2l`Gbjp{24`o0l9uC3YAmGJ3?JzSMK7k}If8|xnA z2j0xTy>lK6yN?>Y1O8}0O(^yA?K0HUCF;;Eo*Is$ehk{>u4VP-K{1Z`IJzBrAxE3L zPIMtWA5I74vOzs+!%ZWHUh2{jTeT!MV>X7%WrLh;|$x^+!(KOwy$9$Q%fEi}>AKs7iEVD( zuP8a?9+y{2m7DytjS>X5xo6NvR$w`Q)*VQD?`%WdTBjXE840P}X@C6!wh`;8824&4 zBytSm>@L-@-i!01$Z5gLvip_}!Hyz$CRlSEfDMCV103h`=^j`Qmb(!b7c`;A5S`gr z<}hfUHRQv(KD1&7UmtaP9V*~yo?BmN1h2jeU#-Y1_zpr!OMigy-5P8fI!npL#i(;3 z*m`9#%z%cp)Vh??8h>CMoSFfA3)cjJY;{dxieAS}c~u%K~89S0_rA zmvyv_b+>NQ!g>glHYspOYua1cszLUOnVAZUTPiFb>-2zlpE#$aPcUwj<9@>u`(Bp# z`aLi*X^w5)c(5RLk3mTbl}xMk&u%rX{7bfv7=5zIzB_+;qkrt1>XTKIZxk=IBO6m% z{B7s@!IF@&BXx)s$4$DC;$+>cfE~&N+qc{ePP_z;?Gn-T&W8_gQ?9v-k!K6?BroH7 znWg(_2~YBLFAsae3(<9oPs>zE9@hN+5oN8JLRyiEr}l><=w104r^Dsa1nc4W3J#n? zmtg9oiO90SPk+|s6XUxj^zDBoy{P~JQ#QUDzdJvNOG|SKX$SZ=Sht0p@C1zy#Eb}( z<-468DIZ49;Zd`(z&^Q2e#EeuiUjxQn2)rB_9#7E9(>1_YcpPc&6gW9UVhJ)GEHM| ze~`BsK+?CF1&0H?h6phWu&@ynWF}V(W53(v3M-e%b${t+i%u24@XeeumygYq8m5X2 zWt%JfIb@N-PPUi&ePh?ok;o-o`w;4~2CTKghl(l2ciarquk7j9vKa=IB{yce@oLcS z+{^^GozCzgsP($e>UzUKzTmXJ_?&5d3`+YOzEW>kIyz~!GEd5_X_TR@R zc39+xcoB@^#bZR**wB$|Y}!cnIg;hz2K$gGV^*Z?i}T=}E37aJX`< z>3?;tz7=L-Y9Oc9NqkLuSfmvSav18u%Wm!$-LLzS6Lob#a)Kxkb~&D99@b3d^uulO zp`}Ui$>r%%a&^^%x)o=%^aPVV3|M&nKm#NP0XqsMIQ>x>ls`aF;WPmZVnBN&fZ4nM z>W;g>?Wf@&XW-@ixLZ@q_`$@zRzFJfpnn&_7V!|m4EQ7eelO`?b=syo{(>hKk{r41 z0--D{B&wW{bOeE0A#|1PQF5KyvgBj?XTcII2sm;c(iS0yNJ1FLV)ikUu;6JKJFP{( z$+}{~&mZ!+-Q7i;>}W%n;+s~$aCTYs<@ zQHj+hUR+{W5dati0vQ$Pghr_+ZAfjwDuR(y_xTr7eh4rq<$&368Ry}GK=*T+`SFR( zJXsn%j!T1az&nr#9TCTZ!5q^6({& z;bQ5X5+jXkLTID*n=Y)(%w8=mEq^7Wi>XX%R+qQX4Hb+kw6aW!!O?Tv^veXa#rYaS zZ(|c3X+>UXNqv}7W8^TO3JWw3;i$}TAchXN1x z-lr_RUS#Psqz7L^YN<^^idN`_mpkNp(S4{F{wt;x&GbS(`vZFMUDyj5+<&5Yg!z&l zYu%;NDs;}gx*rm(>^)TZR;)&onWgF)s?G_^4hYygz4N;JMR03oBfn4a7*ZP$)1G=B;P^db-*=gb5in#-ZFz+>hC+6^j5o@XV{c5-3ZOjItK z5Jl7>0aPXdfoA-9iJ}Bm{`YZTQ2xV!K^C0Sr?V(w-LjdB)Q;|=0`6GE&}|n>gVJd1 z5uLq3pxjexaT>m9Uc=WH4Ih-$IF(t99Bk??xWt*L?p;U(uisB!hJP&y5kAroROM(W zRVALKs>HMHZW)eT1map$0_h$Usp(6o@U^BcG~(A*Bxf=*f_VtKgCP83f=c5g7}s9l z8I$V3pVVk$8PpL5F7bMPnilk-P`@au_XP^k%fpB%3Zkgw0iy#h(D)OuRt2_rhTA

3vixXrz*cr>DG(?1#;Jl?VI?Ljf`1^Y_LPrL-B&u zBkLcN_@#m<8_RV0NXHUdIG>RZPINwOkO*T-cG3<4*BB5}bOFMT0JBMRO8GfBNa*#3 zV23eO{RxdlhRp+rYnV+@3_hQ(T5r7?43P4t6mBb`VcDHr5gohzqF0E_GOhg!o2>F>X43h zK5QSMKQ|{wV1GT$QYpcY)XYq+MMo@FA$BrFL8@uSooj3*Zd(T@ICYJOGLkc)pW=t#w^DiokQO%9IdlA&&J%by$m{?;{N5Q$|L)i>;TRh zQxpHBTx4c*Rlq=LA!nHaAK@vpJuw*5(P}oJ5J>$Bsej}PJn*&$3N9hAx|uF!5o&=6 z*F@NCW&nCXg}=fNW;m3AOu~Uv(B`d*Q%xx3G>%*?CeALrxXnQs@Q)oEOneH%SKmsP zlIYev7~*8!`Pdy!$8+H6rsB+M`}M1XIa#(ChAZqY-4o#z4Etkv1n{_V-o3FXJ|VM7 zo;mocp|n*j*DTLbp(Q{1%;l*g-ZU#G?G^VdYPqa+Bs6w&e@}dyuC779BY?2 z^3kEy!rjb5?!pPq7;WMDlzWPtUJhaUl;!tZ5AgekN9DB~pD)ED%?dfOo`G-dj zo>q!b>yf?p&|&2W(!eb6QvCM^{@`KYX^I#F{_-K1 zOb9Yag&+m7T(BMHlu~%(6`e8-u{nATCaW?9q_!EVJnLj+gAFvQ^hwIg zWd@aYR4#uLprk0230~$UG6lcnaKBTl8>!9IW8>|CJAS$+%|USf)D0{?d@x}uo+2M; zpCTbwD|TG5NC;IJ)rq(imc$nV7EZyNz>Blspjt;xG`Ifddv_xOhORMSRZ9I&dU4#AbcYM9EyLrk7HulO<>O*Dx7&wi@Y7hc@WtJ z`pWdDo-gq`r=biPxvU5;>k=O0Yck_{!t9Qxw7pbGr0!NTW@altuCp48ITDy(#|-fR z^p~+UiL48(|Az6;Qc>*ue|{R?&lhSSFK}rvLiRu)5zO1k4D8e(?hP`OaLe27L#Ev4 zkl%k60#Aar7Zz?+$PaPJm5%1EBQ(S>NnK-zR(QtT1ZM9an(p|4LyEAm*QLtGfapJZ z(oW##vDa|k(@OjB14;`#k@gQ=ACF-GPeb_kmA4h|!nTbg>f&+8GDA5`JFE-ym!)- zoZY_!_TQdvziwWZ-+XaiKKP;yGYt5)P4Tl`J@^7P0un}+{$~pduggc6=5S9_C$)d_ zhaK2Trqu93so~q^)yXgAK0V`J0&s%{VC)=ipP|6FC$GzAVtsz5DXe`8*Fsg3CMuFK zM?g!s_JD)O30GQx&E|~y5%3WWY{QdJ@+UKt^S4-Gv_bKfb8E_#TT{4Mri+AamE(uE z%G8=*#vTV}E@vZP_kM{AH2;}jKiGdS)7)o%{Se#z#&9-??S8q{rnm#<3gmae>`~7- z(iHd=#4@+dFMQhU$_7Xi&HO5;1p*t#Oqdi5D)x-Haf6sv(nEXp>s2a%f+@;pn`i(l zb*;QOqVd2wS7!YI3y+c>uf@)sYcDMG5wr8ks zX%05EKum4Kk=oAJI;)m0f(2Y6M+Oc{^9b*RP(-Zosb3H5TYkfMxNsII^k>$$5I^$Z z?YzMACo!y65cHa+&BbL3D#!See##DxfML;dwz~KTDOgqNi$}|%UU;@QSST-2VAiPQT z>nsXly_%60B9JM%ObrydC#lXWsW4|l2BOqm%<;m`k33>(&J*?#v@(znQ zFS-G+gM@(YGp6-I?6HI*&St9&w`PbGVe$(_K?`_&%$C;)Qf3C#r2t5Xy<#E+m;k zXdy%;MiiS$9k+F4KSbWlR={@ zIP0A-GZ>OuH&}lZ>A{%js}$)+FOAgOXk~-7F!VDT*hK6i{DOZg27VynxNBeqP1K}0m>Egq zb$Q3^lI)?pV&-YdZY~1^643#|2gtdtLxif3W4qG8y|#fgRA$r!aE-wLNDs z0G-9nrs4)ctqG3d2ABfo9dfV;VBv7sad;E#5KhcH#SS}+A4=yOFC9F&^j~f!=ZGKC{RQ(QKX|CCO~9)sf~#pi5z08&g_DOjrFV|o;lYz!PGiZHVUAE zsTzNiJfZ^p5mW&i5mX@$p{S!K2_c(rdPxv^lC@#8Zt%oHQB7J70X_FH; z`yhKYzU-b)nm*B=8nZJi74i}JbDuwkO6eVh{c;anb-OO1O?$@SkS^!26CrX8Kp zFd~JrYJ5>*nl(-LXeim?3CxX7U^ZY`Bn_+g1L|M0hruGs_7Fs7c6Wow+i|^gXiy!T z6Je>y{EFWA3$c%Irb-n_XbFE|KIDu9B_72(l55t<7JRoEcseARzTS|47GYg;dt zD-wiQav5%o?z8bcDgBEEAoOO3g>IWI3&bCKbhiM0`Tlb}6HZh}z6A?!X;6EaFv+V+ z>j%dV+SC9Fq`<{YlAMo-+mc|qBna708wEyJ#o64!vlb50~d203gsCwU!*{$58++jn<*3B0=}w9 z@=9HrMVY`=W6yfhnV827)HS7h0awMMZo1e^d7JgW+6r(0B`&^76BWptXXKma^eJSV zM!8thX?f63ZqJ;2)*b;Up^-eeXNBf9Va+k{-hVad`~C{tDcV4ofJp3$imqHYmzo4PjCdDne9cjOvzK zlA-5C(3PMV^n8CoF`o!772{2mW^7JCi`4b;9CPbPSB)9KMf@m1ZbFAPm=YJV=5@pD zs~NGek-21%NCuMASgBI5d^j5RZJ4vWoDqp-LH0C$b@T5};YG<36oNkBqi6$S#f-r{g1@pvbuYG-D`8MCLu{T| zAebqoT;_jTD>w?fz@tZJJA7_%^F<9TA#m6Gf7cMbgH7)id1xaak6j*$vLoO^UNMpR ztQ7YFqvG_9S@M%iCrHkZJW_WUbY=k04=a*oxqRj6=-WXE1Sg}|6m6Pg>tuRbu5Ax_&muHprvXKIuz>#v){Yr^=c9kh4NS}y@vijerM1lllIheo zmRDCdH&<30NVUuW3sZn~QHI+z+4LP4=)r$Z1g>I0u-SO<;r3I9NTe9b)SnCY-bW;P z>Cgln^0dly*8zDoajx{_#gKz>0s@f5P3Fq2`k-GD^KkUJYrjxLQef`f4(aILRQTpy zjqneNvU`ebX83FeX+HmHz46<3PT?v1cX%`Tz~NQh2TdSC0~ z@fZF@zyhR;D?6M|U+6w|iN-U_j_rRZS(?UP<}#48gEaI_vEjNN>@TSafh-NqdB>j^ zQWndf)|aXIW;Ai66o*@+X2_SE?+Xi(jZX{@T?q1W8HmDQ0Ogcu343mLymE%)DjpSzTCvs2Vhx{T4NHdwfmIo~0 zJL$q^+HV#@Dus-%X+C@>?d_&O*Urue8?=U0#aNtcesGD}6cTOFw+rc8R(wHRDp%b@ zeegd+2E+{{kz-#FRRVGvaut7)pOAmbi^JXBUUgJjm~Qu~I7h+a0f5|z;Rte4N+90L z-R1^ILAHa|?(St(JBj>`8~68OQ37W|dAo?OH>#Jw&ro;{-ouKdWPD7xK!YN})!?z| z;-;jVDjB}YO_SM^Aq{C+oD7+@CNnKfOdb;X}%teQz62? zrNUEFbR1G$5Xnr)5{;fj@*kE4CkPw@D=b9U&*&wBf+X^6K{H~}8W0%vlEi-r>ZLi$ zsg52dQ6Y#)q~S3>NWaP$bj*NYk)KH9@>#G*3Cv|e&tl=6dJ$cbkI3if@n1VeC!#K78(WzN><5mxN=Djm~jx1{bCYzYS^ zJhTdm+#oW-7&k}>S60V`UGxU=fIF2N7>Gfbmh_<1(;CiJyNvxlmY#I}(PqI4N0|VhlM>Hs7870;~6>7QVqUsw=x@zVi-d|8MwKp2G~U)@Z|_By6zJesFywXj`7u8T;^n(TkF7-}x1>guNiErH#0{I1-E|4V#mI1=KIzuZj_a42h4QGR zKyZ3kq=aHecXwkw)x)@d8e*S8<#;}aTiW9M8@P60-Nq`NiY>P0K6Gy9`cNOvodNW@ z0X~=;${ch0VAlhGlrK=g62B^vK^DyxMnx7e^KgGnhs9?af8wxkU3liOq3s+k7i-w2-*E@EABCv!li54jCBl z0-(tLl+9GE{!>N3eg(wDInwZ&c*n2DnSicyIkijJ2BZU}vkWr6ruVCWKw*VKB z;HiIcKG4qTlvQj1=UzkjNiqrGC<|?L8!FlRVEq#FZ>ZKanhzZvoq@7wF%iwg>u?q^ zVVUY(k}#JB&9zNAsw3Nr_yovV%3iHApX6w-9=vME!5-VWWT?bdiZF$;wjVesbUGh& zpM^|80t2S3xA4bCy;DsVVIS(_*s9VA#pW4>F}5Zo~tHLaX4*w`9%Xv2ILp@ z^%4e>-A^+KP{=VzbJM7)|EKF@1gf5m__^xb&$>Be5dSm1IgwdFe5c!>`}`zUSJl`2 zQv805u0xEhL&`!0#c=7T%MNuYpo8xKPID2t9bpKrfw%IZmpVuV=(kogYv80#JDY#s zjkr;yK^@`nfXzZ(9rB+gOCOU_SHgykF2;K;7{1d#oj(whwYMDXXnuH-i;F9t3)m%Rr zeSjg9hJ~`0{{AO8+09}9W?3XXvGsorda}7G_h+e^g7Uffm#^mMhAoxuwK_|G{}W9r z==Zx=<(Lh}Rd_+(3xhhA$m{x!3Cja27efqrgBRWLcbDBs=jbYFL0AcS(l{{9kt)Yk z_SH>n@nLqR6*jXu)p9c%2Plphn0gmTA}!#Km*J6bbrpXqS?yIe zVnn^Rj<9@S(!&GiriGKPZ6cP3-mJKrRd<63@_J(ti))(}H@3d)qE{@tu++;|Pkq@w zuP<91`uei3$3L;Q>NTsmUUM}g@x0x*CVb>;hQ8Jt_j%p5Rd+Slt*v_9)m(QqH(bpP zS2Lp5*o~_h@nY=8)r`FPcH@6)cJZ6*4B)J&XOtNkABzkOs@kn%i;&?MRqG``G!Tpn zf$JPg!y1vCL|!LT4Wq78O$lnw6Bvv&zysQJ+M0X$&P|*&S4st8JdzRIqcA@}VRL_e z`RdQIn&8;SbnL$$t0ka-0S>;@5|!Zlxy#j@Md34dWh zcGn3GkT#??rn0I$IHnm?6~^`8v&R)@*xz$pVT0zz_3MsVmi^X&U07J-W)22DO&InR zYfY&+b<3fpQUIq&!HK$&B{4ib=8`Jy$_%)Rc*oKx73P4C54otz;9IiqzxS*5f zG8O}@=I(!pjzh*tp)6c=YVhf+)#%q*t8CJPbQ7P=Ecm2CzP8iSDTEfAkh-f06+z#b zNZPeD5Eq`N{1n_P8EwSr*{Yiy40voW+sd6eM7NNV((-1f&fO3kj89tSAyX43)ZUaB zWt_F_l1g=6*>Nif3F>23<$T#`->>ZC4g@_?bGd)3X%CV8q6D*lja-a_G6Wp%SS4IN zTqZO*f5?cs8l154=R>k5j435nkjFz4Ae}IvOa*^H<_I=*ec55Y$&iJi0!Yu%a95xd zV+j@;1VNQiY7mcUNu-zI-tJAoxsg$`ghRf)9GYwkMr47|u9!VSDNs?E7{h>-f~?c= zkoJG{;w|L%Lz?@tEmeH;SR=%*Dil51zbMG_xXCGEzDn9I$|kUbXjq79?65z7+zq4bX@Gks_AKyEBhNn}%r*8}SJANGt@J7h#K$EP{U+Y@y}){uWr#Hv!-FF$Y@AaG(foPVP%AxyBX9o)HA)M7?W zYDq!w_TRV)W4gTfjD2N<$1beN+$3Tb((Uc6IKet$>#*tPaJ>WW!M3w+ zmJLvo7awRi%>yIdr9~0;Ak7(wg=5~hghu_I3w2CI zA6`@3`7AuHo);5<_RgKy%G4Kc==*7-#0cfRnaT}THkf_khakc1|DttTTg*s|Pe1+T z<)>Owxa#)ljN^YNmSH}AMj9~1B#~qTmOSN|iR73tjh)yIw@yYWu1PNZ)gK{4V~nUT zu|&K81)&IPF6Ai+N46Nsh%+W>R%O|2*z#WuZn&h)$9HlQui{ zN&78ug#R{lVXDDXiB{R~e}C3i2TMwd5IGz%^t0){jIWJ5$UlENIl+s3Cpb5U47c#2?G5uNUbuyW z_-zo)t=J_zomeWfgVxQmqX8Er?2Ga<<8&KfU!<_D>ii2x-X3LE} z|4A}IeLaR%2TQDzIab;inEPPx(V0Q(TpbHKpYH28eE1Tm+JP)UT(4I?{^W=DoE6pL zm0y2Yr}mW2U;WC?B=#bHyYkn+8k#8G*0eO=eSQmb^jx3i*&noXvJaU~6sN$=<@`-U6kFh%?98P0B#rb?eG&{D%C(vY?tGpxJ`WB+PkdP1%` zMHLIS4n@$f?T~O|0*)qdB`!|UR8~ig-Ex2QV`3e=)K&hH8`Tlt-=FaH3#vfa`oD?6 zaCv$eS^>{*V4>i|=xR89um(MJn~#)Sm7HlKD|Ix_6&z_hnt=o%VYw@pP!il?{!j;Ysv{b19IpKDt7bju#UJZ^uE zp{F%eQM)?v!Pp+Z+RLvw$h8i4DV3PaQo{1L$&L# z>IZGtF~v0^@QRm~%!ASJq-E~Qd4zxWN=JA*?rWN*4AyIS!(N68ru;}7uqR*V_@3p# z_wDN5^q0Tp1$fh9dOcOO7+i}?oBKn%=H4j03}l5g==IIIP9Zmgb}rPk7)4m?^*I76q@<`u4C>fKM`U z6D-kEe9P+tbG~`UPCEPS_G2WYp`<_NjNHHfKce^JpF-^FH1p5b5PN^=$huXc1LgjN zoj<9JM|p7+;_{2kMh^*Tk3*`74`x8V?UDCH4R_8Sbu~2J>3Pc zdjP{-H6bN?%t#!$Xn|qxC-Pvq7t?bir!sZB>!%cnNf5jLpVJtH94Q0bzs|bFjIl8 zu6@4sa`SV%+#R1^+owZbZ0~&4e0#M0oL=Sx5n|lh()pVjx4wUnQ`QhuGIZWXdeCCq zaw5dII|m1X^0y=@fkyaMT7n#9V5F%WZI_4US8YJyYvps8+*Jt%adl2}89G zhH4ewm9-}2318Nlx=+#o2;@ncJbwI7w0j&1!in;(lB>LTz^L-EFgAkCZ za9eykd=$V@Ko)-kvM9*b?!)cRy@L2Q`1Gv8?K|LLvlL??#W@a9|JL_c7RGO3q!Ne} z{C#k@G{8R{>JSTUr$qMc@Wt(b;>%&@Ik5#SW;aFHcfbSYVNf@v^pM3hQ7MLihua4y zlORwDC>DXe9HW56yx!k0RIMS4JB9b98W$mtgI}f;=OKTKyUay;KrxfEVS{gk=h3aja!U(5%nP@o-9oA=v=#nDm^oeb@y9Ynty<9W8*4vb)m%>*mq zCcf5F!cBZ3P6Qdte;8u+=rP>azk|1pPd{B;hFO2o7GIlBCg<%r11+uG`w_eWawA!< zd*NkXoP>`*KUo0nPCf%uDnCW=N4UQ(2M~DZZR7TB3*c%fR(O+>@@U;Pe9;08J8tJ^ zKXCx)(V3vIl^-0ml{D_^J6QT-^zxj*14uWZi8Ho9aC3Ih6iCC!=hNT5qj9vOJEzpy zm@I!!^pic@cfIxG&bNPja_9LUU)*{6V2k@7wzU2Y4qUjc6=mR3HGHPPaSE%yd-xM- z_ryQ8@>m>)<-$FDJ3dCbgiyJ*Gr^N>W>mRzg+(LW4PN~gmsY=o$4h!%GGp{FaR39? zR|icoZ2?S$KkR2N+=i2tP8q``;ABCf&hCHQ-8lUOB6*&_l~(Nmb5aazXZZha$VT^Q zIA#6^`ac!E&tPV;=jL*vs~=A0^W$r{f^Uz%cs!RbS6B;W|K-KB)FcEhTe!T?yC}x^ z{9uG!w&SeP%F?*_DKnq$cnAW^(pow$q`Pfv)qVE@LGaPahl!|s34 zttlHzs92#*iXQU4|1S$dWbd3 zMN-}6YTqyDI5TVpe>q=lr&eY`x-)o0z>X9*O}Gn(dpwz!ui!@W6L@xwvXPPR(B*eK zuF3@oa1Do9PzhoQtOARUefS1A*b0C9-`KyjF+(h|+fp`o&oKDhV-xqnOA@@Z7fD2& zAc38}>~+pfjkjY|g>QNe?%65LtB1)=IGx_rM-5=2W$VuT!|lef#$xE46-P9`f-4^X z7TRvJ8R*zBwwiP6M+dM~&aU2ZHZTW9w*!PJFNO)H7&^UV- zYtB)6nRMdHf{#g^11gz{zaqD5X1t4Iu>O2o9fJ8}Rpv)O+}EG}uK0KkkXrd!L2eDCU$NR#)4-OKTd!OlzH+_niDB}Eu7go-C(Vp3<$XhXZ@9BT$`_MPm11oD& ziC$Z{d#G&>F?l{(m(Bm0yYqeM;^b+fn^1d)Bwq3F^dAkGc-Y=0cj+2>+RNn+XTT+D z9BA-S2&X5xmmT*aBmN%b^>pw*0Q(y=4DAO^V72eLib{Sf1~Pm(sOEn1g;Oo4Lr+i; z0>!&{X*_nwog_F5oX~%Z+vy#@aL6HlaFe*N?~nC#TK7Y)JVda(QE_YS2A++>#e0Xh z)Ej+1g@FD08Fhbl@L$5I9`hsFG*5(o7w$hhqYku|H|5mY(yHj&PNRD(&Ad38Gh z6M&A*+*D}eR^EL-nCAyN`;r3)d#j~iZoLcW&u9O~R1SL4!Mxu$P}x8)_v-)TFSkVo z9W@XJUv_Bo#qDTSP4n;n-fu3>LQKjT_NJcXITNdw;yIIy2EM*+r*G+3pHLWq3_2Si z72m!Pm9pCj9gKhIulw&7o2ojI-#%0^)DK z)K-T9mmPW#>eg+#&n`z#e}S9$xV4Ql$i#h11~afZ|FP8i-=mTZzp)t?sIojnX> zr#9|Z>m7{;Vo0408L-3UJ$NtcLkm{EFrT$bsFNM@9}Is9T)6)F@??e^Fcc>PHp*I8 zKN9n5M271B%OHVFifDCNL|j3eD031ce@LelyY%Z*CthR93)*Z4p^R%ZcARrG*H(F< z`{5k8v1fOp_aM~H_D`MFD|j(KqGC09E>hXqIJ%NY(_3%`Iv zLaZV1Hr{_5_$>{ujqsa6mL%)qDI`ogr&Q)Jb;8nUit|gKkg#k9PTjMs8 zKJtKEywOz~64aDmka7e`#_<^aops)qeH8rSI;I7>-R`i$mbV+8AOCzk!|iO&xqc|) zEe~a27vdlKr{Rm=>G$ZV(@PxUKjFsc_1Wvm#r5gQA~dksI)O9!y7-B zY-{SHT*_Yh-si)bHJD48rtk7M>j6&^WRDC2)5 zJ|4x#SMjkOACKeXNqjtwk7x1mJU)IGA1~r#Cq8!L<7Iq&9UtGs$G7qEDn7o84{_Ql zh5%l;d}o8_j%F9^ zc*sC~5^R4InRz^)W#NG2T^W_a6qz{)9P-$oeV;=_DT|=a1VE9Qg2XBj8(5c2h7u`% z-+A50qDh`B@9g(P*`2FAJntNI82t_{1tn0V*5-c8dRtAU(9%<-Tm4G6y45^t@;_?w zKkDay)Xl#IE(}4~H0W7V@Uy1iXZ?bowVAusJSzlv)(DW7O)W2*T3+^RdD$)ZRg+`) zXns)!V8#p+Ijv4jX9Mww6Ms3H>vEd>X&*476vyA!~R;Q zuQi0+|5?=T0X4ftJ;&x+`hq6g3-UTY8yY%)*`Uy_oSHRTyBNzhjog%Mk?2}edUliE zvM(>y>fawe+xhu5IPosDqk}zGB4d{d>0YS}A8Qb?&njAE<0gj`lQJ_v z?vR&Ah!Qk^kEd5oxjh7e2p&`E2%nKA^%3GzOBa{>xVEHLU}j(v=3>Lyd2A&K#ds2% zg9iWpgn#S{ww?vC!KCjwX~1Def|1^=1pnUP-&_16ovA9kcg*mxx??QUA0Z8JThHJrt8Rb-DJ8>nGPnevE$7TG(qFS z2Pg*{?uxR(*r#=d-oxI=)CVR>cTQ$Ne%_(qJ7IYj*y?0fX@L9l^LNpgR~J|_@huP$ z+wjYOErtm2p>&5M#3n_O@av4d2)@%0J|)iq&8ykuwnC@yf!b9OUb64Ci< zo*_W{NF6X10$PvokUC2`2P)qO?)RoAS1kX3H8x^Srl<25&Lte=oSvM_&W&^-hD|*# zT5r(;HR%&w@#mRO_+@PuLfdPKU{s`Vj*Ezc8Tb0s!uQyo<=4B^p+!At7sLJ#7`u~g zlGIOaR5)s=3pe9Zn^{c8lS`e;>h!V4&Gy;^4w`zD%(KT~|18@L)Wxj4P5U)Loc@iYc^)JOAUfhG3O{DGmR9N<)?q|D=k;&$=HpIEN+?X!BE<0P5_T zWMiumcSQ8iyk-d%&eLN@>xT>pkijh3~8|((!D=_qO+F* z`r3X_CNIY>dx%Cs5*Vel_mM8^_U(YaasEqlo6UcF7j(I19ayKpRB&EAwt}-e|20dj zGOnAIXqg$xGB+lhQk!idM_|+*EVGtIAk`_ zl$32JQCKmev`eGBA}Xt#AF(1D!q#A8kom|0sjgU48K>~RJi{A#d3r1>q??xxj1nXX zHV73vP_Yc%XqP*T5*&Xw8j9XU5=b}^u`c%i@Y&{ni|TNFhItqYK~Hy>e$SB)YAI@1 zfw;Wh$8NG_+mC7wuo`K+w;Du9kAE@+0*7#4!z-m4eCOo+h^XGh{w&A)5hvlWF>PU9 zvtpkM{$OJ5+EVNzsLnzhS?S(t8@3Aq9#2m94*2ne;_xZ|_Y8jsnsj~6a^U1oSzjEn zUcTJ$C} zZc(*xGl2@@!EAyP1ROv|@Jy(-oI^R0l*O_0Jsj|e@31oP`eKG7*s>UOb@)$4b@> zMAtx!hDn^_k!p*j!*JuNfC@ls>CDA;06et^BdrI)sHY}^NTCwIbsMeMFz;aYFe9a_ zX>go6BaMHH+82PLsRp2$?yET+i(ePgjWXx~llUGmoldL*Ek7|=)u$s^Su82n5ia)q zuzss?UP5Wr>BEU6X3yEi#l zld6ztSTsNFl*Ffsi-4&v9#C0zO06wYur^7-+@^n;JOgs8+AM}%ZI^N&7FEQe@-8Z`017K;NLfkxUefoHN?o#ssMIBux};KfyvxeFth~!c1?62<-eu)oR^DahT~^)|}D5jyEP1Q0;5>f9ppp zS<&l+|IL3u%ox%*cw~(qS+hr0^Ju{sal!f6QaU3WBjK@XV`~c;hmMRz;auN-tW4w5 zk+CTp(c6y|ZTvVgh8!73!Uv!ISSiMoBjd`EvE|74a%7A-GR_B#tWWQ;m8P8}Jmj*M4F#;hab){(L6$oO?+ ztU5AY9jOBmvQmrzM#j4%W8RT*@5tD9Wc)ia1|As)kBo&!HWo(4$|Gaqk+JW{_;+Ls zJTeX*84HfqtW0NC<7@anv=GZQfK`8KtUfYc9~rZcj9Ev<%p>FdkumMaICW&qJ2LJa z*+3ZCNEnIzZ>P5yaRol^BJ%dMUp}WpEZXnBnVsD^yPQRe@)YUugPQ{|6*z^?NP0kPRA!2WGb=gbw#uIJ99mGYyjJJOkjT=&Y ze^K72O0L=CD(3wQx@UhZ$4R?%`Qw*a)BR?8{{QtI_!q*x={s8+=n{QswZE~lU?DS~ z;rXsb1$E+VW4yFHR@l;lM@pb1SXm`Z+c6u9D=JI@%d)z*vRpv>(2$@e@8j8tB^4_u z6uZ4Co+d(Ct4vVYEtnlnx*UIWghtBQAHlUE8A6yDZoPheM+VG|m%_Xzpv(Jcs65wL4`OLi&hC%n{%mW;QA%Y zVS9ZWi`Ebt_kg9y%kLNr%1wYbb8M|D$I3+t@m2(v7S|cH{)2!kf!b~*c!w1|)=0An zUc$B2IzytjWL)bD+_v8+LO&-TdhrYcLkm&vWE;@;%&0{ET*6_WFwbIK|^_+D_z z>R7VwUhRKXRr^2qUem!n2#g83eO2Y>QMayA)2Nd)!&~QR)Um(rO<}f$yA}e}NwT|c ztgZ5GU<=Shb&O%CSf{13hIr<1Ab$s-h<*v4fa>m%plW|nS2&B$@fsY>nO>vD$3496 zQE^@r5_$X^DsA^EQF91g9WAQM{2dgl9jagm1WCYq@6oTqz;+bTuPWgE;GoeYiMWib zX!5=pNK1rmZH)Eff<--?F7`+W5Q8n(NLJaNEoT>r(=BHgOR%~sj^Cm?pvrPYR=Z=y zMwTs!kuDr0vCX;l(}Rix*o_e< z2`$Ti!cCe|q!NWvVf40;clD~VfWf@aR;@{=xoAt(99>hCCCd^$ZQHhO+qP}nJZ;;Y zwr$(Cr>AX9+cWd}zMrbBT^SjXu~yYbM&{me%uCGo|3b#cF-rrLUd(n&D>v{sZw~2@ zU}_7&$$grENm@QdchX7rLus)p*3dZ$M5;1b+SF+@ZR{qE#NoEF?BO7l2y8PPp=YpPw#%I8SBDnEDdpYUQb60)T9E{Mu zw)qXpi^*pZz5|Wx+XswL1?=np=Xwp!@DxO zz<@uv_;_x5a*5ECgl{51D%x&fRSdm7cpN5<)otd_gO^`#Z}y9tiwBWdD|Xhv%YD*e zZ4@F@<>uXS7llE(En#NCjKs5w=TGGOk zLzPQ3Jf%K?afob{-bmuGXs#jL($;Ur9fmCSr6tkuEE#hr*6`P5k$FZftcEK#-~kUy znT)5vS1U!I2UUnG2I@5R5!KmBKqh=q$iN2rW@-vsW8tzTmJ5ua`W&c`k%+VJsqO}~ zNggPRs@qG!sG#VaETVr{XTWLXButYi2C|3F+{D)8X$qishn*@RS)^3PWQa&0-dUz_ z(Axfxh}S)G`;#I`yx?J9tLNyiDN}z7D1F-LR)H(bQcW*q1@?AxgvEI@D^$nk^wTRt zHe0{{wT=*2Bxh!~;^pS1mO?ve;4C!_Si?r%Y;K_aZ1#l656EP{0+A{ zn55UXr<~Y3)v_LV=1^=%U*FvD2DT;b{@DL{zQl4TZHt|}$7tX1fC_`T+O;Fbx?)eV zlbQfoaUpW%0$fZU^~8fp=Y33v9OR7R=}qZ?IQE>Ksiq9OPI*ebk=2V;XlbmFMpY*@ z?$NMWy&ium^|AP*=K59XnZ{1EcKTS=pF5?d>dD8TrnOeL*YE6^jpHktYuo;Hl z+#Ic>3rsK%{n3g*+JCAc@zyM(RQaSbmf8GrjN3OmTp;@K7+G6{bOzNlsAdIH<);J( zSNT?f;egp-JOiq0D(Ij+=*r2UURD*3N}gitL0m!{VO}?DSpx~@QXLVB4>AFF^_S+*vi`r?Y?)OssS4$V))4=7Ya_%i z;eRrT8(vSrmS`fhy5$ql=k7+Cmh{rJ+b;>=9w|8>$2$E~nCf{&o@;AsALv)4n{h>i zusr3vNRi=H(&fwqaSRTY#5+~8umy9a@jw`7mWlU`TCw!6yBEKdRk1u1YL@bYE#eli zTI>SNQqdw%-2_QeY7Gn))SdzT0xKIjgF~O1xau^Mk+AbHx9xN5GFAu~{X2YNoAd=MC#Hu+6if#rnk@=B6w$f| zvqDj=^~WBB8=9|rPKCvGb2{8^i^{R4N^tfft@nr#BsjL1r*`2SGQ_>7CeeyvBw`HqCqOuY3?@)A z{I_UyXenPEYR_9ZgNQXHXul7Pc#*I^0XkMZvg;e2WF3Hs6B1#6vvaFd4C3$-p#mke zlpni0O2Uiv>h(`3EbqK?KbG7m z?p8_%&`NYCsgs~e+CVy-oKL1Q3`Liv2HLcPDb*l04$7xv3zO9MwuF3Ro$|pJy?*i0 z!$7uT!zAa^T88;?l34rxoC=X@0R8JrRbunB5F*(Hy4WgR>LAe%>@3;RL!G`!2KCVC zvDZ|Q+RU64_Ruht)2q&#RIkq`!>+0sGMw^egLn+N%n2~EbW3ha*Oz6D{I{AwqJ_|a zs-Vzg+SGIlI3t*67*7x|(1*1lul0$+G6irldVzj->8> z$v8E#YiY?jxj&u;bgh^_+~3YWtQX~UuTeGp9EuaMJ=!j!v`eQ`SWA#pe+^c(Q|J60 zjj;`v(uO205S&BNOa9aGhhr)Ib$fm}Y>R*%>`^_wr|GipI{qv%W7)xef^(VCLWi4i zz2%|*!5F_L#U`Q}Mb`;jN_bD^O+SD3a&KG=o%-F*h0Ja@FePj&fRAa;@{L094XsAV zQqGZHf_eRAdBX)4naPY`qWnUzk|mCnOO7*zUIg}lm&VSZRJgr2_MGWTS9W%x(T=>> zt1B!9k*ZC0lQmnW2LOj^D~qDNP9A*^DlC%C?jtPki}gz^vOvPP>Ht(vP4T1rCiFF-lz>+-W)|u5~&Z)=tx?vKqM1O~n;CD}@ORO5GcDIVG%&d-R z|b7dr<^mk!=(rlKVlc|he1n${LRI1ng)3~r{nGFAJ{{J^3P#RVo|*%>9f5` zhiCgJY! z2HA40E>ss|Zr(dR*IdG)sx+l>bb2MHS%K+Wj`nS|<+4$WWT=+gilmK9j&|IggM`5C{L3K6Jz0h@l&YnWcIg5!8n zF<#OLMfs-o-^RFyN^b0_rC;-BQVgMA*k>uHiN}aKIq^fXL@g4qzCOb0r$r0Xh zfH8(3qlL)ZdmLnj*znaJrdZ+#wJ7wGR0*q!hAQ<8?#f=dI&PHvU7i^1-eFi9&isyr zff5wEj&qZ{tf9i`IB8Tb7GpHRMnc~^XEet2g7IQ!rjMb@9TF`=7$&*6Gt7GYQm3x2 zgod`JFi>;rf|FubuFSBDj7_clDA9iE0>g#UKnd*tK``|*;|VshsZ+T;X@d3Gw6KP@ z(f5~q=b-i8n}5g66Q6!u^wa-dEJsZKm3m~?)ZRY>jx6!wy!+`M$X%hKr`B5V)hfn_ zNu8-t`*fQP>RK)Gcs~xy@clUa%OYJ@g(qdai5bR1le`X0Onhd#R$D-1+5)2p$mg#k zv5BCsi4w#0efa_Ar3$ZO0Ft6v$;Kmn%y76*? zAlk8ZL?GHo9upw3a4xKjfD-N&!k{s39JHV^Zh6$8lO!7uZ5R~1AQ${Fm>_12BZ6=8 zCUL%?EL=Vu}OliZ} z0i&yuRUjGBRq^Uj$ZBYyh{WZ(wGcsB)8=RZQ`_MMkWuw%DL_<}CNBtaIcEsIu)IP7 zPf(U^{zVXmv27$K*f$Wt{S9bQ0WSaKg=bA;VtpIh-vUglX#@bH>avpG)(B?bgI~ZS zVyBjKz5%}nDbs)q%Gwq`4Wcl}mR^g?gphfTi?&M*>*S<~s-ZjqL{;OUsc@Jy%j%aM zfde{2qEUl7Z9Omms%xcDVA2|?h2L>fN_-Dw@$x-a2GG!NcMt*Jp44rjYEjhcGC_r_ zW!VtF(?E0mJZEIR+J$_u!-Yo;^F@JG5OSmqA{ZHBhE+03GKW zV4(e;m<0?XfO$*_6riSWsRS^FwN(7R)XM^lW8~Ig0P-x?umECETGO}0pcrgg;=+tz zSOBxc%y-5<8@`jJ`}aGI8B;;uk)0TSdv2fk_Nj2sG6;;yl1=ppGLNH&1TkhPALj{b zD;0?_IO6U&1Gs}tXp4sZ2|5V`ZS+{a02^FC@m)i*`K23L`z^%7VTb$@wtBkXN$GJs z*&3BF)XZ_%WHw~%K7+~&F+`1oM|SMb_l^%}omE`s3xbbmlL0L>@g(L2SYvBuzyw9a z$F7nBxPb}(-M|TQUoHUZe2nOnfL%_;(V+|!9D99f#USOx2sFT`{cl=8lOdv?1 zYw%4!xbbf+5=p>&D>Mt}WQ9Z&im+h10xjTpg&jA8Cu7{=4q3RJUNjESY=L45P|n2u zuQLkWH$bWxh7BTK`)wAbjbaLp+(bGGO>Fu-z#vE|hv$FM*aDn+2{V(C0!x|O;Iu)E zizH0Qg2Ky}g5vD~s#ZWT7b%=77dm{VqvCJAlJ)ZY5Dn;=Nu5RAo)u&OrY^b-VDqy^ zLScL|*f&N`nqwwQz$)^NVDL0|Y7a!&m$;1X((ICdCR%A?)#ut?5wQ4mGFtJCczP29 z2Hkn?X`&>AZ@O4Kew?s|q5*t2K|%pRgq~$wfYH|3{qH;hzu`fZY+pzDd@Bl;e_6Z> zvZjIh4kW}Tvi|`>-C;ptG#-RKdqjYQ=~0nRJtg7cG~Ps})90Zmte%%m$B(G9_u#9#jTD2nba1sQfXy33DCcA=KTE{I%{GA^K;t(1FBf6x zj(;J7Nq)#h%p>A;fWncYR`65gFyy4hZs00?mO)V&x<_!31*k3NBs3_finJuW7d7XS zHi2S=C$a;c*=ju~6Ul9lucg~0rXWc+g8y_v1qW3FmDODffGz5Qosz^NM|FF;3N1A8W?? z^WymJ;R6)YcINU@KK|S}0j3&v_lOv8hC?JXRlbn;FTOx7pI9y2TY-((L~=Ch0Xv`2 zFbp(ai?f`JQ1PZ5JHe*@?&h0fy`z1Avi>e~lV!o6YZ#Kb{m8MgqD_bA4p1wtOUle$ zP=V{4d&zFRM>ae*51g$Pqy~}32W6K%6f`4Iawz;`%TAw3fKRYHBJ&jIB~&445rYES z1T-ZWZ`z*p5EDJ;G$SFcP|E>t<@mWhJ6FlxN9P~{0xlz z3umKfh>wqiF)_3(&4W96;}bQ5klIDs(1fZlE*d%hH0m`odO`AU8pw?Ehs4;Q^Eoxx zvQHONJtYnJ70VO} zg9!$Km$+PE8^8Vc<)e@@`DxylHYX@`zSJmY{-?A z&RHbY_;HBVdnoqq3g`xg`Lz3wMQ6rd^58O?f%=#NfZ$Mhz`S=QE?>lA#*8qS-^{U) zp^btz=XMH1v|QWZo=2>35S}&eurihF#r$K7U=7x)PSIvZjfN$>GJI9*Y0Ao8{SK_w zS)~ZCXQK@dj zaJG=0MdD`+YkVq~cx=pv9iLx5r%)tx^%-gV zwJuwvJs@1RnL3GIFaZ1zd6GB&h*AdGFckVj$f74j1Q;t=tHFmfJJg?M{^Mi1Dn|>2 zS&G-Ux;~^?Zop;)3H&|Yf#EH9d3BjQTDC9bDEh$nG3LR}*}s&l?RN@65LFiN)wD0& zit_DbUc0j&mmOD&4;lv^nit_*#1ds4BF+fFi-v}T&Um9W8#K@j0f)Uy?B#*Fr~1D) z8t|8U!*>XoVt0s#XNapt@l=9%LBB2EJg)%#b&s**mOw`-Y!u#Firos3|PFOG8s;NMcZs{ARA(28Lv2fH#q2VyYXXwu%-9mXLv94{jqj3bfDv-2Qzrzi+ z)-^199|P&t17=)S4Wyz(S4!#w9X~naq|IHFr8Ky(m_n|qiu4gPuJKV(e0YR{e}Pu8 z652&zjQ*HAyV*u-N1n-wa*UvImat?WA@Z%vzIYRcn6!)UJG@hr5+Sg?;;X}{6^<-z z3mdsQoSqrytzd1;N7&<=j;l_fCL7`XQ)wdX0S^>O2h+$!9LPRw;BA zw+UAFx^(1jKqi=XaBRyd2|c32t7-06!yg!cKWqJ%Ec~|=+~g8xh`B5ONZ>Esd4Teb z14WY~Z5FCCVjTEKz9F-rz)JiA1hk1<5O<%*GNY{hNq}35Wi$yb0%d%7jMvqiP0oYu z8Zt0cRUY+r9fV>%@4VuC`30^Q6GhpE1JdF{aEe{#8Lc#=4POg(j^|g+ZN%gOTR*<1 zvdM-h(b! z?m7UT!z}r0JhTu3#K^<^SQhLCCLtuB`Uhd6vPfC-pCWV>mgcs0C&Dddur-2r8bqMT z+8>NPuawLnC}Gv4?+@E1E5+IO>%pQ~n@ zSPpWOf1CU5!!e-7Y;Qf-l&XTREW?1&XHRcPw5_-psJzMs>kcK0LH<}!8Cd!Ro|aHg zt{;kQ=xX<-gun+K8=HThHjo+cyGT$|*ROxF;yDmsAI)nONlI-uMw0`9)j*7PkPb=2 z%IrJ>au350wlQrcon#2?7pfN}P%5-E_t-yE?`7urnq8U)WA1_2xx}8uYcD|M=lqXN zwWIp@>JHA+jU?sL$*zJmmAU!P103C@vA)7EZSYttYdN(it);4akUGr6u4y!Dmg9tg zM<{}VF``zGlspZ%5r(#<1yS2Vd*bPs4Xm$JCV;5|IY}~{uT&Freak8TPDQ=LfkLgpLNtb@%Ah)-(XmDrVq+JUo)R6H zEJxDUI>tg7!p>BDFrF&!4LMdQshzL&LxxOzl^I%oKNZbPr#84&CTW zz{(3aqG;;%Ma+wR7urosrWz4hmD|9u9{}aqgI~Zbxa}PHu@vw~q{A=+8iB*vb3@tc zQ5pw3%0$)nY!J06$ve~$R|gW9eI9X|4Li*qA#q$jK7jrZfeSyPRA^!{cG|?Qn)g_Y zI`prtpT8P&(0h9zg#2lsC#X1Dea>jgo6!S7RM+?W6!3paXa9CM{3$sd=!8}wQ42z7 z7;y${Mwi^}yvPJ3-YYALI$pt0j-mU1^u*))xA!C`?QCz2*5(ZNc(L4{-gV&7c>fc; zR2(9B@0es*-}#y0{eOAzk)_Ly?VNdrW>ZVmhS3i!jI=K$;cI8 zhQ(G&yV`Pl?binz3ndJwzT6f{%p&FB*eAp{2_u|D(B92!ta~Fv``Ztcog)ge6elI{ zz#$$o2XDU*pi8KDPF0}Vt0m<4(@iuTF@ZXlEIi!E|#rCok2>LNZzkFw%2!Kj&a$- z;!(B26o4a=QJ#GCPGL-K`TMc&lKrp1Sxk}d^$<2k##8N?&Neaq7MeL-FpXAuMPVfpD6*trm&dTS%&$d2mKi6m zr9~h2{iJ+dzF`jO})&vekzpU{@!-Y08eEZ534c0mm3KcEr{8ork} zwWKVqU!|(!_o|A#qv(|fc>+wWAKTu|O z^^Dc^b%qyy-iRrY3)|52oFc*ZA+D@e0HwL^5(z74%`rKIx~>EM=<9>wKJdQHb%6wxtcUqhiv8Q*_Ha+Irn40-zQm! z(%Z=8Lzwi`2i}HK^cn8Jjl3Y#@xVaORq4g}nbF>_YhmwXOD+8C%t$aox09w{2UQNv zUC=6xz_R`^BW}k`u$q~bFAy0DSxK^Wv%`sJb6f1BmOdY*(?2pq1|)M@pbRm)%il z>s||?Atp$-Z)qca)Y1nt&+sWOpk3SGqyWltjQ^I#xu;RV2n@Mz4|ZM9Ml?z4lx}>|5maY z&liW7AWENd~~&I{6qnDHp=N~sK}Z+U)){F z?q}#ksqInNvQsmA&DJ1}W^TI76gF6XG|sX>lAUeUz#W^{Q8nQ-XsLGutJo{I^v9BV z#FvLFjpg#8a;W~1dC*2kEYmJdh{;|6LtFQP6YasNE(v1hSw*;u7tU#|ioz=BldO-P?B7q70??yM4@XNpK@t{jq^ zd#gRw_T}y4m%w%B65=(26lyDW9-^(w6-FxE7O}Yfco$JiHH`PMT6A1l4HM0dXH3%%H#j`(+xOBiqlkbm6F(%n~ zLb&j;X2e!mZ`5UKC-}O~%}oUDJ(rV(P;Wm1{Q8r2cft}Oww?y!Yil-BTop_hAfLwA z5|tQC2-TztCg7_$4<^70k7@g!8BLW|l$Me^?^%-OU=^w$@zdd_#wbd=r?VD{7X{O1lXQ};+j*{}FKgQO!KP)*2AwNG3a{~v z2M}Zux&Vn%K4#nvGWBLjqt(33L?cGtvlNThU>#oZXnt92vVvuV7uO9+tp8T}7l3=u^rl%sy6CY0W595T2x=M z4+%t@oj3i4cB_0ALNMyM$U1CO;=y^_DCX7Gx8@2FLBV>B$@g}tn*8Wr#-7pbo5JJ2 z*O`AAtC`#i`0GN<6eselEQ0&5`Rp&3ZA$Nur+r2yKKFQ)?<;0iO#E78>C98&K!tP- zFwp|f>Sb2PJ)sDW2CN}zCZNxNRA+GJr-#y_M=V`6IaQ-n|JMu)vV zU(+7ZSzN?d$5Yp_CU^J>lQaX&E%Kg2WKWOdrCsM8z~)>q^$XxSJFxNRK+*_^-71i? z73JUKqZ%%dvnu87F;o$JHiH8cXsPfKn9(u$37Wn7hn_atkBQ9(#AtLhOO~ge-DW}J zgkS=O=Oq^y31K~&ZI0GzSpsoamW9#tb0)K@w#BVft+BgOJ@N# z7J)Oc4!@`;GObz^4g{?$JH(|rcCVVHcdJ@ND7)&;x~aS}UEkXn3(4?c5fU=MYWdsE zcnTF@Fq@Gtvyg3lu$_}VcAS&#QOBW1>^3)R>pJJHSTEOK#laTYP1MrT>N(G8OxOxT zfK~tz(^Llq`<^mtxpRTT^kYNJE~{Noh92wpQSvhsx03~{n`!%i%iYu!qYr95WLvb;T~M4 zywIR^T3jLxC|a29DjrF8WGUZ-E!frIVz>O?VY*iC^FYzMp59dDEBU_RE%}tKcn3-A zpA;RTQ!mu3*gLCRgoC||+hEwNc{`Zn1P2kqT(2umn9;>42d1c+>a3_OQEag13uf|< zeZS<{r`XmvoDUHCc$|HwQ}ZLdUP5Yexb&g!f6%_ z%!s7uPUXd9%r7<2u=2&lX0rj2)>_Lhi(Nl=3d)4C^Ci>dwLj&zQ;aja@Jb8}HZWhI zype?fwdjny@cij01nqL6HjS1u53P-M5>gu?7!1tGt=;|u+CM7OYL&IOZOij(3yo9Vfjw2qyY~)G2Q+dzXm{>sdnS*O-+^~UZ?b6A z&wh-y)Jm}!Lwj(Sg$XX6D`eO;^t`WbT_mIW0`6c%cx3(IR?5Wwb~J3)aso|$(13Jl z8V=yV*OKFIT$ap!s0W)FR@6h@4J2W0F3SEzQec(SR0Kz=KG%c%_6fIaNYrWlf~=!h zXJpRqej%iKp9q4rwe|>j&4tuJz2nM%&U`2~f; z;3vi+)WsM<&_US~0KOvyYQNf6>^gsQG1Acf?N_|G;NDN!IX~}Py`($w&XHlgD@3@x zYCik5wiU#e1$Xt(6%wsjt*ILW5E_{FGL zf|gxI)!mbfeS-saW0(^8N_-sVn#v7)eV0V*pRYzj&T5vd(X4Qsy-?x*`1td&98$Mg z^0wiP5eoV;ta4oJdbtzcIgF-gRrk?li7@z<^#OyJ@f)ZAuX(aZtH)zr$aZ|2Hf}JF zcBqBR$$NY_T4Nn{N6%-P^Doa}76zD0tgITp?oYQ5777$aA34@MxsB4NbvakyMI@Cq zpFO6jkQHV*0Sn{?v5>RgE*ZRQZ3D+wmRFYaF_9SRq08+ps5aHEL6BQM6CDSh6gw1-Ty}+ze=PuL2a!rO%^x~;A zOJ~nJlKOy_k24efeDj+2O#Y=a{h9IYkJ$P*sPRo+GW_vBKR|m6}la{#OIQA zFglLB?yK5^o^3#?)!?G{%$@?5Yj95=E(Ms8zC^GFg>)tVAWE?Mt%Dhm{i#-XD@9%h zi;=fR+@z$W^DrrcE2!Kj?EKnM9Kphx9Kp4)jQjVU>S->or4=^=Ubkgy5$*Zd`EEM% zF*=t-8}&u}q5Jy%aK5xa(5x5C!OvNWBZN6$7b-FHh883l+bLuo)Tue`WZYI=-kpj= zF&>aULtlMlY`%#1$8|y=a--$_`Hdl#Idw_zq$8_&O^t?M9o80FK+d+_Qf-}5oK|4M zV6*8+SKJGV?Twl8wlm!f6AuPVpw}A6vu3k@^n@?VSWTP*bVzxUw(f0|CXODE?Ypv6 zlvJ@cE%@7O**8y#<^DwTMazZVBCOq2qH9Z#9;2nBxy;lj+X)-E}pRZZMwl~EZs`0X>}v&SQnT^`P23(0)GLN1#?GvJX=p| zxLrnE1D?(|V`yD(u3*xIp-khRWWuc%F@3GGZ5DFKPPqL8gPUjeUh{h+j(>j_Q6iSg z3#Z`%md@BfZ{0Z1fp194(f+t^ohYZI+x1n~s8nvi(lmGUEc5D2^&+7!gXiZ}e2W3+ z_b;^l!WY40v0(DX{9SIDPE$Cv<#76br<@8?pC?ey&a5x}H?Cp;edW3| zuX0iyaOrOd-ipN>B~`{lLu6ZaXjJ^u1K&qGHe2UYaKI3dz*Mz+^Tkm#nagE`h@X#s zRdHrzdl28+XM;}u{(3MD-2U}i7((qaYt5h!=TYbRpX5t<;~1C54EENRfrsP*{OW#n zf0ygN4oaONtOEwyC)C8_U9?v&B3(ji1?>AEzkSZG)Z4=7`*f_Uve=AZz;S&77d#QH9uzw9L(aOMm0R)5WU}ZE!!| zLAx19_(Hdq=cuLom`U!)J0X|%4ysu4DOju9=Z-IpG!Ch;{_)N^JACTyD%^&pm~q^}EH|}* zXp3nMyv^cC{7uj*l{IoDSzG2LfqxO`C@KzY3S|l1%c*mek05q~uPPeITS@=xs+gH8 zMnmW859g<-Li$ulw7FXUI*T+5=oj^R92Nraos%b*GTT^&XCDgx&+$W_FkuJuhTp@C0cTkA{W8B7Bd z&)CnM(LJkQmu2i!RE@iTttUTP@O%V74oI1~*qm+H(AWL$emRu(yn5>CK99G~h#1(_ zuTMlO4kBEChNEI}DK;uQR~{|c1SRK8f`by`c3DuB?Ac}W#(Wy4<25&szny*D;OqL; z*)Om18AYRotXof-VD2m47$&gcc|HSlC_9+Zist*HKV0Js0I`jkJeo0h480-H7|n~W zP67!_1OM@)trxi`cPX%8PsD$7lOEye;S{yX&XIv#@NRAv!ruqW2S4#zUBK>|_KI!j zVGgg?R%~P05m)k~K7BMSf94HEajMRu4*<`r2;mSn_FB22bAM<{_RQ5s!YTuFHZs(~ zi74Y7wSOK-ocbNPN8QD*r!;wMX72Cr-{~o(_@hdo$Cp@!!5OlS`cLQ74FQ3mhLA;` z^8@37BzBh@8zHJQRN#0hNWC+AS@oZQVGJ2*0fM(}1S;aGD5yz@Fls##W5_r(661y| zHO!lhnGp_zGi|!wxlNs%K%oF&95K(u^a4XAtWuntmUnSh{oS$tSp@;dRN`X2ImjnA zbeDLhq|Ml(y9sPmaOcWUnVhW^r%jv7XA-MWVS59)fRZ}s&G^V*{(*k_q{@)nd)UEw z8mvU-D|QRaUX2rIxAz@z;_zleaID~Mpd_e%Z*2Y##{a#<< z-gl?Nf+AK9V8hBso#>KUt)que@FUVOlh-S zu23-?CBZ3FtXEiS(KIVpM(NqoR0b6r6Y?hHl7=H;>5U5jH|((csK=s0F%b96}p|@dDVm z@XmPoy-B=iAc;z+rz^Oz$BAiUdL--eDQ+ZtIEM&9f)irtY?&aI@_x|BNb-y>tHdZ|K_Z40r?$p)E|BNBg-UEaiz}Cu_zIy z)e-LoGu;kDPBi0M-;wmCzS%te{B46dV&GKTSE@?;n%y@p!5oue9~{?*w1U#!^Q9hcDGvwL!FNnabv2N~jV&ok9BImK#>9|dDL`q&X%S9b@++%;9yMjY zpXI-mW&m4Pvvi)pWj(C%8aHX8FU&Y>F>Nu~y2&S-;LM=Q+WNIv%4f3-$F9d$;?6^; zhm*e9YrM;T^-US+BUZyT^a{Q{f_iumYFUTc06*To)}OL|P6)+HBZerLYx7gZCAym- za60tC`NYMxMyB983>srOCF)Zl#S$CiT=Sz5X*g(=euBt^1n0yYZ{D(jHeW?8r=v|Z z8P$TesHygP;kby>c6p%rMSX^E`kVoUyti|K&6SCHxjh5j>r{CYVk;lVoQ8#heei`h zU4P2Hy2+nsjFqH|0-*d=`v100rRzIOZ?9h*vmkE1<}!8DU|F7UmKWHL28s~Wc zB|TWg*85~E`;x($(nqD)%QU@1B54a%YKtK+V}~hb1T47?pO|S?T5)!{hQ<}u(?Y+- zZy&Yulikt5>6)O35B+tc{uRCs33WF&DJc)l+z)3#d>_JfIM@ik;9;HFy9!8klvAT99FjslDr0_?ndg+E+5)?LLM)w9`KVCBdW~7}9|cHU z9Tvq0K17#ZX@9y;igDU%t!w9D%CDN1hgjx8qizT_<40t&1OWWy19}zJJv-LU!kAl^ z!?`HmTXB4!=RNARh(iB$nnu)M0GIkEx+yPYN-*JZs%@DM62%YLXe$5S{CyGny#!2HgO8pP%u}tg`9Z{LeG}k35bJ=TaET=$ zD0${4o#MmPTW3NhYvoqj2%%?r|8Xakms~6+4`bfVCs3Lgt!LtLL7Pxqy8tb9$2Thn zg2wE7D9KS2$uvU11qyWiEB$*)O_oKMn^;bkn$s3P6evXRb39_rU+)x>1qNtG0e zQ+%=MDrl=Bu&+`Foko4ZLOVm{g@S{Q{;!&|Wi~SemZqu(9j`9;pjFPtU)v?1`lkLl zuIUc@sp7-KVJ(5pDnMhcBjs`5I+e5UcP+u8xVPTm*kQWO6nU#zqqHI%_hvL`_OJD> z0l3~QGU0z1t54O4J{tQP=|r|Y`{iWnjFrW-4h9i&z_1mT#}VAV_ zFg63KX(NnOSb&P)ANu-I9aAxl9bIEZ?YrSO1Tv@uHkzecosv2Qi#SM50%$>7O~k*l znB}CH53hMp()`3V&;M{RV7SMB-QxtM6*~-qxW{#jBpK%ToMRvIttlGxAb@X{%S;jH z)nM{G0&(SYG%V%;<8Fx_f>O4E%Y`Vc#w%p)nNK56OC#_Q1q2{BXTOmSKujpBdt88Y z#4(R6@hy6o`&2fDnqCvmIL3yfFzOtE+zMv3ZVPO?Cq<5euH$!7htz$F0+37RPNH4$-U_U%91{-!Z^Fa6$W zw9=zr#9#2aHQx+_re;F?0eG)0pD1<`hjl9MW)hMz6^1BMP_$&M&0c25OD$-bQTlbF z9EcWa$%rUY95Y0RpztrFQoqfTxJ{1h>*HKg4GvCee#VrMqdd4fCuH~fE%UWxN6&CO z0%r>oRyWBq)Sxv(M3@7=H6@0Ksd1^!PP>_8;CU#{ZbuSM_L7{75^yq@JZJoTKIj*E z58xROC6^MZ!Y_UPx}VVOkV$T=~!xn=%}OWSL#yE+`b8$GZ2FwQ%S z2eK;`4FS#aO!;*s`$A|V%EZR%uR@V3fHJ7de5jAsu5CdvZdguxmO+Oetiw&=nRN5f zI6vwxp*HDMihg8n;^$=MgWH4^&kFXk3hg?k6`#k7a(f;lP4cbYn%_x|8n z^=bb8$aYAI`%0Fu_V(}oXe3d>Y{y(|u(6rpGMfEV3d4hUkN>X3K`2EmUgw=e6^J^p z*L)by6U~lTq@5|7&h-hSGpxi__paeg;v0!E!9nD>i9Hp98nyV?y3X&$7K;7^UeSXgQ7MM z8&4S85>BLcShTLc*k|#BB4I^v5>Ucmb%(XX8##N&a8I*ChKP52>6XU+02J~2XqVvN z_69yUb6<;L0$PXf&Op`f+(8o~;LmQgH38wf80Fo&BH{c=-{wu`-!0$LS6lD;z|RT% z^fPj=rT+QecW1W{?88b@*XD^ZOiSeE?|U>-2zDM z=9nMzt%hr&^#1^9K$gGD4#*j?YRb$J{-Zdv^141avl`%=zsi#(Ecg#=u^#f%@?us7 zK@MQqeGO1Du5R6Kc?L%*@GkxF6HOq>!y03;JC9OUH?=u;VX2&ZScO2)y6l!yu1=l{ z;(^5DMq){S-64Q|FSvRTxeXuev}T*`P}^jfV&r?w%xusZuFL^O{~XCnT)L>ll40){e>C}fde)+qlWw-7SM z)jJ{?>I)CWwBVBr*a|*LCz^SUkFRFT0vjfhR_qEL`Fa=3it}MBcC>I|!Ul4Gw{RI{ z1n!{pz=-SyXi&=ox*NzmKi#6PAJccWybiEQT=k6Xify8J| zn9I35i)Q$mD)qiNV`P|#XyWnliZKVZx1I?LOntHhqrCO z_9v=r6IcFL)apzp2s{Q8zCU7rLF|GRcOXoeL7%svwvW7Ky9+f&ziFF5B>vdu(2aSO z8~wGhX@b;cHI};3e$&iI#gxh`@WX;ixy0w7eic=0S|!lZPnnsl*CJkOrcqa68IY<+ zfm@^J`qZJO%>gO5Gu>?*wa33ar}(bz+9fnd(he>B+dEOd5^=pg4qu9YCh8kDsG7vm z+=_(;NHi;{qOU&^N58xKHrJ&Qo|}SxYk?@V$MhNQ8Yc)(1Hm@a(d6?edkNP)s^U}d z@C&bJb=wjY+Mg)7l%LJ|$XN69RUu9Eut58sE_xS}rzPB+jSTU^b@Mqb^=XXM1>~}c zp!4Pj0-$gKQ@&qeOP)V}3RJZG;f=u)kPtJROqt@C+VzfpRdXbIq7Ykm@5CDSCq??q zn&|%5D5JYtqs}U{W>BlpI?9pzK^D}XY19Z*QR<75U9>=In(GD3d3IYOgtP)5-Ll7+ z2yrkSiGfd#vb-$}XR_g6wWc8qOIod{>EFU{Yfa-NaHando^(rpT6}U#FZyu7c2aX; z{tOG^cM<=`cLzds!*_DEAm9J)>=Wr|g?pqzp)&`~+d}NtKaGayHI_9bPW&JZQAWzB{Q|0OV>QraX&LN;EoQ)MNvUB=9kr{CuY2DLDfxI z_qJZk$+%&>QT%xw`eqzpGbOJMA>ZLzny}&ToTGWdI?-KobN0qj4wKoSc_IhagJJA+ zo(|;&aMTGkm4I@hbA*F92aW<)EkHtVEA!yCee`#=6{wznQF^v6m*rZLD3psjJP9mD z%aCHX8G|N8b)J6UDD$NZX>9oY=Mma+pOLgQfW`~5DRa(@=jxnL>%ta}JGv4KRi+vB1X5vb$U?Ox^-@Jrd)1kkwI-z_kdoUD!~qKB7IS4(sRkFr3Yb`0hG+)KQ(PU=P0jp3|`~$CuC~Bcmxl&en>r^ zZp0r(3`@u!$xX?76Ay-qfS?Nlwg?ESxw(ztesH6l5)%;bA;_p$3lqo#Njz*gYjJ+S zFm#cCYdyF_7~ne92DPbn1?N+3oX&rp>P(e>AI^V&msw)gjI7?vmRSF8NveQ%<+}0+ z3KWXK5;h$$#U5^$y*)+DHeX;K?3rHCK0MroG4{KxAd~!IGk(2<0h)hN+zu3L7xMB(6KgCBd4<14>M|v~fSw{*1wX=>iB`^o|Myd$R=EmAR#UdF!{K^?A2?JP z6r*+yl}#5I4UOE;Y@-TeXhASn$#_??q_x}kW=`2!jm%accxwDFY|m5Uf4QI+sP91I zq^mbB75yxx7A{}T5qX>O5|9d-O5oCU1m_BWDx``Jzk(~BaU&Nh1!0vQ*P}V0ewE#shmno~ygL zTouTjU8oRh4|wl35>vr-M{)N$Id!ralcRMqb!^tjERn;w|I4TMyTfj8W$%tUOXBYa zJ!%z4MeWa(aE-+=T)SE->_jDnSa9-x54h-zXo~ovw@h>@7517{GBsb;~I3q&4E^>;tr?f4v6m}|;^thw_* zJj`OVq6wJaW;O2I)5p8;{<$oRXFfUdA76S!2-5P+Dl?m>)YVTJ$OJr$pM!9apdpvXzp49 zc%re#o(DN1|1qYE7s=#wW9cb>uiS~Ao&r>xh}1bCdByS71hn2T`#0J(_u)Ea-n9&# zf>ZeUh(?m?fl8U4;aTro3D5>25P-IdZr)b23BzhB*%UFKAYq7^nmL3qTA8j38R<1E61=2 zM3$-P?xlV%#W|NEP`N?#i=_nUwkGIQ4KVXegCY-!03{H%XGpNB<>vtcxb*z8WnI&+ zfQxotmT;=ymo2Lre)&m%pR8Nn)XInTx#%nISEpqm~zN_h~q4= z#W?QJw02tHVRb~IGI(|56-Q5%LR__JU^H8>LYmh-J`Pa$fkK^axw(gb%NfpUfW$d>eP~~q zv>(Yz-mqwU7)ExeHl*a&(s*14lgn>68@ukS9I4bXb-s3HyW*2W+kcmuLSc=j^_?7y)w}Dz>ZR@$3$(8EQFFi0 z6IibE@$KnK z7EHB4Gngvte$KclcZl}F3(|9dpEQ?23OzV*mIr|Qev3jP=ZOKXfyNKOr;k76MNN#Lw%lsUeNd7TfG)r#%F=#M$b$=~ z%LXV4L}XdjJ-E76>~!G+c#Xue5IOYJM+v!>r?hb5cJqYPdS+XdlFbr-=ZjC~xUDIf zy4SOS)f#5=RqG43Zp`=)>^v3qFaS-SM;R%9n=@D0g=)-gc3DW=&~vI3R;%o-huLgq|*RRHQLjxw>{|1dfR8=J3gmf!grB> zOvy{R(%_Y>nl_rRb3w+N{Oo#cGhKV*Dh)6FVObUBGTvY1-tYSQv3r$^Ig*bwsG(|E z&Yd04WHy)iJ=4|*aTL5XJ7>={n{y7oYH)7TG0Ae0@j*f%z%G||O~=5>aCHv&kXK4{ zU!a`}f`*fqgXnSZuj_2H=3>uh&24#qd6ks32f29pD5HKT&XNVTpWEZ@wzIn6GgkjO+I4fV8SQT<|fw~(Drdq-isqBXh z<9~Y@O~ANHEqf7E8Y0;2RiBc79#2qz%D_SuB+84VkmD}=R6GcQBwSM8Go6(803;9K z(qlJ!!#FUyJNr`HYr5?NQrv3}_=<2eK9xj&$uzhrUZh#GBqE&tfExd6aEnkyvz8SJ z9cVHwNMS(hU}gd}NlPTf>W*pKw32AA%`xP+N=EF>y{#vvp}UXU(YlF$pQg*(XGd?h zY~FH^*-|+m`^uj=kNa|daR>+I+I1A&{F3@sxW$3<0Q4n{T&3OSeupuS1Lg8t!V&Mo zNHhzG0Y;PMXoBNOF>;qZcy_=Y#0;g-VuIu51Kl-|Mnw{?)g9rvH8hug1LpcSR5Ul_ z+46pjMDk6TCseRy@PkZb+FDgB z>roGIi7Z0BS~SrzRy)Th&p$J04rSIoe=dQA=SHC7HNm|QY{^ivkiU_lWS*(*;XxFj zJehbn1gp{&E(8OYd?j1fB`gJ8WGq?2sgxyKR^=@DNtZKZqfZ=vBk;fsvI%0cq!h(u zg-aMyLDNA()-|NX(v|SNT4CYQIF8`Ka)Qgl+bdF#FTAN%8_HBVW0p#qe zSJU)Mt~Mf&JNl-+t_x;HA%H0#h?TpPlNsG!U{d2Yj6H{c#}(=5*|&BiLr83mw@AIb zUUZg^&%>XLPvhbb{=blsDe!G{YKqPLxwvq}>y9U}`#+>)|NRC>mzbA%AkH%^3wh?^ zom|xb-uvt%qqP~M!uMLV+2p_1u7k}zg5Vc%CV90n48xhjxC3c_%JgVt=nPuh+(Dxf zkUHZXno8q;6rbK#$LkEum2&FsXVow$rbx=|jgpCdinmT)GD*s{g_2}el_rit<12Vf zLzO6RV;lqvRvyO^vzSyD&=@k7k9vaj7NZb}5Ajl1k{$b-HfTw%$DIW2DkF(FsEj10 zYlj&8wRzuUl$&gdh0{bJY@C#F_&RMuj`>X`rm3udu$~ST5s;1NHfw+6ArmF9|PAzU3pV$+yfFyyKmaI%H?NIodHFZ+I(< z!R_$w@r%AnQ&O>+l6K`IU`e?aP|~dnHgA7lVy}`dye-GB3zh_uB%e zHSF?#Ki*%jD^#jUn%CvNPxpu+i%4_}2jG-M962U|$ZROtoolg#fW8lF4n&ys*Xmo& z3n4&@o*W(M)MNq+EjhkDr6flODjhkpcPeu9?992==t`p?M;S>!j%pV5xB!!O95o~* zIA(4JiyKR5`EVL+`}R(2(U^k+Gk?6gf>tsy3v6izF94y0DUOMiR(1 zuAQ_76mna;5_7XM9Tu^A&*{Kc0NZwd;o33RKTD5h{=$zf*byiZM=yq-aC+C_G0(@l z9D@v!j&<;3T0lS>Bc^J)CX^VS0>VY3`{z`SkD@0Yp@ZP|PB&_JP4SUp&~)=iAAW2G zOe_k3_Ig24Z3a9fSR+}Z;L7V+C5hMxhYK9?<#>N{%>K>w?W0CV>__Z|ifEpH)jbh= zNNz_VzIuC@-f?2OEiL#wZD?UVZkeq-#~6%uEYQ<>F8EwIE?Z{wdS>n6A`W&QF6Y$3 zgJzr+Mf3NPdr zg#7EDM_5s28}KFD9>pn|+Q$cfp1Ir}1Ip{y0GDs2#c0@@JU%6ieCuAM;l=ST{Jdzz zb^meU{9KgyzuC3|Y=k%`nZQRnd=zjX!>PMj;vxu?3a&iRC^A~Czj+=7L12O3goMmt z#Twz)3dv z%Yammjf{dQfu|a�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

jL%MQCZ#b{T($q5iZ0Lsb~m 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 diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index b02afaefda..e4a0be44cc 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -1385,16 +1385,21 @@ json format_response_rerank( std::vector get_token_probabilities(llama_context * ctx, int idx) { std::vector cur; + const auto * logits = llama_get_logits_ith(ctx, idx); + const llama_token * sampled_ids = llama_get_sampled_candidates_ith(ctx, idx); - const llama_model * model = llama_get_model(ctx); - const llama_vocab * vocab = llama_model_get_vocab(model); + const int n_logits = llama_get_sampled_logits_count_ith(ctx, idx); - const int n_vocab = llama_vocab_n_tokens(vocab); - - cur.resize(n_vocab); - for (llama_token token_id = 0; token_id < n_vocab; token_id++) { - cur[token_id] = llama_token_data{token_id, logits[token_id], 0.0f}; + cur.resize(n_logits); + if (sampled_ids) { + for (int i = 0; i < n_logits; i++) { + cur[i] = llama_token_data{sampled_ids[i], logits[i], 0.0f}; + } + } else { + for (llama_token token_id = 0; token_id < n_logits; token_id++) { + cur[token_id] = llama_token_data{token_id, logits[token_id], 0.0f}; + } } // sort tokens by logits diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 9726e02522..5a6223b29c 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -1148,6 +1148,25 @@ private: return false; } + const bool need_logits = task.params.sampling.n_probs > 0; + + bool backend_sampling = true; + + backend_sampling &= task.params.sampling.backend_sampling; + + // TODO: speculative decoding requires multiple samples per batch - not supported yet + backend_sampling &= !(slot.ctx_dft && task.params.speculative.n_max > 0); + + // TODO: getting post/pre sampling logits is not yet supported with backend sampling + backend_sampling &= !need_logits; + + // TODO: tmp until backend sampling is fully implemented + if (backend_sampling) { + llama_set_sampler(ctx, slot.id, common_sampler_get(slot.smpl.get())); + } else { + llama_set_sampler(ctx, slot.id, nullptr); + } + SLT_INF(slot, "sampler chain: %s\n", common_sampler_print(slot.smpl.get()).c_str()); } diff --git a/tools/server/server-task.cpp b/tools/server/server-task.cpp index 22f5b2059c..6d374131e3 100644 --- a/tools/server/server-task.cpp +++ b/tools/server/server-task.cpp @@ -78,6 +78,7 @@ json task_params::to_json(bool only_metrics) const { {"speculative.p_min", speculative.p_min}, {"timings_per_token", timings_per_token}, {"post_sampling_probs", post_sampling_probs}, + {"backend_sampling", sampling.backend_sampling}, {"lora", lora}, }; } @@ -136,6 +137,7 @@ json task_params::to_json(bool only_metrics) const { {"speculative.p_min", speculative.p_min}, {"timings_per_token", timings_per_token}, {"post_sampling_probs", post_sampling_probs}, + {"backend_sampling", sampling.backend_sampling}, {"lora", lora}, }; } @@ -204,6 +206,7 @@ task_params server_task::params_from_json_cmpl( params.sampling.seed = json_value(data, "seed", defaults.sampling.seed); params.sampling.n_probs = json_value(data, "n_probs", defaults.sampling.n_probs); params.sampling.min_keep = json_value(data, "min_keep", defaults.sampling.min_keep); + params.sampling.backend_sampling = json_value(data, "backend_sampling", defaults.sampling.backend_sampling); params.post_sampling_probs = json_value(data, "post_sampling_probs", defaults.post_sampling_probs); params.speculative.n_min = json_value(data, "speculative.n_min", defaults.speculative.n_min); diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte index 4ec9b478fd..5a668aa300 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte @@ -185,6 +185,11 @@ key: 'samplers', label: 'Samplers', type: 'input' + }, + { + key: 'backend_sampling', + label: 'Backend sampling', + type: 'checkbox' } ] }, diff --git a/tools/server/webui/src/lib/constants/settings-config.ts b/tools/server/webui/src/lib/constants/settings-config.ts index f9584d01d7..cac48a557c 100644 --- a/tools/server/webui/src/lib/constants/settings-config.ts +++ b/tools/server/webui/src/lib/constants/settings-config.ts @@ -21,6 +21,7 @@ export const SETTING_CONFIG_DEFAULT: Record = autoMicOnEmpty: false, // make sure these default values are in sync with `common.h` samplers: 'top_k;typ_p;top_p;min_p;temperature', + backend_sampling: false, temperature: 0.8, dynatemp_range: 0.0, dynatemp_exponent: 1.0, @@ -57,6 +58,8 @@ export const SETTING_CONFIG_INFO: Record = { 'When copying a message with text attachments, combine them into a single plain text string instead of a special format that can be pasted back as attachments.', samplers: 'The order at which samplers are applied, in simplified way. Default is "top_k;typ_p;top_p;min_p;temperature": top_k->typ_p->top_p->min_p->temperature', + backend_sampling: + 'Enable backend-based samplers. When enabled, supported samplers run on the accelerator backend for faster sampling.', temperature: 'Controls the randomness of the generated text by affecting the probability distribution of the output tokens. Higher = more random, lower = more focused.', dynatemp_range: diff --git a/tools/server/webui/src/lib/services/chat.ts b/tools/server/webui/src/lib/services/chat.ts index 86648f3cba..02fc6381c0 100644 --- a/tools/server/webui/src/lib/services/chat.ts +++ b/tools/server/webui/src/lib/services/chat.ts @@ -86,6 +86,7 @@ export class ChatService { dry_penalty_last_n, // Other parameters samplers, + backend_sampling, custom, timings_per_token, // Config options @@ -159,6 +160,8 @@ export class ChatService { : samplers; } + if (backend_sampling !== undefined) requestBody.backend_sampling = backend_sampling; + if (timings_per_token !== undefined) requestBody.timings_per_token = timings_per_token; if (custom) { diff --git a/tools/server/webui/src/lib/stores/chat.svelte.ts b/tools/server/webui/src/lib/stores/chat.svelte.ts index 67157e36ac..879b2f3245 100644 --- a/tools/server/webui/src/lib/stores/chat.svelte.ts +++ b/tools/server/webui/src/lib/stores/chat.svelte.ts @@ -1461,6 +1461,8 @@ class ChatStore { if (hasValue(currentConfig.dry_penalty_last_n)) apiOptions.dry_penalty_last_n = Number(currentConfig.dry_penalty_last_n); if (currentConfig.samplers) apiOptions.samplers = currentConfig.samplers; + if (currentConfig.backend_sampling) + apiOptions.backend_sampling = currentConfig.backend_sampling; if (currentConfig.custom) apiOptions.custom = currentConfig.custom; return apiOptions; diff --git a/tools/server/webui/src/lib/types/api.d.ts b/tools/server/webui/src/lib/types/api.d.ts index c2ecc02820..714509f024 100644 --- a/tools/server/webui/src/lib/types/api.d.ts +++ b/tools/server/webui/src/lib/types/api.d.ts @@ -149,6 +149,7 @@ export interface ApiLlamaCppServerProps { reasoning_in_content: boolean; thinking_forced_open: boolean; samplers: string[]; + backend_sampling: boolean; 'speculative.n_max': number; 'speculative.n_min': number; 'speculative.p_min': number; @@ -212,6 +213,7 @@ export interface ApiChatCompletionRequest { dry_penalty_last_n?: number; // Sampler configuration samplers?: string[]; + backend_sampling?: boolean; // Custom parameters (JSON string) custom?: Record; timings_per_token?: boolean; @@ -312,6 +314,7 @@ export interface ApiSlotData { reasoning_in_content: boolean; thinking_forced_open: boolean; samplers: string[]; + backend_sampling: boolean; 'speculative.n_max': number; 'speculative.n_min': number; 'speculative.p_min': number; diff --git a/tools/server/webui/src/lib/types/settings.d.ts b/tools/server/webui/src/lib/types/settings.d.ts index e09f0f332c..38b3047dd0 100644 --- a/tools/server/webui/src/lib/types/settings.d.ts +++ b/tools/server/webui/src/lib/types/settings.d.ts @@ -43,6 +43,7 @@ export interface SettingsChatServiceOptions { dry_penalty_last_n?: number; // Sampler configuration samplers?: string | string[]; + backend_sampling?: boolean; // Custom parameters custom?: string; timings_per_token?: boolean; From 8e3a7611891275566cb01e7aa837fa871e14b1da Mon Sep 17 00:00:00 2001 From: Ali Tariq Date: Mon, 5 Jan 2026 06:18:33 +0500 Subject: [PATCH 05/38] ci : init git lfs in every build for RISC-V (#18590) * Initialized git lfs in every test * Added git-lfs in dependencies to instal --- .github/workflows/build.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b7de8bee25..1193779d0b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1754,7 +1754,7 @@ jobs: 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 + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential libssl-dev wget ccache git-lfs # Set gcc-14 and g++-14 as the default compilers sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 @@ -1766,6 +1766,8 @@ jobs: rustup install stable rustup default stable + git lfs install + - name: Clone id: checkout uses: actions/checkout@v4 @@ -1851,7 +1853,7 @@ jobs: sudo apt-get update # Install necessary packages - sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache git-lfs # Set gcc-14 and g++-14 as the default compilers sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 @@ -1863,6 +1865,8 @@ jobs: rustup install stable rustup default stable + git lfs install + - name: GCC version check run: | gcc --version @@ -1943,7 +1947,7 @@ jobs: sudo apt-get update # Install necessary packages - sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache git-lfs # Set gcc-14 and g++-14 as the default compilers sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 @@ -1955,6 +1959,8 @@ jobs: rustup install stable rustup default stable + git lfs install + - name: GCC version check run: | gcc --version @@ -2015,7 +2021,7 @@ jobs: 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 + sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential libssl-dev wget ccache git-lfs # Set gcc-14 and g++-14 as the default compilers sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 @@ -2027,6 +2033,8 @@ jobs: rustup install stable rustup default stable + git lfs install + - name: GCC version check run: | gcc --version From 92ac1e016b4327bb58f62a098cd6bc484d9d6cbf Mon Sep 17 00:00:00 2001 From: Francisco Herrera Date: Sun, 4 Jan 2026 23:39:25 -0500 Subject: [PATCH 06/38] doc: clarify that steps also apply to linux for opencl (#18002) * Clarify setup steps for Linux Added note that setup steps apply to Linux as well. * Added note for backtick replacement * clarify that backtick replacement only applies on linux * clarified Linux specific steps So actually some changes are needed for Linux but they are minor. * clarify change execution * clarify by placing info after steps * clarify which steps * Make instructions consistent across OSes * Rm whitespace * Update docs/backend/OPENCL.md Co-authored-by: Aaron Teo * Update docs/backend/OPENCL.md Co-authored-by: Aaron Teo * Update docs/backend/OPENCL.md Co-authored-by: Aaron Teo --------- Co-authored-by: Aaron Teo --- docs/backend/OPENCL.md | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/docs/backend/OPENCL.md b/docs/backend/OPENCL.md index ce6c7b5605..0561a74c47 100644 --- a/docs/backend/OPENCL.md +++ b/docs/backend/OPENCL.md @@ -218,6 +218,56 @@ cmake .. -G Ninja ` ninja ``` +## Linux + +The two steps just above also apply to Linux. When building for linux, the commands are mostly the same as those for PowerShell on Windows, but in the second step they do not have the `-DCMAKE_TOOLCHAIN_FILE` parameter, and then in both steps the backticks are replaced with back slashes. + +If not installed already, install Git, CMake, Clang, Ninja and Python, then run in the terminal the following: + +### I. Setup Environment + +1. **Install OpenCL Headers and Library** + +```bash +mkdir -p ~/dev/llm + +cd ~/dev/llm +git clone https://github.com/KhronosGroup/OpenCL-Headers && cd OpenCL-Headers +mkdir build && cd build +cmake .. -G Ninja \ + -DBUILD_TESTING=OFF \ + -DOPENCL_HEADERS_BUILD_TESTING=OFF \ + -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF \ + -DCMAKE_INSTALL_PREFIX="$HOME/dev/llm/opencl" +cmake --build . --target install + +cd ~/dev/llm +git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader && cd OpenCL-ICD-Loader +mkdir build && cd build +cmake .. -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="$HOME/dev/llm/opencl" \ + -DCMAKE_INSTALL_PREFIX="$HOME/dev/llm/opencl" +cmake --build . --target install +``` + +### II. Build llama.cpp + +```bash +mkdir -p ~/dev/llm +cd ~/dev/llm + +git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp +mkdir build && cd build + +cmake .. -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="$HOME/dev/llm/opencl" \ + -DBUILD_SHARED_LIBS=OFF \ + -DGGML_OPENCL=ON +ninja +``` + ## Known Issues - Flash attention does not always improve performance. From 67e3f6f60155870d4b5ce727515aa81e5a7b4753 Mon Sep 17 00:00:00 2001 From: Chenguang Li <757486878@qq.com> Date: Mon, 5 Jan 2026 15:38:18 +0800 Subject: [PATCH 07/38] CANN: add operator fusion support for ADD + RMS_NORM (#17512) This commit implements operator fusion for ADD + RMS_NORM operations in the CANN backend to reduce memory access overhead and improve performance. The fusion is controlled by the GGML_CANN_OPERATOR_FUSION environment variable (default: false). Changes: - Implement ggml_cann_op_add_rms_norm_fused() using ACLNN AddRmsNorm - Add ggml_cann_can_fuse() to check fusion eligibility - Integrate fusion logic into computation graph evaluation - Add test cases for ADD + RMS_NORM fusion - Update documentation with new environment variable The fusion combines ADD and RMS_NORM into a single kernel call, which is more efficient than executing them separately. --- docs/backend/CANN.md | 4 +++ ggml/src/ggml-cann/aclnn_ops.cpp | 55 ++++++++++++++++++++++++++++ ggml/src/ggml-cann/aclnn_ops.h | 14 ++++++++ ggml/src/ggml-cann/ggml-cann.cpp | 44 +++++++++++++++++++++++ tests/test-backend-ops.cpp | 62 ++++++++++++++++++++++++++++++++ 5 files changed, 179 insertions(+) diff --git a/docs/backend/CANN.md b/docs/backend/CANN.md index 37dcfaef9a..b03c2a122c 100755 --- a/docs/backend/CANN.md +++ b/docs/backend/CANN.md @@ -327,3 +327,7 @@ Maximum number of compiled CANN graphs kept in the LRU cache, default is 12. Whe ### GGML_CANN_PREFILL_USE_GRAPH Enable ACL graph execution during the prefill stage, default is false. This option is only effective when FA is enabled. + +### GGML_CANN_OPERATOR_FUSION + +Enable operator fusion during computation, default is false. This option fuses compatible operators (e.g., ADD + RMS_NORM) to reduce overhead and improve performance. diff --git a/ggml/src/ggml-cann/aclnn_ops.cpp b/ggml/src/ggml-cann/aclnn_ops.cpp index 2180a06fd0..50b6bd00e4 100644 --- a/ggml/src/ggml-cann/aclnn_ops.cpp +++ b/ggml/src/ggml-cann/aclnn_ops.cpp @@ -26,6 +26,7 @@ #include "ggml.h" #include +#include #include #include #include @@ -3805,3 +3806,57 @@ void ggml_cann_ssm_conv(ggml_backend_cann_context & ctx, ggml_tensor * dst) { cubeMathType); } + +void ggml_cann_op_add_rms_norm_fused(ggml_backend_cann_context & ctx, + ggml_tensor * add_node, + ggml_tensor * rms_norm_node) { + // Get the two input tensors for ADD operation + ggml_tensor * x1 = add_node->src[0]; + ggml_tensor * x2 = add_node->src[1]; + + // Create ACL tensors for the two ADD inputs + acl_tensor_ptr acl_x1 = ggml_cann_create_tensor(x1); + acl_tensor_ptr acl_x2 = ggml_cann_create_tensor(x2); + + // Get epsilon parameter from rms_norm_tensor + float eps; + memcpy(&eps, rms_norm_node->op_params, sizeof(float)); + + // Build gamma tensor (RMS normalization scaling factor) + // Gamma should match the normalized dimensions (last dimension of x1) + size_t acl_gamma_nb[GGML_MAX_DIMS]; + acl_gamma_nb[0] = ggml_type_size(rms_norm_node->type); + for (int i = 1; i < GGML_MAX_DIMS; i++) { + acl_gamma_nb[i] = acl_gamma_nb[i - 1] * x1->ne[i - 1]; + } + acl_tensor_ptr acl_gamma = + get_cache_acl_tensor(ctx, &ctx.rms_norm_one_tensor_cache.cache, ctx.rms_norm_one_tensor_cache.size, x1->ne, + acl_gamma_nb, rms_norm_node->type, + 1, // dims - only the last dimension + 1.0f // value + ); + + // Build rstdOut tensor (output for normalized standard deviation) + // Shape should be the dimensions that are NOT normalized + int64_t acl_rstd_ne[] = { 1, x1->ne[1], x1->ne[2], x1->ne[3] }; + size_t acl_rstd_nb[GGML_MAX_DIMS - 1]; + acl_rstd_nb[0] = sizeof(float); + for (int i = 1; i < GGML_MAX_DIMS - 1; i++) { + acl_rstd_nb[i] = acl_rstd_nb[i - 1] * acl_rstd_ne[i - 1]; + } + acl_tensor_ptr acl_rstd = + get_cache_acl_tensor(ctx, &ctx.rms_norm_zero_tensor_cache.cache, ctx.rms_norm_zero_tensor_cache.size, + acl_rstd_ne, acl_rstd_nb, GGML_TYPE_F32, GGML_MAX_DIMS, + 0.0f // value + ); + + acl_tensor_ptr acl_xout = ggml_cann_create_tensor(add_node); + + // Create yOut tensor (final output after RMS normalization) + acl_tensor_ptr acl_yout = ggml_cann_create_tensor(rms_norm_node); + + // Call fused ADD + RMS_NORM operator + GGML_CANN_CALL_ACLNN_OP(ctx, AddRmsNorm, acl_x1.get(), acl_x2.get(), acl_gamma.get(), + eps, // double type + acl_yout.get(), acl_rstd.get(), acl_xout.get()); +} diff --git a/ggml/src/ggml-cann/aclnn_ops.h b/ggml/src/ggml-cann/aclnn_ops.h index a6ea016c54..08ee7b1fbd 100644 --- a/ggml/src/ggml-cann/aclnn_ops.h +++ b/ggml/src/ggml-cann/aclnn_ops.h @@ -935,6 +935,20 @@ template void register_acl_resources(std::vectorstream())); } +/** + * @brief Check if CANN backend can fuse the specified operation sequence + * + * This function determines whether an operation sequence starting from the specified node + * can be fused into an optimized operation in the CANN backend. Operation fusion can reduce + * memory access overhead and improve computational efficiency. + * + * @param cgraph Pointer to the computation graph + * @param node_idx Index of the starting node in the computation graph + * @param ops Sequence of operation types to check for fusion + * @return true if the operations can be fused + * @return false if the operations cannot be fused + */ +static bool ggml_cann_can_fuse(const struct ggml_cgraph * cgraph, + int node_idx, + std::initializer_list ops) { + if (!ggml_can_fuse(cgraph, node_idx, ops)) { + return false; + } + + // CANN backend supports fusing ADD + RMS_NORM operations + if ((ops.size() == 2) && ops.begin()[0] == GGML_OP_ADD && ops.begin()[1] == GGML_OP_RMS_NORM) { + ggml_tensor * add_node = cgraph->nodes[node_idx]; + // TODO: support broadcast for ADD + RMS_NORM + if (add_node->src[0]->ne[0] != add_node->src[1]->ne[0] || add_node->src[0]->ne[1] != add_node->src[1]->ne[1] || + add_node->src[0]->ne[2] != add_node->src[1]->ne[2] || add_node->src[0]->ne[3] != add_node->src[1]->ne[3]) { + return false; + } + return true; + } + + return false; +} + /** * @brief Evaluate the computation graph and optionally capture or execute it using CANN graph API. * @@ -2101,9 +2136,18 @@ static void evaluate_and_capture_cann_graph(ggml_backend_cann_context * cann_ctx #endif // USE_ACL_GRAPH // Only perform the graph execution if CANN graphs are not enabled, or we are capturing the graph. // With the use of CANN graphs, the execution will be performed by the graph launch. + static bool opt_fusion = parse_bool(get_env("GGML_CANN_OPERATOR_FUSION").value_or("")); + if (!use_cann_graph || cann_graph_capture_required) { for (int i = 0; i < cgraph->n_nodes; i++) { ggml_tensor * node = cgraph->nodes[i]; + if (opt_fusion) { + if (ggml_cann_can_fuse(cgraph, i, { GGML_OP_ADD, GGML_OP_RMS_NORM })) { + ggml_cann_op_add_rms_norm_fused(*cann_ctx, node, cgraph->nodes[i + 1]); + i++; + continue; + } + } if (ggml_is_empty(node) || node->op == GGML_OP_RESHAPE || node->op == GGML_OP_TRANSPOSE || node->op == GGML_OP_VIEW || node->op == GGML_OP_PERMUTE || node->op == GGML_OP_NONE) { diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 76abfdaf0a..fa6e80e3fc 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -3431,6 +3431,65 @@ struct test_rms_norm_mul_add : public test_case { } }; +// GGML_OP_ADD + GGML_OP_RMS_NORM (fused operation) +struct test_add_rms_norm : public test_case { + const ggml_type type; + const std::array ne; + const float eps; + const bool broadcast; + + std::string op_desc(ggml_tensor * t) override { + GGML_UNUSED(t); + return "ADD_RMS_NORM"; + } + + bool run_whole_graph() override { return true; } + + std::string vars() override { + return VARS_TO_STR4(type, ne, eps, broadcast); + } + + test_add_rms_norm(ggml_type type = GGML_TYPE_F32, + std::array ne = {64, 5, 4, 3}, + float eps = 1e-6f, bool broadcast = false) + : type(type), ne(ne), eps(eps), broadcast(broadcast) {} + + ggml_tensor * build_graph(ggml_context * ctx) override { + std::array broadcast_dims = {ne[0]*2, ne[1]*3, ne[2]*3, ne[3]*4}; + + ggml_tensor * a = ggml_new_tensor(ctx, type, 4, broadcast ? broadcast_dims.data() : ne.data()); + ggml_tensor * b = ggml_new_tensor(ctx, type, 4, ne.data()); + + ggml_set_param(a); + ggml_set_name(a, "a"); + ggml_set_param(b); + ggml_set_name(b, "b"); + + // ADD operation followed by RMS_NORM + ggml_tensor * add_result = ggml_add(ctx, a, b); + ggml_set_name(add_result, "add_result"); + + ggml_tensor * out = ggml_rms_norm(ctx, add_result, eps); + ggml_set_name(out, "out"); + + return out; + } + + void initialize_tensors(ggml_context * ctx) override { + for (ggml_tensor * t = ggml_get_first_tensor(ctx); t != NULL; t = ggml_get_next_tensor(ctx, t)) { + init_tensor_uniform(t, -10.f, 10.f); + } + } + + float grad_eps() override { + return 1.0f; + } + + bool grad_precise() override { + return true; + } +}; + // GGML_OP_SSM_CONV struct test_ssm_conv : public test_case { const ggml_type type; @@ -7393,11 +7452,14 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_rms_norm_mul_add(GGML_TYPE_F32, {64, 5, 4, 3}, eps, true)); test_cases.emplace_back(new test_norm_mul_add(GGML_TYPE_F32, {64, 5, 4, 3}, eps, false)); test_cases.emplace_back(new test_norm_mul_add(GGML_TYPE_F32, {64, 5, 4, 3}, eps, true)); + test_cases.emplace_back(new test_add_rms_norm(GGML_TYPE_F32, {64, 5, 4, 3}, eps, false)); + test_cases.emplace_back(new test_add_rms_norm(GGML_TYPE_F32, {64, 5, 4, 3}, eps, true)); } for (uint32_t n : {1, 511, 1025, 8192, 33*512}) { for (bool multi_add : {false, true}) { test_cases.emplace_back(new test_rms_norm_mul_add(GGML_TYPE_F32, {n, 1, 1, 1}, 1e-6f, false, multi_add)); } + test_cases.emplace_back(new test_add_rms_norm(GGML_TYPE_F32, {n, 1, 1, 1}, 1e-6f, false)); } for (auto multi_add : {false, true}) { From eadc4184caee5b5f68f31f19a2f65c6961748e46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Mon, 5 Jan 2026 09:14:04 +0100 Subject: [PATCH 08/38] llama : refactor rope_freq_base/scale_swa conversion and init (#18553) * refactor rope_freq_base/scale_swa conversion and init * safe defaults for unknowns * update relevant models * grammar * add get_rope_freq_scale to modern-bert * const * const * log swa info --- convert_hf_to_gguf.py | 14 +++++++--- src/llama-hparams.h | 4 +-- src/llama-model.cpp | 49 ++++++++++++++++++++++++++-------- src/models/afmoe.cpp | 14 ++++++---- src/models/cohere2-iswa.cpp | 3 +++ src/models/gemma2-iswa.cpp | 7 +++-- src/models/llama-iswa.cpp | 8 ++++-- src/models/modern-bert.cpp | 7 ++--- src/models/openai-moe-iswa.cpp | 7 +++-- src/models/smallthinker.cpp | 18 ++++++++----- 10 files changed, 94 insertions(+), 37 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 3340a0a7dc..68446aa44f 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -771,9 +771,14 @@ class TextModel(ModelBase): self.rope_parameters = self.hparams.get("rope_parameters", self.hparams.get("rope_scaling")) or {} + rope_theta = self.find_hparam(["rope_theta", "global_rope_theta", "rotary_emb_base"], optional=True) + local_rope_theta = self.find_hparam(["local_rope_theta", "rope_local_theta", "swa_rope_theta", "rope_local_base_freq"], optional=True) + # Ensure "rope_theta" and "rope_type" is mirrored in rope_parameters if "full_attention" not in self.rope_parameters and "sliding_attention" not in self.rope_parameters: - if "rope_theta" not in self.rope_parameters and (rope_theta := self.find_hparam(["rope_theta", "global_rope_theta", "rotary_emb_base"], optional=True)) is not None: + if local_rope_theta is not None: + self.rope_parameters["sliding_attention"] = {"rope_theta": local_rope_theta} + if "rope_theta" not in self.rope_parameters and rope_theta is not None: self.rope_parameters["rope_theta"] = rope_theta if "rope_type" not in self.rope_parameters and (rope_type := self.rope_parameters.get("type")) is not None: self.rope_parameters["rope_type"] = rope_type @@ -839,6 +844,7 @@ class TextModel(ModelBase): self.gguf_writer.add_head_count_kv(n_head_kv) logger.info(f"gguf: key-value head count = {n_head_kv}") + # TODO: Handle "sliding_attention" similarly when models start implementing it rope_params = self.rope_parameters.get("full_attention", self.rope_parameters) if (rope_type := rope_params.get("rope_type")) is not None: rope_factor = rope_params.get("factor") @@ -885,6 +891,9 @@ class TextModel(ModelBase): if (rope_theta := rope_params.get("rope_theta")) is not None: self.gguf_writer.add_rope_freq_base(rope_theta) logger.info(f"gguf: rope theta = {rope_theta}") + if (local_rope_theta := self.rope_parameters.get("sliding_attention", {}).get("rope_theta")) is not None: + self.gguf_writer.add_rope_freq_base_swa(local_rope_theta) + logger.info(f"gguf: rope theta swa = {local_rope_theta}") if (f_rms_eps := self.find_hparam(["rms_norm_eps", "norm_eps"], optional=True)) is not None: self.gguf_writer.add_layer_norm_rms_eps(f_rms_eps) logger.info(f"gguf: rms norm epsilon = {f_rms_eps}") @@ -5004,7 +5013,6 @@ class Plamo3Model(TextModel): if (sliding_window := self.find_hparam(["window_size", "sliding_window"], optional=True)) is not None: self.gguf_writer.add_sliding_window(sliding_window) self.gguf_writer.add_sliding_window_pattern(self.hparams["sliding_window_pattern"]) - self.gguf_writer.add_rope_freq_base_swa(self.rope_parameters.get("sliding_attention", {"rope_theta": self.hparams.get("rope_local_theta")})["rope_theta"]) def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: @@ -7480,7 +7488,6 @@ class MimoV2Model(TextModel): self.gguf_writer.add_sliding_window(self.hparams["sliding_window"]) self.gguf_writer.add_sliding_window_pattern(self.hparams["hybrid_layer_pattern"]) - self.gguf_writer.add_rope_freq_base_swa(self.hparams["swa_rope_theta"]) self.gguf_writer.add_value_length(self.hparams["v_head_dim"]) self.gguf_writer.add_expert_count(self.hparams["n_routed_experts"]) self.gguf_writer.add_expert_feed_forward_length(self.hparams["moe_intermediate_size"]) @@ -10218,7 +10225,6 @@ class ModernBertModel(BertModel): self.gguf_writer.add_sliding_window(self.hparams["local_attention"]) if (sliding_window_pattern := self.hparams.get("global_attn_every_n_layers")) is not None: self.gguf_writer.add_sliding_window_pattern(sliding_window_pattern) - self.gguf_writer.add_rope_freq_base_swa(self.rope_parameters.get("sliding_attention", {"rope_theta": self.hparams.get("local_rope_theta")})["rope_theta"]) self.gguf_writer.add_rope_scaling_type(gguf.RopeScalingType.NONE) self.gguf_writer.add_vocab_size(self.hparams["vocab_size"]) diff --git a/src/llama-hparams.h b/src/llama-hparams.h index 42def73f06..fc5708fc4b 100644 --- a/src/llama-hparams.h +++ b/src/llama-hparams.h @@ -105,9 +105,9 @@ struct llama_hparams { float rope_attn_factor = 1.0f; float rope_freq_base_train; - float rope_freq_base_train_swa; + float rope_freq_base_train_swa = 10000.0f; float rope_freq_scale_train; - float rope_freq_scale_train_swa; + float rope_freq_scale_train_swa = 1.0f; uint32_t n_ctx_orig_yarn; float rope_yarn_log_mul = 0.0f; diff --git a/src/llama-model.cpp b/src/llama-model.cpp index c739b0b48a..28dcc2840f 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -578,6 +578,7 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.rope_scaling_type_train = llama_rope_scaling_type_from_string(rope_scaling); GGML_ASSERT(hparams.rope_scaling_type_train != LLAMA_ROPE_SCALING_TYPE_UNSPECIFIED); + // TODO: Handle SWA metadata similarly when models start implementing it // rope_freq_scale (inverse of the kv) is optional float ropescale = 0.0f; if (!ml.get_key(LLM_KV_ROPE_SCALING_FACTOR, ropescale, false)) { @@ -586,10 +587,6 @@ void llama_model::load_hparams(llama_model_loader & ml) { } hparams.rope_freq_scale_train = ropescale == 0.0f ? 1.0f : 1.0f/ropescale; - // by default assume that the sliding-window layers use the same scaling type as the non-sliding-window layers - hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; - hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; - ml.get_key(LLM_KV_ROPE_SCALING_ATTN_FACTOR, hparams.rope_attn_factor, false); // non-transformer models do not have attention heads @@ -677,6 +674,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.f_attn_temp_scale = 0.1f; hparams.f_attn_temp_offset = 1.0f; hparams.set_swa_pattern(4); // pattern: 3 chunked - 1 full + + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); } switch (hparams.n_expert) { @@ -722,6 +723,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { if (hparams.n_swa > 0) { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.set_swa_pattern(4); + + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); } else { hparams.swa_type = LLAMA_SWA_TYPE_NONE; } @@ -1243,7 +1248,6 @@ void llama_model::load_hparams(llama_model_loader & ml) { if (found_swa && hparams.n_swa > 0) { uint32_t swa_period = 8; hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; - hparams.rope_freq_scale_train_swa = 1.0f; ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa); ml.get_key_or_arr(LLM_KV_ATTENTION_SLIDING_WINDOW_PATTERN, swa_period, false); hparams.set_swa_pattern(swa_period); @@ -1309,7 +1313,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.n_swa = 4096; // default value of gemma 2 hparams.set_swa_pattern(2); hparams.attn_soft_cap = true; + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa, false); ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); ml.get_key(LLM_KV_ATTN_LOGIT_SOFTCAPPING, hparams.f_attn_logit_softcapping, false); @@ -1334,8 +1341,7 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.set_swa_pattern(6); - hparams.rope_freq_base_train_swa = 10000.0f; - hparams.rope_freq_scale_train_swa = 1.0f; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); } else { hparams.swa_type = LLAMA_SWA_TYPE_NONE; } @@ -1365,10 +1371,9 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.set_swa_pattern(5); hparams.n_layer_kv_from_start = 20; - hparams.rope_freq_base_train_swa = 10000.0f; - hparams.rope_freq_scale_train_swa = 1.0f; hparams.f_attention_scale = 1.0f; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa); ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); @@ -1384,9 +1389,8 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.set_swa_pattern(6); hparams.causal_attn = false; // embeddings do not use causal attention - hparams.rope_freq_base_train_swa = 10000.0f; - hparams.rope_freq_scale_train_swa = 1.0f; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa); ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); ml.get_key(LLM_KV_POOLING_TYPE, hparams.pooling_type); @@ -1525,7 +1529,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.set_swa_pattern(4); + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa); ml.get_key(LLM_KV_LOGIT_SCALE, hparams.f_logit_scale); ml.get_key(LLM_KV_ATTENTION_LAYERNORM_EPS, hparams.f_norm_eps); @@ -1564,6 +1571,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { if (found_swa && hparams.n_swa > 0) { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.set_swa_pattern(4); + + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = 1.0; // See olmo2.cpp + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); } else { hparams.swa_type = LLAMA_SWA_TYPE_NONE; } @@ -1906,6 +1917,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.n_swa = 4096; hparams.set_swa_pattern(4); + + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); } ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa, false); @@ -2208,6 +2223,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.set_swa_pattern(2); + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); + switch (hparams.n_layer) { case 24: type = LLM_TYPE_20B; break; case 36: type = LLM_TYPE_120B; break; @@ -2252,6 +2271,10 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; hparams.n_swa = 4096; hparams.set_swa_pattern(4, true); + + hparams.rope_freq_base_train_swa = hparams.rope_freq_base_train; + hparams.rope_freq_scale_train_swa = hparams.rope_freq_scale_train; + ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA, hparams.rope_freq_base_train_swa, false); } else { hparams.swa_type = LLAMA_SWA_TYPE_NONE; hparams.n_no_rope_layer_step = hparams.n_layer; @@ -7098,6 +7121,10 @@ void llama_model::print_info() const { LLAMA_LOG_INFO("%s: rope scaling = %s\n", __func__, rope_scaling_type.c_str()); LLAMA_LOG_INFO("%s: freq_base_train = %.1f\n", __func__, hparams.rope_freq_base_train); LLAMA_LOG_INFO("%s: freq_scale_train = %g\n", __func__, hparams.rope_freq_scale_train); + if (hparams.swa_type != LLAMA_SWA_TYPE_NONE) { + LLAMA_LOG_INFO("%s: freq_base_swa = %.1f\n", __func__, hparams.rope_freq_base_train_swa); + LLAMA_LOG_INFO("%s: freq_scale_swa = %g\n", __func__, hparams.rope_freq_scale_train_swa); + } LLAMA_LOG_INFO("%s: n_ctx_orig_yarn = %u\n", __func__, hparams.n_ctx_orig_yarn); LLAMA_LOG_INFO("%s: rope_yarn_log_mul= %.4f\n", __func__, hparams.rope_yarn_log_mul); LLAMA_LOG_INFO("%s: rope_finetuned = %s\n", __func__, hparams.rope_finetuned ? "yes" : "unknown"); diff --git a/src/models/afmoe.cpp b/src/models/afmoe.cpp index 0192e344ca..6a752a403f 100644 --- a/src/models/afmoe.cpp +++ b/src/models/afmoe.cpp @@ -22,8 +22,15 @@ llm_build_afmoe::llm_build_afmoe(const llama_model & model, const llm_graph_para const float kq_scale = 1.0f/sqrtf(float(n_embd_head)); for (int il = 0; il < n_layer; ++il) { + const float freq_base_l = model.get_rope_freq_base (cparams, il); + const float freq_scale_l = model.get_rope_freq_scale(cparams, il); + ggml_tensor * inpSA = inpL; + // This overlaps with SWA layers in current models, so get_rope_freq_base/scale may be superfluous + const bool use_rope = hparams.n_no_rope_layer_step > 0 && + (il + 1) % hparams.n_no_rope_layer_step != 0; + // dual attention normalization (pre) cur = build_norm(inpL, model.layers[il].attn_norm, NULL, @@ -56,19 +63,16 @@ llm_build_afmoe::llm_build_afmoe(const llama_model & model, const llm_graph_para cb(Qcur, "Qcur_normed", il); cb(Kcur, "Kcur_normed", il); - // RoPE only for sliding_attention layers - const bool use_rope = hparams.n_no_rope_layer_step > 0 && - ((il + 1) % hparams.n_no_rope_layer_step) != 0; if (use_rope) { Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow); cb(Qcur, "Qcur_rope", il); Kcur = ggml_rope_ext( ctx0, Kcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow); cb(Kcur, "Kcur_rope", il); } diff --git a/src/models/cohere2-iswa.cpp b/src/models/cohere2-iswa.cpp index b18aa8c4e6..9334b5e426 100644 --- a/src/models/cohere2-iswa.cpp +++ b/src/models/cohere2-iswa.cpp @@ -21,6 +21,9 @@ llm_build_cohere2_iswa::llm_build_cohere2_iswa(const llama_model & model, const for (int il = 0; il < n_layer; ++il) { const bool is_swa = hparams.is_swa(il); + // UNUSED: + // const float freq_base_l = model.get_rope_freq_base (cparams, il); + // const float freq_scale_l = model.get_rope_freq_scale(cparams, il); // norm cur = build_norm(inpL, model.layers[il].attn_norm, NULL, LLM_NORM, il); diff --git a/src/models/gemma2-iswa.cpp b/src/models/gemma2-iswa.cpp index 9cc59a53ee..7a9198193a 100644 --- a/src/models/gemma2-iswa.cpp +++ b/src/models/gemma2-iswa.cpp @@ -19,6 +19,9 @@ llm_build_gemma2_iswa::llm_build_gemma2_iswa(const llama_model & model, const ll ggml_tensor * inp_out_ids = build_inp_out_ids(); for (int il = 0; il < n_layer; ++il) { + const float freq_base_l = model.get_rope_freq_base (cparams, il); + const float freq_scale_l = model.get_rope_freq_scale(cparams, il); + // norm cur = build_norm(inpL, model.layers[il].attn_norm, NULL, @@ -43,12 +46,12 @@ llm_build_gemma2_iswa::llm_build_gemma2_iswa(const llama_model & model, const ll Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow); Kcur = ggml_rope_ext( ctx0, Kcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow); cb(Qcur, "Qcur", il); diff --git a/src/models/llama-iswa.cpp b/src/models/llama-iswa.cpp index 03f8061682..61dd2c179f 100644 --- a/src/models/llama-iswa.cpp +++ b/src/models/llama-iswa.cpp @@ -25,8 +25,12 @@ llm_build_llama_iswa::llm_build_llama_iswa(const llama_model & model, const llm_ ggml_tensor * inp_out_ids = build_inp_out_ids(); for (int il = 0; il < n_layer; ++il) { + const float freq_base_l = model.get_rope_freq_base (cparams, il); + const float freq_scale_l = model.get_rope_freq_scale(cparams, il); + ggml_tensor * inpSA = inpL; + // This overlaps with SWA layers in current models, so get_rope_freq_base/scale may be superfluous const bool use_rope = hparams.n_no_rope_layer_step > 0 && (il + 1) % hparams.n_no_rope_layer_step != 0; @@ -67,13 +71,13 @@ llm_build_llama_iswa::llm_build_llama_iswa(const llama_model & model, const llm_ if (use_rope) { Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, rope_factors, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow ); Kcur = ggml_rope_ext( ctx0, Kcur, inp_pos, rope_factors, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow ); } else if (inp_attn_scale) { diff --git a/src/models/modern-bert.cpp b/src/models/modern-bert.cpp index 6df418ecda..bb12ed819f 100644 --- a/src/models/modern-bert.cpp +++ b/src/models/modern-bert.cpp @@ -23,7 +23,8 @@ llm_build_modern_bert::llm_build_modern_bert(const llama_model & model, const ll auto * inp_attn = build_attn_inp_no_cache(); for (int il = 0; il < n_layer; ++il) { - float freq_base_l = model.get_rope_freq_base(cparams, il); + const float freq_base_l = model.get_rope_freq_base(cparams, il); + const float freq_scale_l = model.get_rope_freq_scale(cparams, il); cur = inpL; @@ -48,13 +49,13 @@ llm_build_modern_bert::llm_build_modern_bert(const llama_model & model, const ll // RoPE Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow ); Kcur = ggml_rope_ext( ctx0, Kcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow ); diff --git a/src/models/openai-moe-iswa.cpp b/src/models/openai-moe-iswa.cpp index 96596709ee..dbe3ca1851 100644 --- a/src/models/openai-moe-iswa.cpp +++ b/src/models/openai-moe-iswa.cpp @@ -14,6 +14,9 @@ llm_build_openai_moe_iswa::llm_build_openai_moe_iswa(const llama_model & model, ggml_tensor * inp_out_ids = build_inp_out_ids(); for (int il = 0; il < n_layer; ++il) { + const float freq_base_l = model.get_rope_freq_base (cparams, il); + const float freq_scale_l = model.get_rope_freq_scale(cparams, il); + ggml_tensor * inpSA = inpL; // norm @@ -49,13 +52,13 @@ llm_build_openai_moe_iswa::llm_build_openai_moe_iswa(const llama_model & model, Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow ); Kcur = ggml_rope_ext( ctx0, Kcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow ); diff --git a/src/models/smallthinker.cpp b/src/models/smallthinker.cpp index 277eec2955..4c497ca76f 100644 --- a/src/models/smallthinker.cpp +++ b/src/models/smallthinker.cpp @@ -26,10 +26,16 @@ llm_build_smallthinker::llm_build_smallthinker(const llama_model & model, ggml_tensor * inp_out_ids = build_inp_out_ids(); for (int il = 0; il < n_layer; ++il) { - ggml_tensor * inpSA = inpL; - ggml_tensor * probs = nullptr; + const float freq_base_l = model.get_rope_freq_base (cparams, il); + const float freq_scale_l = model.get_rope_freq_scale(cparams, il); - probs = build_lora_mm(model.layers[il].ffn_gate_inp, inpL); // [n_expert, n_tokens] + ggml_tensor * inpSA = inpL; + + // This overlaps with SWA layers in current models, so get_rope_freq_base/scale may be superfluous + const bool use_rope = hparams.n_no_rope_layer_step == n_layer || + il % hparams.n_no_rope_layer_step != 0; + + ggml_tensor * probs = build_lora_mm(model.layers[il].ffn_gate_inp, inpL); // [n_expert, n_tokens] cb(probs, "ffn_moe_logits", il); // norm @@ -52,11 +58,11 @@ llm_build_smallthinker::llm_build_smallthinker(const llama_model & model, Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head, n_head_kv, n_tokens); Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens); - if (hparams.n_no_rope_layer_step == n_layer || il % hparams.n_no_rope_layer_step != 0) { - Qcur = ggml_rope_ext(ctx0, Qcur, inp_pos, nullptr, n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + if (use_rope) { + Qcur = ggml_rope_ext(ctx0, Qcur, inp_pos, nullptr, n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow); - Kcur = ggml_rope_ext(ctx0, Kcur, inp_pos, nullptr, n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + Kcur = ggml_rope_ext(ctx0, Kcur, inp_pos, nullptr, n_rot, rope_type, n_ctx_orig, freq_base_l, freq_scale_l, ext_factor, attn_factor, beta_fast, beta_slow); } cb(Qcur, "Qcur", il); From b37124d2d2f0e4f6468746f2cbda286944627a75 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Mon, 5 Jan 2026 04:30:14 -0600 Subject: [PATCH 09/38] vulkan: handle quantize_q8_1 overflowing the max workgroup count (#18515) * vulkan: handle quantize_q8_1 overflowing the max workgroup count * vulkan: Fix small tile size matmul on lavapipe * fix mul_mat_id failures --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 57 +++++++++++-------- .../vulkan-shaders/quantize_q8_1.comp | 16 +++--- tests/test-backend-ops.cpp | 4 ++ 3 files changed, 44 insertions(+), 33 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 16254457bb..502a4deebc 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -2898,39 +2898,41 @@ static void ggml_vk_load_shaders(vk_device& device) { const uint32_t tk_m = device->coopmat_support ? device->coopmat_k : 1; const uint32_t tk_s = device->coopmat_support ? device->coopmat_k : 1; - l_warptile = { 128, 128, 128, 16, subgroup_size_8 * 2, 64, 2, tm_l, tn_l, tk_l, subgroup_size_8 }; - m_warptile = { 128, 64, 64, 16, subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, subgroup_size_8 }; - s_warptile = { subgroup_size_16, 32, 32, 16, 32, 32, 2, tm_s, tn_s, tk_s, subgroup_size_8 }; + const uint32_t s_warptile_wm = device->subgroup_size == 8 ? 8 : 32; - l_warptile_mmq = { 128, 128, 128, 32, subgroup_size_8 * 2, 64, 2, tm_l, tn_l, tk_l, subgroup_size_8 }; - m_warptile_mmq = { 128, 64, 64, 32, subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, subgroup_size_8 }; - s_warptile_mmq = { subgroup_size_32, 32, 32, 32, 32, 32, 2, tm_s, tn_s, tk_s, subgroup_size_8 }; + l_warptile = { 128, 128, 128, 16, subgroup_size_8 * 2, 64, 2, tm_l, tn_l, tk_l, subgroup_size_8 }; + m_warptile = { 128, 64, 64, 16, subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, subgroup_size_8 }; + s_warptile = { subgroup_size_32, 32, 32, 16, s_warptile_wm, 32, 2, tm_s, tn_s, tk_s, subgroup_size_8 }; + + l_warptile_mmq = { 128, 128, 128, 32, subgroup_size_8 * 2, 64, 2, tm_l, tn_l, tk_l, subgroup_size_8 }; + m_warptile_mmq = { 128, 64, 64, 32, subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, subgroup_size_8 }; + s_warptile_mmq = { subgroup_size_32, 32, 32, 32, s_warptile_wm, 32, 2, tm_s, tn_s, tk_s, subgroup_size_8 }; // Integer MMQ has a smaller shared memory profile, but heavier register use - l_warptile_mmq_int = { 128, 128, 128, 32, subgroup_size_8 * 2, 64, 2, 4, 4, 1, subgroup_size_8 }; - m_warptile_mmq_int = { 128, 64, 64, 32, subgroup_size_8, 32, 2, 2, 2, 1, subgroup_size_8 }; - s_warptile_mmq_int = { subgroup_size_32, 32, 32, 32, 32, 32, 2, 2, 1, 1, subgroup_size_8 }; + l_warptile_mmq_int = { 128, 128, 128, 32, subgroup_size_8 * 2, 64, 2, 4, 4, 1, subgroup_size_8 }; + m_warptile_mmq_int = { 128, 64, 64, 32, subgroup_size_8, 32, 2, 2, 2, 1, subgroup_size_8 }; + s_warptile_mmq_int = { subgroup_size_32, 32, 32, 32, s_warptile_wm, 32, 2, 2, 1, 1, subgroup_size_8 }; // K-quants use even more registers, mitigate by setting WMITER to 1 - l_warptile_mmq_int_k = { 128, 128, 128, 32, subgroup_size_8 * 2, 64, 1, 4, 4, 1, subgroup_size_8 }; - m_warptile_mmq_int_k = { 128, 64, 64, 32, subgroup_size_8, 32, 1, 2, 2, 1, subgroup_size_8 }; - s_warptile_mmq_int_k = { subgroup_size_32, 32, 32, 32, 32, 32, 1, 2, 1, 1, subgroup_size_8 }; + l_warptile_mmq_int_k = { 128, 128, 128, 32, subgroup_size_8 * 2, 64, 1, 4, 4, 1, subgroup_size_8 }; + m_warptile_mmq_int_k = { 128, 64, 64, 32, subgroup_size_8, 32, 1, 2, 2, 1, subgroup_size_8 }; + s_warptile_mmq_int_k = { subgroup_size_32, 32, 32, 32, s_warptile_wm, 32, 1, 2, 1, 1, subgroup_size_8 }; - l_warptile_id = { 128, 128, 128, 16, mul_mat_subgroup_size_16 * 2, 64, 2, tm_l, tn_l, tk_l, mul_mat_subgroup_size_16 }; - m_warptile_id = { 128, 64, 64, 16, mul_mat_subgroup_size_16, 32, 2, tm_m, tn_m, tk_m, mul_mat_subgroup_size_16 }; - s_warptile_id = { mul_mat_subgroup_size_16, 32, 32, 16, 32, 32, 2, tm_s, tn_s, tk_s, mul_mat_subgroup_size_16 }; + l_warptile_id = { 128, 128, 128, 16, mul_mat_subgroup_size_16 * 2, 64, 2, tm_l, tn_l, tk_l, mul_mat_subgroup_size_16 }; + m_warptile_id = { 128, 64, 64, 16, mul_mat_subgroup_size_16, 32, 2, tm_m, tn_m, tk_m, mul_mat_subgroup_size_16 }; + s_warptile_id = { mul_mat_subgroup_size_16, 32, 32, 16, s_warptile_wm, 32, 2, tm_s, tn_s, tk_s, mul_mat_subgroup_size_16 }; - l_warptile_mmqid = { 128, 128, 128, 32, mul_mat_subgroup_size_8 * 2, 64, 2, tm_l, tn_l, tk_l, mul_mat_subgroup_size_8 }; - m_warptile_mmqid = { 128, 64, 64, 32, mul_mat_subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, mul_mat_subgroup_size_8 }; - s_warptile_mmqid = { mul_mat_subgroup_size_32, 32, 32, 32, 32, 32, 2, tm_s, tn_s, tk_s, mul_mat_subgroup_size_8 }; + l_warptile_mmqid = { 128, 128, 128, 32, mul_mat_subgroup_size_8 * 2, 64, 2, tm_l, tn_l, tk_l, mul_mat_subgroup_size_8 }; + m_warptile_mmqid = { 128, 64, 64, 32, mul_mat_subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, mul_mat_subgroup_size_8 }; + s_warptile_mmqid = { mul_mat_subgroup_size_32, 32, 32, 32, s_warptile_wm, 32, 2, tm_s, tn_s, tk_s, mul_mat_subgroup_size_8 }; - l_warptile_mmqid_int = { 128, 128, 128, 32, mul_mat_subgroup_size_8 * 2, 64, 2, 4, 4, 1, mul_mat_subgroup_size_8 }; - m_warptile_mmqid_int = { 128, 64, 64, 32, mul_mat_subgroup_size_8, 32, 2, 2, 2, 1, mul_mat_subgroup_size_8 }; - s_warptile_mmqid_int = { mul_mat_subgroup_size_32, 32, 32, 32, 32, 32, 2, 2, 1, 1, mul_mat_subgroup_size_8 }; + l_warptile_mmqid_int = { 128, 128, 128, 32, mul_mat_subgroup_size_8 * 2, 64, 2, 4, 4, 1, mul_mat_subgroup_size_8 }; + m_warptile_mmqid_int = { 128, 64, 64, 32, mul_mat_subgroup_size_8, 32, 2, 2, 2, 1, mul_mat_subgroup_size_8 }; + s_warptile_mmqid_int = { mul_mat_subgroup_size_32, 32, 32, 32, s_warptile_wm, 32, 2, 2, 1, 1, mul_mat_subgroup_size_8 }; - l_warptile_mmqid_int_k = { 128, 128, 128, 32, mul_mat_subgroup_size_16 * 2, 64, 1, 4, 4, 1, mul_mat_subgroup_size_16 }; - m_warptile_mmqid_int_k = { 128, 64, 64, 32, mul_mat_subgroup_size_16, 32, 1, 2, 2, 1, mul_mat_subgroup_size_16 }; - s_warptile_mmqid_int_k = { mul_mat_subgroup_size_32, 32, 32, 32, 32, 32, 1, 2, 1, 1, mul_mat_subgroup_size_16 }; + l_warptile_mmqid_int_k = { 128, 128, 128, 32, mul_mat_subgroup_size_16 * 2, 64, 1, 4, 4, 1, mul_mat_subgroup_size_16 }; + m_warptile_mmqid_int_k = { 128, 64, 64, 32, mul_mat_subgroup_size_16, 32, 1, 2, 2, 1, mul_mat_subgroup_size_16 }; + s_warptile_mmqid_int_k = { mul_mat_subgroup_size_32, 32, 32, 32, s_warptile_wm, 32, 1, 2, 1, 1, mul_mat_subgroup_size_16 }; // chip specific tuning if ((device->architecture == AMD_GCN) && (device->driver_id != vk::DriverId::eAmdProprietary)) { @@ -6773,7 +6775,12 @@ static void ggml_vk_quantize_q8_1(ggml_backend_vk_context * ctx, vk_context& sub vk_pipeline pipeline = ggml_vk_get_quantize_pipeline(ctx, GGML_TYPE_Q8_1); - ggml_vk_dispatch_pipeline(ctx, subctx, pipeline, { in, out }, std::array{ne}, { ne, 1, 1 }); + const uint32_t num_blocks = CEIL_DIV(ne, pipeline->wg_denoms[0]); + // clamp the number of elements to the max workgroup count. The shader will iterate over the total number of blocks. + const uint64_t max_elements = std::min(uint64_t{ctx->device->properties.limits.maxComputeWorkGroupCount[0]} * pipeline->wg_denoms[0], std::numeric_limits::max()); + const uint32_t elements = std::min(ne, static_cast(max_elements)); + + ggml_vk_dispatch_pipeline(ctx, subctx, pipeline, { in, out }, std::array{ ne, num_blocks }, { elements, 1, 1 }); ggml_vk_sync_buffers(ctx, subctx); } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/quantize_q8_1.comp b/ggml/src/ggml-vulkan/vulkan-shaders/quantize_q8_1.comp index 20e45d0253..7ea29a07e3 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/quantize_q8_1.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/quantize_q8_1.comp @@ -15,6 +15,7 @@ layout (push_constant) uniform parameter { uint ne; + uint num_blocks; } p; #include "types.glsl" @@ -33,8 +34,7 @@ layout (binding = 1) writeonly buffer D {block_q8_1_x4 data_b[];}; shared float shmem[GROUP_SIZE]; #endif -void quantize() { - const uint wgid = gl_WorkGroupID.x; +void quantize(const uint wgid) { const uint tid = INVOCATION_ID; // Each thread handles a vec4, so 8 threads handle a block @@ -45,11 +45,7 @@ void quantize() { const uint ib = wgid * blocks_per_group + block_in_wg; const uint iqs = tid % 8; -#ifndef QBLOCK_X4 - if (ib >= gl_NumWorkGroups.x * blocks_per_group) { - return; - } -#else +#ifdef QBLOCK_X4 const uint ibx4_outer = ib / 4; const uint ibx4_inner = ib % 4; @@ -123,5 +119,9 @@ void quantize() { } void main() { - quantize(); + uint wgid = gl_WorkGroupID.x; + while (wgid < p.num_blocks) { + quantize(wgid); + wgid += gl_NumWorkGroups.x; + } } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index fa6e80e3fc..8df994e91c 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7625,6 +7625,10 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_mul_mat(GGML_TYPE_F32, GGML_TYPE_F32, 64, 77, 77, {12,1}, {1,1})); test_cases.emplace_back(new test_mul_mat(GGML_TYPE_Q4_0, GGML_TYPE_F32, 576, 512, 576, {1,1}, {1,1})); + test_cases.emplace_back(new test_mul_mat(GGML_TYPE_Q4_0, GGML_TYPE_F32, 1, 2048, 8192, {1, 1}, {1, 1})); + for (ggml_type type_a : all_types) { + test_cases.emplace_back(new test_mul_mat(type_a, GGML_TYPE_F32, 1, 64, 256, {1, 1}, {1, 1})); + } #if 0 // test the mat-mat path for Metal From 2da64a2f8a47894d70bc87a160dcb57a3df63b6e Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 5 Jan 2026 12:34:23 +0200 Subject: [PATCH 10/38] models : fix backend assignment for Granite/Nemotron graphs (#18599) * models : fix backend assignment for Granite/Nemotron graphs * cont : add ref * cont : move call to build_inp_embd() --- src/llama-graph.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index 6cde7338c2..86c5472638 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -1326,6 +1326,10 @@ ggml_tensor * llm_graph_context::build_inp_embd(ggml_tensor * tok_embd) const { res->add_input(std::move(inp)); + // make sure the produced embeddings are immediately materialized in the ggml graph + // ref: https://github.com/ggml-org/llama.cpp/pull/18599 + ggml_build_forward_expand(gf, cur); + return cur; } From f1768d8f03fe514794349790de0785eafded6c0b Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Mon, 5 Jan 2026 04:51:39 -0600 Subject: [PATCH 11/38] vulkan: fix topk_moe_sigmoid_norm_bias failures in GLM-4.6 (#18582) --- .../ggml-vulkan/vulkan-shaders/topk_moe.comp | 19 ++++++++++++------- tests/test-backend-ops.cpp | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/topk_moe.comp b/ggml/src/ggml-vulkan/vulkan-shaders/topk_moe.comp index 4bf6d2bcb0..ef2f202ec9 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/topk_moe.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/topk_moe.comp @@ -101,6 +101,10 @@ void main() { const uint lane = gl_SubgroupInvocationID; float probs[experts_per_thread]; + [[unroll]] + for (int i = 0; i < experts_per_thread; i++) { + probs[i] = -INFINITY; + } [[unroll]] for (uint i = 0; i < n_experts; i += WARP_SIZE) { @@ -112,8 +116,9 @@ void main() { softmax_warp_inplace(probs, n_experts, lane, nexperts_use_push); } else if (gating_func == GATING_FUNC_SIGMOID) { [[unroll]] - for (int i = 0; i < experts_per_thread; i++) { - probs[i] = 1.f / (1.f + exp(-probs[i])); + for (uint i = 0; i < n_experts; i += WARP_SIZE) { + const uint expert = i + lane; + probs[i / WARP_SIZE] = (n_experts % WARP_SIZE == 0 || expert < n_experts) ? 1.f / (1.f + exp(-probs[i / WARP_SIZE])) : -INFINITY; } } @@ -150,11 +155,11 @@ void main() { uint max_expert = lane; [[unroll]] - for (int i = 1; i < experts_per_thread; i++) { - const uint expert = lane + i * WARP_SIZE; - if ((n_experts % WARP_SIZE == 0 || expert < n_experts) && selection_probs[i] > max_val_s) { - max_val = probs[i]; - max_val_s = selection_probs[i]; + for (uint i = WARP_SIZE; i < n_experts; i += WARP_SIZE) { + const uint expert = i + lane; + if ((n_experts % WARP_SIZE == 0 || expert < n_experts) && selection_probs[i / WARP_SIZE] > max_val_s) { + max_val = probs[i / WARP_SIZE]; + max_val_s = selection_probs[i / WARP_SIZE]; max_expert = expert; } } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 8df994e91c..15567abedc 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -8184,6 +8184,7 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_topk_moe({71, 22, 1, 1}, 8, with_norm, bias_probs, gate, scale_w)); test_cases.emplace_back(new test_topk_moe({128, 1, 1, 1}, 128, with_norm, bias_probs, gate, scale_w)); test_cases.emplace_back(new test_topk_moe({129, 1, 1, 1}, 128, with_norm, bias_probs, gate, scale_w)); + test_cases.emplace_back(new test_topk_moe({160, 4, 1, 1}, 160, with_norm, bias_probs, gate, scale_w)); } } } From da143b99403fd526e61f080dcc27aed88b97a914 Mon Sep 17 00:00:00 2001 From: Vladislav Sayapin <70110788+v-sayapin@users.noreply.github.com> Date: Mon, 5 Jan 2026 16:12:05 +0300 Subject: [PATCH 12/38] server : fix router child env in containerized environments (#18562) --- tools/server/server-models.cpp | 52 ++++++++++++++++++++++++++++++---- tools/server/server-models.h | 6 ++-- tools/server/server.cpp | 4 +-- 3 files changed, 52 insertions(+), 10 deletions(-) diff --git a/tools/server/server-models.cpp b/tools/server/server-models.cpp index 56e1dc46b8..803cb02e6e 100644 --- a/tools/server/server-models.cpp +++ b/tools/server/server-models.cpp @@ -21,11 +21,13 @@ #ifdef _WIN32 #include +#include #else #include #include #include #include +extern char **environ; #endif #if defined(__APPLE__) && defined(__MACH__) @@ -99,6 +101,49 @@ static void unset_reserved_args(common_preset & preset, bool unset_model_args) { } } +#ifdef _WIN32 +static std::string wide_to_utf8(const wchar_t * ws) { + if (!ws || !*ws) { + return {}; + } + + const int len = static_cast(std::wcslen(ws)); + const int bytes = WideCharToMultiByte(CP_UTF8, 0, ws, len, nullptr, 0, nullptr, nullptr); + if (bytes == 0) { + return {}; + } + + std::string utf8(bytes, '\0'); + WideCharToMultiByte(CP_UTF8, 0, ws, len, utf8.data(), bytes, nullptr, nullptr); + + return utf8; +} +#endif + +static std::vector get_environment() { + std::vector env; + +#ifdef _WIN32 + LPWCH env_block = GetEnvironmentStringsW(); + if (!env_block) { + return env; + } + for (LPWCH e = env_block; *e; e += wcslen(e) + 1) { + env.emplace_back(wide_to_utf8(e)); + } + FreeEnvironmentStringsW(env_block); +#else + if (environ == nullptr) { + return env; + } + for (char ** e = environ; *e != nullptr; e++) { + env.emplace_back(*e); + } +#endif + + return env; +} + void server_model_meta::update_args(common_preset_context & ctx_preset, std::string bin_path) { // update params unset_reserved_args(preset, false); @@ -117,14 +162,11 @@ void server_model_meta::update_args(common_preset_context & ctx_preset, std::str server_models::server_models( const common_params & params, int argc, - char ** argv, - char ** envp) + char ** argv) : ctx_preset(LLAMA_EXAMPLE_SERVER), base_params(params), + base_env(get_environment()), base_preset(ctx_preset.load_from_args(argc, argv)) { - for (char ** env = envp; *env != nullptr; env++) { - base_env.push_back(std::string(*env)); - } // clean up base preset unset_reserved_args(base_preset, true); // set binary path diff --git a/tools/server/server-models.h b/tools/server/server-models.h index 24ddc65662..a397abda4a 100644 --- a/tools/server/server-models.h +++ b/tools/server/server-models.h @@ -105,7 +105,7 @@ private: void add_model(server_model_meta && meta); public: - server_models(const common_params & params, int argc, char ** argv, char ** envp); + server_models(const common_params & params, int argc, char ** argv); void load_models(); @@ -147,8 +147,8 @@ struct server_models_routes { common_params params; json webui_settings = json::object(); server_models models; - server_models_routes(const common_params & params, int argc, char ** argv, char ** envp) - : params(params), models(params, argc, argv, envp) { + server_models_routes(const common_params & params, int argc, char ** argv) + : params(params), models(params, argc, argv) { if (!this->params.webui_config_json.empty()) { try { webui_settings = json::parse(this->params.webui_config_json); diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 0fbc7b6d35..1d9abf6055 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -66,7 +66,7 @@ static server_http_context::handler_t ex_wrapper(server_http_context::handler_t }; } -int main(int argc, char ** argv, char ** envp) { +int main(int argc, char ** argv) { // own arguments required by this example common_params params; @@ -126,7 +126,7 @@ int main(int argc, char ** argv, char ** envp) { if (is_router_server) { // setup server instances manager try { - models_routes.emplace(params, argc, argv, envp); + models_routes.emplace(params, argc, argv); } catch (const std::exception & e) { LOG_ERR("%s: failed to initialize router models: %s\n", __func__, e.what()); return 1; From f47edb8c19199bf0ab471f80e6a4783f0b43ef81 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Mon, 5 Jan 2026 22:46:36 +0800 Subject: [PATCH 13/38] ggml-cuda: check for srcs outside the cgraph (#18583) * ggml-cuda: check for srcs outside the cgraph * review: use leafs instead --- ggml/src/ggml-cuda/common.cuh | 1 + ggml/src/ggml-cuda/ggml-cuda.cu | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 55f2f46086..995b774c20 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1065,6 +1065,7 @@ struct ggml_cuda_graph { int number_consecutive_updates = 0; bool cuda_graphs_enabled = false; std::vector ggml_graph_properties; + std::vector extraneous_srcs_properties; #endif }; diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 1bbca225d2..75269170c3 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -2973,15 +2973,16 @@ static bool is_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx, } // Check if the graph size has changed - if (cuda_ctx->cuda_graph->ggml_graph_properties.size() != (size_t)cgraph->n_nodes) { + if (cuda_ctx->cuda_graph->ggml_graph_properties.size() != (size_t)cgraph->n_nodes + cgraph->n_leafs) { cuda_graph_update_required = true; - cuda_ctx->cuda_graph->ggml_graph_properties.resize(cgraph->n_nodes); + cuda_ctx->cuda_graph->ggml_graph_properties.resize(cgraph->n_nodes + cgraph->n_leafs); } // Loop over nodes in GGML graph to determine if CUDA graph update is required // and store properties to allow this comparison for the next token for (int i = 0; i < cgraph->n_nodes; i++) { bool has_matching_properties = true; + if (!cuda_graph_update_required) { has_matching_properties = ggml_graph_node_has_matching_properties(cgraph->nodes[i], &cuda_ctx->cuda_graph->ggml_graph_properties[i]); } @@ -2991,6 +2992,17 @@ static bool is_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx, set_ggml_graph_node_properties(cgraph->nodes[i], &cuda_ctx->cuda_graph->ggml_graph_properties[i]); } + for (int i = 0; i < cgraph->n_leafs; i++) { + bool has_matching_properties = true; + if (!cuda_graph_update_required) { + has_matching_properties = ggml_graph_node_has_matching_properties(cgraph->leafs[i], &cuda_ctx->cuda_graph->ggml_graph_properties[cgraph->n_nodes + i]); + } + if (!has_matching_properties) { + cuda_graph_update_required = true; + } + set_ggml_graph_node_properties(cgraph->leafs[i], &cuda_ctx->cuda_graph->ggml_graph_properties[cgraph->n_nodes + i]); + } + return cuda_graph_update_required; } From 1871f0ba56e57826c1c630c5f57274624d68788e Mon Sep 17 00:00:00 2001 From: tt <291400568@qq.com> Date: Tue, 6 Jan 2026 01:15:14 +0800 Subject: [PATCH 14/38] add YoutuVLForConditionalGeneration architectures (#18620) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Support Youtu-VL Model --------- Co-authored-by: Xuan-Son Nguyen Co-authored-by: Sigbjørn Skjæret --- convert_hf_to_gguf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 68446aa44f..d944032c69 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -7212,6 +7212,7 @@ class DeepseekModel(TextModel): "DeepseekV3ForCausalLM", "KimiVLForConditionalGeneration", "YoutuForCausalLM", + "YoutuVLForConditionalGeneration" ) class DeepseekV2Model(TextModel): model_arch = gguf.MODEL_ARCH.DEEPSEEK2 @@ -10674,8 +10675,8 @@ class JanusProVisionModel(MmprojModel): return [] -@ModelBase.register("YOUTUVLForConditionalGeneration", "YOUTUVLForCausalLM") -class YOUTUVLVisionModel(MmprojModel): +@ModelBase.register("YoutuVLForConditionalGeneration") +class YoutuVLVisionModel(MmprojModel): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) assert self.hparams_vision is not None From df17a4c94f09c0e978e83102fcdbdf6020599460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 5 Jan 2026 19:51:13 +0100 Subject: [PATCH 15/38] CUDA: fix FA FP16 accumulator overflow for Granite (#18614) --- ggml/src/ggml-cuda/fattn-common.cuh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index 09c19429ad..3144678728 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -11,10 +11,12 @@ #define SOFTMAX_FTZ_THRESHOLD -20.0f // Softmax exp. of values smaller than this are flushed to zero to avoid NaNs. // log(2) = 0.6931, by adding this to the KQ maximum used for the softmax the numerical range representable -// by the VKQ accumulators is effectively being shifted up by a factor of 8. +// by the VKQ accumulators is effectively being shifted up by a factor of 2. // This reduces issues with numerical overflow but also causes larger values to be flushed to zero. // However, as the output from FlashAttention will usually be used as an input for a matrix multiplication this should be negligible. -#define FATTN_KQ_MAX_OFFSET 0.6931f +// Still, the value range should be shifted as much as necessary but as little as possible. +// The macro on the following line shifts it by a factor of 2**3=8, as was needed to fix https://github.com/ggml-org/llama.cpp/issues/18606 . +#define FATTN_KQ_MAX_OFFSET (3.0f*0.6931f) typedef void (* fattn_kernel_t)( const char * __restrict__ Q, From 73d284a2500ca4e0649e7bfce205d065f6f7d363 Mon Sep 17 00:00:00 2001 From: Tarek Dakhran Date: Mon, 5 Jan 2026 19:52:56 +0100 Subject: [PATCH 16/38] model : add LFM2-ColBert-350M (#18607) * model : add LFM2-ColBert-350M * llama_model_n_embd_out() - returns `hparams.n_embd_out` if set and fallbacks to `hparams.n_embd` --- convert_hf_to_gguf.py | 21 ++++++++++++ examples/embedding/embedding.cpp | 50 ++++++++++++++-------------- examples/model-conversion/logits.cpp | 14 ++++---- examples/retrieval/retrieval.cpp | 20 +++++------ gguf-py/gguf/constants.py | 2 ++ gguf-py/gguf/gguf_writer.py | 3 ++ include/llama.h | 1 + src/llama-arch.cpp | 2 ++ src/llama-arch.h | 1 + src/llama-context.cpp | 23 +++++++------ src/llama-graph.cpp | 10 ++++-- src/llama-hparams.cpp | 4 +++ src/llama-hparams.h | 6 ++++ src/llama-model-saver.cpp | 3 ++ src/llama-model.cpp | 8 +++++ tools/server/server-context.cpp | 10 +++--- 16 files changed, 118 insertions(+), 60 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index d944032c69..d9ee390b38 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -9956,6 +9956,27 @@ class LFM2Model(TextModel): return any(p in name for p in ["audio", "codebook", "conformer", "depth_embedding", "depthformer", "depth_linear"]) +@ModelBase.register("Lfm2Model") +class LFM2ColBertModel(LFM2Model): + model_arch = gguf.MODEL_ARCH.LFM2 + dense_tensor_name = "dense_2" + + def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: + if not name.startswith(self.dense_tensor_name): + name = "model." + name + + return super().modify_tensors(data_torch, name, bid) + + def generate_extra_tensors(self) -> Iterable[tuple[str, Tensor]]: + # dense tensor is stored in a separate safetensors file + from safetensors.torch import load_file + tensors_file = self.dir_model / "1_Dense" / "model.safetensors" + assert tensors_file.is_file() + tensor = load_file(tensors_file)["linear.weight"] + self.gguf_writer.add_embedding_length_out(tensor.shape[0]) + yield f"{self.dense_tensor_name}.weight", tensor.clone() + + @ModelBase.register("Lfm2MoeForCausalLM") class LFM2MoeModel(TextModel): model_arch = gguf.MODEL_ARCH.LFM2MOE diff --git a/examples/embedding/embedding.cpp b/examples/embedding/embedding.cpp index 81111e81b2..d8eaaa2691 100644 --- a/examples/embedding/embedding.cpp +++ b/examples/embedding/embedding.cpp @@ -33,7 +33,7 @@ static void batch_add_seq(llama_batch & batch, const std::vector & toke } } -static void batch_decode(llama_context * ctx, llama_batch & batch, float * output, int n_seq, int n_embd, int embd_norm) { +static void batch_decode(llama_context * ctx, llama_batch & batch, float * output, int n_seq, int n_embd_out, int embd_norm) { const enum llama_pooling_type pooling_type = llama_pooling_type(ctx); // clear previous kv_cache values (irrelevant for embeddings) @@ -65,8 +65,8 @@ static void batch_decode(llama_context * ctx, llama_batch & batch, float * outpu GGML_ASSERT(embd != NULL && "failed to get sequence embeddings"); } - float * out = output + embd_pos * n_embd; - common_embd_normalize(embd, out, n_embd, embd_norm); + float * out = output + embd_pos * n_embd_out; + common_embd_normalize(embd, out, n_embd_out, embd_norm); } } @@ -252,8 +252,8 @@ int main(int argc, char ** argv) { } // allocate output - const int n_embd = llama_model_n_embd(model); - std::vector embeddings(n_embd_count * n_embd, 0); + const int n_embd_out = llama_model_n_embd_out(model); + std::vector embeddings(n_embd_count * n_embd_out, 0); float * emb = embeddings.data(); // break into batches @@ -267,8 +267,8 @@ int main(int argc, char ** argv) { // encode if at capacity if (batch.n_tokens + n_toks > n_batch || s >= n_seq_max) { - float * out = emb + e * n_embd; - batch_decode(ctx, batch, out, s, n_embd, params.embd_normalize); + float * out = emb + e * n_embd_out; + batch_decode(ctx, batch, out, s, n_embd_out, params.embd_normalize); e += pooling_type == LLAMA_POOLING_TYPE_NONE ? batch.n_tokens : s; s = 0; common_batch_clear(batch); @@ -280,8 +280,8 @@ int main(int argc, char ** argv) { } // final batch - float * out = emb + e * n_embd; - batch_decode(ctx, batch, out, s, n_embd, params.embd_normalize); + float * out = emb + e * n_embd_out; + batch_decode(ctx, batch, out, s, n_embd_out, params.embd_normalize); if (params.embd_out.empty()) { LOG("\n"); @@ -289,19 +289,19 @@ int main(int argc, char ** argv) { if (pooling_type == LLAMA_POOLING_TYPE_NONE) { for (int j = 0; j < n_embd_count; j++) { LOG("embedding %d: ", j); - for (int i = 0; i < std::min(3, n_embd); i++) { + for (int i = 0; i < std::min(3, n_embd_out); i++) { if (params.embd_normalize == 0) { - LOG("%6.0f ", emb[j * n_embd + i]); + LOG("%6.0f ", emb[j * n_embd_out + i]); } else { - LOG("%9.6f ", emb[j * n_embd + i]); + LOG("%9.6f ", emb[j * n_embd_out + i]); } } LOG(" ... "); - for (int i = n_embd - 3; i < n_embd; i++) { + for (int i = n_embd_out - 3; i < n_embd_out; i++) { if (params.embd_normalize == 0) { - LOG("%6.0f ", emb[j * n_embd + i]); + LOG("%6.0f ", emb[j * n_embd_out + i]); } else { - LOG("%9.6f ", emb[j * n_embd + i]); + LOG("%9.6f ", emb[j * n_embd_out + i]); } } LOG("\n"); @@ -320,9 +320,9 @@ int main(int argc, char ** argv) { for (uint32_t i = 0; i < n_cls_out; i++) { // NOTE: if you change this log - update the tests in ci/run.sh if (n_cls_out == 1) { - LOG("rerank score %d: %8.3f\n", j, emb[j * n_embd]); + LOG("rerank score %d: %8.3f\n", j, emb[j * n_embd_out]); } else { - LOG("rerank score %d: %8.3f [%s]\n", j, emb[j * n_embd + i], cls_out_labels[i].c_str()); + LOG("rerank score %d: %8.3f [%s]\n", j, emb[j * n_embd_out + i], cls_out_labels[i].c_str()); } } } @@ -330,11 +330,11 @@ int main(int argc, char ** argv) { // print the first part of the embeddings or for a single prompt, the full embedding for (int j = 0; j < n_prompts; j++) { LOG("embedding %d: ", j); - for (int i = 0; i < (n_prompts > 1 ? std::min(16, n_embd) : n_embd); i++) { + for (int i = 0; i < (n_prompts > 1 ? std::min(16, n_embd_out) : n_embd_out); i++) { if (params.embd_normalize == 0) { - LOG("%6.0f ", emb[j * n_embd + i]); + LOG("%6.0f ", emb[j * n_embd_out + i]); } else { - LOG("%9.6f ", emb[j * n_embd + i]); + LOG("%9.6f ", emb[j * n_embd_out + i]); } } LOG("\n"); @@ -350,7 +350,7 @@ int main(int argc, char ** argv) { LOG("\n"); for (int i = 0; i < n_prompts; i++) { for (int j = 0; j < n_prompts; j++) { - float sim = common_embd_similarity_cos(emb + i * n_embd, emb + j * n_embd, n_embd); + float sim = common_embd_similarity_cos(emb + i * n_embd_out, emb + j * n_embd_out, n_embd_out); LOG("%6.2f ", sim); } LOG("%1.10s", prompts[i].c_str()); @@ -368,9 +368,9 @@ int main(int argc, char ** argv) { if (notArray) LOG(" {\n \"object\": \"embedding\",\n \"index\": %d,\n \"embedding\": ",j); LOG("["); for (int i = 0;;) { // at least one iteration (n_embd > 0) - LOG(params.embd_normalize == 0 ? "%1.0f" : "%1.7f", emb[j * n_embd + i]); + LOG(params.embd_normalize == 0 ? "%1.0f" : "%1.7f", emb[j * n_embd_out + i]); i++; - if (i < n_embd) LOG(","); else break; + if (i < n_embd_out) LOG(","); else break; } LOG(notArray ? "]\n }" : "]"); j++; @@ -383,7 +383,7 @@ int main(int argc, char ** argv) { for (int i = 0;;) { // at least two iteration (n_embd_count > 1) LOG(" ["); for (int j = 0;;) { // at least two iteration (n_embd_count > 1) - float sim = common_embd_similarity_cos(emb + i * n_embd, emb + j * n_embd, n_embd); + float sim = common_embd_similarity_cos(emb + i * n_embd_out, emb + j * n_embd_out, n_embd_out); LOG("%6.2f", sim); j++; if (j < n_embd_count) LOG(", "); else break; @@ -397,7 +397,7 @@ int main(int argc, char ** argv) { if (notArray) LOG("\n}\n"); } else if (params.embd_out == "raw") { - print_raw_embeddings(emb, n_embd_count, n_embd, model, pooling_type, params.embd_normalize); + print_raw_embeddings(emb, n_embd_count, n_embd_out, model, pooling_type, params.embd_normalize); } LOG("\n"); diff --git a/examples/model-conversion/logits.cpp b/examples/model-conversion/logits.cpp index 5bcf063267..f71f772ab1 100644 --- a/examples/model-conversion/logits.cpp +++ b/examples/model-conversion/logits.cpp @@ -161,9 +161,9 @@ int main(int argc, char ** argv) { std::vector embd_out; if (embedding_mode) { - const int n_embd = llama_model_n_embd(model); + const int n_embd_out = llama_model_n_embd_out(model); const int n_embd_count = pooling_enabled ? 1 : batch.n_tokens; - const int n_embeddings = n_embd * n_embd_count; + const int n_embeddings = n_embd_out * n_embd_count; float * embeddings; type = "-embeddings"; @@ -177,7 +177,7 @@ int main(int argc, char ** argv) { embeddings = llama_get_embeddings(ctx); } - printf("Embedding dimension: %d\n", n_embd); + printf("Embedding dimension: %d\n", n_embd_out); printf("\n"); // Print embeddings in the specified format @@ -185,16 +185,16 @@ int main(int argc, char ** argv) { printf("embedding %d: ", j); // Print first 3 values - for (int i = 0; i < 3 && i < n_embd; i++) { - printf("%9.6f ", embeddings[j * n_embd + i]); + for (int i = 0; i < 3 && i < n_embd_out; i++) { + printf("%9.6f ", embeddings[j * n_embd_out + i]); } printf(" ... "); // Print last 3 values - for (int i = n_embd - 3; i < n_embd; i++) { + for (int i = n_embd_out - 3; i < n_embd_out; i++) { if (i >= 0) { - printf("%9.6f ", embeddings[j * n_embd + i]); + printf("%9.6f ", embeddings[j * n_embd_out + i]); } } diff --git a/examples/retrieval/retrieval.cpp b/examples/retrieval/retrieval.cpp index 8f92ff9057..3f2afd4346 100644 --- a/examples/retrieval/retrieval.cpp +++ b/examples/retrieval/retrieval.cpp @@ -217,8 +217,8 @@ int main(int argc, char ** argv) { struct llama_batch batch = llama_batch_init(n_batch, 0, 1); // allocate output - const int n_embd = llama_model_n_embd(model); - std::vector embeddings(n_chunks * n_embd, 0); + const int n_embd_out = llama_model_n_embd_out(model); + std::vector embeddings(n_chunks * n_embd_out, 0); float * emb = embeddings.data(); // break into batches @@ -232,8 +232,8 @@ int main(int argc, char ** argv) { // encode if at capacity if (batch.n_tokens + n_toks > n_batch || s >= llama_n_seq_max(ctx)) { - float * out = emb + p * n_embd; - batch_process(ctx, batch, out, s, n_embd); + float * out = emb + p * n_embd_out; + batch_process(ctx, batch, out, s, n_embd_out); common_batch_clear(batch); p += s; s = 0; @@ -245,12 +245,12 @@ int main(int argc, char ** argv) { } // final batch - float * out = emb + p * n_embd; - batch_process(ctx, batch, out, s, n_embd); + float * out = emb + p * n_embd_out; + batch_process(ctx, batch, out, s, n_embd_out); // save embeddings to chunks for (int i = 0; i < n_chunks; i++) { - chunks[i].embedding = std::vector(emb + i * n_embd, emb + (i + 1) * n_embd); + chunks[i].embedding = std::vector(emb + i * n_embd_out, emb + (i + 1) * n_embd_out); // clear tokens as they are no longer needed chunks[i].tokens.clear(); } @@ -266,8 +266,8 @@ int main(int argc, char ** argv) { batch_add_seq(query_batch, query_tokens, 0); - std::vector query_emb(n_embd, 0); - batch_process(ctx, query_batch, query_emb.data(), 1, n_embd); + std::vector query_emb(n_embd_out, 0); + batch_process(ctx, query_batch, query_emb.data(), 1, n_embd_out); common_batch_clear(query_batch); @@ -275,7 +275,7 @@ int main(int argc, char ** argv) { { std::vector> similarities; for (int i = 0; i < n_chunks; i++) { - float sim = common_embd_similarity_cos(chunks[i].embedding.data(), query_emb.data(), n_embd); + float sim = common_embd_similarity_cos(chunks[i].embedding.data(), query_emb.data(), n_embd_out); similarities.push_back(std::make_pair(i, sim)); } diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index c8feca5679..64c227799f 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -104,6 +104,7 @@ class Keys: VOCAB_SIZE = "{arch}.vocab_size" CONTEXT_LENGTH = "{arch}.context_length" EMBEDDING_LENGTH = "{arch}.embedding_length" + EMBEDDING_LENGTH_OUT = "{arch}.embedding_length_out" FEATURES_LENGTH = "{arch}.features_length" BLOCK_COUNT = "{arch}.block_count" LEADING_DENSE_BLOCK_COUNT = "{arch}.leading_dense_block_count" @@ -3038,6 +3039,7 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = { MODEL_TENSOR.ATTN_V, MODEL_TENSOR.ATTN_OUT, MODEL_TENSOR.OUTPUT, + MODEL_TENSOR.DENSE_2_OUT, # LFM2-ColBert-350M ], MODEL_ARCH.LFM2MOE: [ MODEL_TENSOR.TOKEN_EMBD, diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index 612a978e4c..a7506aa793 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -681,6 +681,9 @@ class GGUFWriter: def add_embedding_length(self, length: int) -> None: self.add_uint32(Keys.LLM.EMBEDDING_LENGTH.format(arch=self.arch), length) + def add_embedding_length_out(self, length: int) -> None: + self.add_uint32(Keys.LLM.EMBEDDING_LENGTH_OUT.format(arch=self.arch), length) + def add_features_length(self, length: int) -> None: self.add_uint32(Keys.LLM.FEATURES_LENGTH.format(arch=self.arch), length) diff --git a/include/llama.h b/include/llama.h index bf4ce5f927..05cb653254 100644 --- a/include/llama.h +++ b/include/llama.h @@ -535,6 +535,7 @@ extern "C" { LLAMA_API int32_t llama_model_n_ctx_train(const struct llama_model * model); LLAMA_API int32_t llama_model_n_embd (const struct llama_model * model); LLAMA_API int32_t llama_model_n_embd_inp (const struct llama_model * model); + LLAMA_API int32_t llama_model_n_embd_out (const struct llama_model * model); LLAMA_API int32_t llama_model_n_layer (const struct llama_model * model); LLAMA_API int32_t llama_model_n_head (const struct llama_model * model); LLAMA_API int32_t llama_model_n_head_kv (const struct llama_model * model); diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index 93fed1a9a3..2ead965469 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -152,6 +152,7 @@ static const std::map LLM_KV_NAMES = { { LLM_KV_VOCAB_SIZE, "%s.vocab_size" }, { LLM_KV_CONTEXT_LENGTH, "%s.context_length" }, { LLM_KV_EMBEDDING_LENGTH, "%s.embedding_length" }, + { LLM_KV_EMBEDDING_LENGTH_OUT, "%s.embedding_length_out" }, { LLM_KV_FEATURES_LENGTH, "%s.features_length" }, { LLM_KV_BLOCK_COUNT, "%s.block_count" }, { LLM_KV_LEADING_DENSE_BLOCK_COUNT, "%s.leading_dense_block_count" }, @@ -2075,6 +2076,7 @@ static std::set llm_get_tensor_names(llm_arch arch) { LLM_TENSOR_TOKEN_EMBD, LLM_TENSOR_OUTPUT_NORM_LFM2, LLM_TENSOR_OUTPUT, + LLM_TENSOR_DENSE_2_OUT, }; case LLM_ARCH_LFM2MOE: return { diff --git a/src/llama-arch.h b/src/llama-arch.h index 57e470a9f3..68ec6a18b1 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -156,6 +156,7 @@ enum llm_kv { LLM_KV_VOCAB_SIZE, LLM_KV_CONTEXT_LENGTH, LLM_KV_EMBEDDING_LENGTH, + LLM_KV_EMBEDDING_LENGTH_OUT, LLM_KV_FEATURES_LENGTH, LLM_KV_BLOCK_COUNT, LLM_KV_LEADING_DENSE_BLOCK_COUNT, diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 9c2e1c17a3..f220010a1b 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -758,7 +758,8 @@ float * llama_context::get_embeddings_ith(int32_t i) { throw std::runtime_error(format("corrupt output buffer (j=%" PRId64 ", n_outputs=%d)", j, n_outputs)); } - return embd + j*model.hparams.n_embd; + const uint32_t n_embd_out = model.hparams.get_n_embd_out(); + return embd + j*n_embd_out; } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid embeddings id %d, reason: %s\n", __func__, i, err.what()); #ifndef NDEBUG @@ -1194,9 +1195,10 @@ int llama_context::encode(const llama_batch & batch_inp) { { // extract token embeddings GGML_ASSERT(embd != nullptr); + const uint32_t n_embd_out = hparams.get_n_embd_out(); - GGML_ASSERT(n_tokens*n_embd <= (int64_t) embd_size); - ggml_backend_tensor_get_async(backend_embd, t_embd, embd, 0, n_tokens*n_embd*sizeof(float)); + GGML_ASSERT(n_tokens*n_embd_out <= (int64_t) embd_size); + ggml_backend_tensor_get_async(backend_embd, t_embd, embd, 0, n_tokens*n_embd_out*sizeof(float)); } break; case LLAMA_POOLING_TYPE_MEAN: case LLAMA_POOLING_TYPE_CLS: @@ -1600,12 +1602,13 @@ int llama_context::decode(const llama_batch & batch_inp) { { // extract token embeddings GGML_ASSERT(embd != nullptr); - float * embd_out = embd + n_outputs_prev*n_embd; + const uint32_t n_embd_out = hparams.get_n_embd_out(); + float * embd_out = embd + n_outputs_prev*n_embd_out; if (n_outputs) { GGML_ASSERT( n_outputs_prev + n_outputs <= n_outputs_all); - GGML_ASSERT((n_outputs_prev + n_outputs)*n_embd <= (int64_t) embd_size); - ggml_backend_tensor_get_async(backend_embd, t_embd, embd_out, 0, n_outputs*n_embd*sizeof(float)); + GGML_ASSERT((n_outputs_prev + n_outputs)*n_embd_out <= (int64_t) embd_size); + ggml_backend_tensor_get_async(backend_embd, t_embd, embd_out, 0, n_outputs*n_embd_out*sizeof(float)); } } break; case LLAMA_POOLING_TYPE_MEAN: @@ -1730,9 +1733,9 @@ uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & ba const int64_t n_outputs_max = std::max(n_outputs, n_seq_max()); - const auto n_batch = cparams.n_batch; - const auto n_vocab = vocab.n_tokens(); - const auto n_embd = hparams.n_embd; + const auto n_batch = cparams.n_batch; + const auto n_vocab = vocab.n_tokens(); + const auto n_embd_out = hparams.get_n_embd_out(); bool has_logits = true; bool has_embd = cparams.embeddings; @@ -1773,7 +1776,7 @@ uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & ba // Allocate CPU logits buffer only if needed by sequences in this batch logits_size = (has_logits && cpu_logits) ? n_vocab*n_outputs_max : 0; - embd_size = has_embd ? n_embd*n_outputs_max : 0; + embd_size = has_embd ? n_embd_out*n_outputs_max : 0; // TODO: avoid this branching by working with the worst-case if (!has_sampling) { diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index 86c5472638..374ff1ebf3 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -2071,14 +2071,18 @@ llm_graph_input_mem_hybrid * llm_graph_context::build_inp_mem_hybrid() const { void llm_graph_context::build_dense_out( ggml_tensor * dense_2, ggml_tensor * dense_3) const { - if (!cparams.embeddings || dense_2 == nullptr || dense_3 == nullptr) { + if (!cparams.embeddings || !(dense_2 || dense_3)) { return; } ggml_tensor * cur = res->t_embd_pooled != nullptr ? res->t_embd_pooled : res->t_embd; GGML_ASSERT(cur != nullptr && "missing t_embd_pooled/t_embd"); - cur = ggml_mul_mat(ctx0, dense_2, cur); - cur = ggml_mul_mat(ctx0, dense_3, cur); + if (dense_2) { + cur = ggml_mul_mat(ctx0, dense_2, cur); + } + if (dense_3) { + cur = ggml_mul_mat(ctx0, dense_3, cur); + } cb(cur, "result_embd_pooled", -1); res->t_embd_pooled = cur; ggml_build_forward_expand(gf, cur); diff --git a/src/llama-hparams.cpp b/src/llama-hparams.cpp index fe1fa4341d..c847ef91b7 100644 --- a/src/llama-hparams.cpp +++ b/src/llama-hparams.cpp @@ -72,6 +72,10 @@ uint32_t llama_hparams::n_embd_inp() const { return n_embd_inp; } +uint32_t llama_hparams::get_n_embd_out() const { + return n_embd_out > 0 ? n_embd_out : n_embd; +} + uint32_t llama_hparams::n_embd_k_gqa(uint32_t il) const { const uint32_t n_head_kv = this->n_head_kv(il); diff --git a/src/llama-hparams.h b/src/llama-hparams.h index fc5708fc4b..7ae3ec292e 100644 --- a/src/llama-hparams.h +++ b/src/llama-hparams.h @@ -162,6 +162,9 @@ struct llama_hparams { // for Classifiers uint32_t n_cls_out = 1; + // output embedding dimension (0 = use n_embd) + uint32_t n_embd_out = 0; + // llama4 smallthinker uint32_t n_moe_layer_step = 0; uint32_t n_no_rope_layer_step = 4; @@ -234,6 +237,9 @@ struct llama_hparams { // dimension of main + auxiliary input embeddings uint32_t n_embd_inp() const; + // dimension of output embeddings + uint32_t get_n_embd_out() const; + // dimension of key embeddings across all k-v heads uint32_t n_embd_k_gqa(uint32_t il = 0) const; diff --git a/src/llama-model-saver.cpp b/src/llama-model-saver.cpp index 563823dc35..ae27c71ce2 100644 --- a/src/llama-model-saver.cpp +++ b/src/llama-model-saver.cpp @@ -146,6 +146,9 @@ void llama_model_saver::add_kv_from_model() { add_kv(LLM_KV_VOCAB_SIZE, vocab.n_tokens()); add_kv(LLM_KV_CONTEXT_LENGTH, hparams.n_ctx_train); add_kv(LLM_KV_EMBEDDING_LENGTH, hparams.n_embd); + if (hparams.n_embd_out > 0) { + add_kv(LLM_KV_EMBEDDING_LENGTH_OUT, hparams.n_embd_out); + } add_kv(LLM_KV_BLOCK_COUNT, hparams.n_layer); add_kv(LLM_KV_LEADING_DENSE_BLOCK_COUNT, hparams.n_layer_dense_lead); add_kv(LLM_KV_FEED_FORWARD_LENGTH, hparams.n_ff_arr, true); diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 28dcc2840f..04c48b5fd3 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -507,6 +507,7 @@ void llama_model::load_hparams(llama_model_loader & ml) { ml.get_key(LLM_KV_CONTEXT_LENGTH, hparams.n_ctx_train); ml.get_key(LLM_KV_EMBEDDING_LENGTH, hparams.n_embd); + ml.get_key(LLM_KV_EMBEDDING_LENGTH_OUT, hparams.n_embd_out, false); ml.get_key(LLM_KV_BLOCK_COUNT, hparams.n_layer); ml.get_key(LLM_KV_EXPERT_COUNT, hparams.n_expert, false); ml.get_key(LLM_KV_EXPERT_USED_COUNT, hparams.n_expert_used, false); @@ -6469,6 +6470,9 @@ bool llama_model::load_tensors(llama_model_loader & ml) { layer.shortconv.out_proj = create_tensor(tn(LLM_TENSOR_SHORTCONV_OUTPROJ, "weight", i), {n_embd, n_embd}, 0); } } + + // for LFM2-ColBert-350M + dense_2_out_layers = create_tensor(tn(LLM_TENSOR_DENSE_2_OUT, "weight"), {n_embd, hparams.get_n_embd_out()}, TENSOR_NOT_REQUIRED); } break; case LLM_ARCH_SMALLTHINKER: { @@ -8003,6 +8007,10 @@ int32_t llama_model_n_embd_inp(const llama_model * model) { return model->hparams.n_embd_inp(); } +int32_t llama_model_n_embd_out(const llama_model * model) { + return model->hparams.get_n_embd_out(); +} + int32_t llama_model_n_layer(const llama_model * model) { return model->hparams.n_layer; } diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 5a6223b29c..33635a1586 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -1505,9 +1505,9 @@ private: res->n_tokens = slot.task->n_tokens(); res->res_type = slot.task->params.res_type; - const int n_embd = llama_model_n_embd(model); + const int n_embd_out = llama_model_n_embd_out(model); - std::vector embd_res(n_embd, 0.0f); + std::vector embd_res(n_embd_out, 0.0f); for (int i = 0; i < batch.n_tokens; ++i) { if (!batch.logits[i] || batch.seq_id[i][0] != slot.id) { @@ -1524,18 +1524,18 @@ private: if (embd == nullptr) { SLT_ERR(slot, "failed to get embeddings, token = %d, seq_id = %d\n", batch.token[i], batch.seq_id[i][0]); - res->embedding.push_back(std::vector(n_embd, 0.0f)); + res->embedding.push_back(std::vector(n_embd_out, 0.0f)); continue; } // normalize only when there is pooling if (llama_pooling_type(slot.ctx) != LLAMA_POOLING_TYPE_NONE) { - common_embd_normalize(embd, embd_res.data(), n_embd, slot.task->params.embd_normalize); + common_embd_normalize(embd, embd_res.data(), n_embd_out, slot.task->params.embd_normalize); res->embedding.push_back(embd_res); break; } - res->embedding.emplace_back(embd, embd + n_embd); + res->embedding.emplace_back(embd, embd + n_embd_out); } SLT_DBG(slot, "%s", "sending embeddings\n"); From e443fbcfa51a8a27b15f949397ab94b5e87b2450 Mon Sep 17 00:00:00 2001 From: nwyin Date: Mon, 5 Jan 2026 13:38:57 -0600 Subject: [PATCH 17/38] ggml webgpu: add CEIL operation support (#18605) * ggml-webgpu: add CEIL operation support Add support for the CEIL unary operation in the WebGPU backend: - Add CEIL_FUNC shader template in unary_op.wgsl - Add 4 shader variants (f32, f16, inplace versions) - Initialize CEIL pipelines in ggml-webgpu.cpp - Register CEIL in supports_op function * docs: update WebGPU ops support for CEIL --- docs/ops.md | 2 +- docs/ops/WebGPU.csv | 763 ++++++++++-------- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 11 + .../ggml-webgpu/wgsl-shaders/unary_op.wgsl | 24 +- 4 files changed, 448 insertions(+), 352 deletions(-) diff --git a/docs/ops.md b/docs/ops.md index 2b2770cb76..142f401d03 100644 --- a/docs/ops.md +++ b/docs/ops.md @@ -22,7 +22,7 @@ Legend: | ARANGE | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | | ARGMAX | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | | ARGSORT | ❌ | ✅ | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ | ❌ | ❌ | ❌ | -| CEIL | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | 🟡 | 🟡 | ❌ | ❌ | ❌ | +| CEIL | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | 🟡 | 🟡 | ✅ | ❌ | ❌ | | CLAMP | ❌ | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ | 🟡 | ❌ | ❌ | ❌ | | CONCAT | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 | ✅ | ✅ | ❌ | ❌ | ❌ | | CONT | ❌ | 🟡 | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ | 🟡 | ❌ | ❌ | diff --git a/docs/ops/WebGPU.csv b/docs/ops/WebGPU.csv index bfff75e66f..8cd7e12001 100644 --- a/docs/ops/WebGPU.csv +++ b/docs/ops/WebGPU.csv @@ -35,8 +35,8 @@ "WebGPU: WebGPU","GELU_ERF","type=f16,ne_a=[5,7,11,13],v=0","support","1","yes","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne_a=[5,7,11,13],v=0","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne_a=[5,7,11,13],v=0","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne_a=[128,2,2,2],v=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne_a=[5,7,11,13],v=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne_a=[5,7,11,13],v=0","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f16,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" @@ -77,8 +77,8 @@ "WebGPU: WebGPU","GELU_ERF","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne_a=[128,2,2,2],v=1","support","1","yes","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" @@ -119,8 +119,8 @@ "WebGPU: WebGPU","GELU_ERF","type=f32,ne_a=[5,7,11,13],v=0","support","1","yes","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne_a=[5,7,11,13],v=0","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne_a=[5,7,11,13],v=0","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne_a=[128,2,2,2],v=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne_a=[5,7,11,13],v=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne_a=[5,7,11,13],v=0","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f32,ne_a=[128,2,2,2],v=0","support","0","no","WebGPU" @@ -161,8 +161,8 @@ "WebGPU: WebGPU","GELU_ERF","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne_a=[128,2,2,2],v=1","support","1","yes","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","WebGPU" @@ -965,6 +965,7 @@ "WebGPU: WebGPU","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[12,12,1,2560],ne_kernel=[3,3,1,2560],s0=1,s1=1,p0=1,p1=1,d0=1,d1=1,is_2D=1","support","0","no","WebGPU" "WebGPU: WebGPU","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[12,12,2,2560],ne_kernel=[3,3,2,2560],s0=1,s1=1,p0=1,p1=1,d0=1,d1=1,is_2D=1","support","0","no","WebGPU" "WebGPU: WebGPU","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[5,5,1,32],ne_kernel=[3,4,1,32],s0=1,s1=1,p0=0,p1=0,d0=1,d1=1,is_2D=1","support","0","no","WebGPU" +"WebGPU: WebGPU","IM2COL","type_input=f32,type_kernel=f32,dst_type=f32,ne_input=[2,2,1536,729],ne_kernel=[2,2,1536,4096],s0=1,s1=1,p0=0,p1=0,d0=1,d1=1,is_2D=1","support","0","no","WebGPU" "WebGPU: WebGPU","IM2COL_3D","type_input=f32,type_kernel=f32,dst_type=f32,ne_input=[10,10,10,9],ne_kernel=[3,3,3,1],IC=3,s0=1,s1=1,s2=1,p0=1,p1=1,p2=1,d0=1,d1=1,d2=1,v=0","support","0","no","WebGPU" "WebGPU: WebGPU","IM2COL_3D","type_input=f32,type_kernel=f16,dst_type=f32,ne_input=[10,10,10,9],ne_kernel=[3,3,3,1],IC=3,s0=1,s1=1,s2=1,p0=1,p1=1,p2=1,d0=1,d1=1,d2=1,v=0","support","0","no","WebGPU" "WebGPU: WebGPU","IM2COL_3D","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[10,10,10,9],ne_kernel=[3,3,3,1],IC=3,s0=1,s1=1,s2=1,p0=1,p1=1,p2=1,d0=1,d1=1,d2=1,v=0","support","0","no","WebGPU" @@ -4964,6 +4965,7 @@ "WebGPU: WebGPU","CONV_TRANSPOSE_1D","ne_input=[2,1,1,1],ne_kernel=[3,1,1,1],s0=1,p0=0,d0=1","support","0","no","WebGPU" "WebGPU: WebGPU","CONV_TRANSPOSE_2D","ne_input=[3,2,3,1],ne_kernel=[2,2,1,3],stride=1","support","0","no","WebGPU" "WebGPU: WebGPU","CONV_TRANSPOSE_2D","ne_input=[10,10,9,1],ne_kernel=[3,3,1,9],stride=2","support","0","no","WebGPU" +"WebGPU: WebGPU","CONV_TRANSPOSE_2D","ne_input=[129,63,35,1],ne_kernel=[3,3,48,35],stride=1","support","0","no","WebGPU" "WebGPU: WebGPU","COUNT_EQUAL","type=f32,ne=[4,500,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","COUNT_EQUAL","type=f32,ne=[4,5000,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","ARGMAX","type=f32,ne=[32,1,1,1]","support","0","no","WebGPU" @@ -5715,15 +5717,15 @@ "WebGPU: WebGPU","L2_NORM","type=f32,ne=[64,5,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","RMS_NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.000001,inplace=1","support","1","yes","WebGPU" "WebGPU: WebGPU","L2_NORM","type=f32,ne=[64,5,4,3]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,1024,1,1],ne_b=[3,1024,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[8,1024,1,1],ne_b=[3,1024,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,1024,4,1],ne_b=[3,1024,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,1536,1,1],ne_b=[3,1536,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[8,1536,1,1],ne_b=[3,1536,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,1536,4,1],ne_b=[3,1536,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,2048,1,1],ne_b=[3,2048,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[8,2048,1,1],ne_b=[3,2048,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,2048,4,1],ne_b=[3,2048,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[3,1024,1,1],ne_b=[3,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[6,1024,1,1],ne_b=[3,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[3,1024,4,1],ne_b=[3,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[3,1536,1,1],ne_b=[3,1536,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[6,1536,1,1],ne_b=[3,1536,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[3,1536,4,1],ne_b=[3,1536,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[3,2048,1,1],ne_b=[3,2048,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[6,2048,1,1],ne_b=[3,2048,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[3,2048,4,1],ne_b=[3,2048,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,1024,1,1],ne_b=[4,1024,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[8,1024,1,1],ne_b=[4,1024,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,1024,4,1],ne_b=[4,1024,1,1]","support","0","no","WebGPU" @@ -5733,6 +5735,15 @@ "WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,2048,1,1],ne_b=[4,2048,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[8,2048,1,1],ne_b=[4,2048,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[4,2048,4,1],ne_b=[4,2048,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[9,1024,1,1],ne_b=[9,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[18,1024,1,1],ne_b=[9,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[9,1024,4,1],ne_b=[9,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[9,1536,1,1],ne_b=[9,1536,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[18,1536,1,1],ne_b=[9,1536,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[9,1536,4,1],ne_b=[9,1536,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[9,2048,1,1],ne_b=[9,2048,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[18,2048,1,1],ne_b=[9,2048,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SSM_CONV","type=f32,ne_a=[9,2048,4,1],ne_b=[9,2048,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_SCAN","type=f32,d_state=16,head_dim=1,n_head=1024,n_group=1,n_seq_tokens=32,n_seqs=4","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_SCAN","type=f32,d_state=128,head_dim=64,n_head=16,n_group=2,n_seq_tokens=32,n_seqs=4","support","0","no","WebGPU" "WebGPU: WebGPU","SSM_SCAN","type=f32,d_state=256,head_dim=64,n_head=8,n_group=2,n_seq_tokens=32,n_seqs=4","support","0","no","WebGPU" @@ -8662,7 +8673,7 @@ "WebGPU: WebGPU","CLAMP","type=f16,ne=[10,5,4,3],min=-0.500000,max=0.500000","support","0","no","WebGPU" "WebGPU: WebGPU","LEAKY_RELU","type=f16,ne_a=[10,5,4,3],negative_slope=0.100000","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne=[10,2,2,2]","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne=[10,2,2,2]","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne=[10,2,2,2]","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne=[10,2,2,2]","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f16,ne=[10,2,2,2]","support","0","no","WebGPU" "WebGPU: WebGPU","SQR","type=f16,ne=[7,1,5,3]","support","0","no","WebGPU" @@ -8674,8 +8685,8 @@ "WebGPU: WebGPU","LEAKY_RELU","type=f16,ne_a=[7,1,5,3],negative_slope=0.100000","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne=[7,1,5,3]","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f16,ne=[1024,1024,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne=[7,1,5,3]","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f16,ne=[1024,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne=[7,1,5,3]","support","1","yes","WebGPU" +"WebGPU: WebGPU","CEIL","type=f16,ne=[1024,1024,1,1]","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne=[7,1,5,3]","support","0","no","WebGPU" "WebGPU: WebGPU","ROUND","type=f16,ne=[1024,1024,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f16,ne=[7,1,5,3]","support","0","no","WebGPU" @@ -8688,7 +8699,7 @@ "WebGPU: WebGPU","CLAMP","type=f32,ne=[10,5,4,3],min=-0.500000,max=0.500000","support","0","no","WebGPU" "WebGPU: WebGPU","LEAKY_RELU","type=f32,ne_a=[10,5,4,3],negative_slope=0.100000","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne=[10,2,2,2]","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne=[10,2,2,2]","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne=[10,2,2,2]","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne=[10,2,2,2]","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f32,ne=[10,2,2,2]","support","0","no","WebGPU" "WebGPU: WebGPU","SQR","type=f32,ne=[7,1,5,3]","support","0","no","WebGPU" @@ -8700,8 +8711,8 @@ "WebGPU: WebGPU","LEAKY_RELU","type=f32,ne_a=[7,1,5,3],negative_slope=0.100000","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne=[7,1,5,3]","support","0","no","WebGPU" "WebGPU: WebGPU","FLOOR","type=f32,ne=[1024,1024,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne=[7,1,5,3]","support","0","no","WebGPU" -"WebGPU: WebGPU","CEIL","type=f32,ne=[1024,1024,1,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne=[7,1,5,3]","support","1","yes","WebGPU" +"WebGPU: WebGPU","CEIL","type=f32,ne=[1024,1024,1,1]","support","1","yes","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne=[7,1,5,3]","support","0","no","WebGPU" "WebGPU: WebGPU","ROUND","type=f32,ne=[1024,1024,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","TRUNC","type=f32,ne=[7,1,5,3]","support","0","no","WebGPU" @@ -8916,6 +8927,8 @@ "WebGPU: WebGPU","SOFT_MAX","type=f32,ne=[32,2,32,1],mask=1,sinks=0,m_prec=f16,nr23=[1,1],scale=0.100000,max_bias=0.000000,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","SOFT_MAX","type=f32,ne=[32,2,32,1],mask=1,sinks=1,m_prec=f32,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","SOFT_MAX","type=f32,ne=[32,2,32,1],mask=1,sinks=1,m_prec=f16,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","SOFT_MAX","type=f32,ne=[200001,2,3,1],mask=1,sinks=1,m_prec=f32,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","SOFT_MAX","type=f32,ne=[200001,2,3,1],mask=1,sinks=1,m_prec=f16,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","SOFT_MAX_BACK","type=f32,ne=[16,16,1,1],scale=1.000000,max_bias=0.000000","support","0","no","WebGPU" "WebGPU: WebGPU","SOFT_MAX_BACK","type=f32,ne=[15,15,1,1],scale=1.000000,max_bias=0.000000","support","0","no","WebGPU" "WebGPU: WebGPU","SOFT_MAX_BACK","type=f32,ne=[16,16,2,3],scale=1.000000,max_bias=0.000000","support","0","no","WebGPU" @@ -8968,6 +8981,7 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" @@ -8977,6 +8991,7 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" @@ -8987,11 +9002,13 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" @@ -9001,6 +9018,7 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" @@ -9011,11 +9029,13 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" @@ -9025,6 +9045,7 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" @@ -9035,11 +9056,13 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" @@ -9049,6 +9072,7 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" @@ -9059,6 +9083,7 @@ "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" +"WebGPU: WebGPU","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f16,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" "WebGPU: WebGPU","ROPE","type=f16,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","WebGPU" @@ -9184,6 +9209,7 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" @@ -9193,6 +9219,7 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" @@ -9203,11 +9230,13 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" @@ -9217,6 +9246,7 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" @@ -9227,11 +9257,13 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" @@ -9241,6 +9273,7 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" @@ -9251,11 +9284,13 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" @@ -9265,6 +9300,7 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" @@ -9275,6 +9311,7 @@ "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" +"WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f16,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" "WebGPU: WebGPU","ROPE_BACK","type=f16,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","WebGPU" @@ -9542,333 +9579,333 @@ "WebGPU: WebGPU","ARGSORT","type=f32,ne=[2048,2,1,3],order=1","support","0","no","WebGPU" "WebGPU: WebGPU","ARGSORT","type=f32,ne=[2049,2,1,3],order=1","support","0","no","WebGPU" "WebGPU: WebGPU","ARGSORT","type=f32,ne=[2,8,8192,1],order=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[12,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[13,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[13,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[15,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[15,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[15,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=100","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=500","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=1023","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=9999","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=1","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=2","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=3","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=7","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=15","support","0","no","WebGPU" -"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=15","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[12,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[13,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[13,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[15,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[15,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[15,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[19,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[27,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[43,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[64,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[75,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[128,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[139,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[256,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[267,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[512,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[523,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1035,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2059,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4096,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[4107,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8192,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[8203,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16395,1,2,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32768,1,1,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[32779,1,2,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65536,1,1,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[65547,1,2,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131072,1,1,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[131083,1,2,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262144,1,1,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[262155,1,2,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=100,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=500,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=1023,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524288,1,1,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[524299,1,2,1],k=9999,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=1,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=2,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=3,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=7,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16,10,10,10],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[60,10,10,10],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1023,2,1,3],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1024,2,1,3],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[1025,2,1,3],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[16384,1,1,1],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2047,2,1,3],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2048,2,1,3],k=15,ties=0","support","0","no","WebGPU" +"WebGPU: WebGPU","TOP_K","type=f32,ne=[2049,2,1,3],k=15,ties=0","support","0","no","WebGPU" "WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=nearest,transpose=0","support","0","no","WebGPU" "WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=nearest,transpose=1","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=nearest,flags=none","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=nearest,flags=none","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=nearest","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=nearest","support","0","no","WebGPU" "WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear,transpose=0","support","0","no","WebGPU" "WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear,transpose=1","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear,flags=none","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear,flags=none","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear","support","0","no","WebGPU" "WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bicubic,transpose=0","support","0","no","WebGPU" "WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bicubic,transpose=1","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic,flags=none","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bicubic,flags=none","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=513,transpose=0","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=513,transpose=1","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear,flags=none","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear,flags=none","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear,flags=align_corners","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bilinear,flags=align_corners","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bilinear,flags=align_corners","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic,flags=align_corners","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bicubic,flags=align_corners","support","0","no","WebGPU" -"WebGPU: WebGPU","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bicubic,flags=align_corners","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bicubic","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear|antialias,transpose=0","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear|antialias,transpose=1","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear|antialias","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear|antialias","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear|align_corners","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bilinear|align_corners","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bilinear|align_corners","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic|align_corners","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bicubic|align_corners","support","0","no","WebGPU" +"WebGPU: WebGPU","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bicubic|align_corners","support","0","no","WebGPU" "WebGPU: WebGPU","SUM","type=f32,ne=[10,5,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","SUM_ROWS","type=f32,ne=[10,5,4,3],permute=0,slice=0","support","0","no","WebGPU" "WebGPU: WebGPU","SUM","type=f32,ne=[11,5,6,3],permute=[0,2,1,3]","support","0","no","WebGPU" @@ -9891,8 +9928,9 @@ "WebGPU: WebGPU","GROUP_NORM","type=f32,ne=[64,64,320,1],num_groups=32,eps=0.000001","support","0","no","WebGPU" "WebGPU: WebGPU","GROUP_NORM","type=f32,ne=[9,9,1280,1],num_groups=32,eps=0.000001","support","0","no","WebGPU" "WebGPU: WebGPU","ACC","type=f32,ne_a=[256,17,1,1],ne_b=[256,16,1,1]","support","0","no","WebGPU" -"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],pad_0=1,pad_1=1","support","0","no","WebGPU" -"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,3,1],lp0=1,rp0=1,lp1=1,rp1=1,lp2=1,rp2=1,lp3=1,rp3=1,v=0","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],pad_0=1,pad_1=1,circular=0","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[33,17,2,1],pad_0=4,pad_1=3,circular=1","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,3,1],lp0=1,rp0=1,lp1=1,rp1=1,lp2=1,rp2=1,lp3=1,rp3=1,v=0,circular=0","support","0","no","WebGPU" "WebGPU: WebGPU","PAD_REFLECT_1D","type=f32,ne_a=[512,34,2,1],pad_0=10,pad_1=9","support","0","no","WebGPU" "WebGPU: WebGPU","PAD_REFLECT_1D","type=f32,ne_a=[3000,384,4,1],pad_0=10,pad_1=9","support","0","no","WebGPU" "WebGPU: WebGPU","ROLL","shift0=3,shift1=-2,shift3=1,shift4=-1","support","0","no","WebGPU" @@ -9903,6 +9941,7 @@ "WebGPU: WebGPU","CUMSUM","type=f32,ne=[10,5,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","CUMSUM","type=f32,ne=[127,5,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","CUMSUM","type=f32,ne=[128,5,4,3]","support","0","no","WebGPU" +"WebGPU: WebGPU","CUMSUM","type=f32,ne=[128,128,4,4]","support","0","no","WebGPU" "WebGPU: WebGPU","CUMSUM","type=f32,ne=[255,5,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","CUMSUM","type=f32,ne=[256,5,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","CUMSUM","type=f32,ne=[511,5,4,3]","support","0","no","WebGPU" @@ -9922,17 +9961,41 @@ "WebGPU: WebGPU","FILL","type=f32,ne=[303,207,11,3],c=2.000000","support","0","no","WebGPU" "WebGPU: WebGPU","FILL","type=f32,ne=[800,600,4,4],c=-152.000000","support","0","no","WebGPU" "WebGPU: WebGPU","FILL","type=f32,ne=[2048,512,2,2],c=3.500000","support","0","no","WebGPU" +"WebGPU: WebGPU","DIAG","type=f32,ne=[10,1,4,3]","support","0","no","WebGPU" +"WebGPU: WebGPU","DIAG","type=f32,ne=[79,1,19,13]","support","0","no","WebGPU" +"WebGPU: WebGPU","DIAG","type=f32,ne=[256,1,8,16]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[10,10,4,3],ne_rhs=[3,10,4,3]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[11,11,1,1],ne_rhs=[5,11,1,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[17,17,2,4],ne_rhs=[9,17,2,4]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[30,30,7,1],ne_rhs=[8,30,7,1]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[42,42,5,2],ne_rhs=[10,42,5,2]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[64,64,2,2],ne_rhs=[10,64,2,2]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[64,64,2,2],ne_rhs=[64,64,2,2]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[79,79,5,3],ne_rhs=[417,79,5,3]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,2],ne_rhs=[32,128,4,2]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[80,80,2,8],ne_rhs=[80,80,2,8]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[80,80,2,8],ne_rhs=[79,80,2,8]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[80,80,2,8],ne_rhs=[81,80,2,8]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[80,80,8,8],ne_rhs=[80,80,8,8]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[80,80,8,8],ne_rhs=[79,80,8,8]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[80,80,8,8],ne_rhs=[81,80,8,8]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[84,84,4,4],ne_rhs=[32,84,4,4]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[95,95,8,8],ne_rhs=[40,95,8,8]","support","0","no","WebGPU" "WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[100,100,4,4],ne_rhs=[41,100,4,4]","support","0","no","WebGPU" -"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=0","support","0","no","WebGPU" -"WebGPU: WebGPU","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=0","support","0","no","WebGPU" -"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=1","support","0","no","WebGPU" -"WebGPU: WebGPU","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=1","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,4],ne_rhs=[31,128,4,4]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,4],ne_rhs=[32,128,4,4]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[128,128,3,4],ne_rhs=[32,128,3,4]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,1],ne_rhs=[32,128,4,1]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[64,64,4,4],ne_rhs=[200,64,4,4]","support","0","no","WebGPU" +"WebGPU: WebGPU","SOLVE_TRI","type=f32,ne_lhs=[64,64,4,4],ne_rhs=[384,64,4,4]","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=0,circular=0","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=0,circular=0","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=0,circular=1","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=0,circular=1","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=1,circular=0","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=1,circular=0","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=1,circular=1","support","0","no","WebGPU" +"WebGPU: WebGPU","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=1,circular=1","support","0","no","WebGPU" "WebGPU: WebGPU","FLASH_ATTN_EXT","hsk=40,hsv=40,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","WebGPU" "WebGPU: WebGPU","FLASH_ATTN_EXT","hsk=40,hsv=40,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","WebGPU" "WebGPU: WebGPU","FLASH_ATTN_EXT","hsk=40,hsv=40,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","WebGPU" diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index d0e99b6fe2..c7afdfb8e9 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -2273,6 +2273,16 @@ static void ggml_webgpu_init_unary_pipeline(webgpu_context & webgpu_ctx) { ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_xielu_inplace_f32, "xielu_inplace_f32", constants); webgpu_ctx->unary_pipelines[GGML_UNARY_OP_XIELU][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_xielu_inplace_f16, "xielu_inplace_f16", constants); + + // CEIL + webgpu_ctx->unary_pipelines[GGML_UNARY_OP_CEIL][GGML_TYPE_F32][0] = + ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_ceil_f32, "ceil_f32", constants); + webgpu_ctx->unary_pipelines[GGML_UNARY_OP_CEIL][GGML_TYPE_F16][0] = + ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_ceil_f16, "ceil_f16", constants); + webgpu_ctx->unary_pipelines[GGML_UNARY_OP_CEIL][GGML_TYPE_F32][1] = + ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_ceil_inplace_f32, "ceil_inplace_f32", constants); + webgpu_ctx->unary_pipelines[GGML_UNARY_OP_CEIL][GGML_TYPE_F16][1] = + ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_ceil_inplace_f16, "ceil_inplace_f16", constants); } static void ggml_webgpu_init_scale_pipeline(webgpu_context & webgpu_ctx) { @@ -2528,6 +2538,7 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const case GGML_UNARY_OP_EXP: case GGML_UNARY_OP_GELU_ERF: case GGML_UNARY_OP_XIELU: + case GGML_UNARY_OP_CEIL: supports_op = supports_op = (op->type == GGML_TYPE_F32 || op->type == GGML_TYPE_F16) && (src0->type == op->type); break; diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/unary_op.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/unary_op.wgsl index d474ab107b..25fe285451 100644 --- a/ggml/src/ggml-webgpu/wgsl-shaders/unary_op.wgsl +++ b/ggml/src/ggml-webgpu/wgsl-shaders/unary_op.wgsl @@ -16,7 +16,8 @@ "HARDSWISH_FUNC": "{{MUTATE}}[dst_i] = src[src_i] * min(1.0, max(0.0, (src[src_i] + 3.0) / 6.0));", "GELU_FUNC": "{{MUTATE}}[dst_i] = 0.5 * src[src_i] * (1.0 + tanh(clamp(sqrt(2.0 / 3.14159265) * (src[src_i] + 0.044715 * pow(src[src_i], 3.0)), -9.010913, 9.010913))); // Regarding tanh() domain restrictions in wgsl https://github.com/gpuweb/gpuweb/issues/4458", "GELU_QUICK_FUNC": "{{MUTATE}}[dst_i] = src[src_i] * 0.5 * (1.0 + tanh(clamp(0.79788456 * (src[src_i] + 0.044715 * src[src_i] * src[src_i] * src[src_i]), -9.010913, 9.010913))); // Regarding tanh() domain restrictions in wgsl https://github.com/gpuweb/gpuweb/issues/4458", - "GELU_ERF_FUNC": "{{MUTATE}}[dst_i] = 0.5 * src[src_i] * (1.0 + tanh(clamp(0.79788456 * (src[src_i] + 0.044715 * src[src_i] * src[src_i] * src[src_i]), -9.010913, 9.010913))); // Regarding tanh() domain restrictions in wgsl https://github.com/gpuweb/gpuweb/issues/4458" + "GELU_ERF_FUNC": "{{MUTATE}}[dst_i] = 0.5 * src[src_i] * (1.0 + tanh(clamp(0.79788456 * (src[src_i] + 0.044715 * src[src_i] * src[src_i] * src[src_i]), -9.010913, 9.010913))); // Regarding tanh() domain restrictions in wgsl https://github.com/gpuweb/gpuweb/issues/4458", + "CEIL_FUNC": "{{MUTATE}}[dst_i] = ceil(src[src_i]);" } #end(REPL_TEMPLATES) @@ -357,6 +358,27 @@ "SHADER_NAME": "gelu_erf_inplace_f16", "REPLS": { "TYPE": "f16", "FUNC": "GELU_ERF_FUNC", "EXT_PARAMS": "", "MUTATE": "src" }, "DECLS": ["INPLACE"] + }, + + { + "SHADER_NAME": "ceil_f32", + "REPLS": { "TYPE": "f32", "FUNC": "CEIL_FUNC", "EXT_PARAMS": "", "MUTATE": "dst" }, + "DECLS": ["NOT_INPLACE"] + }, + { + "SHADER_NAME": "ceil_f16", + "REPLS": { "TYPE": "f16", "FUNC": "CEIL_FUNC", "EXT_PARAMS": "", "MUTATE": "dst" }, + "DECLS": ["NOT_INPLACE"] + }, + { + "SHADER_NAME": "ceil_inplace_f32", + "REPLS": { "TYPE": "f32", "FUNC": "CEIL_FUNC", "EXT_PARAMS": "", "MUTATE": "src" }, + "DECLS": ["INPLACE"] + }, + { + "SHADER_NAME": "ceil_inplace_f16", + "REPLS": { "TYPE": "f16", "FUNC": "CEIL_FUNC", "EXT_PARAMS": "", "MUTATE": "src" }, + "DECLS": ["INPLACE"] } ] From da9b8d330052916fece07f668750d07be87978c5 Mon Sep 17 00:00:00 2001 From: Raul Torres <138264735+rauletorresc@users.noreply.github.com> Date: Tue, 6 Jan 2026 03:53:28 +0000 Subject: [PATCH 18/38] CANN: Make `valid_values` variable `static const` (#18627) --- ggml/src/ggml-cann/ggml-cann.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 7f6214e4fb..acf88db9b7 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -122,7 +122,7 @@ std::optional get_env(const std::string & name) { * @brief Verify whether the environment variable is a valid value. */ bool parse_bool(const std::string & value) { - std::unordered_set valid_values = { "on", "1", "yes", "y", "enable", "true" }; + static const std::unordered_set valid_values = { "on", "1", "yes", "y", "enable", "true" }; return valid_values.find(value) != valid_values.end(); } From e75ee11024befa163cbc0398f9e697e4b32c5f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Tue, 6 Jan 2026 07:54:10 +0100 Subject: [PATCH 19/38] ggml : fix avx512bf16 build (#18623) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - include `immintrin.h` when required - remove unused m512bh Signed-off-by: Adrien Gallouët --- ggml/src/ggml.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index eb3ae72eaa..09b8eb466d 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -53,13 +53,15 @@ #define UNUSED GGML_UNUSED +// Needed for ggml_fp32_to_bf16_row() +#if defined(__AVX512BF16__) #if defined(_MSC_VER) -#define m512bh(p) p #define m512i(p) p #else -#define m512bh(p) (__m512bh)(p) +#include #define m512i(p) (__m512i)(p) -#endif +#endif // defined(_MSC_VER) +#endif // defined(__AVX512BF16__) #if defined(__linux__) || \ defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \ From bd2a93d4753c4f00443f561ee039220283016ee8 Mon Sep 17 00:00:00 2001 From: Christian Kastner Date: Tue, 6 Jan 2026 08:56:38 +0100 Subject: [PATCH 20/38] gguf-py : add requests to dependencies (#18629) --- gguf-py/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/gguf-py/pyproject.toml b/gguf-py/pyproject.toml index 0f3a1eeee8..f6c4cd14e7 100644 --- a/gguf-py/pyproject.toml +++ b/gguf-py/pyproject.toml @@ -22,6 +22,7 @@ python = ">=3.8" numpy = ">=1.17" tqdm = ">=4.27" pyyaml = ">=5.1" +requests = ">=2.25" sentencepiece = { version = ">=0.1.98,<=0.2.0", optional = true } PySide6 = { version = "^6.9", python = ">=3.9,<3.14", optional = true } From 3d26a09dc7b1a7c13da57fdd26d1cf22efa81229 Mon Sep 17 00:00:00 2001 From: R Date: Tue, 6 Jan 2026 16:17:13 +0100 Subject: [PATCH 21/38] server : add thinking content blocks to Anthropic Messages API (#18551) * server : add thinking content blocks to Anthropic Messages API Add support for returning reasoning/thinking content in Anthropic API responses when using models with --reasoning-format deepseek and the thinking parameter enabled. - Non-streaming: adds thinking block before text in content array - Streaming: emits thinking_delta events with correct block indices - Partial streaming: tracks reasoning state across chunks via anthropic_has_reasoning member variable Tested with bartowski/DeepSeek-R1-Distill-Qwen-7B-GGUF model. * server : fix Anthropic API streaming for thinking content blocks Add signature field and fix duplicate content_block_start events in Anthropic Messages API streaming responses for reasoning models. * server: refactor Anthropic streaming state to avoid raw pointer Replace raw pointer to task_result_state with direct field copies: - Copy state fields in update() before processing chunk - Use local copies in to_json_anthropic() instead of dereferencing - Pre-compute state updates for next chunk in update() This makes the data flow clearer and avoids unsafe pointer patterns. --- tools/server/server-task.cpp | 149 +++++++++++++++--- tools/server/server-task.h | 26 +++ .../tests/unit/test_compat_anthropic.py | 89 +++++++++++ 3 files changed, 246 insertions(+), 18 deletions(-) diff --git a/tools/server/server-task.cpp b/tools/server/server-task.cpp index 6d374131e3..ed4f6546ea 100644 --- a/tools/server/server-task.cpp +++ b/tools/server/server-task.cpp @@ -814,6 +814,15 @@ json server_task_result_cmpl_final::to_json_anthropic() { msg.content = content; } + // thinking block comes first (Anthropic extended thinking format) + if (!msg.reasoning_content.empty()) { + content_blocks.push_back({ + {"type", "thinking"}, + {"thinking", msg.reasoning_content}, + {"signature", ""} // empty signature for local models (no cryptographic verification) + }); + } + if (!msg.content.empty()) { content_blocks.push_back({ {"type", "text"}, @@ -862,20 +871,57 @@ json server_task_result_cmpl_final::to_json_anthropic_stream() { stop_reason = oaicompat_msg.tool_calls.empty() ? "end_turn" : "tool_use"; } - bool has_text = !oaicompat_msg.content.empty(); + bool has_thinking = !oaicompat_msg.reasoning_content.empty(); + bool has_text = !oaicompat_msg.content.empty(); size_t num_tool_calls = oaicompat_msg.tool_calls.size(); - bool text_block_started = false; + // content block indices: thinking (0) -> text (0 or 1) -> tool_use (n+) + size_t thinking_block_index = 0; + size_t text_block_index = has_thinking ? 1 : 0; + + bool thinking_block_started = false; + bool text_block_started = false; std::unordered_set tool_calls_started; for (const auto & diff : oaicompat_msg_diffs) { + // handle thinking/reasoning content + if (!diff.reasoning_content_delta.empty()) { + if (!thinking_block_started) { + events.push_back({ + {"event", "content_block_start"}, + {"data", { + {"type", "content_block_start"}, + {"index", thinking_block_index}, + {"content_block", { + {"type", "thinking"}, + {"thinking", ""} + }} + }} + }); + thinking_block_started = true; + } + + events.push_back({ + {"event", "content_block_delta"}, + {"data", { + {"type", "content_block_delta"}, + {"index", thinking_block_index}, + {"delta", { + {"type", "thinking_delta"}, + {"thinking", diff.reasoning_content_delta} + }} + }} + }); + } + + // handle regular text content if (!diff.content_delta.empty()) { if (!text_block_started) { events.push_back({ {"event", "content_block_start"}, {"data", { {"type", "content_block_start"}, - {"index", 0}, + {"index", text_block_index}, {"content_block", { {"type", "text"}, {"text", ""} @@ -889,7 +935,7 @@ json server_task_result_cmpl_final::to_json_anthropic_stream() { {"event", "content_block_delta"}, {"data", { {"type", "content_block_delta"}, - {"index", 0}, + {"index", text_block_index}, {"delta", { {"type", "text_delta"}, {"text", diff.content_delta} @@ -898,8 +944,9 @@ json server_task_result_cmpl_final::to_json_anthropic_stream() { }); } + // handle tool calls if (diff.tool_call_index != std::string::npos) { - size_t content_block_index = (has_text ? 1 : 0) + diff.tool_call_index; + size_t content_block_index = (has_thinking ? 1 : 0) + (has_text ? 1 : 0) + diff.tool_call_index; if (tool_calls_started.find(diff.tool_call_index) == tool_calls_started.end()) { const auto & full_tool_call = oaicompat_msg.tool_calls[diff.tool_call_index]; @@ -935,18 +982,42 @@ json server_task_result_cmpl_final::to_json_anthropic_stream() { } } + // close content blocks in order + if (has_thinking) { + // Anthropic API requires a signature_delta before closing thinking blocks + // We use an empty signature since we can't generate a cryptographic signature for local models + events.push_back({ + {"event", "content_block_delta"}, + {"data", { + {"type", "content_block_delta"}, + {"index", thinking_block_index}, + {"delta", { + {"type", "signature_delta"}, + {"signature", ""} + }} + }} + }); + events.push_back({ + {"event", "content_block_stop"}, + {"data", { + {"type", "content_block_stop"}, + {"index", thinking_block_index} + }} + }); + } + if (has_text) { events.push_back({ {"event", "content_block_stop"}, {"data", { {"type", "content_block_stop"}, - {"index", 0} + {"index", text_block_index} }} }); } for (size_t i = 0; i < num_tool_calls; i++) { - size_t content_block_index = (has_text ? 1 : 0) + i; + size_t content_block_index = (has_thinking ? 1 : 0) + (has_text ? 1 : 0) + i; events.push_back({ {"event", "content_block_stop"}, {"data", { @@ -1154,11 +1225,10 @@ json server_task_result_rerank::to_json() { json server_task_result_cmpl_partial::to_json_anthropic() { json events = json::array(); bool first = (n_decoded == 1); - bool text_block_started = false; + // use member variables to track block state across streaming calls + // (anthropic_thinking_block_started, anthropic_text_block_started) if (first) { - text_block_started = false; - events.push_back({ {"event", "message_start"}, {"data", { @@ -1180,28 +1250,69 @@ json server_task_result_cmpl_partial::to_json_anthropic() { }); } + // content block indices: thinking (0) -> text (0 or 1) -> tool_use (n+) + size_t thinking_block_index = 0; + // use anthropic_has_reasoning (set in update()) to know if ANY reasoning was generated + size_t text_block_index = anthropic_has_reasoning ? 1 : 0; + + // use local copies of streaming state (copied from task_result_state in update()) + // these reflect the state BEFORE this chunk was processed + bool thinking_started = anthropic_thinking_block_started; + bool text_started = anthropic_text_block_started; + for (const auto & diff : oaicompat_msg_diffs) { - if (!diff.content_delta.empty()) { - if (!text_block_started) { + // handle thinking/reasoning content + if (!diff.reasoning_content_delta.empty()) { + if (!thinking_started) { events.push_back({ {"event", "content_block_start"}, {"data", { {"type", "content_block_start"}, - {"index", 0}, + {"index", thinking_block_index}, {"content_block", { - {"type", "text"}, - {"text", ""} + {"type", "thinking"}, + {"thinking", ""} }} }} }); - text_block_started = true; + thinking_started = true; } events.push_back({ {"event", "content_block_delta"}, {"data", { {"type", "content_block_delta"}, - {"index", 0}, + {"index", thinking_block_index}, + {"delta", { + {"type", "thinking_delta"}, + {"thinking", diff.reasoning_content_delta} + }} + }} + }); + } + + // handle regular text content + if (!diff.content_delta.empty()) { + if (!text_started) { + events.push_back({ + {"event", "content_block_start"}, + {"data", { + {"type", "content_block_start"}, + {"index", text_block_index}, + {"content_block", { + {"type", "text"}, + {"text", ""} + }} + }} + }); + text_started = true; + } + + events.push_back({ + {"event", "content_block_delta"}, + {"data", { + {"type", "content_block_delta"}, + {"index", text_block_index}, {"delta", { {"type", "text_delta"}, {"text", diff.content_delta} @@ -1210,8 +1321,10 @@ json server_task_result_cmpl_partial::to_json_anthropic() { }); } + // handle tool calls if (diff.tool_call_index != std::string::npos) { - size_t content_block_index = (text_block_started ? 1 : 0) + diff.tool_call_index; + // use anthropic_has_reasoning for thinking block count (persists across calls) + size_t content_block_index = (anthropic_has_reasoning ? 1 : 0) + (text_started ? 1 : 0) + diff.tool_call_index; if (!diff.tool_call_delta.name.empty()) { events.push_back({ diff --git a/tools/server/server-task.h b/tools/server/server-task.h index 687770de5e..ead1491182 100644 --- a/tools/server/server-task.h +++ b/tools/server/server-task.h @@ -96,6 +96,10 @@ struct task_result_state { std::string generated_text; // append new chunks of generated text here std::vector generated_tool_call_ids; + // for Anthropic API streaming: track content block state across chunks + bool anthropic_thinking_block_started = false; + bool anthropic_text_block_started = false; + task_result_state(const common_chat_syntax & oaicompat_chat_syntax) : oaicompat_chat_syntax(oaicompat_chat_syntax) {} @@ -337,6 +341,12 @@ struct server_task_result_cmpl_partial : server_task_result { std::vector oaicompat_msg_diffs; // to be populated by update() bool is_updated = false; + // for Anthropic API: track if any reasoning content has been generated + bool anthropic_has_reasoning = false; + // Streaming state copied from task_result_state for this chunk + bool anthropic_thinking_block_started = false; + bool anthropic_text_block_started = false; + virtual bool is_stop() override { return false; // in stream mode, partial responses are not considered stop } @@ -346,6 +356,22 @@ struct server_task_result_cmpl_partial : server_task_result { virtual void update(task_result_state & state) override { is_updated = true; state.update_chat_msg(content, true, oaicompat_msg_diffs); + // track if the accumulated message has any reasoning content + anthropic_has_reasoning = !state.chat_msg.reasoning_content.empty(); + + // Copy current state for use in to_json_anthropic() (reflects state BEFORE this chunk) + anthropic_thinking_block_started = state.anthropic_thinking_block_started; + anthropic_text_block_started = state.anthropic_text_block_started; + + // Pre-compute state updates based on diffs (for next chunk) + for (const auto & diff : oaicompat_msg_diffs) { + if (!diff.reasoning_content_delta.empty() && !state.anthropic_thinking_block_started) { + state.anthropic_thinking_block_started = true; + } + if (!diff.content_delta.empty() && !state.anthropic_text_block_started) { + state.anthropic_text_block_started = true; + } + } } json to_json_non_oaicompat(); diff --git a/tools/server/tests/unit/test_compat_anthropic.py b/tools/server/tests/unit/test_compat_anthropic.py index e0a003557e..e16e0235c6 100644 --- a/tools/server/tests/unit/test_compat_anthropic.py +++ b/tools/server/tests/unit/test_compat_anthropic.py @@ -805,3 +805,92 @@ def test_anthropic_vs_openai_different_response_format(): assert "input_tokens" in anthropic_res.body["usage"] assert "completion_tokens" in openai_res.body["usage"] assert "output_tokens" in anthropic_res.body["usage"] + + +# Extended thinking tests with reasoning models + +@pytest.mark.slow +@pytest.mark.parametrize("stream", [False, True]) +def test_anthropic_thinking_with_reasoning_model(stream): + """Test that thinking content blocks are properly returned for reasoning models""" + global server + server = ServerProcess() + server.model_hf_repo = "bartowski/DeepSeek-R1-Distill-Qwen-7B-GGUF" + server.model_hf_file = "DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf" + server.reasoning_format = "deepseek" + server.jinja = True + server.n_ctx = 8192 + server.n_predict = 1024 + server.server_port = 8084 + server.start(timeout_seconds=600) # large model needs time to download + + if stream: + res = server.make_stream_request("POST", "/v1/messages", data={ + "model": "test", + "max_tokens": 1024, + "thinking": { + "type": "enabled", + "budget_tokens": 500 + }, + "messages": [ + {"role": "user", "content": "What is 2+2?"} + ], + "stream": True + }) + + events = list(res) + + # should have thinking content block events + thinking_starts = [e for e in events if + e.get("type") == "content_block_start" and + e.get("content_block", {}).get("type") == "thinking"] + assert len(thinking_starts) > 0, "Should have thinking content_block_start event" + assert thinking_starts[0]["index"] == 0, "Thinking block should be at index 0" + + # should have thinking_delta events + thinking_deltas = [e for e in events if + e.get("type") == "content_block_delta" and + e.get("delta", {}).get("type") == "thinking_delta"] + assert len(thinking_deltas) > 0, "Should have thinking_delta events" + + # should have signature_delta event before thinking block closes (Anthropic API requirement) + signature_deltas = [e for e in events if + e.get("type") == "content_block_delta" and + e.get("delta", {}).get("type") == "signature_delta"] + assert len(signature_deltas) > 0, "Should have signature_delta event for thinking block" + + # should have text block after thinking + text_starts = [e for e in events if + e.get("type") == "content_block_start" and + e.get("content_block", {}).get("type") == "text"] + assert len(text_starts) > 0, "Should have text content_block_start event" + assert text_starts[0]["index"] == 1, "Text block should be at index 1 (after thinking)" + else: + res = server.make_request("POST", "/v1/messages", data={ + "model": "test", + "max_tokens": 1024, + "thinking": { + "type": "enabled", + "budget_tokens": 500 + }, + "messages": [ + {"role": "user", "content": "What is 2+2?"} + ] + }) + + assert res.status_code == 200 + assert res.body["type"] == "message" + + content = res.body["content"] + assert len(content) >= 2, "Should have at least thinking and text blocks" + + # first block should be thinking + thinking_blocks = [b for b in content if b.get("type") == "thinking"] + assert len(thinking_blocks) > 0, "Should have thinking content block" + assert "thinking" in thinking_blocks[0], "Thinking block should have 'thinking' field" + assert len(thinking_blocks[0]["thinking"]) > 0, "Thinking content should not be empty" + assert "signature" in thinking_blocks[0], "Thinking block should have 'signature' field (Anthropic API requirement)" + + # should also have text block + text_blocks = [b for b in content if b.get("type") == "text"] + assert len(text_blocks) > 0, "Should have text content block" From 968929528c6a05e10249366fbe5f0330ad9af678 Mon Sep 17 00:00:00 2001 From: Beinsezii <39478211+Beinsezii@users.noreply.github.com> Date: Tue, 6 Jan 2026 07:26:07 -0800 Subject: [PATCH 22/38] mmq.cu: tune mmq/rocblas switching for RDNA (#18537) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Patch perf regression for mmq kernels in ROCm recover performance regression for https://github.com/ggml-org/llama.cpp/issues/17917 * add n_experts branch like the cdna path * mmq.cu: tune mmq/wmma switching for RDNA * mmq.cu: move amd wmma mmq/wmma switching behind IS_RDNA3 * Update ggml/src/ggml-cuda/mmq.cu Co-authored-by: Johannes Gäßler --------- Co-authored-by: Jiacheng (Jason) Chen <76919340+jiachengjason@users.noreply.github.com> Co-authored-by: jiachengjason Co-authored-by: Johannes Gäßler --- ggml/src/ggml-cuda/mmq.cu | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ggml/src/ggml-cuda/mmq.cu b/ggml/src/ggml-cuda/mmq.cu index 85692d4543..ceb95758d2 100644 --- a/ggml/src/ggml-cuda/mmq.cu +++ b/ggml/src/ggml-cuda/mmq.cu @@ -333,6 +333,28 @@ bool ggml_cuda_should_use_mmq(enum ggml_type type, int cc, int64_t ne11, int64_t } if (amd_wmma_available(cc)) { + // RDNA 4 is consistently worse on rocblas + // https://github.com/ggml-org/llama.cpp/pull/18537#issuecomment-3706422301 + if (GGML_CUDA_CC_IS_RDNA3(cc)) { + // High expert counts almost always better on MMQ + // due to a large amount of graph splits + // https://github.com/ggml-org/llama.cpp/pull/18202 + if (n_experts >= 64) { + return true; + } + + switch (type) { + // These quants are really bad on MMQ + case GGML_TYPE_Q2_K: + case GGML_TYPE_Q6_K: + // These quants are usually worse but not always + case GGML_TYPE_IQ2_XS: + case GGML_TYPE_IQ2_S: + return ne11 <= 128; + default: + return true; + } + } return true; } From 090b137e56a80b189dbced7d31e637951f3e123f Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Tue, 6 Jan 2026 23:48:45 +0800 Subject: [PATCH 23/38] ggml-cuda: refactor cuda graph usage (#18637) * ggml-cuda: refactor cuda graph usage * use is_enabled() instead of enabled --- ggml/src/ggml-cuda/common.cuh | 24 ++++-- ggml/src/ggml-cuda/ggml-cuda.cu | 138 ++++++++++++-------------------- ggml/src/ggml-cuda/mean.cu | 6 +- 3 files changed, 72 insertions(+), 96 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 995b774c20..9516d8ec8f 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1036,7 +1036,7 @@ struct ggml_tensor_extra_gpu { #define USE_CUDA_GRAPH #endif -struct ggml_graph_node_properties { +struct ggml_cuda_graph_node_properties { void * node_address; ggml_op node_op; int64_t ne[GGML_MAX_DIMS]; @@ -1061,11 +1061,25 @@ struct ggml_cuda_graph { std::vector nodes; bool disable_due_to_gpu_arch = false; bool disable_due_to_too_many_updates = false; - bool disable_due_to_failed_graph_capture = false; int number_consecutive_updates = 0; - bool cuda_graphs_enabled = false; - std::vector ggml_graph_properties; - std::vector extraneous_srcs_properties; + std::vector props; + + void record_update(bool use_graph, bool update_required) { + if (use_graph && update_required) { + number_consecutive_updates++; + } else { + number_consecutive_updates = 0; + } + if (number_consecutive_updates >= 4) { + GGML_LOG_DEBUG("%s: disabling CUDA graphs due to too many consecutive updates\n", __func__); + disable_due_to_too_many_updates = true; + } + } + + bool is_enabled() const { + static const bool disable_cuda_graphs_due_to_env = (getenv("GGML_CUDA_DISABLE_GRAPHS") != nullptr); + return !(disable_due_to_gpu_arch || disable_cuda_graphs_due_to_env || disable_due_to_too_many_updates); + } #endif }; diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 75269170c3..bac69cdd1c 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -2853,9 +2853,9 @@ static void ggml_backend_cuda_synchronize(ggml_backend_t backend) { } #ifdef USE_CUDA_GRAPH -static bool check_node_graph_compatibility(ggml_cgraph * cgraph, - bool use_cuda_graph) { +static bool ggml_cuda_graph_check_compability(ggml_cgraph * cgraph) { + bool use_cuda_graph = true; // Loop over nodes in GGML graph to obtain info needed for CUDA graph const std::string gemma3n_per_layer_proj_src0_name = "inp_per_layer_selected"; @@ -2915,41 +2915,41 @@ static bool check_node_graph_compatibility(ggml_cgraph * cgraph, return use_cuda_graph; } -static void set_ggml_graph_node_properties(ggml_tensor * node, ggml_graph_node_properties * graph_node_properties) { - graph_node_properties->node_address = node->data; - graph_node_properties->node_op = node->op; +static void ggml_cuda_graph_node_set_properties(ggml_cuda_graph_node_properties * props, ggml_tensor * node) { + props->node_address = node->data; + props->node_op = node->op; for (int i = 0; i < GGML_MAX_DIMS; i++) { - graph_node_properties->ne[i] = node->ne[i]; - graph_node_properties->nb[i] = node->nb[i]; + props->ne[i] = node->ne[i]; + props->nb[i] = node->nb[i]; } for (int i = 0; i < GGML_MAX_SRC; i++) { - graph_node_properties->src_address[i] = node->src[i] ? node->src[i]->data : nullptr; + props->src_address[i] = node->src[i] ? node->src[i]->data : nullptr; } - memcpy(graph_node_properties->op_params, node->op_params, GGML_MAX_OP_PARAMS); + memcpy(props->op_params, node->op_params, GGML_MAX_OP_PARAMS); } -static bool ggml_graph_node_has_matching_properties(ggml_tensor * node, ggml_graph_node_properties * graph_node_properties) { - if (node->data != graph_node_properties->node_address && +static bool ggml_cuda_graph_node_properties_match(ggml_tensor * node, ggml_cuda_graph_node_properties * props) { + if (node->data != props->node_address && node->op != GGML_OP_VIEW) { return false; } - if (node->op != graph_node_properties->node_op) { + if (node->op != props->node_op) { return false; } for (int i = 0; i < GGML_MAX_DIMS; i++) { - if (node->ne[i] != graph_node_properties->ne[i]) { + if (node->ne[i] != props->ne[i]) { return false; } - if (node->nb[i] != graph_node_properties->nb[i]) { + if (node->nb[i] != props->nb[i]) { return false; } } for (int i = 0; i < GGML_MAX_SRC; i++) { if (node->src[i] && - node->src[i]->data != graph_node_properties->src_address[i] && + node->src[i]->data != props->src_address[i] && node->op != GGML_OP_VIEW ) { return false; @@ -2957,56 +2957,55 @@ static bool ggml_graph_node_has_matching_properties(ggml_tensor * node, ggml_gra } if ((node->op == GGML_OP_SCALE || node->op == GGML_OP_GLU) && - memcmp(graph_node_properties->op_params, node->op_params, GGML_MAX_OP_PARAMS) != 0) { + memcmp(props->op_params, node->op_params, GGML_MAX_OP_PARAMS) != 0) { return false; } return true; } -static bool is_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph) { +static bool ggml_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph) { - bool cuda_graph_update_required = false; + bool res = false; if (cuda_ctx->cuda_graph->instance == nullptr) { - cuda_graph_update_required = true; + res = true; } // Check if the graph size has changed - if (cuda_ctx->cuda_graph->ggml_graph_properties.size() != (size_t)cgraph->n_nodes + cgraph->n_leafs) { - cuda_graph_update_required = true; - cuda_ctx->cuda_graph->ggml_graph_properties.resize(cgraph->n_nodes + cgraph->n_leafs); + if (cuda_ctx->cuda_graph->props.size() != (size_t)cgraph->n_nodes + cgraph->n_leafs) { + res = true; + cuda_ctx->cuda_graph->props.resize(cgraph->n_nodes + cgraph->n_leafs); } // Loop over nodes in GGML graph to determine if CUDA graph update is required // and store properties to allow this comparison for the next token for (int i = 0; i < cgraph->n_nodes; i++) { - bool has_matching_properties = true; - - if (!cuda_graph_update_required) { - has_matching_properties = ggml_graph_node_has_matching_properties(cgraph->nodes[i], &cuda_ctx->cuda_graph->ggml_graph_properties[i]); + bool props_match = true; + if (!res) { + props_match = ggml_cuda_graph_node_properties_match(cgraph->nodes[i], &cuda_ctx->cuda_graph->props[i]); } - if (!has_matching_properties) { - cuda_graph_update_required = true; + if (!props_match) { + res = true; } - set_ggml_graph_node_properties(cgraph->nodes[i], &cuda_ctx->cuda_graph->ggml_graph_properties[i]); + ggml_cuda_graph_node_set_properties(&cuda_ctx->cuda_graph->props[i], cgraph->nodes[i]); } for (int i = 0; i < cgraph->n_leafs; i++) { - bool has_matching_properties = true; - if (!cuda_graph_update_required) { - has_matching_properties = ggml_graph_node_has_matching_properties(cgraph->leafs[i], &cuda_ctx->cuda_graph->ggml_graph_properties[cgraph->n_nodes + i]); + bool props_match= true; + if (!res) { + props_match = ggml_cuda_graph_node_properties_match(cgraph->leafs[i], &cuda_ctx->cuda_graph->props[cgraph->n_nodes + i]); } - if (!has_matching_properties) { - cuda_graph_update_required = true; + if (!props_match) { + res = true; } - set_ggml_graph_node_properties(cgraph->leafs[i], &cuda_ctx->cuda_graph->ggml_graph_properties[cgraph->n_nodes + i]); + ggml_cuda_graph_node_set_properties(&cuda_ctx->cuda_graph->props[cgraph->n_nodes + i], cgraph->leafs[i]); } - return cuda_graph_update_required; + return res; } -static void update_cuda_graph_executable(ggml_backend_cuda_context * cuda_ctx) { +static void ggml_cuda_graph_update_executable(ggml_backend_cuda_context * cuda_ctx) { #if CUDART_VERSION >= 12000 cudaGraphExecUpdateResultInfo result_info; @@ -3237,10 +3236,11 @@ static bool ggml_cuda_can_fuse(const struct ggml_cgraph * cgraph, int node_idx, return false; } -static void evaluate_and_capture_cuda_graph(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph, - bool & graph_evaluated_or_captured, bool & use_cuda_graph, bool & cuda_graph_update_required) { +static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph, const bool use_cuda_graph, const bool cuda_graph_update_required) { + bool graph_evaluated_or_captured = false; + // flag used to determine whether it is an integrated_gpu - const bool integrated = ggml_cuda_info().devices[cuda_ctx->device].integrated; + const bool integrated = ggml_cuda_info().devices[cuda_ctx->device].integrated; ggml_cuda_stream_context & stream_ctx = cuda_ctx->stream_context(); bool is_concurrent_event_active = false; @@ -3710,7 +3710,7 @@ static void evaluate_and_capture_cuda_graph(ggml_backend_cuda_context * cuda_ctx CUDA_CHECK(cudaGraphInstantiate(&cuda_ctx->cuda_graph->instance, cuda_ctx->cuda_graph->graph, NULL, NULL, 0)); } if (cuda_graph_update_required) { // Update graph executable - update_cuda_graph_executable(cuda_ctx); + ggml_cuda_graph_update_executable(cuda_ctx); } // Launch graph CUDA_CHECK(cudaGraphLaunch(cuda_ctx->cuda_graph->instance, cuda_ctx->stream())); @@ -3720,43 +3720,25 @@ static void evaluate_and_capture_cuda_graph(ggml_backend_cuda_context * cuda_ctx } } -static bool ggml_cuda_set_cuda_graph_enabled(ggml_backend_cuda_context * cuda_ctx) { +static bool ggml_cuda_graph_set_enabled(ggml_backend_cuda_context * cuda_ctx) { #ifdef USE_CUDA_GRAPH - static const bool disable_cuda_graphs_due_to_env = (getenv("GGML_CUDA_DISABLE_GRAPHS") != nullptr); - // Objects required for CUDA Graph if (cuda_ctx->cuda_graph == nullptr) { cuda_ctx->cuda_graph.reset(new ggml_cuda_graph()); } - bool use_cuda_graph = true; - if (cuda_ctx->cuda_graph->graph == nullptr) { if (ggml_cuda_info().devices[cuda_ctx->device].cc < GGML_CUDA_CC_AMPERE) { cuda_ctx->cuda_graph->disable_due_to_gpu_arch = true; -#ifndef NDEBUG GGML_LOG_DEBUG("%s: disabling CUDA graphs due to GPU architecture\n", __func__); -#endif } } - // Disable CUDA graphs in presence of env var, old GPU, use-case which is changing too rapidly, - // or previous graph capture failure. - // Also disable for multi-gpu for now. TO DO investigate - if (disable_cuda_graphs_due_to_env - || cuda_ctx->cuda_graph->disable_due_to_gpu_arch - || cuda_ctx->cuda_graph->disable_due_to_too_many_updates - || cuda_ctx->cuda_graph->disable_due_to_failed_graph_capture) { - use_cuda_graph = false; - } - - cuda_ctx->cuda_graph->cuda_graphs_enabled = use_cuda_graph; + return cuda_ctx->cuda_graph->is_enabled(); #else - bool use_cuda_graph = false; + return false; #endif // USE_CUDA_GRAPH - - return use_cuda_graph; } static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) { @@ -3767,30 +3749,14 @@ static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, bool use_cuda_graph = false; bool cuda_graph_update_required = false; - // graph_optimize calls set_cuda_graph_enabled, in-case it not called (i.e. graph_compute is directly called) - // we call it here instead. #ifdef USE_CUDA_GRAPH - use_cuda_graph = ggml_cuda_set_cuda_graph_enabled(cuda_ctx); + use_cuda_graph = ggml_cuda_graph_set_enabled(cuda_ctx); - if (use_cuda_graph) { - cuda_graph_update_required = is_cuda_graph_update_required(cuda_ctx, cgraph); + if (cuda_ctx->cuda_graph->is_enabled()) { + cuda_graph_update_required = ggml_cuda_graph_update_required(cuda_ctx, cgraph); + use_cuda_graph = ggml_cuda_graph_check_compability(cgraph); - use_cuda_graph = check_node_graph_compatibility(cgraph, use_cuda_graph); - - // Disable CUDA graphs (from the next token) if the use-case is demanding too many consecutive graph updates. - if (use_cuda_graph && cuda_graph_update_required) { - cuda_ctx->cuda_graph->number_consecutive_updates++; - } else { - cuda_ctx->cuda_graph->number_consecutive_updates = 0; - } - - if (cuda_ctx->cuda_graph->number_consecutive_updates >= 4) { - cuda_ctx->cuda_graph->disable_due_to_too_many_updates = true; - cuda_ctx->cuda_graph->cuda_graphs_enabled = false; -#ifndef NDEBUG - GGML_LOG_DEBUG("%s: disabling CUDA graphs due to too many consecutive updates\n", __func__); -#endif - } + cuda_ctx->cuda_graph->record_update(use_cuda_graph, cuda_graph_update_required); } #endif // USE_CUDA_GRAPH @@ -3804,9 +3770,7 @@ static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, CUDA_CHECK(cudaStreamBeginCapture(cuda_ctx->stream(), cudaStreamCaptureModeRelaxed)); } - bool graph_evaluated_or_captured = false; - - evaluate_and_capture_cuda_graph(cuda_ctx, cgraph, graph_evaluated_or_captured, use_cuda_graph, cuda_graph_update_required); + ggml_cuda_graph_evaluate_and_capture(cuda_ctx, cgraph, use_cuda_graph, cuda_graph_update_required); return GGML_STATUS_SUCCESS; } @@ -3839,7 +3803,7 @@ static void ggml_backend_cuda_event_wait(ggml_backend_t backend, ggml_backend_ev static void ggml_backend_cuda_graph_optimize(ggml_backend_t backend, ggml_cgraph * cgraph) { ggml_backend_cuda_context * cuda_ctx = (ggml_backend_cuda_context *) backend->context; - const bool use_cuda_graph = ggml_cuda_set_cuda_graph_enabled(cuda_ctx); + const bool use_cuda_graph = ggml_cuda_graph_set_enabled(cuda_ctx); static bool enable_graph_optimization = [] { const char * env = getenv("GGML_CUDA_GRAPH_OPT"); diff --git a/ggml/src/ggml-cuda/mean.cu b/ggml/src/ggml-cuda/mean.cu index 691d8dcb14..60542fc19d 100644 --- a/ggml/src/ggml-cuda/mean.cu +++ b/ggml/src/ggml-cuda/mean.cu @@ -34,13 +34,11 @@ void ggml_cuda_op_mean(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { // CUDA_GRAPHS_DISABLED ((ncols > 65536) && ((ctx.cuda_graph->instance == nullptr) && (iscapturing == cudaStreamCaptureStatusNone) || - ctx.cuda_graph->disable_due_to_gpu_arch || ctx.cuda_graph->disable_due_to_too_many_updates || - ctx.cuda_graph->disable_due_to_failed_graph_capture)) || + ctx.cuda_graph->is_enabled())) || // CUDA_GRAPHS ENABLED ((ncols > 32768) && !((ctx.cuda_graph->instance == nullptr) && (iscapturing == cudaStreamCaptureStatusNone) || - ctx.cuda_graph->disable_due_to_gpu_arch || ctx.cuda_graph->disable_due_to_too_many_updates || - ctx.cuda_graph->disable_due_to_failed_graph_capture))) { + ctx.cuda_graph->is_enabled()))) { #else (ncols > 65536)) { #endif // USE_CUDA_GRAPH From ea13cba85092fa17cae4d7bd064e5476a86ea53c Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Tue, 6 Jan 2026 10:37:07 -0600 Subject: [PATCH 24/38] vulkan: support buffer_from_host_ptr (#18467) * vulkan: support buffer_from_host_ptr * hacky use of buffer_from_host_ptr for directio * disable buffer_from_host_ptr cap * use external memory for ggml_vk_host_malloc, revert model loader changes * disable external_memory_host for MoltenVK * take buffer memory types into account * don't use external_memory_host for ggml_vk_host_malloc --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 175 +++++++++++++++++++++++---- 1 file changed, 149 insertions(+), 26 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 502a4deebc..3c13777b8a 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -550,6 +550,8 @@ struct vk_device_struct { uint64_t max_memory_allocation_size; uint64_t max_buffer_size; uint64_t suballocation_block_size; + uint64_t min_imported_host_pointer_alignment; + bool external_memory_host {}; bool fp16; bool bf16; bool pipeline_robustness; @@ -2410,7 +2412,8 @@ static std::vector ggml_vk_find_memory_properties(const vk::PhysicalDe return indices; } -static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std::initializer_list & req_flags_list) { +static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std::initializer_list & req_flags_list, + void *import_ptr = nullptr) { VK_LOG_DEBUG("ggml_vk_create_buffer(" << device->name << ", " << size << ", " << to_string(req_flags_list.begin()[0]) << ", " << to_string(req_flags_list.begin()[req_flags_list.size()-1]) << ")"); if (size > device->max_buffer_size) { throw vk::OutOfDeviceMemoryError("Requested buffer size exceeds device buffer size limit"); @@ -2439,6 +2442,12 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std nullptr, }; + vk::ExternalMemoryBufferCreateInfo external_memory_bci; + if (import_ptr) { + external_memory_bci.handleTypes = vk::ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT; + buffer_create_info.setPNext(&external_memory_bci); + } + buf->buffer = device->device.createBuffer(buffer_create_info); vk::MemoryRequirements mem_req = device->device.getBufferMemoryRequirements(buf->buffer); @@ -2453,35 +2462,80 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std mem_flags_info.setPNext(&mem_priority_info); } - for (auto it = req_flags_list.begin(); it != req_flags_list.end(); it++) { - const auto & req_flags = *it; - - const std::vector memory_type_indices = ggml_vk_find_memory_properties(&mem_props, &mem_req, req_flags); - - if (memory_type_indices.empty()) { - continue; + if (import_ptr) { + vk::MemoryHostPointerPropertiesEXT host_pointer_props; + try { + host_pointer_props = device->device.getMemoryHostPointerPropertiesEXT(vk::ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT, import_ptr); + } catch (vk::SystemError& e) { + GGML_LOG_WARN("ggml_vulkan: Failed getMemoryHostPointerPropertiesEXT (%s)\n", e.what()); + device->device.destroyBuffer(buf->buffer); + return {}; } - buf->memory_property_flags = req_flags; + vk::PhysicalDeviceMemoryProperties mem_props = device->physical_device.getMemoryProperties(); - bool done = false; + uint32_t memory_type_idx; + vk::MemoryPropertyFlags property_flags = *req_flags_list.begin(); + for (memory_type_idx = 0; memory_type_idx < 32; ++memory_type_idx) { + if (!(host_pointer_props.memoryTypeBits & (1u << memory_type_idx))) { + continue; + } + if (!(mem_req.memoryTypeBits & (1u << memory_type_idx))) { + continue; + } - for (auto mtype_it = memory_type_indices.begin(); mtype_it != memory_type_indices.end(); mtype_it++) { - try { - buf->device_memory = device->device.allocateMemory({ mem_req.size, *mtype_it, &mem_flags_info }); - done = true; + vk::MemoryType memory_type = mem_props.memoryTypes[memory_type_idx]; + // check for visible+coherent+cached. Other flags (e.g. devicelocal) are allowed + if ((memory_type.propertyFlags & property_flags) == property_flags) { + property_flags = memory_type.propertyFlags; break; - } catch (const vk::SystemError& e) { - // loop and retry - // during last attempt throw the exception - if (it + 1 == req_flags_list.end() && mtype_it + 1 == memory_type_indices.end()) { - device->device.destroyBuffer(buf->buffer); - throw e; - } } } + if (memory_type_idx == 32) { + GGML_LOG_WARN("ggml_vulkan: Memory type for host allocation not found\n"); + device->device.destroyBuffer(buf->buffer); + return {}; + } - if (done) { - break; + buf->memory_property_flags = mem_props.memoryTypes[memory_type_idx].propertyFlags; + try { + vk::ImportMemoryHostPointerInfoEXT import_info; + import_info.handleType = vk::ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT; + import_info.pHostPointer = import_ptr; + import_info.setPNext(&mem_flags_info); + buf->device_memory = device->device.allocateMemory({ size, memory_type_idx, &import_info }); + } catch (const vk::SystemError& e) { + } + } else { + for (auto it = req_flags_list.begin(); it != req_flags_list.end(); it++) { + const auto & req_flags = *it; + + const std::vector memory_type_indices = ggml_vk_find_memory_properties(&mem_props, &mem_req, req_flags); + + if (memory_type_indices.empty()) { + continue; + } + buf->memory_property_flags = req_flags; + + bool done = false; + + for (auto mtype_it = memory_type_indices.begin(); mtype_it != memory_type_indices.end(); mtype_it++) { + try { + buf->device_memory = device->device.allocateMemory({ mem_req.size, *mtype_it, &mem_flags_info }); + done = true; + break; + } catch (const vk::SystemError& e) { + // loop and retry + // during last attempt throw the exception + if (it + 1 == req_flags_list.end() && mtype_it + 1 == memory_type_indices.end()) { + device->device.destroyBuffer(buf->buffer); + throw e; + } + } + } + + if (done) { + break; + } } } @@ -2492,8 +2546,12 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std buf->ptr = nullptr; - if (buf->memory_property_flags & vk::MemoryPropertyFlagBits::eHostVisible) { - buf->ptr = device->device.mapMemory(buf->device_memory, 0, VK_WHOLE_SIZE); + if (import_ptr) { + buf->ptr = import_ptr; + } else { + if (buf->memory_property_flags & vk::MemoryPropertyFlagBits::eHostVisible) { + buf->ptr = device->device.mapMemory(buf->device_memory, 0, VK_WHOLE_SIZE); + } } device->device.bindBufferMemory(buf->buffer, buf->device_memory, 0); @@ -4447,6 +4505,8 @@ static vk_device ggml_vk_get_device(size_t idx) { } else if (strcmp("VK_EXT_memory_priority", properties.extensionName) == 0 && getenv("GGML_VK_ENABLE_MEMORY_PRIORITY")) { device->memory_priority = true; + } else if (strcmp("VK_EXT_external_memory_host", properties.extensionName) == 0) { + device->external_memory_host = true; } } @@ -4461,6 +4521,7 @@ static vk_device ggml_vk_get_device(size_t idx) { vk::PhysicalDeviceVulkan12Properties vk12_props; vk::PhysicalDeviceSubgroupSizeControlPropertiesEXT subgroup_size_control_props; vk::PhysicalDeviceShaderIntegerDotProductPropertiesKHR shader_integer_dot_product_props; + vk::PhysicalDeviceExternalMemoryHostPropertiesEXT external_memory_host_props; props2.pNext = &props3; props3.pNext = &subgroup_props; @@ -4500,11 +4561,22 @@ static vk_device ggml_vk_get_device(size_t idx) { last_struct = (VkBaseOutStructure *)&shader_integer_dot_product_props; } + if (device->external_memory_host) { + last_struct->pNext = (VkBaseOutStructure *)&external_memory_host_props; + last_struct = (VkBaseOutStructure *)&external_memory_host_props; + } + device->physical_device.getProperties2(&props2); device->properties = props2.properties; device->vendor_id = device->properties.vendorID; device->driver_id = driver_props.driverID; + if (device->driver_id == vk::DriverId::eMoltenvk) { + // Disable external_memory_host until https://github.com/KhronosGroup/MoltenVK/pull/2622 + // is available in the Vulkan SDK. + device->external_memory_host = false; + } + // Implementing the async backend interfaces seems broken on older Intel HW, // see https://github.com/ggml-org/llama.cpp/issues/17302. device->support_async = (device->vendor_id != VK_VENDOR_ID_INTEL || @@ -4586,6 +4658,8 @@ static vk_device ggml_vk_get_device(size_t idx) { device->integer_dot_product = device->integer_dot_product && shader_integer_dot_product_props.integerDotProduct4x8BitPackedSignedAccelerated; + device->min_imported_host_pointer_alignment = external_memory_host_props.minImportedHostPointerAlignment; + device->max_workgroup_size_log2 = uint32_t(log2f(float(device->properties.limits.maxComputeWorkGroupInvocations))); std::vector queue_family_props = device->physical_device.getQueueFamilyProperties(); @@ -4717,6 +4791,10 @@ static vk_device ggml_vk_get_device(size_t idx) { device_extensions.push_back("VK_KHR_pipeline_executable_properties"); } + if (device->external_memory_host) { + device_extensions.push_back("VK_EXT_external_memory_host"); + } + vkGetPhysicalDeviceFeatures2(device->physical_device, &device_features2); device->pipeline_executable_properties_support = pipeline_executable_properties_support; @@ -14773,6 +14851,51 @@ static void ggml_backend_vk_device_event_synchronize(ggml_backend_dev_t dev, ggm VK_CHECK(device->device.waitForFences({ vkev->fence }, true, UINT64_MAX), "event_synchronize"); } +static vk_buffer ggml_vk_buffer_from_host_ptr(vk_device & device, void * ptr, size_t size) { + if (!device->external_memory_host) { + return {}; + } + + uintptr_t uptr = reinterpret_cast(ptr); + if (uptr & (device->min_imported_host_pointer_alignment - 1)) { + return {}; + } + if (size & (device->min_imported_host_pointer_alignment - 1)) { + return {}; + } + + const vk::MemoryPropertyFlags property_flags = vk::MemoryPropertyFlagBits::eHostVisible | vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostCached; + + vk_buffer buf {}; + try { + buf = ggml_vk_create_buffer(device, size, { property_flags }, ptr); + } catch (vk::SystemError& e) { + GGML_LOG_WARN("ggml_vulkan: Failed ggml_vk_create_buffer (%s)\n", e.what()); + } + + return buf; +} + +static ggml_backend_buffer_t ggml_backend_vk_device_buffer_from_host_ptr(ggml_backend_dev_t dev, void * ptr, size_t size, size_t max_tensor_size) { + VK_LOG_DEBUG("ggml_backend_vk_device_buffer_from_host_ptr(backend=" << dev << ", ptr=" << ptr << ", size=" << size << ")"); + GGML_UNUSED(max_tensor_size); + + ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; + auto device = ggml_vk_get_device(ctx->device); + + vk_buffer buf = ggml_vk_buffer_from_host_ptr(device, ptr, size); + + if (!buf) { + return {}; + } + + ggml_backend_vk_buffer_context * bufctx = new ggml_backend_vk_buffer_context(device, std::move(buf), device->name); + + ggml_backend_buffer_t ret = ggml_backend_buffer_init(ggml_backend_vk_device_get_buffer_type(dev), ggml_backend_vk_buffer_interface, bufctx, size); + + return ret; +} + static const struct ggml_backend_device_i ggml_backend_vk_device_i = { /* .get_name = */ ggml_backend_vk_device_get_name, /* .get_description = */ ggml_backend_vk_device_get_description, @@ -14782,7 +14905,7 @@ static const struct ggml_backend_device_i ggml_backend_vk_device_i = { /* .init_backend = */ ggml_backend_vk_device_init, /* .get_buffer_type = */ ggml_backend_vk_device_get_buffer_type, /* .get_host_buffer_type = */ ggml_backend_vk_device_get_host_buffer_type, - /* .buffer_from_host_ptr = */ NULL, + /* .buffer_from_host_ptr = */ ggml_backend_vk_device_buffer_from_host_ptr, /* .supports_op = */ ggml_backend_vk_device_supports_op, /* .supports_buft = */ ggml_backend_vk_device_supports_buft, /* .offload_op = */ ggml_backend_vk_device_offload_op, From 07fbe19f1fbcfa09abca7cccc62eaf82c1567b7e Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Tue, 6 Jan 2026 17:51:08 +0100 Subject: [PATCH 25/38] arg: use CSV escape style for multiple-value args (#18643) * arg: use CSV escape style for multiple-value args * add test --- common/arg.cpp | 107 ++++++++++++++++++++++++-------------- tests/test-arg-parser.cpp | 9 ++++ 2 files changed, 76 insertions(+), 40 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index b52b3e70b7..c3610d262b 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -854,6 +854,54 @@ bool common_arg_utils::is_autoy(const std::string & value) { return value == "auto" || value == "-1"; } +// Simple CSV parser that handles quoted fields and escaped quotes +// example: +// input: value1,"value, with, commas","value with ""escaped"" quotes",value4 +// output: [value1] [value, with, commas] [value with "escaped" quotes] [value4] +static std::vector parse_csv_row(const std::string& input) { + std::vector fields; + std::string field; + bool in_quotes = false; + + for (size_t i = 0; i < input.length(); ++i) { + char ch = input[i]; + + if (ch == '"') { + if (!in_quotes) { + // start of quoted field (only valid if at beginning of field) + if (!field.empty()) { + // quote appeared in middle of unquoted field, treat as literal + field += '"'; + } else { + in_quotes = true; // start + } + } else { + if (i + 1 < input.length() && input[i + 1] == '"') { + // escaped quote: "" + field += '"'; + ++i; // skip the next quote + } else { + in_quotes = false; // end + } + } + } else if (ch == ',') { + if (in_quotes) { + field += ','; + } else { + fields.push_back(std::move(field)); + field.clear(); + } + } else { + field += ch; + } + } + + // Add the last field + fields.push_back(std::move(field)); + + return fields; +} + common_params_context common_params_parser_init(common_params & params, llama_example ex, void(*print_usage)(int, char **)) { // per-example default params // we define here to make sure it's included in llama-gen-docs @@ -1250,7 +1298,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--in-file"}, "FNAME", "an input file (use comma-separated values to specify multiple files)", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { std::ifstream file(item); if (!file) { throw std::runtime_error(string_format("error: failed to open file '%s'\n", item.c_str())); @@ -2002,7 +2050,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--image", "--audio"}, "FILE", "path to an image or audio file. use with multimodal models, use comma-separated values for multiple files\n", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { params.image.emplace_back(item); } } @@ -2259,37 +2307,12 @@ common_params_context common_params_parser_init(common_params & params, llama_ex )); add_opt(common_arg( {"--override-kv"}, "KEY=TYPE:VALUE,...", - "advanced option to override model metadata by key. to specify multiple overrides, either use comma-separated or repeat this argument.\n" + "advanced option to override model metadata by key. to specify multiple overrides, either use comma-separated values.\n" "types: int, float, bool, str. example: --override-kv tokenizer.ggml.add_bos_token=bool:false,tokenizer.ggml.add_eos_token=bool:false", [](common_params & params, const std::string & value) { - std::vector kv_overrides; - - std::string current; - bool escaping = false; - - for (const char c : value) { - if (escaping) { - current.push_back(c); - escaping = false; - } else if (c == '\\') { - escaping = true; - } else if (c == ',') { - kv_overrides.push_back(current); - current.clear(); - } else { - current.push_back(c); - } - } - - if (escaping) { - current.push_back('\\'); - } - - kv_overrides.push_back(current); - - for (const auto & kv_override : kv_overrides) { - if (!string_parse_kv_override(kv_override.c_str(), params.kv_overrides)) { - throw std::runtime_error(string_format("error: Invalid type for KV override: %s\n", kv_override.c_str())); + for (const auto & item : parse_csv_row(value)) { + if (!string_parse_kv_override(item.c_str(), params.kv_overrides)) { + throw std::runtime_error(string_format("error: Invalid type for KV override: %s\n", item.c_str())); } } } @@ -2306,7 +2329,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--lora"}, "FNAME", "path to LoRA adapter (use comma-separated values to load multiple adapters)", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { params.lora_adapters.push_back({ item, 1.0, "", "", nullptr }); } } @@ -2317,7 +2340,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex "path to LoRA adapter with user defined scaling (format: FNAME:SCALE,...)\n" "note: use comma-separated values", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { auto parts = string_split(item, ':'); if (parts.size() != 2) { throw std::invalid_argument("lora-scaled format: FNAME:SCALE"); @@ -2331,7 +2354,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--control-vector"}, "FNAME", "add a control vector\nnote: use comma-separated values to add multiple control vectors", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { params.control_vectors.push_back({ 1.0f, item, }); } } @@ -2341,7 +2364,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex "add a control vector with user defined scaling SCALE\n" "note: use comma-separated values (format: FNAME:SCALE,...)", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { auto parts = string_split(item, ':'); if (parts.size() != 2) { throw std::invalid_argument("control-vector-scaled format: FNAME:SCALE"); @@ -2439,7 +2462,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--context-file"}, "FNAME", "file to load context from (use comma-separated values to specify multiple files)", [](common_params & params, const std::string & value) { - for (const auto & item : string_split(value, ',')) { + for (const auto & item : parse_csv_row(value)) { std::ifstream file(item, std::ios::binary); if (!file) { throw std::runtime_error(string_format("error: failed to open file '%s'\n", item.c_str())); @@ -2675,9 +2698,13 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_RERANKING")); add_opt(common_arg( {"--api-key"}, "KEY", - "API key to use for authentication (default: none)", + "API key to use for authentication, multiple keys can be provided as a comma-separated list (default: none)", [](common_params & params, const std::string & value) { - params.api_keys.push_back(value); + for (const auto & key : parse_csv_row(value)) { + if (!key.empty()) { + params.api_keys.push_back(key); + } + } } ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_API_KEY")); add_opt(common_arg( @@ -2691,7 +2718,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex std::string key; while (std::getline(key_file, key)) { if (!key.empty()) { - params.api_keys.push_back(key); + params.api_keys.push_back(key); } } key_file.close(); @@ -2713,7 +2740,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_SSL_CERT_FILE")); add_opt(common_arg( {"--chat-template-kwargs"}, "STRING", - string_format("sets additional params for the json template parser"), + "sets additional params for the json template parser, must be a valid json object string, e.g. '{\"key1\":\"value1\",\"key2\":\"value2\"}'", [](common_params & params, const std::string & value) { auto parsed = json::parse(value); for (const auto & item : parsed.items()) { diff --git a/tests/test-arg-parser.cpp b/tests/test-arg-parser.cpp index 1bbb745e78..e995974a2e 100644 --- a/tests/test-arg-parser.cpp +++ b/tests/test-arg-parser.cpp @@ -127,6 +127,15 @@ int main(void) { assert(true == common_params_parse(argv.size(), list_str_to_char(argv).data(), params, LLAMA_EXAMPLE_SPECULATIVE)); assert(params.speculative.n_max == 123); + // multi-value args (CSV) + argv = {"binary_name", "--lora", "file1.gguf,\"file2,2.gguf\",\"file3\"\"3\"\".gguf\",file4\".gguf"}; + assert(true == common_params_parse(argv.size(), list_str_to_char(argv).data(), params, LLAMA_EXAMPLE_COMMON)); + assert(params.lora_adapters.size() == 4); + assert(params.lora_adapters[0].path == "file1.gguf"); + assert(params.lora_adapters[1].path == "file2,2.gguf"); + assert(params.lora_adapters[2].path == "file3\"3\".gguf"); + assert(params.lora_adapters[3].path == "file4\".gguf"); + // skip this part on windows, because setenv is not supported #ifdef _WIN32 printf("test-arg-parser: skip on windows build\n"); From 24af22fc365ea6ef8e37875108a83658aa16fc8a Mon Sep 17 00:00:00 2001 From: Aadeshveer Singh <24b0926@iitb.ac.in> Date: Tue, 6 Jan 2026 23:54:34 +0530 Subject: [PATCH 26/38] ggml : optimize cuda ssm_scan using warp-level reduction (#18505) * ggml : optimize cuda ssm_scan using warp-level reduction * ggml : apply code review suggestions (style, const, constexpr) * ggml : add TODO regarding stride consistency --- ggml/src/ggml-cuda/ssm-scan.cu | 133 ++++++++++++--------------------- 1 file changed, 49 insertions(+), 84 deletions(-) diff --git a/ggml/src/ggml-cuda/ssm-scan.cu b/ggml/src/ggml-cuda/ssm-scan.cu index 6b424381df..c1d4e2bc8d 100644 --- a/ggml/src/ggml-cuda/ssm-scan.cu +++ b/ggml/src/ggml-cuda/ssm-scan.cu @@ -114,7 +114,7 @@ __global__ void __launch_bounds__(splitD, 1) #endif // __clang__ // assumes as many threads as d_state -template +template __global__ void __launch_bounds__(d_state, 1) ssm_scan_f32_group( const float * __restrict__ src0, const float * __restrict__ src1, const float * __restrict__ src2, @@ -125,20 +125,25 @@ __global__ void __launch_bounds__(d_state, 1) const int src4_nb2, const int src4_nb3, const int src5_nb2, const int src5_nb3, const int64_t s_off, const int64_t n_head, const int64_t d_head, const int64_t n_group, const int64_t n_tok) { - const int head_idx = (blockIdx.x * splitH) / d_head; - const int head_off = ((blockIdx.x * splitH) % d_head) * sizeof(float); - const int seq_idx = blockIdx.y; + const int warp = threadIdx.x / WARP_SIZE; + const int lane = threadIdx.x % WARP_SIZE; + const int warp_idx = blockIdx.x * c_factor + warp; + + const int head_idx = warp_idx / d_head; + const int head_off = (warp_idx % d_head) * sizeof(float); + const int seq_idx = blockIdx.y; const int group_off = (head_idx / (n_head / n_group)) * d_state * sizeof(float); - const float * s0_block = (const float *) ((const char *) src0 + src6[seq_idx] * src0_nb3 + head_idx * src0_nb2 + head_off * d_state); - const float * x_block = (const float *) ((const char *) src1 + (seq_idx * src1_nb3) + blockIdx.x * splitH * sizeof(float)); - const float * dt_block = (const float *) ((const char *) src2 + (seq_idx * src2_nb2) + head_idx * sizeof(float)); - const float * A_block = (const float *) ((const char *) src3 + head_idx * src3_nb1); - const float * B_block = (const float *) ((const char *) src4 + (seq_idx * src4_nb3) + (group_off)); - const float * C_block = (const float *) ((const char *) src5 + (seq_idx * src5_nb3) + (group_off)); - float * y_block = dst + (seq_idx * n_tok * n_head * d_head) + blockIdx.x * splitH; - float * s_block = (float *) ((char *) dst + s_off + seq_idx * src0_nb3 + head_idx * src0_nb2 + head_off * d_state); + // TODO: refactor strides to be in elements/floats instead of bytes to be cleaner and consistent with the rest of the codebase + const float * s0_warp = (const float *) ((const char *) src0 + src6[seq_idx] * src0_nb3 + head_idx * src0_nb2 + head_off * d_state); + const float * x_warp = (const float *) ((const char *) src1 + (seq_idx * src1_nb3) + (warp_idx * sizeof(float))); + const float * dt_warp = (const float *) ((const char *) src2 + (seq_idx * src2_nb2) + head_idx * sizeof(float)); + const float * A_warp = (const float *) ((const char *) src3 + head_idx * src3_nb1); + const float * B_warp = (const float *) ((const char *) src4 + (seq_idx * src4_nb3) + (group_off)); + const float * C_warp = (const float *) ((const char *) src5 + (seq_idx * src5_nb3) + (group_off)); + float * y_warp = dst + (seq_idx * n_tok * n_head * d_head) + warp_idx; + float * s_warp = (float *) ((char *) dst + s_off + seq_idx * src0_nb3 + head_idx * src0_nb2 + head_off * d_state); // strides across n_seq_tokens const int stride_x = src1_nb2 / sizeof(float); @@ -147,80 +152,42 @@ __global__ void __launch_bounds__(d_state, 1) const int stride_C = src5_nb2 / sizeof(float); const int stride_y = n_head * d_head; - float state[splitH]; - // for the parallel accumulation - __shared__ float stateC[splitH * d_state]; + float state[c_factor]; + float state_sum = 0.0f; #pragma unroll - for (int j = 0; j < splitH; j++) { - state[j] = s0_block[j * d_state + threadIdx.x]; + for (int j = 0; j < c_factor; j++) { + state[j] = s0_warp[WARP_SIZE * j + lane]; } for (int64_t i = 0; i < n_tok; i++) { - // TODO: only calculate dA and dt_soft_plus once per head instead of every splitH head elements - // TODO: only calculate B and C once per head group - // NOTE: dt_soft_plus, dA and x_dt have the same value across threads here. - float dt_soft_plus = dt_block[i * stride_dt]; - if (dt_soft_plus <= 20.0f) { - dt_soft_plus = log1pf(expf(dt_soft_plus)); - } - const float dA = expf(dt_soft_plus * A_block[0]); - const float B = B_block[i * stride_B + threadIdx.x]; - const float C = C_block[i * stride_C + threadIdx.x]; + // NOTE: dt_soft_plus, dA and x_dt have the same value for a warp here. + // Recalculation is intentional; sharing via shuffles/smem proved slower due to sync overhead. + const float dt_soft_plus = (dt_warp[i * stride_dt] <= 20.0f ? log1pf(expf(dt_warp[i * stride_dt])) : dt_warp[i * stride_dt]); - // across d_head + state_sum = 0.0f; + const float dA = expf(dt_soft_plus * A_warp[0]); + const float x_dt = x_warp[i * stride_x] * dt_soft_plus; #pragma unroll - for (int j = 0; j < splitH; j++) { - const float x_dt = x_block[i * stride_x + j] * dt_soft_plus; - - state[j] = (state[j] * dA) + (B * x_dt); - - stateC[j * d_state + threadIdx.x] = state[j] * C; + for (int j = 0; j < c_factor; j++) { + const float B_val = B_warp[i * stride_B + WARP_SIZE * j + lane]; + const float C_val = C_warp[i * stride_C + WARP_SIZE * j + lane]; + state[j] = (state[j] * dA) + (B_val * x_dt); + state_sum += state[j] * C_val; } - __syncthreads(); + // parallel accumulation for output + state_sum = warp_reduce_sum(state_sum); - // parallel accumulation for stateC - // TODO: simplify - { - static_assert((d_state & -d_state) == d_state, "the state size has to be a power of 2"); - static_assert((splitH & -splitH) == splitH, "splitH has to be a power of 2"); - - // reduce until w matches the warp size - // TODO: does this work even when the physical warp size is 64? -#pragma unroll - for (int w = d_state; w > WARP_SIZE; w >>= 1) { - // (assuming there are d_state threads) -#pragma unroll - for (int j = 0; j < ((w >> 1) * splitH + d_state - 1) / d_state; j++) { - // TODO: check for bank conflicts - const int k = (threadIdx.x % (w >> 1)) + (d_state * (threadIdx.x / (w >> 1))) + j * d_state * (d_state / (w >> 1)); - stateC[k] += stateC[k + (w >> 1)]; - - } - __syncthreads(); - } - - static_assert(splitH >= d_state / WARP_SIZE); - -#pragma unroll - for (int j = 0; j < splitH / (d_state / WARP_SIZE); j++) { - float y = stateC[(threadIdx.x % WARP_SIZE) + d_state * (threadIdx.x / WARP_SIZE) + j * d_state * (d_state / WARP_SIZE)]; - y = warp_reduce_sum(y); - - // store the above accumulations - if (threadIdx.x % WARP_SIZE == 0) { - const int k = threadIdx.x / WARP_SIZE + j * (d_state / WARP_SIZE); - y_block[i * stride_y + k] = y; - } - } + if (lane == 0) { + y_warp[i * stride_y] = state_sum; } } // write back the state #pragma unroll - for (int j = 0; j < splitH; j++) { - s_block[j * d_state + threadIdx.x] = state[j]; + for (int j = 0; j < c_factor; j++) { + s_warp[WARP_SIZE * j + lane] = state[j]; } } @@ -231,27 +198,24 @@ static void ssm_scan_f32_cuda(const float * src0, const float * src1, const floa const int src5_nb3, const int64_t s_off, const int64_t d_state, const int64_t head_dim, const int64_t n_head, const int64_t n_group, const int64_t n_tok, const int64_t n_seq, cudaStream_t stream) { - const int threads = 128; // NOTE: if you change conditions here, be sure to update the corresponding supports_op condition! if (src3_nb1 == sizeof(float)) { // Mamba-2 if (d_state == 128) { - GGML_ASSERT(d_state % threads == 0); - // NOTE: can be any power of two between 4 and 64 - const int splitH = 16; - GGML_ASSERT(head_dim % splitH == 0); - const dim3 blocks((n_head * head_dim + (splitH - 1)) / splitH, n_seq, 1); - ssm_scan_f32_group<16, 128><<>>( + constexpr int threads = 128; + constexpr int num_warps = threads/WARP_SIZE; + + const dim3 blocks((n_head * head_dim + (num_warps - 1)) / num_warps, n_seq, 1); + ssm_scan_f32_group<128/WARP_SIZE, 128><<>>( src0, src1, src2, src3, src4, src5, src6, dst, src0_nb2, src0_nb3, src1_nb2, src1_nb3, src2_nb1, src2_nb2, src3_nb1, src4_nb2, src4_nb3, src5_nb2, src5_nb3, s_off, n_head, head_dim, n_group, n_tok); } else if (d_state == 256) { // Falcon-H1 - const int threads = 256; - // NOTE: can be any power of two between 8 and 64 - const int splitH = 16; - GGML_ASSERT(head_dim % splitH == 0); - const dim3 blocks((n_head * head_dim + (splitH - 1)) / splitH, n_seq, 1); - ssm_scan_f32_group<16, 256><<>>( + constexpr int threads = 256; + constexpr int num_warps = threads/WARP_SIZE; + + const dim3 blocks((n_head * head_dim + (num_warps - 1)) / num_warps, n_seq, 1); + ssm_scan_f32_group<256/WARP_SIZE, 256><<>>( src0, src1, src2, src3, src4, src5, src6, dst, src0_nb2, src0_nb3, src1_nb2, src1_nb3, src2_nb1, src2_nb2, src3_nb1, src4_nb2, src4_nb3, src5_nb2, src5_nb3, s_off, n_head, head_dim, n_group, n_tok); @@ -260,6 +224,7 @@ static void ssm_scan_f32_cuda(const float * src0, const float * src1, const floa } } else { // Mamba-1 + constexpr int threads = 128; GGML_ASSERT(n_head % threads == 0); GGML_ASSERT(head_dim == 1); GGML_ASSERT(n_group == 1); From 68b4d516c305325d31e698c4673b691d2a9d879f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Tue, 6 Jan 2026 20:02:30 +0100 Subject: [PATCH 27/38] llama-params-fit: fix last devices with low VRAM (#18494) --- src/llama.cpp | 66 +++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/src/llama.cpp b/src/llama.cpp index 98fb770844..0162ae8d58 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -359,6 +359,11 @@ static void llama_params_fit_impl( // for the first partial layer varying parts can overflow, all further layers use LAYER_FRACTION_MOE: layer_fraction_t overflow_type = LAYER_FRACTION_MOE; + + uint32_t n_full() const { + assert(n_layer >= n_part); + return n_layer - n_part; + } }; const size_t ntbo = llama_max_tensor_buft_overrides(); @@ -382,7 +387,7 @@ static void llama_params_fit_impl( size_t itbo = 0; for (size_t id = 0; id < nd; id++) { - il0 += ngl_per_device[id].n_layer - ngl_per_device[id].n_part; + il0 += ngl_per_device[id].n_full(); for (uint32_t il = il0; il < il0 + ngl_per_device[id].n_part; il++) { if (itbo + 1 >= ntbo) { tensor_buft_overrides[itbo].pattern = nullptr; @@ -393,7 +398,7 @@ static void llama_params_fit_impl( + std::to_string(ntbo) + " is insufficient for model"); } tensor_buft_overrides[itbo].pattern = get_overflow_pattern(il, il == il0 ? ngl_per_device[id].overflow_type : LAYER_FRACTION_MOE); - tensor_buft_overrides[itbo].buft = overflow_bufts[id]; + tensor_buft_overrides[itbo].buft = il == il0 ? overflow_bufts[id] : ggml_backend_cpu_buffer_type(); itbo++; } il0 += ngl_per_device[id].n_part; @@ -468,20 +473,14 @@ static void llama_params_fit_impl( LLAMA_LOG_DEBUG("%s: id=%zu, target=%" PRId64 " MiB\n", __func__, id, targets[id]/MiB); } - std::vector overflow_bufts; // which bufts the partial layers of a device overflow to: + std::vector overflow_bufts; // which bufts the first partial layer of a device overflows to: overflow_bufts.reserve(nd); - for (size_t id = 0; id < nd - 1; ++id) { - overflow_bufts.push_back(ggml_backend_dev_buffer_type(devs[id + 1])); + for (size_t id = 0; id < nd; id++) { + overflow_bufts.push_back(ggml_backend_cpu_buffer_type()); } - overflow_bufts.push_back(ggml_backend_cpu_buffer_type()); std::vector ngl_per_device(nd); std::vector mem = get_memory_for_layers(__func__, ngl_per_device, overflow_bufts); - if (hp_nex > 0) { - for (size_t id = 0; id < nd; id++) { - ngl_per_device[id].overflow_type = LAYER_FRACTION_MOE; - } - } // optimize the number of layers per device using the method of false position: // - ngl_per_device has 0 layers for each device, lower bound @@ -512,9 +511,6 @@ static void llama_params_fit_impl( if (mem_high[id] > targets[id]) { assert(ngl_per_device_high[id].n_layer > ngl_per_device[id].n_layer); uint32_t delta = ngl_per_device_high[id].n_layer - ngl_per_device[id].n_layer; - if (hp_nex > 0 && size_t(id) == nd - 1) { - delta--; - } LLAMA_LOG_DEBUG("%s: start filling device %" PRIu32 ", delta=%" PRIu32 "\n", __func__, id, delta); while (delta > 1) { uint32_t step_size = int64_t(delta) * (targets[id] - mem[id]) / (mem_high[id] - mem[id]); @@ -524,7 +520,8 @@ static void llama_params_fit_impl( std::vector ngl_per_device_test = ngl_per_device; ngl_per_device_test[id].n_layer += step_size; if (hp_nex) { - ngl_per_device_test[id].n_part += step_size; + ngl_per_device_test[id].n_part += size_t(id) == nd - 1 && ngl_per_device_test[id].n_part == 0 ? + step_size - 1 : step_size; // the first layer is the output layer which must always be full } const std::vector mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts); @@ -573,7 +570,7 @@ static void llama_params_fit_impl( assert(id_dense_start < nd); LLAMA_LOG_INFO("%s: converting dense-only layers to full layers and filling them front-to-back with overflow to next device/system memory:\n", __func__); - for (size_t id = 0; id <= id_dense_start; id++) { + for (size_t id = 0; id <= id_dense_start && id_dense_start < nd; id++) { std::vector ngl_per_device_high = ngl_per_device; for (size_t jd = id_dense_start; jd < nd; jd++) { const uint32_t n_layer_move = jd < nd - 1 ? ngl_per_device_high[jd].n_layer : ngl_per_device_high[jd].n_layer - 1; @@ -585,12 +582,8 @@ static void llama_params_fit_impl( std::vector mem_high = get_memory_for_layers(__func__, ngl_per_device_high, overflow_bufts); if (mem_high[id] > targets[id]) { - assert(ngl_per_device_high[id].n_layer >= ngl_per_device_high[id].n_part); - assert(ngl_per_device[id].n_layer >= ngl_per_device[id].n_part); - assert((ngl_per_device_high[id].n_layer - ngl_per_device_high[id].n_part) - >= ngl_per_device[id].n_layer - ngl_per_device[id].n_part); - uint32_t delta = (ngl_per_device_high[id].n_layer - ngl_per_device_high[id].n_part) - - (ngl_per_device[id].n_layer - ngl_per_device[id].n_part); + assert(ngl_per_device_high[id].n_full() >= ngl_per_device[id].n_full()); + uint32_t delta = ngl_per_device_high[id].n_full() - ngl_per_device[id].n_full(); while (delta > 1) { uint32_t step_size = int64_t(delta) * (targets[id] - mem[id]) / (mem_high[id] - mem[id]); step_size = std::max(step_size, uint32_t(1)); @@ -606,7 +599,7 @@ static void llama_params_fit_impl( ngl_per_device_test[id].n_layer += n_convert_jd; n_converted_test += n_convert_jd; - if (ngl_per_device_test[id_dense_start_test].n_layer > 0) { + if (ngl_per_device_test[id_dense_start_test].n_part > 0) { break; } } @@ -625,8 +618,8 @@ static void llama_params_fit_impl( LLAMA_LOG_DEBUG("%s: set ngl_per_device_high[%zu].(n_layer, n_part)=(%" PRIu32 ", %" PRIu32 "), id_dense_start_high=%zu\n", __func__, id, ngl_per_device_high[id].n_layer, ngl_per_device_high[id].n_part, id_dense_start_high); } - delta = (ngl_per_device_high[id].n_layer - ngl_per_device_high[id].n_part) - - (ngl_per_device[id].n_layer - ngl_per_device[id].n_part); + assert(ngl_per_device_high[id].n_full() >= ngl_per_device[id].n_full()); + delta = ngl_per_device_high[id].n_full() - ngl_per_device[id].n_full(); } } else { ngl_per_device = ngl_per_device_high; @@ -644,14 +637,19 @@ static void llama_params_fit_impl( ngl_per_device_test[id_dense_start_test].n_part--; ngl_per_device_test[id].n_layer++; ngl_per_device_test[id].n_part++; - if (ngl_per_device_test[id_dense_start_test].n_layer == 0) { + if (ngl_per_device_test[id_dense_start_test].n_part == 0) { id_dense_start_test++; } ngl_per_device_test[id].overflow_type = LAYER_FRACTION_UP; + std::vector overflow_bufts_test = overflow_bufts; + if (id < nd - 1) { + overflow_bufts_test[id] = ggml_backend_dev_buffer_type(devs[id + 1]); + } LLAMA_LOG_DEBUG("%s: trying to fit one extra layer with overflow_type=LAYER_FRACTION_UP\n", __func__); - std::vector mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts); + std::vector mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts_test); if (mem_test[id] < targets[id] && (id + 1 == nd || mem_test[id + 1] < targets[id + 1])) { ngl_per_device = ngl_per_device_test; + overflow_bufts = overflow_bufts_test; mem = mem_test; id_dense_start = id_dense_start_test; LLAMA_LOG_DEBUG("%s: set ngl_per_device[%zu].(n_layer, n_part, overflow_type)=(%" PRIu32 ", %" PRIu32 ", UP), id_dense_start=%zu\n", @@ -659,9 +657,10 @@ static void llama_params_fit_impl( ngl_per_device_test[id].overflow_type = LAYER_FRACTION_GATE; LLAMA_LOG_DEBUG("%s: trying to fit one extra layer with overflow_type=LAYER_FRACTION_GATE\n", __func__); - mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts); + mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts_test); if (mem_test[id] < targets[id] && (id + 1 == nd || mem_test[id + 1] < targets[id + 1])) { ngl_per_device = ngl_per_device_test; + overflow_bufts = overflow_bufts_test; mem = mem_test; id_dense_start = id_dense_start_test; LLAMA_LOG_DEBUG("%s: set ngl_per_device[%zu].(n_layer, n_part, overflow_type)=(%" PRIu32 ", %" PRIu32 ", GATE), id_dense_start=%zu\n", @@ -670,9 +669,10 @@ static void llama_params_fit_impl( } else { ngl_per_device_test[id].overflow_type = LAYER_FRACTION_ATTN; LLAMA_LOG_DEBUG("%s: trying to fit one extra layer with overflow_type=LAYER_FRACTION_ATTN\n", __func__); - mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts); + mem_test = get_memory_for_layers(__func__, ngl_per_device_test, overflow_bufts_test); if (mem_test[id] < targets[id] && (id + 1 == nd || mem_test[id + 1] < targets[id + 1])) { ngl_per_device = ngl_per_device_test; + overflow_bufts = overflow_bufts_test; mem = mem_test; id_dense_start = id_dense_start_test; LLAMA_LOG_DEBUG("%s: set ngl_per_device[%zu].(n_layer, n_part, overflow_type)=(%" PRIu32 ", %" PRIu32 ", ATTN), id_dense_start=%zu\n", @@ -687,6 +687,14 @@ static void llama_params_fit_impl( __func__, dev_names[id].c_str(), ngl_per_device[id].n_layer, ngl_per_device[id].n_part, mem[id]/MiB, projected_margin/MiB); } + // print info for devices that were not changed during the conversion from dense only to full layers: + for (size_t id = id_dense_start + 1; id < nd; id++) { + const int64_t projected_margin = dmds_full[id].free - mem[id]; + LLAMA_LOG_INFO( + "%s: - %s: %2" PRIu32 " layers (%2" PRIu32 " overflowing), %6" PRId64 " MiB used, %6" PRId64 " MiB free\n", + __func__, dev_names[id].c_str(), ngl_per_device[id].n_layer, ngl_per_device[id].n_part, mem[id]/MiB, projected_margin/MiB); + } + set_ngl_tensor_split_tbo(ngl_per_device, overflow_bufts, *mparams); } From ccbc84a5374bab7a01f68b129411772ddd8e7c79 Mon Sep 17 00:00:00 2001 From: Tarek Dakhran Date: Tue, 6 Jan 2026 21:00:29 +0100 Subject: [PATCH 28/38] mtmd: mtmd_audio_streaming_istft (#18645) Change is decoupled from https://github.com/ggml-org/llama.cpp/pull/18641. [LFM2.5-Audio-1.5B](https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B) needs streaming istft for generating output audio. * add streaming ISTFT class (`mtmd_audio_streaming_istft`) with overlap-add for audio reconstruction * replace global audio cache with per-instance cache, the model requires two independent caches, for preprocessing (audio input) and for istft (audio output). * unified templated FFT/IFFT implementation supporting both forward and inverse transforms --- tools/mtmd/mtmd-audio.cpp | 570 ++++++++++++++++++++++++-------------- tools/mtmd/mtmd-audio.h | 73 +++++ 2 files changed, 428 insertions(+), 215 deletions(-) diff --git a/tools/mtmd/mtmd-audio.cpp b/tools/mtmd/mtmd-audio.cpp index e99101184b..e8eef035ff 100644 --- a/tools/mtmd/mtmd-audio.cpp +++ b/tools/mtmd/mtmd-audio.cpp @@ -9,207 +9,250 @@ #include #include -// most of the code here is copied from whisper.cpp +// some of the code here is copied from whisper.cpp constexpr bool DEBUG = false; -struct mtmd_audio_mel_filters { - int32_t n_mel; - int32_t n_fft; +void mtmd_audio_cache::fill_sin_cos_table(int n) { + sin_vals.resize(n); + cos_vals.resize(n); + for (int i = 0; i < n; i++) { + double theta = (2 * M_PI * i) / n; + sin_vals[i] = sinf(theta); + cos_vals[i] = cosf(theta); + } +} - std::vector data; -}; +void mtmd_audio_cache::fill_hann_window(int length, bool periodic) { + hann_window.resize(length); + int offset = -1; + if (periodic) { + offset = 0; + } + for (int i = 0; i < length; i++) { + hann_window[i] = 0.5 * (1.0 - cosf((2.0 * M_PI * i) / (length + offset))); + } +} -// note: this global cache is shared among all preprocessors -// if we want to use multiple preprocessors at the same time, -// we will need to enclose it in the preprocessor class in the future -static struct mtmd_audio_global_cache { - // precomputed sin/cos table for FFT - std::vector sin_vals; - std::vector cos_vals; - - // hann window - std::vector hann_window; - - // mel filter bank - mtmd_audio_mel_filters filters; - - void fill_sin_cos_table(int n) { - sin_vals.resize(n); - cos_vals.resize(n); - for (int i = 0; i < n; i++) { - double theta = (2 * M_PI * i) / n; - sin_vals[i] = sinf(theta); - cos_vals[i] = cosf(theta); - } +void mtmd_audio_cache::fill_mel_filterbank_matrix(int n_mel, + int n_fft, + int sample_rate, + float fmin, + float fmax, + bool slaney_area_norm, + float scale) { + GGML_ASSERT(n_mel > 0 && n_fft > 1); + if (fmax <= 0.0f) { + fmax = 0.5f * sample_rate; } - void fill_hann_window(int length, bool periodic) { - hann_window.resize(length); - int offset = -1; - if (periodic) { - offset = 0; - } - for (int i = 0; i < length; i++) { - hann_window[i] = 0.5 * (1.0 - cosf((2.0 * M_PI * i) / (length + offset))); - } + // Slaney scale (matches librosa default) + const double min_log_hz = 1000.0; + const double lin_slope = 3 / 200.; + const double min_log_mel = min_log_hz * lin_slope; + const double log_step = log(6.4) / 27.0; + auto hz_to_mel = [min_log_hz, lin_slope, log_step, min_log_mel](const double f_hz) -> double { + return (f_hz < min_log_hz) ? f_hz * lin_slope : min_log_mel + log(f_hz / min_log_hz) / log_step; + }; + auto mel_to_hz = [min_log_hz, lin_slope, log_step, min_log_mel](const double m) -> double { + return (m < min_log_mel) ? m / lin_slope : min_log_hz * exp((m - min_log_mel) * log_step); + }; + + // infer N_fft from n_fft_bins + const double bin_hz_step = double(sample_rate) / double(n_fft); + + // mel grid: n_mel + 2 edges + const double m_lo = hz_to_mel(fmin); + const double m_hi = hz_to_mel(fmax); + std::vector mel_pts(n_mel + 2); + for (int i = 0; i < n_mel + 2; ++i) { + mel_pts[i] = m_lo + (m_hi - m_lo) * (double(i) / (n_mel + 1)); } - // Build mel filterbank matrix [n_mel × n_fft_bins] at runtime. - // n_fft_bins must be (N_fft / 2 + 1). Example: if N_fft=512 -> n_fft_bins=257. - void fill_mel_filterbank_matrix( - int n_mel, - int n_fft, - int sample_rate, // e.g. 16000 - float fmin = 0.0f, // e.g. 0.0 - float fmax = -1.0f, // e.g. sr/2; pass -1 for auto - bool slaney_area_norm = true, - float scale = 1.0f // optional extra scaling; use 1.0f/1000.0f to mimic your code - ) { - GGML_ASSERT(n_mel > 0 && n_fft > 1); - if (fmax <= 0.0f) { - fmax = 0.5f * sample_rate; - } + // convert to Hz + std::vector hz_pts(n_mel + 2); + for (int i = 0; i < n_mel + 2; ++i) { + hz_pts[i] = mel_to_hz(mel_pts[i]); + } - // Slaney scale (matches librosa default) - const double min_log_hz = 1000.0; - const double lin_slope = 3 / 200.; - const double min_log_mel = min_log_hz * lin_slope; - const double log_step = log(6.4) / 27.0; - auto hz_to_mel = [min_log_hz, lin_slope, log_step, min_log_mel](const double f_hz) -> double { - return (f_hz < min_log_hz) ? f_hz * lin_slope : min_log_mel + log(f_hz / min_log_hz) / log_step; - }; - auto mel_to_hz = [min_log_hz, lin_slope, log_step, min_log_mel](const double m) -> double { - return (m < min_log_mel) ? m / lin_slope : min_log_hz * exp((m - min_log_mel) * log_step); - }; + const int n_fft_bins = n_fft / 2 + 1; - // infer N_fft from n_fft_bins - const double bin_hz_step = double(sample_rate) / double(n_fft); + // filterbank + std::vector out(n_mel * n_fft_bins, 0); + for (int m = 0; m < n_mel; ++m) { + const double f_left = hz_pts[m]; + const double f_center = hz_pts[m + 1]; + const double f_right = hz_pts[m + 2]; - // mel grid: n_mel + 2 edges - const double m_lo = hz_to_mel(fmin); - const double m_hi = hz_to_mel(fmax); - std::vector mel_pts(n_mel + 2); - for (int i = 0; i < n_mel + 2; ++i) { - mel_pts[i] = m_lo + (m_hi - m_lo) * (double(i) / (n_mel + 1)); - } + const double denom_l = std::max(1e-30, f_center - f_left); + const double denom_r = std::max(1e-30, f_right - f_center); + const double enorm = slaney_area_norm ? (2.0 / std::max(1e-30, f_right - f_left)) : 1.0; - // convert to Hz - std::vector hz_pts(n_mel + 2); - for (int i = 0; i < n_mel + 2; ++i) { - hz_pts[i] = mel_to_hz(mel_pts[i]); - } - - const int n_fft_bins = n_fft / 2 + 1; - - // filterbank - std::vector out(n_mel * n_fft_bins, 0); - for (int m = 0; m < n_mel; ++m) { - const double f_left = hz_pts[m]; - const double f_center = hz_pts[m + 1]; - const double f_right = hz_pts[m + 2]; - - const double denom_l = std::max(1e-30, f_center - f_left); - const double denom_r = std::max(1e-30, f_right - f_center); - const double enorm = slaney_area_norm ? (2.0 / std::max(1e-30, f_right - f_left)) : 1.0; - - for (int k = 0; k < n_fft_bins; ++k) { - const double f = k * bin_hz_step; - double w = 0.0; - if (f >= f_left && f <= f_center) { - w = (f - f_left) / denom_l; - } else if (f > f_center && f <= f_right) { - w = (f_right - f) / denom_r; - } - out[size_t(m) * size_t(n_fft_bins) + size_t(k)] = float(w * enorm * scale); + for (int k = 0; k < n_fft_bins; ++k) { + const double f = k * bin_hz_step; + double w = 0.0; + if (f >= f_left && f <= f_center) { + w = (f - f_left) / denom_l; + } else if (f > f_center && f <= f_right) { + w = (f_right - f) / denom_r; } + out[size_t(m) * size_t(n_fft_bins) + size_t(k)] = float(w * enorm * scale); } + } - filters.n_mel = n_mel; - filters.n_fft = n_fft; - filters.data = std::move(out); + filters.n_mel = n_mel; + filters.n_fft = n_fft; + filters.data = std::move(out); - if (DEBUG) { // debug - for (size_t i = 0; i < filters.data.size(); ++i) { - if (filters.data[i] != 0.0f) { - printf("filters[%zu] = %f\n", i, filters.data[i] * 1000.0f); - } + if (DEBUG) { // debug + for (size_t i = 0; i < filters.data.size(); ++i) { + if (filters.data[i] != 0.0f) { + printf("filters[%zu] = %f\n", i, filters.data[i] * 1000.0f); } } } -} g_cache; +} -// naive Discrete Fourier Transform -// input is real-valued -// output is complex-valued -static void dft(const float * in, int N, float * out) { - const int n_sin_cos_vals = g_cache.sin_vals.size(); - const int sin_cos_step = n_sin_cos_vals / N; +// Unified DFT implementation for both forward and inverse transforms +// Template parameters: +// Inverse: false = DFT with exp(-2πi·k·n/N), no scaling +// true = IDFT with exp(+2πi·k·n/N), scales by 1/N +// RealInput: true = input is real-valued (stride 1), avoids imaginary computations +// false = input is complex-valued (interleaved real/imag, stride 2) +template +static void dft_impl(const mtmd_audio_cache & cache, const float * in, int N, float * out) { + const int n_sin_cos_vals = cache.sin_vals.size(); + const int sin_cos_step = n_sin_cos_vals / N; + + constexpr float sign = Inverse ? 1.0f : -1.0f; + const float scale = Inverse ? (1.0f / N) : 1.0f; for (int k = 0; k < N; k++) { float re = 0; float im = 0; for (int n = 0; n < N; n++) { - int idx = (k * n * sin_cos_step) % (n_sin_cos_vals); // t = 2*M_PI*k*n/N - re += in[n] * g_cache.cos_vals[idx]; // cos(t) - im -= in[n] * g_cache.sin_vals[idx]; // sin(t) + int idx = (k * n * sin_cos_step) % n_sin_cos_vals; + float cos_val = cache.cos_vals[idx]; + float sin_val = cache.sin_vals[idx]; + + if constexpr (RealInput) { + // Real input: in_im = 0, simplifies to: + // re += in_re * cos_val + // im += sign * in_re * sin_val + float in_re = in[n]; + re += in_re * cos_val; + im += sign * in_re * sin_val; + } else { + float in_re = in[n * 2 + 0]; + float in_im = in[n * 2 + 1]; + // (a + bi) * (cos + sign*i*sin) = (a*cos - sign*b*sin) + (sign*a*sin + b*cos)i + re += in_re * cos_val - sign * in_im * sin_val; + im += sign * in_re * sin_val + in_im * cos_val; + } } - out[k*2 + 0] = re; - out[k*2 + 1] = im; + out[k * 2 + 0] = re * scale; + out[k * 2 + 1] = im * scale; } } -// Cooley-Tukey FFT -// poor man's implementation - use something better -// input is real-valued -// output is complex-valued -static void fft(float * in, int N, float * out) { - const int n_sin_cos_vals = g_cache.sin_vals.size(); +// Cooley-Tukey FFT/IFFT unified implementation +// Template parameters: +// Inverse: false = FFT with exp(-2πi·k/N), no scaling +// true = IFFT with exp(+2πi·k/N), scales by 0.5 at each level +// RealInput: true = input is real-valued (stride 1) +// false = input is complex-valued (interleaved real/imag, stride 2) +template +static void fft_impl(const mtmd_audio_cache & cache, float * in, int N, float * out) { + const int n_sin_cos_vals = cache.sin_vals.size(); + if (N == 1) { out[0] = in[0]; - out[1] = 0; + if constexpr (RealInput) { + out[1] = 0.0f; + } else { + out[1] = in[1]; + } return; } const int half_N = N / 2; - if (N - half_N*2 == 1) { - dft(in, N, out); + if (N - half_N * 2 == 1) { + // Odd N: fall back to DFT + dft_impl(cache, in, N, out); return; } - float* even = in + N; - for (int i = 0; i < half_N; ++i) { - even[i]= in[2*i]; - } - float* even_fft = out + 2 * N; - fft(even, half_N, even_fft); + // Split into even and odd + if constexpr (RealInput) { + // Real input: stride is 1, copy only real values + float * even = in + N; + for (int i = 0; i < half_N; ++i) { + even[i] = in[2 * i]; + } + float * even_fft = out + 2 * N; + fft_impl(cache, even, half_N, even_fft); - float* odd = even; - for (int i = 0; i < half_N; ++i) { - odd[i] = in[2*i + 1]; + float * odd = even; + for (int i = 0; i < half_N; ++i) { + odd[i] = in[2 * i + 1]; + } + float * odd_fft = even_fft + N; + fft_impl(cache, odd, half_N, odd_fft); + } else { + // Complex input: stride is 2, copy complex pairs + float * even = in + N * 2; + for (int i = 0; i < half_N; ++i) { + even[i * 2 + 0] = in[2 * i * 2 + 0]; + even[i * 2 + 1] = in[2 * i * 2 + 1]; + } + float * even_fft = out + 2 * N; + fft_impl(cache, even, half_N, even_fft); + + float * odd = even; + for (int i = 0; i < half_N; ++i) { + odd[i * 2 + 0] = in[(2 * i + 1) * 2 + 0]; + odd[i * 2 + 1] = in[(2 * i + 1) * 2 + 1]; + } + float * odd_fft = even_fft + N; + fft_impl(cache, odd, half_N, odd_fft); } - float* odd_fft = even_fft + N; - fft(odd, half_N, odd_fft); + + float * even_fft = out + 2 * N; + float * odd_fft = even_fft + N; const int sin_cos_step = n_sin_cos_vals / N; + + constexpr float sign = Inverse ? 1.0f : -1.0f; + constexpr float scale = Inverse ? 0.5f : 1.0f; + for (int k = 0; k < half_N; k++) { - int idx = k * sin_cos_step; // t = 2*M_PI*k/N - float re = g_cache.cos_vals[idx]; // cos(t) - float im = -g_cache.sin_vals[idx]; // sin(t) + int idx = k * sin_cos_step; // t = 2*M_PI*k/N + float re = cache.cos_vals[idx]; + float im = sign * cache.sin_vals[idx]; - float re_odd = odd_fft[2*k + 0]; - float im_odd = odd_fft[2*k + 1]; + float re_odd = odd_fft[2 * k + 0]; + float im_odd = odd_fft[2 * k + 1]; - out[2*k + 0] = even_fft[2*k + 0] + re*re_odd - im*im_odd; - out[2*k + 1] = even_fft[2*k + 1] + re*im_odd + im*re_odd; + out[2 * k + 0] = scale * (even_fft[2 * k + 0] + re * re_odd - im * im_odd); + out[2 * k + 1] = scale * (even_fft[2 * k + 1] + re * im_odd + im * re_odd); - out[2*(k + half_N) + 0] = even_fft[2*k + 0] - re*re_odd + im*im_odd; - out[2*(k + half_N) + 1] = even_fft[2*k + 1] - re*im_odd - im*re_odd; + out[2 * (k + half_N) + 0] = scale * (even_fft[2 * k + 0] - re * re_odd + im * im_odd); + out[2 * (k + half_N) + 1] = scale * (even_fft[2 * k + 1] - re * im_odd - im * re_odd); } } +// Forward FFT for real input (used by mel spectrogram) +static void fft(const mtmd_audio_cache & cache, float * in, int N, float * out) { + fft_impl(cache, in, N, out); +} + +// Inverse FFT for complex input +static void ifft(const mtmd_audio_cache & cache, float * in, int N, float * out) { + fft_impl(cache, in, N, out); +} + struct filter_params { int32_t n_mel; int32_t n_fft_bins; @@ -222,20 +265,27 @@ struct filter_params { bool norm_per_feature = false; }; -static void log_mel_spectrogram_worker_thread(int ith, const float * hann, const std::vector & samples, - int n_samples, int frame_size, int frame_step, int n_threads, - const filter_params & params, mtmd_audio_mel & out) { +static void log_mel_spectrogram_worker_thread(int ith, + const float * hann, + const std::vector & samples, + int n_samples, + int frame_size, + int frame_step, + int n_threads, + const filter_params & params, + const mtmd_audio_cache & cache, + mtmd_audio_mel & out) { std::vector fft_in(frame_size * 2, 0.0); std::vector fft_out(frame_size * 2 * 2 * 2); int n_fft_bins = params.n_fft_bins; int i = ith; - const auto & filters = g_cache.filters; + const auto & filters = cache.filters; // make sure n_fft == 1 + (WHISPER_N_FFT / 2), bin_0 to bin_nyquist GGML_ASSERT(n_fft_bins == 1 + (frame_size / 2)); - GGML_ASSERT(g_cache.sin_vals.size() == g_cache.cos_vals.size()); + GGML_ASSERT(cache.sin_vals.size() == cache.cos_vals.size()); // calculate FFT only when fft_in are not all zero for (; i < std::min(n_samples / frame_step + 1, out.n_len); i += n_threads) { const int offset = i * frame_step; @@ -251,7 +301,7 @@ static void log_mel_spectrogram_worker_thread(int ith, const float * hann, const } // FFT - fft(fft_in.data(), frame_size, fft_out.data()); + fft(cache, fft_in.data(), frame_size, fft_out.data()); // Calculate modulus^2 of complex numbers // Use pow(fft_out[2 * j + 0], 2) + pow(fft_out[2 * j + 1], 2) causes inference quality problem? Interesting. @@ -298,6 +348,7 @@ static bool log_mel_spectrogram( const int n_samples_in, const int n_threads, const filter_params & params, + const mtmd_audio_cache & cache, mtmd_audio_mel & out) { //const int64_t t_start_us = ggml_time_us(); @@ -305,9 +356,9 @@ static bool log_mel_spectrogram( int n_samples = n_samples_in; // Hann window - const float * hann = g_cache.hann_window.data(); - const int frame_size = (params.n_fft_bins - 1) * 2; - const int frame_step = params.hop_length; + const float * hann = cache.hann_window.data(); + const int frame_size = (params.n_fft_bins - 1) * 2; + const int frame_step = params.hop_length; // Padding std::vector samples_padded; @@ -335,9 +386,9 @@ static bool log_mel_spectrogram( // preemphasis if (params.preemph) { - const int pad_amount = frame_size / 2; + const int pad_amount = frame_size / 2; const float preemph = 0.97f; - float prev = samples_padded[pad_amount]; + float prev = samples_padded[pad_amount]; for (int i = pad_amount + 1; i + pad_amount < n_samples; ++i) { float cur = samples_padded[i]; samples_padded[i] = cur - preemph * prev; @@ -372,14 +423,14 @@ static bool log_mel_spectrogram( { std::vector workers(n_threads - 1); for (int iw = 0; iw < n_threads - 1; ++iw) { - workers[iw] = std::thread( - log_mel_spectrogram_worker_thread, iw + 1, hann, std::cref(samples_padded), - n_samples, frame_size, frame_step, n_threads, - std::cref(params), std::ref(out)); + workers[iw] = + std::thread(log_mel_spectrogram_worker_thread, iw + 1, hann, std::cref(samples_padded), n_samples, + frame_size, frame_step, n_threads, std::cref(params), std::cref(cache), std::ref(out)); } // main thread - log_mel_spectrogram_worker_thread(0, hann, samples_padded, n_samples, frame_size, frame_step, n_threads, params, out); + log_mel_spectrogram_worker_thread(0, hann, samples_padded, n_samples, frame_size, frame_step, n_threads, params, + cache, out); for (int iw = 0; iw < n_threads - 1; ++iw) { workers[iw].join(); } @@ -404,7 +455,7 @@ static bool log_mel_spectrogram( for (int j = 0; j < effective_n_len; ++j) { auto &value = out.data[i * out.n_len + j]; - value = (value - mean) / mstd; + value = (value - mean) / mstd; } // pad the rest with zeros @@ -450,18 +501,14 @@ static bool log_mel_spectrogram( // void mtmd_audio_preprocessor_whisper::initialize() { - g_cache.fill_sin_cos_table(hparams.audio_n_fft); - g_cache.fill_hann_window(hparams.audio_window_len, true); - g_cache.fill_mel_filterbank_matrix( - hparams.n_mel_bins, - hparams.audio_n_fft, - hparams.audio_sample_rate); + cache.fill_sin_cos_table(hparams.audio_n_fft); + cache.fill_hann_window(hparams.audio_window_len, true); + cache.fill_mel_filterbank_matrix(hparams.n_mel_bins, hparams.audio_n_fft, hparams.audio_sample_rate); } -bool mtmd_audio_preprocessor_whisper::preprocess( - const float * samples, - size_t n_samples, - std::vector & output) { +bool mtmd_audio_preprocessor_whisper::preprocess(const float * samples, + size_t n_samples, + std::vector & output) { if (n_samples == 0) { // empty audio return false; @@ -471,7 +518,7 @@ bool mtmd_audio_preprocessor_whisper::preprocess( // if input is too short, pad with zeros // this is to avoid potential issues with stage1/2 padding in log_mel_spectrogram // TODO: maybe handle this better - size_t min_samples = (size_t)hparams.audio_sample_rate * (hparams.audio_chunk_len + 1); // +1 second margin + size_t min_samples = (size_t) hparams.audio_sample_rate * (hparams.audio_chunk_len + 1); // +1 second margin if (n_samples < min_samples) { smpl.resize(min_samples, 0.0f); std::memcpy(smpl.data(), samples, n_samples * sizeof(float)); @@ -486,22 +533,19 @@ bool mtmd_audio_preprocessor_whisper::preprocess( params.hop_length = hparams.audio_hop_len; params.sample_rate = hparams.audio_sample_rate; params.center_padding = false; - params.preemph = 0.0f; // disabled + params.preemph = 0.0f; // disabled params.use_natural_log = false; params.norm_per_feature = false; - // make sure the global cache is initialized - GGML_ASSERT(!g_cache.sin_vals.empty()); - GGML_ASSERT(!g_cache.cos_vals.empty()); - GGML_ASSERT(!g_cache.filters.data.empty()); + // make sure the cache is initialized + GGML_ASSERT(!cache.sin_vals.empty()); + GGML_ASSERT(!cache.cos_vals.empty()); + GGML_ASSERT(!cache.filters.data.empty()); mtmd_audio_mel out_full; - bool ok = log_mel_spectrogram( - samples, - n_samples, - 4, // n_threads - params, - out_full); + bool ok = log_mel_spectrogram(samples, n_samples, + 4, // n_threads + params, cache, out_full); if (!ok) { return false; } @@ -512,21 +556,21 @@ bool mtmd_audio_preprocessor_whisper::preprocess( printf("output: n_mel = %d, n_len = %d\n", out_full.n_mel, out_full.n_len); } const size_t frames_per_chunk = 3000; - GGML_ASSERT((size_t)out_full.n_len > frames_per_chunk); - for (size_t off = 0; off < (size_t)out_full.n_len; off += frames_per_chunk) { - int n_len = std::min(frames_per_chunk, (size_t)out_full.n_len - off); - if ((size_t)n_len < frames_per_chunk) { - break; // last uncomplete chunk will always be a padded chunk, safe to ignore + GGML_ASSERT((size_t) out_full.n_len > frames_per_chunk); + for (size_t off = 0; off < (size_t) out_full.n_len; off += frames_per_chunk) { + int n_len = std::min(frames_per_chunk, (size_t) out_full.n_len - off); + if ((size_t) n_len < frames_per_chunk) { + break; // last uncomplete chunk will always be a padded chunk, safe to ignore } mtmd_audio_mel out_chunk; out_chunk.n_len = n_len; out_chunk.n_mel = out_full.n_mel; - out_chunk.n_len_org = out_full.n_mel; // unused + out_chunk.n_len_org = out_full.n_mel; // unused out_chunk.data.reserve(out_chunk.n_mel * out_chunk.n_len); for (int i = 0; i < out_full.n_mel; i++) { - auto src = out_full.data.begin() + i*out_full.n_len + off; + auto src = out_full.data.begin() + i * out_full.n_len + off; out_chunk.data.insert(out_chunk.data.end(), src, src + frames_per_chunk); } @@ -541,18 +585,14 @@ bool mtmd_audio_preprocessor_whisper::preprocess( // void mtmd_audio_preprocessor_conformer::initialize() { - g_cache.fill_sin_cos_table(hparams.audio_n_fft); - g_cache.fill_hann_window(hparams.audio_window_len, true); - g_cache.fill_mel_filterbank_matrix( - hparams.n_mel_bins, - hparams.audio_n_fft, - hparams.audio_sample_rate); + cache.fill_sin_cos_table(hparams.audio_n_fft); + cache.fill_hann_window(hparams.audio_window_len, true); + cache.fill_mel_filterbank_matrix(hparams.n_mel_bins, hparams.audio_n_fft, hparams.audio_sample_rate); } -bool mtmd_audio_preprocessor_conformer::preprocess( - const float * samples, - size_t n_samples, - std::vector & output) { +bool mtmd_audio_preprocessor_conformer::preprocess(const float * samples, + size_t n_samples, + std::vector & output) { // empty audio if (n_samples == 0) { return false; @@ -569,18 +609,15 @@ bool mtmd_audio_preprocessor_conformer::preprocess( params.use_natural_log = true; params.norm_per_feature = true; - // make sure the global cache is initialized - GGML_ASSERT(!g_cache.sin_vals.empty()); - GGML_ASSERT(!g_cache.cos_vals.empty()); - GGML_ASSERT(!g_cache.filters.data.empty()); + // make sure the cache is initialized + GGML_ASSERT(!cache.sin_vals.empty()); + GGML_ASSERT(!cache.cos_vals.empty()); + GGML_ASSERT(!cache.filters.data.empty()); mtmd_audio_mel out_full; - bool ok = log_mel_spectrogram( - samples, - n_samples, - 4, // n_threads - params, - out_full); + bool ok = log_mel_spectrogram(samples, n_samples, + 4, // n_threads + params, cache, out_full); if (!ok) { return false; } @@ -588,3 +625,106 @@ bool mtmd_audio_preprocessor_conformer::preprocess( output.push_back(std::move(out_full)); return true; } + +// +// mtmd_audio_streaming_istft implementation +// + +mtmd_audio_streaming_istft::mtmd_audio_streaming_istft(int n_fft, int hop_length) : + n_fft(n_fft), + hop_length(hop_length), + n_fft_bins(n_fft / 2 + 1), + overlap_buffer(n_fft, 0.0f), + window_sum_buffer(n_fft, 0.0f), + padding_to_remove((n_fft - hop_length) / 2), + ifft_in(n_fft * 2 * 4, 0.0f), // extra space for recursive IFFT + ifft_out(n_fft * 2 * 4, 0.0f) { + cache.fill_sin_cos_table(n_fft); + cache.fill_hann_window(n_fft, true); +} + +void mtmd_audio_streaming_istft::reset() { + std::fill(overlap_buffer.begin(), overlap_buffer.end(), 0.0f); + std::fill(window_sum_buffer.begin(), window_sum_buffer.end(), 0.0f); + padding_to_remove = (n_fft - hop_length) / 2; +} + +std::vector mtmd_audio_streaming_istft::process_frame(const float * frame_spectrum) { + std::vector output(hop_length); + + // copy frequencies + for (int j = 0; j < n_fft_bins; j++) { + ifft_in[j * 2 + 0] = frame_spectrum[j * 2 + 0]; + ifft_in[j * 2 + 1] = frame_spectrum[j * 2 + 1]; + } + + // mirror negative frequencies + for (int j = 1; j < n_fft_bins - 1; j++) { + int mirror_idx = n_fft - j; + ifft_in[mirror_idx * 2 + 0] = ifft_in[j * 2 + 0]; + ifft_in[mirror_idx * 2 + 1] = -ifft_in[j * 2 + 1]; // conjugate + } + + ifft(cache, ifft_in.data(), n_fft, ifft_out.data()); + + // update window sum and overlap buffer + for (int j = 0; j < n_fft; j++) { + window_sum_buffer[j] += cache.hann_window[j] * cache.hann_window[j]; + overlap_buffer[j] += ifft_out[j * 2] * cache.hann_window[j]; + } + + // extract hop_length samples with normalization + for (int i = 0; i < hop_length; i++) { + if (window_sum_buffer[i] > 1e-8f) { + output[i] = overlap_buffer[i] / window_sum_buffer[i]; + } else { + output[i] = overlap_buffer[i]; + } + } + + // shift buffers left by hop_length + std::copy(overlap_buffer.begin() + hop_length, overlap_buffer.end(), overlap_buffer.begin()); + std::fill(overlap_buffer.end() - hop_length, overlap_buffer.end(), 0.0f); + + std::copy(window_sum_buffer.begin() + hop_length, window_sum_buffer.end(), window_sum_buffer.begin()); + std::fill(window_sum_buffer.end() - hop_length, window_sum_buffer.end(), 0.0f); + + // Remove padding if needed + int to_remove = std::min(padding_to_remove, (int) output.size()); + padding_to_remove -= to_remove; + output.erase(output.begin(), output.begin() + to_remove); + + return output; +} + +std::vector mtmd_audio_streaming_istft::flush() { + std::vector output; + + // Extract remaining samples from overlap buffer + // Continue until we've extracted all meaningful samples + int remaining = n_fft - hop_length; + while (remaining > 0) { + int chunk_size = std::min(remaining, hop_length); + + for (int i = 0; i < chunk_size; i++) { + float sample; + if (window_sum_buffer[i] > 1e-8f) { + sample = overlap_buffer[i] / window_sum_buffer[i]; + } else { + sample = overlap_buffer[i]; + } + output.push_back(sample); + } + + // Shift buffers + std::copy(overlap_buffer.begin() + chunk_size, overlap_buffer.end(), overlap_buffer.begin()); + std::fill(overlap_buffer.end() - chunk_size, overlap_buffer.end(), 0.0f); + + std::copy(window_sum_buffer.begin() + chunk_size, window_sum_buffer.end(), window_sum_buffer.begin()); + std::fill(window_sum_buffer.end() - chunk_size, window_sum_buffer.end(), 0.0f); + + remaining -= chunk_size; + } + + return output; +} diff --git a/tools/mtmd/mtmd-audio.h b/tools/mtmd/mtmd-audio.h index d484c9d030..016c7392e4 100644 --- a/tools/mtmd/mtmd-audio.h +++ b/tools/mtmd/mtmd-audio.h @@ -17,6 +17,38 @@ struct mtmd_audio_mel { std::vector data; }; +struct mtmd_audio_mel_filters { + int32_t n_mel; + int32_t n_fft; + + std::vector data; +}; + +// cache for audio processing, each processor instance owns its own cache +struct mtmd_audio_cache { + std::vector sin_vals; + std::vector cos_vals; + + std::vector hann_window; + + mtmd_audio_mel_filters filters; + + void fill_sin_cos_table(int n); + + void fill_hann_window(int length, bool periodic); + + // Build mel filterbank matrix [n_mel × n_fft_bins] at runtime. + // n_fft_bins must be (N_fft / 2 + 1). Example: if N_fft=512 -> n_fft_bins=257. + void fill_mel_filterbank_matrix(int n_mel, + int n_fft, + int sample_rate, // e.g. 16000 + float fmin = 0.0f, // e.g. 0.0 + float fmax = -1.0f, // e.g. sr/2; pass -1 for auto + bool slaney_area_norm = true, + float scale = 1.0f // optional extra scaling + ); +}; + struct mtmd_audio_preprocessor { const clip_hparams & hparams; @@ -31,10 +63,51 @@ struct mtmd_audio_preprocessor_whisper : mtmd_audio_preprocessor { mtmd_audio_preprocessor_whisper(const clip_ctx * ctx) : mtmd_audio_preprocessor(ctx) {} void initialize() override; bool preprocess(const float * samples, size_t n_samples, std::vector & output) override; + + private: + mtmd_audio_cache cache; }; struct mtmd_audio_preprocessor_conformer : mtmd_audio_preprocessor { mtmd_audio_preprocessor_conformer(const clip_ctx * ctx) : mtmd_audio_preprocessor(ctx) {} void initialize() override; bool preprocess(const float * samples, size_t n_samples, std::vector & output) override; + + private: + mtmd_audio_cache cache; +}; + +// +// streaming ISTFT - converts spectrogram frames back to audio one frame at a time +// +struct mtmd_audio_streaming_istft { + mtmd_audio_streaming_istft(int n_fft, int hop_length); + + // reset streaming state + void reset(); + + // process a single STFT frame (streaming) + // frame_spectrum: [n_fft_bins x 2] interleaved real/imag + // returns: up to hop_length samples + std::vector process_frame(const float * frame_spectrum); + + // flush remaining samples at end of stream + std::vector flush(); + + private: + int n_fft; + int hop_length; + int n_fft_bins; + + // Own cache for output processing + mtmd_audio_cache cache; + + // Streaming state + std::vector overlap_buffer; + std::vector window_sum_buffer; + int padding_to_remove; + + // Working buffers for IFFT + std::vector ifft_in; + std::vector ifft_out; }; From 95ea9e0861b28adca740dbc09494f72105c9b92b Mon Sep 17 00:00:00 2001 From: Max Krasnyansky Date: Tue, 6 Jan 2026 17:38:29 -0800 Subject: [PATCH 29/38] Hexagon add support for f16/f32 flash attention, scale, set-rows and improve f16/32 matmul (#18611) * hexagon: improve fp16 matmul and add fp32/fp16 flash-attention * hexagon: add support for set-rows fp32 -> fp16 with i32/i64 row-idx * hexagon: add support for SCALE fp32 * hexagon: replace scalar fp32 -> fp16 copy with HVX * hexagon: optimize flash_atten_ext with aligned VTCM buffers and DMA - Implements double-buffered DMA prefetching for K, V, and Mask tensors. - Ensures K and V rows in VTCM are padded to 128 bytes to support aligned HVX operations. - Correctly synchronizes DMA transfers to prevent race conditions. - Uses `FLASH_ATTN_BLOCK_SIZE` of 128 for efficient chunking. * hexagon: use aligned mad_f16 * hexagon: flash_atten more aligned ops * hexagon: optimize scale_f32 hvx helpers * hexagon: unroll fa loops * hexagon: remove unused set-rows log * hexagon: flash_attn_ext add support for DMAing Q - Update `op_flash_attn_ext` to include Q row size in scratchpad allocation. - Pad Q row size to 128 bytes for alignment. - Implement DMA transfer for Q tensor in `flash_attn_ext_f16_thread`. - Update dot product computations to use VTCM-buffered Q data. * hexagon: fix handling of NANs hvx dotproducts * hexagon: cleanup spad allocation in flash-atten * hexagon: improve fp16/fp32 matmul - Introduced `vec_dot_f16_f16` and `vec_dot_f16_f16_rx2` kernels using efficient HVX dot product intrinsics. - Added `quantize_fp32_f16` to copy/convert weights from DDR to VTCM - Updated `op_matmul` to use the optimized path when VTCM capacity allows and broadcasting requirements are compatible. - Implemented fallback logic to the original implementation for complex broadcasting scenarios. * hexagon: fix HVX_ARCH check * hexagon: matmul cleanup and fp16 fixes Use aligned vec_dot_f16 for 2d matmuls and unaligned version for 4d. * hexagon: fix fp16 x fp16 matmuls and some minor refactoring * hexagon: add support for GET_ROWS f32 -> f32 Also optimize SET_ROWS threading a bit when we have just a few rows to process. * hexagon: optimize set-rows threading * hexagon: update adb/run-bench.sh to properly support experimental and verbose options * hexagon: flash_atten use aligned vectors for dot products --- ggml/src/ggml-hexagon/ggml-hexagon.cpp | 161 +++- ggml/src/ggml-hexagon/htp/CMakeLists.txt | 3 + ggml/src/ggml-hexagon/htp/flash-attn-ops.c | 566 +++++++++++++ ggml/src/ggml-hexagon/htp/get-rows-ops.c | 112 +++ ggml/src/ggml-hexagon/htp/htp-ctx.h | 5 - ggml/src/ggml-hexagon/htp/htp-msg.h | 10 +- ggml/src/ggml-hexagon/htp/htp-ops.h | 28 + ggml/src/ggml-hexagon/htp/hvx-utils.c | 51 +- ggml/src/ggml-hexagon/htp/hvx-utils.h | 265 +++++- ggml/src/ggml-hexagon/htp/main.c | 162 +++- ggml/src/ggml-hexagon/htp/matmul-ops.c | 912 ++++++++++++--------- ggml/src/ggml-hexagon/htp/set-rows-ops.c | 168 ++++ ggml/src/ggml-hexagon/htp/softmax-ops.c | 4 +- ggml/src/ggml-hexagon/htp/unary-ops.c | 34 +- scripts/snapdragon/adb/run-bench.sh | 14 +- 15 files changed, 2018 insertions(+), 477 deletions(-) create mode 100644 ggml/src/ggml-hexagon/htp/flash-attn-ops.c create mode 100644 ggml/src/ggml-hexagon/htp/get-rows-ops.c create mode 100644 ggml/src/ggml-hexagon/htp/set-rows-ops.c diff --git a/ggml/src/ggml-hexagon/ggml-hexagon.cpp b/ggml/src/ggml-hexagon/ggml-hexagon.cpp index 13b96d61f8..365a24b496 100644 --- a/ggml/src/ggml-hexagon/ggml-hexagon.cpp +++ b/ggml/src/ggml-hexagon/ggml-hexagon.cpp @@ -1773,6 +1773,37 @@ static bool hex_supported_dims2(const struct ggml_tensor * x, const struct ggml_ return true; } +static bool ggml_hexagon_supported_flash_attn_ext(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { + const struct ggml_tensor * src0 = op->src[0]; + const struct ggml_tensor * src1 = op->src[1]; + const struct ggml_tensor * src2 = op->src[2]; + const struct ggml_tensor * src3 = op->src[3]; + const struct ggml_tensor * src4 = op->src[4]; + const struct ggml_tensor * dst = op; + + // Check for F16 support only as requested + if ((src0->type != GGML_TYPE_F16 && src0->type != GGML_TYPE_F32) || src1->type != GGML_TYPE_F16 || src2->type != GGML_TYPE_F16) { + return false; + } + + if (src3 && src3->type != GGML_TYPE_F16) { // mask + return false; + } + + if (src4 && src4->type != GGML_TYPE_F32) { // sinks + return false; + } + + // For now we support F32 or F16 output as htp backend often converts output on the fly if needed, + // but the op implementation writes to F16 or F32. + // Let's assume dst can be F32 or F16. + if (dst->type != GGML_TYPE_F32 && dst->type != GGML_TYPE_F16) { + return false; + } + + return opt_experimental; +} + static bool hex_supported_src0_type(ggml_type t) { return t == GGML_TYPE_F32; } @@ -1815,12 +1846,11 @@ static bool ggml_hexagon_supported_mul_mat(const struct ggml_hexagon_session * s const struct ggml_tensor * src0 = dst->src[0]; const struct ggml_tensor * src1 = dst->src[1]; - if (src1->type != GGML_TYPE_F32 || dst->type != GGML_TYPE_F32) { + if (dst->type != GGML_TYPE_F32) { return false; } - // TODO: add support for non-cont tensors - if (!ggml_is_contiguous(src1) || !ggml_is_contiguous(dst)) { + if (src1->type != GGML_TYPE_F32 && src1->type != GGML_TYPE_F16) { return false; } @@ -1836,7 +1866,6 @@ static bool ggml_hexagon_supported_mul_mat(const struct ggml_hexagon_session * s return false; // typically the lm-head which would be too large for VTCM } - // if ((src0->ne[2] != src1->ne[2] || src0->ne[3] != src1->ne[3])) return false; if ((src1->ne[2] != 1 || src1->ne[3] != 1)) { return false; } @@ -1885,21 +1914,10 @@ static bool ggml_hexagon_supported_mul_mat_id(const struct ggml_hexagon_session } break; - case GGML_TYPE_F16: - if (!opt_experimental) { - return false; - } - break; - default: return false; } - // TODO: add support for non-cont tensors - if (!ggml_is_contiguous(src1) || !ggml_is_contiguous(dst)) { - return false; - } - return true; } @@ -2060,6 +2078,46 @@ static bool ggml_hexagon_supported_softmax(const struct ggml_hexagon_session * s return true; } +static bool ggml_hexagon_supported_set_rows(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { + const struct ggml_tensor * src0 = op->src[0]; // values + const struct ggml_tensor * src1 = op->src[1]; // indices + const struct ggml_tensor * dst = op; + + if (src0->type != GGML_TYPE_F32) { + return false; + } + + if (src1->type != GGML_TYPE_I32 && src1->type != GGML_TYPE_I64) { + return false; + } + + if (dst->type != GGML_TYPE_F16) { + return false; + } + + return true; +} + +static bool ggml_hexagon_supported_get_rows(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { + const struct ggml_tensor * src0 = op->src[0]; // values + const struct ggml_tensor * src1 = op->src[1]; // indices + const struct ggml_tensor * dst = op; + + if (src0->type != GGML_TYPE_F32) { + return false; + } + + if (src1->type != GGML_TYPE_I32 && src1->type != GGML_TYPE_I64) { + return false; + } + + if (dst->type != GGML_TYPE_F32) { + return false; + } + + return true; +} + static bool ggml_hexagon_supported_rope(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { const int32_t * op_params = &op->op_params[0]; @@ -2154,6 +2212,11 @@ static size_t htp_req_buff_init(htp_tensor *h, dspqueue_buffer * d, const ggml_t d->offset = (uint8_t *) t->data - buf->base; d->size = ggml_nbytes(t); + if (!d->size) { + // Some requests contain srcs where ggml_nbytes() returns 0 but the rest of the op is non-empty + d->size = 64; + } + switch (type) { case DSPQBUF_TYPE_DSP_WRITE_CPU_READ: // Flush CPU @@ -2239,6 +2302,17 @@ static inline size_t init_binary_req(htp_general_req * req, dspqueue_buffer * bu return n_bufs; } +static inline size_t init_get_rows_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { + req->op = HTP_OP_GET_ROWS; + + size_t n_bufs = 0; + n_bufs += htp_req_buff_init(&req->src0, &bufs[n_bufs], t->src[0], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->src1, &bufs[n_bufs], t->src[1], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->dst, &bufs[n_bufs], t, DSPQBUF_TYPE_DSP_WRITE_CPU_READ); + + return n_bufs; +} + template static inline size_t init_binary_id_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { switch (t->op) { @@ -2266,6 +2340,17 @@ static inline size_t init_binary_id_req(htp_general_req * req, dspqueue_buffer * return n_bufs; } +static inline size_t init_set_rows_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { + req->op = HTP_OP_SET_ROWS; + + size_t n_bufs = 0; + n_bufs += htp_req_buff_init(&req->src0, &bufs[n_bufs], t->src[0], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->src1, &bufs[n_bufs], t->src[1], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->dst, &bufs[n_bufs], t, DSPQBUF_TYPE_DSP_WRITE_CPU_READ); + + return n_bufs; +} + static inline size_t init_unary_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { memcpy(&req->op_params, &t->op_params, sizeof(t->op_params)); @@ -2277,6 +2362,11 @@ static inline size_t init_unary_req(htp_general_req * req, dspqueue_buffer * buf supported = true; break; + case GGML_OP_SCALE: + req->op = HTP_OP_SCALE; + supported = true; + break; + case GGML_OP_UNARY: if (ggml_get_unary_op(t) == GGML_UNARY_OP_SILU) { req->op = HTP_OP_UNARY_SILU; @@ -2331,6 +2421,21 @@ static inline size_t init_rope_req(htp_general_req * req, dspqueue_buffer * bufs return n_bufs; } +static inline size_t init_flash_attn_ext_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { + memcpy(&req->op_params, &t->op_params, sizeof(t->op_params)); + req->op = HTP_OP_FLASH_ATTN_EXT; + + size_t n_bufs = 0; + n_bufs += htp_req_buff_init(&req->src0, &bufs[n_bufs], t->src[0], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->src1, &bufs[n_bufs], t->src[1], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->src2, &bufs[n_bufs], t->src[2], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->src3, &bufs[n_bufs], t->src[3], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->src4, &bufs[n_bufs], t->src[4], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->dst, &bufs[n_bufs], t, DSPQBUF_TYPE_DSP_WRITE_CPU_READ); + + return n_bufs; +} + static const char * ggml_backend_hexagon_name(ggml_backend_t backend) { auto sess = static_cast(backend->context); return sess->name.c_str(); @@ -2417,6 +2522,7 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg ggml_hexagon_dispatch_op>(sess, node, flags); break; case GGML_OP_RMS_NORM: + case GGML_OP_SCALE: ggml_hexagon_dispatch_op(sess, node, flags); break; case GGML_OP_UNARY: @@ -2439,6 +2545,18 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg ggml_hexagon_dispatch_op(sess, node, flags); break; + case GGML_OP_FLASH_ATTN_EXT: + ggml_hexagon_dispatch_op(sess, node, flags); + break; + + case GGML_OP_SET_ROWS: + ggml_hexagon_dispatch_op(sess, node, flags); + break; + + case GGML_OP_GET_ROWS: + ggml_hexagon_dispatch_op(sess, node, flags); + break; + default: GGML_ABORT("\nggml-hex: graph-compute %s is not supported\n", ggml_op_desc(node)); } @@ -2778,6 +2896,7 @@ static bool ggml_backend_hexagon_device_supports_op(ggml_backend_dev_t dev, cons break; case GGML_OP_RMS_NORM: + case GGML_OP_SCALE: supp = ggml_hexagon_supported_unary(sess, op); break; @@ -2805,6 +2924,18 @@ static bool ggml_backend_hexagon_device_supports_op(ggml_backend_dev_t dev, cons supp = ggml_hexagon_supported_rope(sess, op); break; + case GGML_OP_FLASH_ATTN_EXT: + supp = ggml_hexagon_supported_flash_attn_ext(sess, op); + break; + + case GGML_OP_SET_ROWS: + supp = ggml_hexagon_supported_set_rows(sess, op); + break; + + case GGML_OP_GET_ROWS: + supp = ggml_hexagon_supported_get_rows(sess, op); + break; + default: break; } diff --git a/ggml/src/ggml-hexagon/htp/CMakeLists.txt b/ggml/src/ggml-hexagon/htp/CMakeLists.txt index 2cf8aaa42a..6a34a215fa 100644 --- a/ggml/src/ggml-hexagon/htp/CMakeLists.txt +++ b/ggml/src/ggml-hexagon/htp/CMakeLists.txt @@ -28,6 +28,9 @@ add_library(${HTP_LIB} SHARED softmax-ops.c act-ops.c rope-ops.c + flash-attn-ops.c + set-rows-ops.c + get-rows-ops.c ) target_compile_definitions(${HTP_LIB} PRIVATE diff --git a/ggml/src/ggml-hexagon/htp/flash-attn-ops.c b/ggml/src/ggml-hexagon/htp/flash-attn-ops.c new file mode 100644 index 0000000000..04a7b843ce --- /dev/null +++ b/ggml/src/ggml-hexagon/htp/flash-attn-ops.c @@ -0,0 +1,566 @@ +#pragma clang diagnostic ignored "-Wunused-variable" +#pragma clang diagnostic ignored "-Wunused-function" +#pragma clang diagnostic ignored "-Wunused-but-set-variable" + +#ifdef HTP_DEBUG +# define FARF_HIGH 1 +#endif +#include +#include +#include +#include +#include +#include +#include + +#define GGML_COMMON_DECL_C +#include "ggml-common.h" +#include "htp-ctx.h" +#include "htp-dma.h" +#include "htp-msg.h" +#include "htp-ops.h" +#include "hvx-utils.h" +#include "ops-utils.h" + +// Dot product of FP32 and FP16 vectors, accumulating to float +static inline void hvx_dot_f32_f16_aa(float * restrict r, const void * restrict y, const void * restrict x, unsigned int n, float s) { + const HVX_Vector * restrict vy = (const HVX_Vector * restrict) y; // fp32 + const HVX_Vector * restrict vx = (const HVX_Vector * restrict) x; // fp16 + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + const HVX_Vector zero = Q6_V_vsplat_R(0); + HVX_Vector rsum = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; i++) { + // Load y (fp32) and convert into fp16 + HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+0], zero); // 32 elements + HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+1], zero); // 32 elements + HVX_Vector y_hf = Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); + + // Load x (fp16) + HVX_Vector x_hf = vx[i]; + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + if (nloe) { + // Load y (fp32) and convert into fp16 + HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+0], zero); // 32 elements + HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+1], zero); // 32 elements + HVX_Vector y_hf = Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); + + // Load x (fp16) + HVX_Vector x_hf = vx[i]; + + // Zero-out unused elements + // Note that we need to clear both x and y because they may contain NANs + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + x_hf = Q6_V_vand_QV(bmask, x_hf); + y_hf = Q6_V_vand_QV(bmask, y_hf); + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + rsum = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(rsum), hvx_vec_splat_fp32(s)); + rsum = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum)); + + hvx_vec_store_u(r, 4, rsum); +} + +// Dot product of two F16 vectors, accumulating to float +static inline void hvx_dot_f16_f16_aa(float * restrict r, const void * restrict x, const void * restrict y, unsigned int n, float s) { + const HVX_Vector * restrict vx = (const HVX_Vector * restrict) x; // fp16 + const HVX_Vector * restrict vy = (const HVX_Vector * restrict) y; // fp16 + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + const HVX_Vector zero = Q6_V_vsplat_R(0); + HVX_Vector rsum = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; i++) { + HVX_Vector y_hf = vy[i]; + HVX_Vector x_hf = vx[i]; + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + if (nloe) { + HVX_Vector y_hf = vy[i]; + + // Load x (fp16) and zero-out unused elements + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + HVX_Vector x_hf = Q6_V_vand_QV(bmask, vx[i]); + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + rsum = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(rsum), hvx_vec_splat_fp32(s)); + rsum = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum)); + hvx_vec_store_u(r, 4, rsum); +} + +// MAD: y (F32) += x (F16) * v (float) +static inline void hvx_mad_f32_f16_aa(float * restrict y, const void * restrict x, int n, float s) { + const HVX_Vector * restrict ptr_x = (const HVX_Vector *) x; + HVX_Vector * restrict ptr_y = (HVX_Vector *) y; + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + HVX_Vector S = hvx_vec_splat_fp16(s); + + uint32_t i = 0; + #pragma unroll(4) + for (i = 0; i < nvec; ++i) { + // Multiply x * s -> pair of F32 vectors + HVX_VectorPair xs_p = Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(ptr_x[i]), S); + ptr_y[i*2] = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_V_lo_W(xs_p), ptr_y[i*2])); + ptr_y[i*2+1] = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_V_hi_W(xs_p), ptr_y[i*2+1])); + } + + if (nloe) { + HVX_VectorPair xs_p = Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(ptr_x[i]), S); + + HVX_Vector xs = Q6_V_lo_W(xs_p); + i = 2 * i; // index for ptr_y + + if (nloe >= 32) { + ptr_y[i] = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(xs, ptr_y[i])); + nloe -= 32; ++i; xs = Q6_V_hi_W(xs_p); + } + + if (nloe) { + HVX_Vector xy = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(xs, ptr_y[i])); + hvx_vec_store_u(&ptr_y[i], nloe * 4, xy); + } + } +} + +#define FLASH_ATTN_BLOCK_SIZE 128 + +static void flash_attn_ext_f16_thread(struct htp_ops_context * octx, int ith, int nth) { + const struct htp_tensor * q = &octx->src0; + const struct htp_tensor * k = &octx->src1; + const struct htp_tensor * v = &octx->src2; + const struct htp_tensor * mask = (octx->src3.data) ? &octx->src3 : NULL; + const struct htp_tensor * sinks = (octx->src4.data) ? &octx->src4 : NULL; + struct htp_tensor * dst = &octx->dst; + + const uint32_t neq0 = q->ne[0]; + const uint32_t neq1 = q->ne[1]; + const uint32_t neq2 = q->ne[2]; + const uint32_t neq3 = q->ne[3]; + + const uint32_t nek0 = k->ne[0]; + const uint32_t nek1 = k->ne[1]; + const uint32_t nek2 = k->ne[2]; + const uint32_t nek3 = k->ne[3]; + + const uint32_t nev0 = v->ne[0]; + const uint32_t nev1 = v->ne[1]; + const uint32_t nev2 = v->ne[2]; + const uint32_t nev3 = v->ne[3]; + + const uint32_t nbq1 = q->nb[1]; + const uint32_t nbq2 = q->nb[2]; + const uint32_t nbq3 = q->nb[3]; + + const uint32_t nbk1 = k->nb[1]; + const uint32_t nbk2 = k->nb[2]; + const uint32_t nbk3 = k->nb[3]; + + const uint32_t nbv1 = v->nb[1]; + const uint32_t nbv2 = v->nb[2]; + const uint32_t nbv3 = v->nb[3]; + + const uint32_t ne1 = dst->ne[1]; + const uint32_t ne2 = dst->ne[2]; + const uint32_t ne3 = dst->ne[3]; + + const uint32_t nb1 = dst->nb[1]; + const uint32_t nb2 = dst->nb[2]; + const uint32_t nb3 = dst->nb[3]; + + float scale = 1.0f; + float max_bias = 0.0f; + float logit_softcap = 0.0f; + + memcpy(&scale, (float *) octx->op_params + 0, sizeof(float)); + memcpy(&max_bias, (float *) octx->op_params + 1, sizeof(float)); + memcpy(&logit_softcap, (float *) octx->op_params + 2, sizeof(float)); + + if (logit_softcap != 0) { + scale /= logit_softcap; + } + + // total rows in q + const uint32_t nr = neq1*neq2*neq3; + + const uint32_t dr = (nr + nth - 1) / nth; + const uint32_t ir0 = dr * ith; + const uint32_t ir1 = MIN(ir0 + dr, nr); + + if (ir0 >= ir1) return; + + dma_queue * dma = octx->ctx->dma[ith]; + + const uint32_t DK = nek0; + const uint32_t DV = nev0; + + const size_t size_q_row = DK * ((q->type == HTP_TYPE_F32) ? 4 : 2); + const size_t size_q_row_padded = htp_round_up(size_q_row, 128); + + const size_t size_k_row = DK * sizeof(__fp16); + const size_t size_v_row = DV * sizeof(__fp16); + const size_t size_m_row = FLASH_ATTN_BLOCK_SIZE * sizeof(__fp16); // Treat block as one row for mask + + const size_t size_k_row_padded = htp_round_up(size_k_row, 128); + const size_t size_v_row_padded = htp_round_up(size_v_row, 128); + + const size_t size_k_block = size_k_row_padded * FLASH_ATTN_BLOCK_SIZE; + const size_t size_v_block = size_v_row_padded * FLASH_ATTN_BLOCK_SIZE; + const size_t size_m_block = htp_round_up(FLASH_ATTN_BLOCK_SIZE * sizeof(__fp16), 128); + + // Scratchpad buffers for Q, K, V, Mask, and VKQ32 accumulator + uint8_t * spad_q = octx->src0_spad.data + octx->src0_spad.size_per_thread * ith; + uint8_t * spad_k = octx->src1_spad.data + octx->src1_spad.size_per_thread * ith; + uint8_t * spad_v = octx->src2_spad.data + octx->src2_spad.size_per_thread * ith; + uint8_t * spad_m = octx->src3_spad.data + octx->src3_spad.size_per_thread * ith; + uint8_t * spad_a = octx->dst_spad.data + octx->dst_spad.size_per_thread * ith; + + const uint32_t n_head = neq2; + const uint32_t n_head_log2 = 1u << (uint32_t) floor(log2(n_head)); + const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); + const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); + + for (uint32_t ir = ir0; ir < ir1; ++ir) { + const uint32_t iq3 = fastdiv(ir, &octx->src0_div21); + const uint32_t iq2 = fastdiv(ir - iq3*neq2*neq1, &octx->src0_div1); + const uint32_t iq1 = (ir - iq3*neq2*neq1 - iq2 * neq1); + + const uint32_t ik3 = fastdiv(iq3, &octx->broadcast_rk3); + const uint32_t ik2 = fastdiv(iq2, &octx->broadcast_rk2); + + const uint32_t iv3 = fastdiv(iq3, &octx->broadcast_rv3); + const uint32_t iv2 = fastdiv(iq2, &octx->broadcast_rv2); + + // Fetch Q row + const uint8_t * q_row_ptr = (const uint8_t *) q->data + (iq1*nbq1 + iq2*nbq2 + iq3*nbq3); + dma_queue_push(dma, dma_make_ptr(spad_q, q_row_ptr), size_q_row_padded, nbq1, size_q_row, 1); + + const uint32_t h = iq2; // head index + const float slope = (max_bias > 0.0f) ? (h < n_head_log2 ? powf(m0, h + 1) : powf(m1, 2*(h - n_head_log2) + 1)) : 1.0f; + + float S = 0.0f; // sum + float M = -INFINITY; // maximum KQ value + + // Clear accumulator + float * VKQ32 = (float *) spad_a; + memset(VKQ32, 0, DV * sizeof(float)); + + const __fp16 * mp_base = NULL; + if (mask) { + const uint32_t im2 = fastmodulo(iq2, mask->ne[2], &octx->src3_div2); + const uint32_t im3 = fastmodulo(iq3, mask->ne[3], &octx->src3_div3); + mp_base = (const __fp16 *) ((const uint8_t *) mask->data + iq1*mask->nb[1] + im2*mask->nb[2] + im3*mask->nb[3]); + } + + const uint32_t n_blocks = (nek1 + FLASH_ATTN_BLOCK_SIZE - 1) / FLASH_ATTN_BLOCK_SIZE; + + // Prefetch first two blocks + for (uint32_t ib = 0; ib < MIN(n_blocks, 2); ++ib) { + const uint32_t ic_start = ib * FLASH_ATTN_BLOCK_SIZE; + const uint32_t current_block_size = MIN(FLASH_ATTN_BLOCK_SIZE, nek1 - ic_start); + + // K + const uint8_t * k_src = (const uint8_t *) k->data + (ic_start*nbk1 + ik2*nbk2 + ik3*nbk3); + uint8_t * k_dst = spad_k + (ib % 2) * size_k_block; + dma_queue_push(dma, dma_make_ptr(k_dst, k_src), size_k_row_padded, nbk1, size_k_row, current_block_size); + + // V + const uint8_t * v_src = (const uint8_t *) v->data + (ic_start*nbv1 + iv2*nbv2 + iv3*nbv3); + uint8_t * v_dst = spad_v + (ib % 2) * size_v_block; + dma_queue_push(dma, dma_make_ptr(v_dst, v_src), size_v_row_padded, nbv1, size_v_row, current_block_size); + + // Mask + if (mask) { + const uint8_t * m_src = (const uint8_t *) (mp_base + ic_start); + uint8_t * m_dst = spad_m + (ib % 2) * size_m_block; + // Mask is 1D contiguous for this row + dma_queue_push(dma, dma_make_ptr(m_dst, m_src), current_block_size * 2, current_block_size * 2, current_block_size * 2, 1); + } + } + + const uint8_t * q_ptr_vtcm = dma_queue_pop(dma).dst; + + for (uint32_t ib = 0; ib < n_blocks; ++ib) { + const uint32_t ic_start = ib * FLASH_ATTN_BLOCK_SIZE; + const uint32_t current_block_size = MIN(FLASH_ATTN_BLOCK_SIZE, nek1 - ic_start); + + // Wait for DMA + uint8_t * k_base = dma_queue_pop(dma).dst; // K + uint8_t * v_base = dma_queue_pop(dma).dst; // V + __fp16 * m_base = mask ? dma_queue_pop(dma).dst : NULL; // M + + // Inner loop processing the block from VTCM + uint32_t ic = 0; + + // Process in blocks of 32 (VLEN_FP32) + for (; ic + VLEN_FP32 <= current_block_size; ic += VLEN_FP32) { + // 1. Compute scores + float __attribute__((aligned(VLEN))) scores_arr[VLEN_FP32]; + for (int j = 0; j < VLEN_FP32; ++j) { + const uint32_t cur_ic = ic + j; + const uint8_t * k_ptr = k_base + cur_ic * size_k_row_padded; + if (q->type == HTP_TYPE_F32) { + hvx_dot_f32_f16_aa(&scores_arr[j], q_ptr_vtcm, k_ptr, DK, scale); + } else { + hvx_dot_f16_f16_aa(&scores_arr[j], q_ptr_vtcm, k_ptr, DK, scale); + } + } + + HVX_Vector scores = *(HVX_Vector *) scores_arr; + + // 2. Softcap + if (logit_softcap != 0.0f) { + scores = hvx_vec_tanh_fp32(scores); + scores = Q6_Vqf32_vmpy_VsfVsf(scores, hvx_vec_splat_fp32(logit_softcap)); + scores = Q6_Vsf_equals_Vqf32(scores); + } + + // 3. Mask + if (mask) { + const __fp16 * mp = m_base + ic; + HVX_Vector m_vals_fp16 = *(const HVX_UVector *) mp; + + HVX_Vector one_fp16 = Q6_Vh_vsplat_R(0x3c00); + HVX_VectorPair m_vals_fp32_pair = Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(m_vals_fp16), one_fp16); + + HVX_Vector m_vals_fp32 = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(m_vals_fp32_pair)); + + HVX_Vector slope_vec = hvx_vec_splat_fp32(slope); + HVX_Vector add_val = Q6_Vqf32_vmpy_VsfVsf(m_vals_fp32, slope_vec); + scores = Q6_Vqf32_vadd_VsfVsf(scores, Q6_Vsf_equals_Vqf32(add_val)); + scores = Q6_Vsf_equals_Vqf32(scores); + } + + // 4. Online Softmax Update + HVX_Vector v_max = hvx_vec_reduce_max_fp32(scores); + float m_block = hvx_vec_get_fp32(v_max); + + float M_old = M; + float M_new = (m_block > M) ? m_block : M; + M = M_new; + + float ms = expf(M_old - M_new); + + hvx_scale_f32_aa((uint8_t *) VKQ32, (const uint8_t *) VKQ32, DV, ms); + S = S * ms; + + HVX_Vector M_new_vec = hvx_vec_splat_fp32(M_new); + HVX_Vector scores_shifted = Q6_Vqf32_vsub_VsfVsf(scores, M_new_vec); + HVX_Vector P = hvx_vec_exp_fp32(Q6_Vsf_equals_Vqf32(scores_shifted)); + + HVX_Vector p_sum_vec = hvx_vec_fp32_reduce_sum(P); + float p_sum = hvx_vec_get_fp32(p_sum_vec); + S += p_sum; + + // 5. Accumulate V + float __attribute__((aligned(VLEN))) p_arr[VLEN_FP32]; + *(HVX_Vector*)p_arr = P; + + for (int j = 0; j < VLEN_FP32; ++j) { + const uint32_t cur_ic = ic + j; + const uint8_t * v_ptr = v_base + cur_ic * size_v_row_padded; + hvx_mad_f32_f16_aa(VKQ32, v_ptr, DV, p_arr[j]); + } + } + + // Leftover + for (; ic < current_block_size; ++ic) { + float s_val; + const uint8_t * k_ptr = k_base + ic * size_k_row_padded; + + if (q->type == HTP_TYPE_F32) { + hvx_dot_f32_f16_aa(&s_val, q_ptr_vtcm, k_ptr, DK, scale); + } else { + hvx_dot_f16_f16_aa(&s_val, q_ptr_vtcm, k_ptr, DK, scale); + } + + if (logit_softcap != 0.0f) { + s_val = logit_softcap * tanhf(s_val); + } + + if (mask) { + const float m_val = m_base[ic]; + s_val += slope * m_val; + } + + const float Mold = M; + float ms = 1.0f; + float vs = 1.0f; + + if (s_val > M) { + M = s_val; + ms = expf(Mold - M); + hvx_scale_f32_aa((uint8_t *) VKQ32, (const uint8_t *) VKQ32, DV, ms); + } else { + vs = expf(s_val - M); + } + + const uint8_t * v_ptr = v_base + ic * size_v_row_padded; + + hvx_mad_f32_f16_aa(VKQ32, v_ptr, DV, vs); + + S = S * ms + vs; + } + + // Issue DMA for next+1 block (if exists) + if (ib + 2 < n_blocks) { + const uint32_t next_ib = ib + 2; + const uint32_t next_ic_start = next_ib * FLASH_ATTN_BLOCK_SIZE; + const uint32_t next_block_size = MIN(FLASH_ATTN_BLOCK_SIZE, nek1 - next_ic_start); + + // K + const uint8_t * k_src = (const uint8_t *) k->data + (next_ic_start*nbk1 + ik2*nbk2 + ik3*nbk3); + dma_queue_push(dma, dma_make_ptr(k_base, k_src), size_k_row_padded, nbk1, size_k_row, next_block_size); + + // V + const uint8_t * v_src = (const uint8_t *) v->data + (next_ic_start*nbv1 + iv2*nbv2 + iv3*nbv3); + dma_queue_push(dma, dma_make_ptr(v_base, v_src), size_v_row_padded, nbv1, size_v_row, next_block_size); + + // Mask + if (mask) { + const uint8_t * m_src = (const uint8_t *) (mp_base + next_ic_start); + dma_queue_push(dma, dma_make_ptr(m_base, m_src), next_block_size * 2, next_block_size * 2, next_block_size * 2, 1); + } + } + } + + // sinks + if (sinks) { + const float s = ((float *)((char *) sinks->data))[h]; + + float ms = 1.0f; + float vs = 1.0f; + + if (s > M) { + ms = expf(M - s); + hvx_scale_f32_aa((uint8_t *) VKQ32, (const uint8_t *) VKQ32, DV, ms); + } else { + vs = expf(s - M); + } + + S = S * ms + vs; + } + + const float S_inv = S == 0.0f ? 0.0f : 1.0f/S; + hvx_scale_f32_aa((uint8_t *) VKQ32, (const uint8_t *) VKQ32, DV, S_inv); + + // Store result + // dst indices + const int i1 = iq1; + const int i2 = iq2; + const int i3 = iq3; + + // dst is permuted + uint8_t * dst_ptr = (uint8_t *) dst->data + (i3*ne2*ne1 + i2 + i1*ne1) * nb1; + + if (dst->type == HTP_TYPE_F32) { + hvx_copy_fp32_ua(dst_ptr, (uint8_t *) VKQ32, DV); + } else if (dst->type == HTP_TYPE_F16) { + hvx_copy_fp16_fp32_ua(dst_ptr, (uint8_t *) VKQ32, DV); + } + } +} + +static void htp_flash_attn_ext_job(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = data; + flash_attn_ext_f16_thread(octx, i, n); +} + +int op_flash_attn_ext(struct htp_ops_context * octx) { + const struct htp_tensor * q = &octx->src0; + const struct htp_tensor * k = &octx->src1; + const struct htp_tensor * v = &octx->src2; + const struct htp_tensor * mask = (octx->src3.type != HTP_TYPE_COUNT) ? &octx->src3 : NULL; + struct htp_tensor * dst = &octx->dst; + + // Check support + if ((q->type != HTP_TYPE_F16 && q->type != HTP_TYPE_F32) || + k->type != HTP_TYPE_F16 || + v->type != HTP_TYPE_F16) { + return HTP_STATUS_NO_SUPPORT; + } + + octx->src0_div21 = init_fastdiv_values(q->ne[2] * q->ne[1]); + octx->src0_div1 = init_fastdiv_values(q->ne[1]); + + octx->broadcast_rk2 = init_fastdiv_values(q->ne[2]/k->ne[2]); + octx->broadcast_rk3 = init_fastdiv_values(q->ne[3]/k->ne[3]); + octx->broadcast_rv2 = init_fastdiv_values(q->ne[2]/v->ne[2]); + octx->broadcast_rv3 = init_fastdiv_values(q->ne[3]/v->ne[3]); + + if (mask) { + octx->src3_div2 = init_fastdiv_values(mask->ne[2]); + octx->src3_div3 = init_fastdiv_values(mask->ne[3]); + } + + size_t size_q_row_padded = htp_round_up(q->ne[0] * (q->type == HTP_TYPE_F32 ? 4 : 2), 128); + size_t size_k_row_padded = htp_round_up(k->ne[0] * sizeof(__fp16), 128); + size_t size_v_row_padded = htp_round_up(v->ne[0] * sizeof(__fp16), 128); + + size_t size_q_block = size_q_row_padded * 1; // single row for now + size_t size_k_block = size_k_row_padded * FLASH_ATTN_BLOCK_SIZE; + size_t size_v_block = size_v_row_padded * FLASH_ATTN_BLOCK_SIZE; + size_t size_m_block = htp_round_up(FLASH_ATTN_BLOCK_SIZE * sizeof(__fp16), 128); + + size_t size_vkq_acc = htp_round_up(v->ne[0] * sizeof(float), 128); // VKQ32 + + octx->src0_spad.size_per_thread = size_q_block * 1; + octx->src1_spad.size_per_thread = size_k_block * 2; + octx->src2_spad.size_per_thread = size_v_block * 2; + octx->src3_spad.size_per_thread = mask ? size_m_block * 2 : 0; + octx->dst_spad.size_per_thread = size_vkq_acc; + + octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; + octx->src1_spad.size = octx->src1_spad.size_per_thread * octx->n_threads; + octx->src2_spad.size = octx->src2_spad.size_per_thread * octx->n_threads; + octx->src3_spad.size = octx->src3_spad.size_per_thread * octx->n_threads; + octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; + + size_t total_spad = octx->src0_spad.size + octx->src1_spad.size + octx->src2_spad.size + octx->src3_spad.size + octx->dst_spad.size; + + if (octx->ctx->vtcm_size < total_spad) { + return HTP_STATUS_VTCM_TOO_SMALL; + } + + octx->src0_spad.data = octx->ctx->vtcm_base; + octx->src1_spad.data = octx->src0_spad.data + octx->src0_spad.size; + octx->src2_spad.data = octx->src1_spad.data + octx->src1_spad.size; + octx->src3_spad.data = octx->src2_spad.data + octx->src2_spad.size; + octx->dst_spad.data = octx->src3_spad.data + octx->src3_spad.size; + + if (!(octx->flags & HTP_OPFLAGS_SKIP_COMPUTE)) { + worker_pool_run_func(octx->ctx->worker_pool, htp_flash_attn_ext_job, octx, octx->n_threads); + } + + return HTP_STATUS_OK; +} diff --git a/ggml/src/ggml-hexagon/htp/get-rows-ops.c b/ggml/src/ggml-hexagon/htp/get-rows-ops.c new file mode 100644 index 0000000000..54321421eb --- /dev/null +++ b/ggml/src/ggml-hexagon/htp/get-rows-ops.c @@ -0,0 +1,112 @@ +#pragma clang diagnostic ignored "-Wunused-variable" +#pragma clang diagnostic ignored "-Wunused-function" +#pragma clang diagnostic ignored "-Wunused-but-set-variable" + +#ifdef HTP_DEBUG +# define FARF_HIGH 1 +#endif +#include +#include +#include +#include +#include +#include +#include + +#define GGML_COMMON_DECL_C +#include "ggml-common.h" +#include "htp-ctx.h" +#include "htp-msg.h" +#include "htp-ops.h" +#include "hvx-utils.h" +#include "ops-utils.h" + +#define get_rows_preamble \ + const uint32_t ne00 = octx->src0.ne[0]; \ + const uint32_t ne01 = octx->src0.ne[1]; \ + const uint32_t ne02 = octx->src0.ne[2]; \ + const uint32_t ne03 = octx->src0.ne[3]; \ + \ + const uint32_t ne10 = octx->src1.ne[0]; \ + const uint32_t ne11 = octx->src1.ne[1]; \ + const uint32_t ne12 = octx->src1.ne[2]; \ + \ + const uint32_t nb01 = octx->src0.nb[1]; \ + const uint32_t nb02 = octx->src0.nb[2]; \ + const uint32_t nb03 = octx->src0.nb[3]; \ + \ + const uint32_t nb10 = octx->src1.nb[0]; \ + const uint32_t nb11 = octx->src1.nb[1]; \ + const uint32_t nb12 = octx->src1.nb[2]; \ + \ + const uint32_t nb1 = octx->dst.nb[1]; \ + const uint32_t nb2 = octx->dst.nb[2]; \ + const uint32_t nb3 = octx->dst.nb[3]; \ + \ + const uint32_t nr = ne10 * ne11 * ne12; + +static int get_rows_thread_f32_f32(struct htp_ops_context * octx, const int nth, const int ith) { + get_rows_preamble; + + // parallelize by src1 elements (which correspond to dst rows) + const uint32_t dr = octx->src1_nrows_per_thread; + const uint32_t ir0 = dr * ith; + const uint32_t ir1 = (ir0 + dr < nr) ? (ir0 + dr) : nr; + + const bool is_i32 = (octx->src1.type == HTP_TYPE_I32); + + for (uint32_t i = ir0; i < ir1; ++i) { + const uint32_t i12 = fastdiv(i, &octx->get_rows_div_ne10_ne11); + const uint32_t rem = i - i12 * ne11 * ne10; + const uint32_t i11 = fastdiv(rem, &octx->get_rows_div_ne10); + const uint32_t i10 = rem - i11 * ne10; + + const uintptr_t src1_addr = octx->src1.data + i10*nb10 + i11*nb11 + i12*nb12; + + uint32_t i01 = is_i32 ? *(int32_t *)src1_addr : *(int64_t *)src1_addr; + + if (i01 >= ne01) { + // invalid index, skip for now to avoid crash + continue; + } + + const uintptr_t src0_ptr = octx->src0.data + i01*nb01 + i11*nb02 + i12*nb03; + const uintptr_t dst_ptr = octx->dst.data + i10*nb1 + i11*nb2 + i12*nb3; + hvx_copy_fp32_uu((uint8_t *)dst_ptr, (const uint8_t *)src0_ptr, ne00); + } + + return HTP_STATUS_OK; +} + +static void get_rows_work_f32_f32(unsigned int n, unsigned int i, void *data) { + get_rows_thread_f32_f32((struct htp_ops_context *) data, n, i); +} + +int op_get_rows(struct htp_ops_context * octx) { + get_rows_preamble; + + if (octx->src0.type != HTP_TYPE_F32) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->dst.type != HTP_TYPE_F32) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->src1.type != HTP_TYPE_I32 && octx->src1.type != HTP_TYPE_I64) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->flags & HTP_OPFLAGS_SKIP_COMPUTE) { + return HTP_STATUS_OK; + } + + octx->get_rows_div_ne10 = init_fastdiv_values(octx->src1.ne[0]); + octx->get_rows_div_ne10_ne11 = init_fastdiv_values(octx->src1.ne[0] * octx->src1.ne[1]); + + const uint32_t n_jobs = MIN(nr, octx->n_threads); + octx->src1_nrows_per_thread = (nr + n_jobs - 1) / n_jobs; + + worker_pool_run_func(octx->ctx->worker_pool, get_rows_work_f32_f32, octx, n_jobs); + return HTP_STATUS_OK; +} diff --git a/ggml/src/ggml-hexagon/htp/htp-ctx.h b/ggml/src/ggml-hexagon/htp/htp-ctx.h index 5c3d217f1c..4bd0ea7a36 100644 --- a/ggml/src/ggml-hexagon/htp/htp-ctx.h +++ b/ggml/src/ggml-hexagon/htp/htp-ctx.h @@ -11,11 +11,6 @@ #define HTP_MAX_NTHREADS 10 -// FIXME: move these into matmul-ops -#define HTP_SPAD_SRC0_NROWS 16 -#define HTP_SPAD_SRC1_NROWS 16 -#define HTP_SPAD_DST_NROWS 2 - // Main context for htp DSP backend struct htp_context { dspqueue_t queue; diff --git a/ggml/src/ggml-hexagon/htp/htp-msg.h b/ggml/src/ggml-hexagon/htp/htp-msg.h index a61652304a..846d061784 100644 --- a/ggml/src/ggml-hexagon/htp/htp-msg.h +++ b/ggml/src/ggml-hexagon/htp/htp-msg.h @@ -36,6 +36,8 @@ enum htp_data_type { HTP_TYPE_F16 = 1, HTP_TYPE_Q4_0 = 2, HTP_TYPE_Q8_0 = 8, + HTP_TYPE_I32 = 26, + HTP_TYPE_I64 = 27, HTP_TYPE_MXFP4 = 39, HTP_TYPE_COUNT }; @@ -57,6 +59,10 @@ enum htp_op { HTP_OP_SOFTMAX = 11, HTP_OP_ADD_ID = 12, HTP_OP_ROPE = 13, + HTP_OP_FLASH_ATTN_EXT = 14, + HTP_OP_SET_ROWS = 15, + HTP_OP_SCALE = 16, + HTP_OP_GET_ROWS = 17, INVALID }; @@ -137,6 +143,8 @@ struct htp_general_req { struct htp_tensor src0; // Input0 tensor struct htp_tensor src1; // Input1 tensor struct htp_tensor src2; // Input2 tensor + struct htp_tensor src3; // Input3 tensor + struct htp_tensor src4; // Input4 tensor struct htp_tensor dst; // Output tensor // should be multiple of 64 bytes (cacheline) @@ -152,6 +160,6 @@ struct htp_general_rsp { }; #define HTP_MAX_MESSAGE_SIZE sizeof(struct htp_general_req) -#define HTP_MAX_PACKET_BUFFERS 4 +#define HTP_MAX_PACKET_BUFFERS 8 #endif /* HTP_MSG_H */ diff --git a/ggml/src/ggml-hexagon/htp/htp-ops.h b/ggml/src/ggml-hexagon/htp/htp-ops.h index e87657436f..7c828ae636 100644 --- a/ggml/src/ggml-hexagon/htp/htp-ops.h +++ b/ggml/src/ggml-hexagon/htp/htp-ops.h @@ -13,6 +13,7 @@ struct htp_spad { uint8_t * data; + size_t stride; size_t size; size_t size_per_thread; }; @@ -26,11 +27,14 @@ struct htp_ops_context { struct htp_tensor src0; struct htp_tensor src1; struct htp_tensor src2; + struct htp_tensor src3; + struct htp_tensor src4; struct htp_tensor dst; struct htp_spad src0_spad; struct htp_spad src1_spad; struct htp_spad src2_spad; + struct htp_spad src3_spad; struct htp_spad dst_spad; worker_pool_context_t * wpool; // worker pool @@ -49,6 +53,27 @@ struct htp_ops_context { struct fastdiv_values src1_div3; // fastdiv values for ne3 struct fastdiv_values src1_div21; // fastdiv values for ne2 * ne1 + struct fastdiv_values src3_div1; // fastdiv values for ne1 + struct fastdiv_values src3_div2; // fastdiv values for ne2 + struct fastdiv_values src3_div3; // fastdiv values for ne3 + struct fastdiv_values src3_div21; // fastdiv values for ne2 * ne1 + + struct fastdiv_values broadcast_rk2; + struct fastdiv_values broadcast_rk3; + struct fastdiv_values broadcast_rv2; + struct fastdiv_values broadcast_rv3; + + struct fastdiv_values mm_div_ne12_ne1; // fastdiv values for ne12 * ne1 + struct fastdiv_values mm_div_ne1; // fastdiv values for ne1 + struct fastdiv_values mm_div_r2; // fastdiv values for ne12 / ne02 + struct fastdiv_values mm_div_r3; // fastdiv values for ne13 / ne03 + + struct fastdiv_values set_rows_div_ne12; // fastdiv values for ne12 + struct fastdiv_values set_rows_div_ne11; // fastdiv values for ne11 + + struct fastdiv_values get_rows_div_ne10; // fastdiv values for ne10 + struct fastdiv_values get_rows_div_ne10_ne11; // fastdiv values for ne10 * ne11 + uint32_t flags; }; @@ -60,5 +85,8 @@ int op_activations(struct htp_ops_context * octx); int op_softmax(struct htp_ops_context * octx); int op_add_id(struct htp_ops_context * octx); int op_rope(struct htp_ops_context * octx); +int op_flash_attn_ext(struct htp_ops_context * octx); +int op_set_rows(struct htp_ops_context * octx); +int op_get_rows(struct htp_ops_context * octx); #endif /* HTP_OPS_H */ diff --git a/ggml/src/ggml-hexagon/htp/hvx-utils.c b/ggml/src/ggml-hexagon/htp/hvx-utils.c index f9e02ab67e..29d73b8622 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-utils.c +++ b/ggml/src/ggml-hexagon/htp/hvx-utils.c @@ -848,55 +848,6 @@ float hvx_self_sum_f32(const uint8_t * restrict src, const int num_elems) { return hvx_vec_get_fp32(Q6_Vsf_equals_Vqf32(v)); } -void hvx_scale_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems, const float scale) { - int left_over = num_elems & (VLEN_FP32 - 1); - int num_elems_whole = num_elems - left_over; - - int unaligned_addr = 0; - int unaligned_loop = 0; - if ((0 == htp_is_aligned((void *) src, VLEN)) || (0 == htp_is_aligned((void *) dst, VLEN))) { - FARF(HIGH, "hvx_scale_f32: unaligned address in hvx op, possibly slower execution\n"); - unaligned_addr = 1; - } - - if ((1 == unaligned_addr) && (num_elems_whole != 0)) { - unaligned_loop = 1; - FARF(HIGH, "hvx_scale_f32: unaligned loop in hvx op, possibly slower execution\n"); - } - - HVX_Vector scale_vec = hvx_vec_splat_fp32(scale); - - if (0 == unaligned_loop) { - HVX_Vector * vec_in1 = (HVX_Vector *) src; - HVX_Vector * vec_out = (HVX_Vector *) dst; - - #pragma unroll(4) - for (int i = 0; i < num_elems_whole; i += VLEN_FP32) { - HVX_Vector v = Q6_Vqf32_vmpy_VsfVsf(*vec_in1++, scale_vec); - *vec_out++ = Q6_Vsf_equals_Vqf32(v); - } - } else { - #pragma unroll(4) - for (int i = 0; i < num_elems_whole; i += VLEN_FP32) { - HVX_Vector in = *(HVX_UVector *) (src + i * SIZEOF_FP32); - - HVX_Vector out = Q6_Vqf32_vmpy_VsfVsf(in, scale_vec); - - *(HVX_UVector *) (dst + i * SIZEOF_FP32) = Q6_Vsf_equals_Vqf32(out); - } - } - - if (left_over > 0) { - const float * srcf = (const float *) src + num_elems_whole; - float * dstf = (float *) dst + num_elems_whole; - - HVX_Vector in = *(HVX_UVector *) srcf; - - HVX_Vector out = Q6_Vqf32_vmpy_VsfVsf(in, scale_vec); - hvx_vec_store_u((void *) dstf, left_over * SIZEOF_FP32, Q6_Vsf_equals_Vqf32(out)); - } -} - float hvx_self_max_f32(const uint8_t * restrict src, const int num_elems) { int left_over = num_elems & (VLEN_FP32 - 1); int num_elems_whole = num_elems - left_over; @@ -1065,3 +1016,5 @@ void hvx_clamp_scalar_f32(const uint8_t * restrict src, hvx_vec_store_u((void *) dstf, left_over * SIZEOF_FP32, in_vec); } } + + diff --git a/ggml/src/ggml-hexagon/htp/hvx-utils.h b/ggml/src/ggml-hexagon/htp/hvx-utils.h index d2d5d23636..22876e6dba 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-utils.h +++ b/ggml/src/ggml-hexagon/htp/hvx-utils.h @@ -41,15 +41,24 @@ static inline HVX_Vector Q6_Vsf_equals_Vw(HVX_Vector const in) } #endif -static inline HVX_Vector hvx_vec_splat_fp32(float i) { +static inline HVX_Vector hvx_vec_splat_fp32(float v) { union { - float f; - int32_t i; - } fp32 = { .f = i }; + float f; + uint32_t i; + } fp32 = { .f = v }; return Q6_V_vsplat_R(fp32.i); } +static inline HVX_Vector hvx_vec_splat_fp16(float v) { + union { + __fp16 f; + uint16_t i; + } fp16 = { .f = v }; + + return Q6_Vh_vsplat_R(fp16.i); +} + static inline void hvx_vec_store_u(void * addr, uint32_t n, HVX_Vector v) { // Rotate as needed. v = Q6_V_vlalign_VVR(v, v, (size_t) addr); @@ -242,6 +251,120 @@ static inline void hvx_copy_fp32_au(uint8_t * restrict dst, const uint8_t * rest } } +// copy n fp32 elements : source is unaligned, destination unaligned +static inline void hvx_copy_fp32_uu(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + HVX_UVector * restrict vdst = (HVX_UVector *) dst; + HVX_UVector * restrict vsrc = (HVX_UVector *) src; + + assert((unsigned long) dst % 128 == 0); + + uint32_t nvec = n / 32; + uint32_t nloe = n % 32; + + uint32_t i = 0; + + #pragma unroll(4) + for (; i < nvec; i++) { + HVX_Vector v = vsrc[i]; + vdst[i] = v; + } + + if (nloe) { + HVX_Vector v = vsrc[i]; + hvx_vec_store_u((void *) &vdst[i], nloe * sizeof(float), v); + } +} + +// copy/convert n fp32 elements into n fp16 elements : source is unaligned, destination is unaligned +static inline void hvx_copy_fp16_fp32_uu(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + HVX_UVector * restrict vdst = (HVX_UVector *) dst; // fp16 + HVX_UVector * restrict vsrc = (HVX_UVector *) src; // fp32 + + const HVX_Vector zero = Q6_V_vsplat_R(0); + + uint32_t nvec = n / 64; + uint32_t nloe = n % 64; + + uint32_t i = 0; + + #pragma unroll(4) + for (; i < nvec; i++) { + // Load y (fp32) and convert into fp16 + HVX_Vector s0_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+0], zero); // 32 elements + HVX_Vector s1_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+1], zero); // 32 elements + HVX_Vector s_hf = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(s1_qf, s0_qf)); + vdst[i] = Q6_Vh_vdeal_Vh(s_hf); + } + + if (nloe) { + // Load y (fp32) and convert into fp16 + HVX_Vector s0_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+0], zero); // 32 elements + HVX_Vector s1_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+1], zero); // 32 elements + HVX_Vector s_hf = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(s1_qf, s0_qf)); + hvx_vec_store_u((void *) &vdst[i], nloe * sizeof(__fp16), Q6_Vh_vdeal_Vh(s_hf)); + } +} + +// copy/convert n fp32 elements into n fp16 elements : source is aligned, destination is unaligned +static inline void hvx_copy_fp16_fp32_ua(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + HVX_UVector * restrict vdst = (HVX_UVector *) dst; // fp16 + HVX_Vector * restrict vsrc = (HVX_Vector *) src; // fp32 + + const HVX_Vector zero = Q6_V_vsplat_R(0); + + uint32_t nvec = n / 64; + uint32_t nloe = n % 64; + + uint32_t i = 0; + + #pragma unroll(4) + for (; i < nvec; i++) { + // Load y (fp32) and convert into fp16 + HVX_Vector s0_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+0], zero); // 32 elements + HVX_Vector s1_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+1], zero); // 32 elements + HVX_Vector s_hf = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(s1_qf, s0_qf)); + vdst[i] = Q6_Vh_vdeal_Vh(s_hf); + } + + if (nloe) { + // Load y (fp32) and convert into fp16 + HVX_Vector s0_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+0], zero); // 32 elements + HVX_Vector s1_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+1], zero); // 32 elements + HVX_Vector s_hf = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(s1_qf, s0_qf)); + hvx_vec_store_u((void *) &vdst[i], nloe * sizeof(__fp16), Q6_Vh_vdeal_Vh(s_hf)); + } +} + +// copy/convert n fp32 elements into n fp16 elements : source is unaligned, destination is aligned +static inline void hvx_copy_fp16_fp32_au(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + HVX_Vector * restrict vdst = (HVX_Vector *) dst; // fp16 + HVX_UVector * restrict vsrc = (HVX_UVector *) src; // fp32 + + const HVX_Vector zero = Q6_V_vsplat_R(0); + + uint32_t nvec = n / 64; + uint32_t nloe = n % 64; + + uint32_t i = 0; + + #pragma unroll(4) + for (; i < nvec; i++) { + // Load y (fp32) and convert into fp16 + HVX_Vector s0_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+0], zero); // 32 elements + HVX_Vector s1_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+1], zero); // 32 elements + HVX_Vector s_hf = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(s1_qf, s0_qf)); + vdst[i] = Q6_Vh_vdeal_Vh(s_hf); + } + + if (nloe) { + // Load y (fp32) and convert into fp16 + HVX_Vector s0_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+0], zero); // 32 elements + HVX_Vector s1_qf = Q6_Vqf32_vsub_VsfVsf(vsrc[i*2+1], zero); // 32 elements + HVX_Vector s_hf = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(s1_qf, s0_qf)); + hvx_vec_store_u((void *) &vdst[i], nloe * sizeof(__fp16), Q6_Vh_vdeal_Vh(s_hf)); + } +} + // bcast 1 fp32 element from source to n fp32 elements in destination : destination is aligned static inline void hvx_bcast_fp32_a(uint8_t * restrict dst, float elem, uint32_t n) { HVX_Vector * restrict vdst = (HVX_Vector *) dst; @@ -273,8 +396,6 @@ static __attribute__((always_inline)) int32_t is_in_one_chunk(void * addr, uint3 return right_off <= chunk_size; } - - static void hvx_vec_dump_fp16_n(char * pref, HVX_Vector v, uint32_t n) { HVX_VectorAlias u = { .v = v }; @@ -531,13 +652,13 @@ static inline HVX_Vector hvx_vec_abs_fp32(HVX_Vector v) { } static inline HVX_Vector hvx_vec_neg_fp32(HVX_Vector v) { -#if __HTP_ARCH__ > 75 +#if __HVX_ARCH__ > 75 return Q6_Vsf_vfneg_Vsf(v); #else // neg by setting the fp32 sign bit HVX_Vector mask = Q6_V_vsplat_R(0x80000000); return Q6_V_vxor_VV(v, mask); -#endif // __HTP_ARCH__ > 75 +#endif // __HVX_ARCH__ > 75 } // ==================================================== @@ -976,6 +1097,24 @@ static inline HVX_Vector hvx_vec_fast_sigmoid_fp32_guard(HVX_Vector v, return Q6_V_vmux_QVV(pred_min, out, Q6_V_vzero()); } +static inline HVX_Vector hvx_vec_tanh_fp32(HVX_Vector x) { + // tanh(x) = 2 * sigmoid(2x) - 1 + HVX_Vector two = hvx_vec_splat_fp32(2.0f); + HVX_Vector one = hvx_vec_splat_fp32(1.0f); + HVX_Vector x2 = Q6_Vqf32_vmpy_VsfVsf(x, two); + + static const float kMinExp = -87.f; // 0 + static const float kMaxExp = 87.f; // 1 + HVX_Vector max_exp = hvx_vec_splat_fp32(kMaxExp); + HVX_Vector min_exp = hvx_vec_splat_fp32(kMinExp); + + HVX_Vector sig2x = hvx_vec_fast_sigmoid_fp32_guard(Q6_Vsf_equals_Vqf32(x2), one, max_exp, min_exp); + + HVX_Vector res = Q6_Vqf32_vmpy_VsfVsf(sig2x, two); + res = Q6_Vqf32_vsub_Vqf32Vsf(res, one); + return Q6_Vsf_equals_Vqf32(res); +} + static inline void hvx_fast_sigmoid_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems) { int step_of_1 = num_elems >> 5; int remaining = num_elems - step_of_1 * VLEN_FP32; @@ -1056,6 +1195,115 @@ static inline void hvx_sigmoid_f32(const uint8_t * restrict src, uint8_t * restr } } +static inline void hvx_scale_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src, const int n, const float scale) { + int nvec = n / VLEN_FP32; + int nloe = n % VLEN_FP32; + + HVX_Vector vs = hvx_vec_splat_fp32(scale); + + HVX_Vector * vsrc = (HVX_Vector *) src; + HVX_Vector * vdst = (HVX_Vector *) dst; + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; ++i) { + HVX_Vector v = Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs); + vdst[i] = Q6_Vsf_equals_Vqf32(v); + } + + if (nloe) { + HVX_Vector v = Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs); + hvx_vec_store_u((void *) &vdst[i], nloe * 4, Q6_Vsf_equals_Vqf32(v)); + } +} + +static inline void hvx_scale_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src, const int n, const float scale) { + int nvec = n / VLEN_FP32; + int nloe = n % VLEN_FP32; + + HVX_Vector vs = hvx_vec_splat_fp32(scale); + + HVX_UVector * vsrc = (HVX_UVector *) src; + HVX_UVector * vdst = (HVX_UVector *) dst; + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; ++i) { + HVX_Vector v = Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs); + vdst[i] = Q6_Vsf_equals_Vqf32(v); + } + + if (nloe) { + HVX_Vector v = Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs); + hvx_vec_store_u((void *) &vdst[i], nloe * 4, Q6_Vsf_equals_Vqf32(v)); + } +} + +static inline void hvx_scale_f32(uint8_t * restrict dst, const uint8_t * restrict src, const int n, const float scale) { + if (htp_is_aligned((void *) src, VLEN) && htp_is_aligned((void *) dst, VLEN)) { + hvx_scale_f32_aa(dst, src, n, scale); + } else { + hvx_scale_f32_uu(dst, src, n, scale); + } +} + +static inline void hvx_scale_offset_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src, const int n, const float scale, const float offset) { + int nvec = n / VLEN_FP32; + int nloe = n % VLEN_FP32; + + HVX_Vector vs = hvx_vec_splat_fp32(scale); + HVX_Vector vo = hvx_vec_splat_fp32(offset); + + HVX_Vector * vsrc = (HVX_Vector *) src; + HVX_Vector * vdst = (HVX_Vector *) dst; + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; ++i) { + HVX_Vector v = Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs), vo); + vdst[i] = Q6_Vsf_equals_Vqf32(v); + } + + if (nloe) { + HVX_Vector v = Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs), vo); + hvx_vec_store_u((void *) &vdst[i], nloe * 4, Q6_Vsf_equals_Vqf32(v)); + } +} + +static inline void hvx_scale_offset_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src, const int n, const float scale, const float offset) { + int nvec = n / VLEN_FP32; + int nloe = n % VLEN_FP32; + + HVX_Vector vs = hvx_vec_splat_fp32(scale); + HVX_Vector vo = hvx_vec_splat_fp32(offset); + + HVX_UVector * vsrc = (HVX_UVector *) src; + HVX_UVector * vdst = (HVX_UVector *) dst; + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; ++i) { + HVX_Vector v = Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs), vo); + vdst[i] = Q6_Vsf_equals_Vqf32(v); + } + + if (nloe) { + HVX_Vector v = Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vmpy_VsfVsf(vsrc[i], vs), vo); + hvx_vec_store_u((void *) &vdst[i], nloe * 4, Q6_Vsf_equals_Vqf32(v)); + } +} + +static inline void hvx_scale_offset_f32(uint8_t * restrict dst, const uint8_t * restrict src, const int n, const float scale, const float offset) { + if (htp_is_aligned((void *) src, VLEN) && htp_is_aligned((void *) dst, VLEN)) { + hvx_scale_offset_f32_aa(dst, src, n, scale, offset); + } else { + hvx_scale_offset_f32_uu(dst, src, n, scale, offset); + } +} float hvx_sum_of_squares_f32(const uint8_t * restrict src, const int num_elems); void hvx_mul_f32(const uint8_t * restrict src0, @@ -1090,7 +1338,6 @@ void hvx_sub_f32_opt(const uint8_t * restrict src0, uint8_t * restrict dst, const int num_elems); void hvx_sub_scalar_f32(const uint8_t * restrict src, const float val, uint8_t * restrict dst, const int num_elems); -void hvx_scale_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems, const float scale); void hvx_inverse_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems); void hvx_sigmoid_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems); void hvx_exp_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems, bool negate); diff --git a/ggml/src/ggml-hexagon/htp/main.c b/ggml/src/ggml-hexagon/htp/main.c index fb5508a560..24b3e90e4b 100644 --- a/ggml/src/ggml-hexagon/htp/main.c +++ b/ggml/src/ggml-hexagon/htp/main.c @@ -443,6 +443,45 @@ static void proc_matmul_req(struct htp_context * ctx, send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); } +static void proc_get_rows_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs) { + struct dspqueue_buffer rsp_bufs[1]; + + // We had written to the output buffer, we'd also need to flush it + rsp_bufs[0].fd = bufs[2].fd; + rsp_bufs[0].ptr = bufs[2].ptr; + rsp_bufs[0].offset = bufs[2].offset; + rsp_bufs[0].size = bufs[2].size; + rsp_bufs[0].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush HTP + DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate CPU + + // Setup Op context + struct htp_ops_context octx = { 0 }; + octx.ctx = ctx; + octx.src0 = req->src0; + octx.src1 = req->src1; + octx.dst = req->dst; + octx.flags = req->flags; + octx.op = req->op; + + // Update data pointers + octx.src0.data = (uint32_t) bufs[0].ptr; + octx.src1.data = (uint32_t) bufs[1].ptr; + octx.dst.data = (uint32_t) bufs[2].ptr; + octx.n_threads = ctx->n_threads; + + struct profile_data prof; + profile_start(&prof); + + uint32_t rsp_status = HTP_STATUS_INTERNAL_ERR; + if (vtcm_acquire(ctx) == AEE_SUCCESS) { + rsp_status = op_get_rows(&octx); + vtcm_release(ctx); + } + + profile_stop(&prof); + send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); +} + static void proc_matmul_id_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs, @@ -668,7 +707,7 @@ static void proc_rope_req(struct htp_context * ctx, uint32_t n_bufs) { struct dspqueue_buffer rsp_bufs[HTP_MAX_PACKET_BUFFERS]; - int write_idx = (n_bufs == 4) ? 3 : 2; + int write_idx = n_bufs - 1; // We had written to the output buffer, we'd also need to flush it rsp_bufs[0].fd = bufs[write_idx].fd; @@ -716,6 +755,102 @@ static void proc_rope_req(struct htp_context * ctx, send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); } +static void proc_set_rows_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs) { + struct dspqueue_buffer rsp_bufs[1]; + + // We had written to the output buffer, we'd also need to flush it + rsp_bufs[0].fd = bufs[2].fd; + rsp_bufs[0].ptr = bufs[2].ptr; + rsp_bufs[0].offset = bufs[2].offset; + rsp_bufs[0].size = bufs[2].size; + rsp_bufs[0].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush HTP + DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate CPU + + // Setup Op context + struct htp_ops_context octx = { 0 }; + octx.ctx = ctx; + octx.src0 = req->src0; + octx.src1 = req->src1; + octx.dst = req->dst; + octx.flags = req->flags; + octx.op = req->op; + + // Update data pointers + octx.src0.data = (uint32_t) bufs[0].ptr; + octx.src1.data = (uint32_t) bufs[1].ptr; + octx.dst.data = (uint32_t) bufs[2].ptr; + octx.n_threads = ctx->n_threads; + + struct profile_data prof; + profile_start(&prof); + + uint32_t rsp_status = HTP_STATUS_INTERNAL_ERR; + if (vtcm_acquire(ctx) == AEE_SUCCESS) { + rsp_status = op_set_rows(&octx); + vtcm_release(ctx); + } + + profile_stop(&prof); + send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); +} + +static void proc_flash_attn_ext_req(struct htp_context * ctx, + struct htp_general_req * req, + struct dspqueue_buffer * bufs, + uint32_t n_bufs) { + // Setup Op context + struct htp_ops_context octx; + memset(&octx, 0, sizeof(octx)); + + octx.ctx = ctx; + octx.n_threads = ctx->n_threads; + + octx.src0 = req->src0; + octx.src1 = req->src1; + octx.src2 = req->src2; + octx.src3 = req->src3; + octx.src4 = req->src4; + octx.dst = req->dst; + octx.flags = req->flags; + octx.op = req->op; + + memcpy(octx.op_params, req->op_params, sizeof(octx.op_params)); + + // Update data pointers + octx.src0.data = (uint32_t) bufs[0].ptr; + octx.src1.data = (uint32_t) bufs[1].ptr; + octx.src2.data = (uint32_t) bufs[2].ptr; + + int last_buf = 3; + + if (octx.src3.ne[0]) { + octx.src3.data = (uint32_t) bufs[last_buf++].ptr; // mask is valid + } + + if (octx.src4.ne[0]) { + octx.src4.data = (uint32_t) bufs[last_buf++].ptr; // sinks is valid + } + + octx.dst.data = (uint32_t) bufs[last_buf].ptr; + + struct profile_data prof; + profile_start(&prof); + + uint32_t rsp_status = HTP_STATUS_INTERNAL_ERR; + if (vtcm_acquire(ctx) == AEE_SUCCESS) { + rsp_status = op_flash_attn_ext(&octx); + vtcm_release(ctx); + } + + profile_stop(&prof); + + struct dspqueue_buffer rsp_buf = bufs[last_buf]; + rsp_buf.flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush HTP + DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate CPU + + send_htp_rsp(ctx, req->op, rsp_status, &bufs[last_buf], 1, &prof); +} + static void htp_packet_callback(dspqueue_t queue, int error, void * context) { struct htp_context * ctx = (struct htp_context *) context; @@ -790,6 +925,7 @@ static void htp_packet_callback(dspqueue_t queue, int error, void * context) { break; case HTP_OP_RMS_NORM: + case HTP_OP_SCALE: if (n_bufs != 2) { FARF(ERROR, "Bad unary-req buffer list"); continue; @@ -833,6 +969,30 @@ static void htp_packet_callback(dspqueue_t queue, int error, void * context) { proc_rope_req(ctx, &req, bufs, n_bufs); break; + case HTP_OP_FLASH_ATTN_EXT: + if (!(n_bufs >= 4 && n_bufs <= 6)) { + FARF(ERROR, "Bad flash-attn-ext-req buffer list"); + continue; + } + proc_flash_attn_ext_req(ctx, &req, bufs, n_bufs); + break; + + case HTP_OP_SET_ROWS: + if (n_bufs != 3) { + FARF(ERROR, "Bad set-rows-req buffer list"); + continue; + } + proc_set_rows_req(ctx, &req, bufs); + break; + + case HTP_OP_GET_ROWS: + if (n_bufs != 3) { + FARF(ERROR, "Bad get-rows-req buffer list"); + continue; + } + proc_get_rows_req(ctx, &req, bufs); + break; + default: FARF(ERROR, "Unknown Op %u", req.op); break; diff --git a/ggml/src/ggml-hexagon/htp/matmul-ops.c b/ggml/src/ggml-hexagon/htp/matmul-ops.c index f14523d485..9bb39db9fc 100644 --- a/ggml/src/ggml-hexagon/htp/matmul-ops.c +++ b/ggml/src/ggml-hexagon/htp/matmul-ops.c @@ -26,14 +26,14 @@ #include "hvx-utils.h" #include "ops-utils.h" +#define MM_SPAD_SRC0_NROWS 16 +#define MM_SPAD_SRC1_NROWS 16 +#define MM_SPAD_DST_NROWS 2 + struct htp_matmul_type { const char * type; void (*vec_dot)(const int n, float * restrict s, const void * restrict vx, const void * restrict vy); - void (*vec_dot_rx2)(const int n, - float * restrict s, - const void * restrict vx, - uint32_t vx_row_size, - const void * restrict vy); + void (*vec_dot_rx2)(const int n, float * restrict s, const void * restrict vx, uint32_t vx_row_size, const void * restrict vy); }; typedef struct { @@ -907,145 +907,174 @@ static void vec_dot_mxfp4x4x2_q8x4x2_rx2(const int n, hvx_vec_store_u(&s[0], 8, Q6_V_lo_W(p0)); } -#if 1 -static void vec_dot_f16_f32(const int n, float * restrict s, const void * restrict x, const void * restrict y) { - if (0) { - float rsum = 0; - const __fp16 * restrict vx = (const __fp16 * restrict) x; - const float * restrict vy = (const float * restrict) y; +static void vec_dot_f16_f16_aa(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { + const HVX_Vector * restrict x = (const HVX_Vector *) vx; + const HVX_Vector * restrict y = (const HVX_Vector *) vy; - for (uint32_t i = 0; i < n; i++) { - rsum += (float)vx[i] * vy[i]; - } - *s = rsum; - return; - } + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements - const HVX_UVector * restrict vx = (const HVX_UVector * restrict) x; - const HVX_UVectorPair * restrict vy = (const HVX_UVectorPair * restrict) y; + HVX_Vector rsum = Q6_V_vsplat_R(0); - uint32_t nv0 = n / 64; // num full fp16 hvx vectors - uint32_t nv1 = n % 64; // leftover elements - - // for some reason we need volatile here so that the compiler doesn't try anything funky - volatile HVX_Vector rsum = Q6_V_vsplat_R(0); - float r_sum_scalar = 0.0f; uint32_t i = 0; - for (i = 0; i < nv0; i++) { - HVX_VectorPair yp = vy[i]; - - HVX_Vector x = vx[i]; - HVX_VectorPair xp = Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(x), Q6_Vh_vsplat_R(0x3C00)); // mul by 1.0 - - //NOTE: need volatile here to prevent compiler optimization - // Seem compiler cannot guarantee read-after-write?? - volatile HVX_Vector hi = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(Q6_V_hi_W(xp)), Q6_V_hi_W(yp)); - volatile HVX_Vector lo = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(Q6_V_lo_W(xp)), Q6_V_lo_W(yp)); - - HVX_Vector sum = Q6_Vqf32_vadd_Vqf32Vqf32(hi, lo); - rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, sum); + #pragma unroll(4) + for (i = 0; i < nvec; i++) { + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x[i], y[i]); + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); } - if (nv1) { - // HVX_VectorPair yp = vy[i]; + if (nloe) { + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + HVX_Vector x_hf = Q6_V_vand_QV(bmask, x[i]); + HVX_Vector y_hf = Q6_V_vand_QV(bmask, y[i]); - // HVX_Vector x = vx[i]; - // HVX_VectorPair xp = Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(x), Q6_Vh_vsplat_R(0x3C00)); // mul by 1.0 - - // if (nv1 >= 32) { - // volatile HVX_Vector hi = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(Q6_V_hi_W(xp)), Q6_V_hi_W(yp)); - // rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, hi); - // nv1 -= 32; - // } - - // rsum = hvx_vec_qf32_reduce_sum(rsum); - - // if (nv1) { - // volatile HVX_Vector lo = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(Q6_V_lo_W(xp)), Q6_V_lo_W(yp)); - // HVX_Vector sum = hvx_vec_qf32_reduce_sum_n(lo, nv1); - // rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, sum); - // } - - //process the remainder using scalar loop - rsum = hvx_vec_qf32_reduce_sum(rsum); - const __fp16 * restrict sx = (const __fp16 * restrict) x; - const float * restrict sy = (const float * restrict) y; - - for (uint32_t i = nv0 * 64; i < n; i++) { - r_sum_scalar += (float) sx[i] * sy[i]; - } - - // hvx_vec_dump_fp16("X", x); - // hvx_vec_dump_fp16("Y", y); - // hvx_vec_dump_fp32("SUM", Q6_Vsf_equals_Vqf32(sum)); - // hvx_vec_dump_fp32("RSUM", Q6_Vsf_equals_Vqf32(rsum)); - } else { - rsum = hvx_vec_qf32_reduce_sum(rsum); + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); } - *s = hvx_vec_get_fp32(Q6_Vsf_equals_Vqf32(rsum)) + r_sum_scalar; - -# ifdef HTP_DEBUG - { - float rsum = 0; - const __fp16 * restrict vx = (const __fp16 * restrict) x; - const float * restrict vy = (const float * restrict) y; - - for (uint32_t i = 0; i < n; i++) { - rsum += vx[i] * vy[i]; - } - - float diff = fabs(*s - rsum); - if (diff > 0.001) { - FARF(HIGH, "vec-dot-f16-missmatch: %u (%u:%u) expected %.6f got %.6f\n", n, nv0, nv1, rsum, *s); - // htp_dump_f16("x", vx, n); - // htp_dump_f32("y", vy, n); - } - } -# endif + rsum = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum)); + hvx_vec_store_u(&s[0], 4, rsum); } -#else -static void vec_dot_f16_f32(const int n, float * restrict s, const void * restrict x, const void * restrict y) { - const uint32_t fk = 64; - const uint32_t nb = n / fk; - assert(n % fk == 0); - assert(nb % 4 == 0); +static void vec_dot_f16_f16_aa_rx2(const int n, + float * restrict s, + const void * restrict vx, + uint32_t vx_row_size, + const void * restrict vy) { + const HVX_Vector * restrict x0 = (const HVX_Vector *) vx; + const HVX_Vector * restrict x1 = (const HVX_Vector *) ((const uint8_t *) vx + vx_row_size); + const HVX_Vector * restrict y = (const HVX_Vector *) vy; - const uint32_t x_blk_size = 2 * fk; // fp16 - const uint32_t y_blk_size = 4 * fk; // fp32 + uint32_t nvec = n / VLEN_FP16; + uint32_t nloe = n % VLEN_FP16; - // Row sum (qf32) HVX_Vector rsum0 = Q6_V_vsplat_R(0); HVX_Vector rsum1 = Q6_V_vsplat_R(0); - HVX_Vector rsum2 = Q6_V_vsplat_R(0); - HVX_Vector rsum3 = Q6_V_vsplat_R(0); - for (uint32_t i = 0; i < nb; i += 4) { - HVX_Vector_x4 vx = hvx_vec_load_x4_f16(x + (i * x_blk_size)); - HVX_Vector_x4 vy = hvx_vec_load_x4_f32_as_f16(y + (i * y_blk_size)); + uint32_t i = 0; - HVX_VectorPair fa0 = Q6_Wqf32_vmpy_VhfVhf(vx.v[0], vy.v[0]); - HVX_VectorPair fa1 = Q6_Wqf32_vmpy_VhfVhf(vx.v[1], vy.v[1]); - HVX_VectorPair fa2 = Q6_Wqf32_vmpy_VhfVhf(vx.v[2], vy.v[2]); - HVX_VectorPair fa3 = Q6_Wqf32_vmpy_VhfVhf(vx.v[3], vy.v[3]); + #pragma unroll(2) + for (i = 0; i < nvec; i++) { + HVX_Vector y_hf = y[i]; + HVX_VectorPair xy0_qf = Q6_Wqf32_vmpy_VhfVhf(x0[i], y_hf); + HVX_VectorPair xy1_qf = Q6_Wqf32_vmpy_VhfVhf(x1[i], y_hf); - rsum0 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum0, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(fa0), Q6_V_hi_W(fa0))); - rsum1 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum1, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(fa1), Q6_V_hi_W(fa1))); - rsum2 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum2, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(fa2), Q6_V_hi_W(fa2))); - rsum3 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum3, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(fa3), Q6_V_hi_W(fa3))); + rsum0 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum0, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy0_qf), Q6_V_hi_W(xy0_qf))); + rsum1 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum1, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf))); } - // Reduce and convert into fp32 - rsum0 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum0, rsum1); - rsum2 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum2, rsum3); - HVX_Vector rsum = hvx_vec_qf32_reduce_sum(Q6_Vqf32_vadd_Vqf32Vqf32(rsum0, rsum2)); - hvx_vec_store_u(s, 4, Q6_Vsf_equals_Vqf32(rsum)); -} -#endif + if (nloe) { + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + HVX_Vector x0_hf = Q6_V_vand_QV(bmask, x0[i]); + HVX_Vector x1_hf = Q6_V_vand_QV(bmask, x1[i]); + HVX_Vector y_hf = Q6_V_vand_QV(bmask, y[i]); -#define htp_matmul_preamble \ + HVX_VectorPair xy0_qf = Q6_Wqf32_vmpy_VhfVhf(x0_hf, y_hf); + HVX_VectorPair xy1_qf = Q6_Wqf32_vmpy_VhfVhf(x1_hf, y_hf); + + rsum0 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum0, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy0_qf), Q6_V_hi_W(xy0_qf))); + rsum1 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum1, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf))); + } + + rsum0 = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum0)); + rsum1 = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum1)); + HVX_VectorPair p0 = Q6_W_vshuff_VVR(rsum1, rsum0, 4); + + hvx_vec_store_u(&s[0], 8, Q6_V_lo_W(p0)); +} + +static void vec_dot_f16_f16_uu(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { + const HVX_UVector * restrict x = (const HVX_UVector *) vx; + const HVX_UVector * restrict y = (const HVX_UVector *) vy; + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + HVX_Vector rsum = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; i++) { + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x[i], y[i]); + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + if (nloe) { + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + HVX_Vector x_hf = Q6_V_vand_QV(bmask, x[i]); + HVX_Vector y_hf = Q6_V_vand_QV(bmask, y[i]); + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + rsum = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum)); + hvx_vec_store_u(&s[0], 4, rsum); +} + +static void vec_dot_f16_f32_uu(const int n, float * restrict s, const void * restrict x, const void * restrict y) { + const HVX_UVector * restrict vx = (const HVX_UVector * restrict) x; + const HVX_UVector * restrict vy = (const HVX_UVector * restrict) y; + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + const HVX_Vector zero = Q6_V_vsplat_R(0); + + HVX_Vector rsum = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(2) + for (i = 0; i < nvec; i++) { + // Load y (fp32) and convert into fp16 + HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+0], zero); // 32 elements + HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+1], zero); // 32 elements + HVX_Vector y_hf = Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); + + // Load x (fp16) + HVX_Vector x_hf = vx[i]; + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + if (nloe) { + // Load y (fp32) and convert into fp16 + HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+0], zero); // 32 elements + HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+1], zero); // 32 elements + HVX_Vector y_hf = Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); + + // Load x (fp16) + HVX_Vector x_hf = vx[i]; + + // Zero-out unused elements + // Note that we need to clear both x and y because they may contain NANs + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + x_hf = Q6_V_vand_QV(bmask, x_hf); + y_hf = Q6_V_vand_QV(bmask, y_hf); + + HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); + + rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + } + + rsum = Q6_Vsf_equals_Vqf32(hvx_vec_qf32_reduce_sum(rsum)); + hvx_vec_store_u(&s[0], 4, rsum); +} + +#define htp_matmul_tensors_preamble \ + struct htp_tensor * restrict src0 = &octx->src0; \ + struct htp_tensor * restrict src1 = &octx->src1; \ + struct htp_tensor * restrict src2 = &octx->src2; \ + struct htp_tensor * restrict dst = &octx->dst; \ + struct htp_spad * restrict src0_spad = &octx->src0_spad; \ + struct htp_spad * restrict src1_spad = &octx->src1_spad; \ + struct htp_spad * restrict dst_spad = &octx->dst_spad; \ + \ const uint32_t ne00 = src0->ne[0]; \ const uint32_t ne01 = src0->ne[1]; \ const uint32_t ne02 = src0->ne[2]; \ @@ -1056,6 +1085,11 @@ static void vec_dot_f16_f32(const int n, float * restrict s, const void * restri const uint32_t ne12 = src1->ne[2]; \ const uint32_t ne13 = src1->ne[3]; \ \ + const uint32_t ne20 = src2->ne[0]; \ + const uint32_t ne21 = src2->ne[1]; \ + const uint32_t ne22 = src2->ne[2]; \ + const uint32_t ne23 = src2->ne[3]; \ + \ const uint32_t ne0 = dst->ne[0]; \ const uint32_t ne1 = dst->ne[1]; \ const uint32_t ne2 = dst->ne[2]; \ @@ -1076,18 +1110,94 @@ static void vec_dot_f16_f32(const int n, float * restrict s, const void * restri const uint32_t nb2 = dst->nb[2]; \ const uint32_t nb3 = dst->nb[3]; -// q8x4 src1 tensor is already in VTCM spad -static void matmul(struct htp_matmul_type * mt, - struct htp_tensor * restrict src0, - struct htp_tensor * restrict src1, - struct htp_tensor * restrict dst, - struct htp_spad * restrict src0_spad, - struct htp_spad * restrict src1_spad, - struct htp_spad * restrict dst_spad, - uint32_t nth, - uint32_t ith, - uint32_t src0_nrows_per_thread, - dma_queue * dma_queue) { +#define htp_matmul_preamble \ + htp_matmul_tensors_preamble; \ + dma_queue *dma_queue = octx->ctx->dma[ith]; \ + uint32_t src0_nrows_per_thread = octx->src0_nrows_per_thread; + +// *** matmul with support for 4d tensors and full broadcasting + +static void matmul_4d(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { + htp_matmul_preamble; + + uint64_t t1, t2; + t1 = HAP_perf_get_qtimer_count(); + + assert(ne12 % ne02 == 0); + assert(ne13 % ne03 == 0); + + // This is the size of the first dimension of the result, so we can iterate that way. (see the ASSERT above, these are the same numbers) + const uint32_t nr0 = ne0; + + // This is the size of the rest of the dimensions of the result + const uint32_t nr1 = ne1 * ne2 * ne3; + + // distribute the thread work across the inner or outer loop based on which one is larger + uint32_t nchunk0 = nr0 > nr1 ? nth : 1; // parallelize by src0 rows + uint32_t nchunk1 = nr0 > nr1 ? 1 : nth; // parallelize by src1 rows + + // The number of elements in each chunk + const uint32_t dr0 = (nr0 + nchunk0 - 1) / nchunk0; + const uint32_t dr1 = (nr1 + nchunk1 - 1) / nchunk1; + + uint32_t current_chunk = ith; + + const uint32_t ith0 = current_chunk % nchunk0; + const uint32_t ith1 = current_chunk / nchunk0; + + const uint32_t ir0_start = dr0 * ith0; + const uint32_t ir0_end = MIN(ir0_start + dr0, nr0); + + const uint32_t ir1_start = dr1 * ith1; + const uint32_t ir1_end = MIN(ir1_start + dr1, nr1); + + // no work for this thread + if (ir0_start >= ir0_end || ir1_start >= ir1_end) { + return; + } + + // block-tiling attempt + const uint32_t blck_0 = 64; + const uint32_t blck_1 = 64; + + for (uint32_t iir1 = ir1_start; iir1 < ir1_end; iir1 += blck_1) { + for (uint32_t iir0 = ir0_start; iir0 < ir0_end; iir0 += blck_0) { + for (uint32_t ir1 = iir1; ir1 < MIN(iir1 + blck_1, ir1_end); ir1++) { + const uint32_t i13 = fastdiv(ir1, &octx->mm_div_ne12_ne1); + const uint32_t i12 = fastdiv(ir1 - i13 * ne12 * ne1, &octx->mm_div_ne1); + const uint32_t i11 = (ir1 - i13 * ne12 * ne1 - i12 * ne1); + + // broadcast src0 into src1 + const uint32_t i03 = fastdiv(i13, &octx->mm_div_r3); + const uint32_t i02 = fastdiv(i12, &octx->mm_div_r2); + + const uint32_t i1 = i11; + const uint32_t i2 = i12; + const uint32_t i3 = i13; + + const uint8_t * restrict src0_base = (const uint8_t *) src0->data + (0 + i02 * nb02 + i03 * nb03); + const uint8_t * restrict src1_col = (const uint8_t *) src1->data + (i11 * nb11 + i12 * nb12 + i13 * nb13); + float * dst_col = (float *) ((uint8_t * restrict) dst->data + (i1 * nb1 + i2 * nb2 + i3 * nb3)); + + const uint32_t ir0_block_end = MIN(iir0 + blck_0, ir0_end); + for (uint32_t ir0 = iir0; ir0 < ir0_block_end; ir0++) { + const uint8_t * restrict src0_row = src0_base + ir0 * nb01; + mt->vec_dot(ne00, &dst_col[ir0], src0_row, src1_col); + } + } + } + } + + t2 = HAP_perf_get_qtimer_count(); + + FARF(HIGH, "matmul-4d %d/%d: %ux%ux%ux%u (%u:%u %u:%u) * %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", ith, nth, + src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], ir0_start, ir0_end, ir1_start, ir1_end, src1->ne[0], + src1->ne[1], src1->ne[2], src1->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], + (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); +} + +// src1 tensor is already in VTCM spad +static void matmul_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { htp_matmul_preamble; const uint32_t src0_nrows = ne01 * ne02 * ne03; // src0 rows @@ -1104,9 +1214,10 @@ static void matmul(struct htp_matmul_type * mt, const size_t dst_row_size = nb1; const size_t src0_row_size = nb01; - const size_t src1_row_size = q8x4x2_row_size(ne10); + const size_t src1_row_size = nb11; - const size_t src0_row_size_padded = htp_round_up(src0_row_size, 128); + const size_t src0_stride = src0_spad->stride; + const size_t src1_stride = src1_spad->stride; // Per-thread VTCM scratchpads for all tensors // Note that the entire src1 tensor is already in VTCM @@ -1124,11 +1235,11 @@ static void matmul(struct htp_matmul_type * mt, #pragma unroll(4) for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const int is0 = (ir0 - src0_start_row); - if (is0 >= HTP_SPAD_SRC0_NROWS) { + if (is0 >= MM_SPAD_SRC0_NROWS) { break; } - dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), - src0_row_size_padded, src0_row_size, 2); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + ir0 * src0_row_size), + src0_stride, src0_row_size, 2); } // Process src0 rows @@ -1137,17 +1248,17 @@ static void matmul(struct htp_matmul_type * mt, #pragma unroll(2) for (uint32_t ir1 = 0; ir1 < src1_nrows; ++ir1) { - const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + ir1 * src1_row_size); + const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + ir1 * src1_stride); float * restrict dst_row = (float *) (dst->data + (ir1 * dst_row_size)); - mt->vec_dot_rx2(ne00, &dst_row[ir0], ss0, src0_row_size_padded, src1_col); + mt->vec_dot_rx2(ne00, &dst_row[ir0], ss0, src0_stride, src1_col); } // Prefetch next (n + spad_nrows) row - const int pr0 = (ir0 + HTP_SPAD_SRC0_NROWS); - const int is0 = (pr0 - src0_start_row) % HTP_SPAD_SRC0_NROWS; + const int pr0 = (ir0 + MM_SPAD_SRC0_NROWS); + const int is0 = (pr0 - src0_start_row) % MM_SPAD_SRC0_NROWS; if (pr0 < src0_end_row_x2) { - dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + pr0 * src0_row_size), - src0_row_size_padded, src0_row_size, 2); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + pr0 * src0_row_size), + src0_stride, src0_row_size, 2); } } @@ -1155,13 +1266,13 @@ static void matmul(struct htp_matmul_type * mt, if (src0_end_row != src0_end_row_x2) { uint32_t ir0 = src0_end_row_x2; const int is0 = (ir0 - src0_start_row); - dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), - src0_row_size_padded, src0_row_size, 1); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + ir0 * src0_row_size), + src0_stride, src0_row_size, 1); const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; #pragma unroll(2) for (uint32_t ir1 = 0; ir1 < src1_nrows; ++ir1) { - const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + ir1 * src1_row_size); + const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + ir1 * src1_stride); float * restrict dst_row = (float *) (dst->data + (ir1 * dst_row_size)); mt->vec_dot(ne00, &dst_row[ir0], ss0, src1_col); } @@ -1176,17 +1287,7 @@ static void matmul(struct htp_matmul_type * mt, } // q8x4x2 src1 tensor is already in VTCM spad -static void matvec(struct htp_matmul_type * mt, - struct htp_tensor * restrict src0, - struct htp_tensor * restrict src1, - struct htp_tensor * restrict dst, - struct htp_spad * restrict src0_spad, - struct htp_spad * restrict src1_spad, - struct htp_spad * restrict dst_spad, - uint32_t nth, - uint32_t ith, - uint32_t src0_nrows_per_thread, - dma_queue * dma_queue) { +static void matvec_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { htp_matmul_preamble; const uint32_t src0_nrows = ne01; @@ -1202,9 +1303,10 @@ static void matvec(struct htp_matmul_type * mt, const size_t dst_row_size = nb1; const size_t src0_row_size = nb01; - const size_t src1_row_size = q8x4x2_row_size(ne10); + const size_t src1_row_size = nb11; - const size_t src0_row_size_padded = htp_round_up(src0_row_size, 128); + const size_t src0_stride = src0_spad->stride; + const size_t src1_stride = src1_spad->stride; // Per-thread VTCM scratchpads for all tensors // Note that the entire src1 tensor is already in VTCM @@ -1226,24 +1328,24 @@ static void matvec(struct htp_matmul_type * mt, #pragma unroll(2) for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const uint32_t is0 = (ir0 - src0_start_row); - if (is0 >= HTP_SPAD_SRC0_NROWS) { + if (is0 >= MM_SPAD_SRC0_NROWS) { break; } - dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), - src0_row_size_padded, src0_row_size, 2); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + ir0 * src0_row_size), + src0_stride, src0_row_size, 2); } // Process src0 rows for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; - mt->vec_dot_rx2(ne00, &tmp[ir0 - src0_start_row], ss0, src0_row_size_padded, src1_col); + mt->vec_dot_rx2(ne00, &tmp[ir0 - src0_start_row], ss0, src0_stride, src1_col); // Prefetch next (n + spad_nrows) row - const uint32_t pr0 = (ir0 + HTP_SPAD_SRC0_NROWS); - const uint32_t is0 = (pr0 - src0_start_row) % HTP_SPAD_SRC0_NROWS; + const uint32_t pr0 = (ir0 + MM_SPAD_SRC0_NROWS); + const uint32_t is0 = (pr0 - src0_start_row) % MM_SPAD_SRC0_NROWS; if (pr0 < src0_end_row_x2) { - dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + pr0 * src0_row_size), - src0_row_size_padded, src0_row_size, 2); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + pr0 * src0_row_size), + src0_stride, src0_row_size, 2); } } @@ -1251,8 +1353,8 @@ static void matvec(struct htp_matmul_type * mt, if (src0_end_row != src0_end_row_x2) { const uint32_t ir0 = src0_end_row_x2; const uint32_t is0 = (ir0 - src0_start_row); - dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), - src0_row_size_padded, src0_row_size, 1); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + ir0 * src0_row_size), + src0_stride, src0_row_size, 1); const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; mt->vec_dot(ne00, &tmp[ir0 - src0_start_row], ss0, src1_col); } @@ -1274,22 +1376,13 @@ struct mmid_row_mapping { uint32_t i2; }; -// q8x4 src1 tensor is already in VTCM spad -static void matmul_id(struct htp_matmul_type * mt, - struct htp_tensor * restrict src0, - struct htp_tensor * restrict src1, - struct htp_tensor * restrict ids, - struct htp_tensor * restrict dst, - struct htp_spad * restrict src0_spad, - struct htp_spad * restrict src1_spad, - struct htp_spad * restrict src2_spad, - struct htp_spad * restrict dst_spad, - uint32_t nth, - uint32_t ith, - uint32_t src0_nrows_per_thread, - dma_queue * dma_queue) { +// src1 tensor is already in VTCM spad +static void matmul_id(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { htp_matmul_preamble; + struct htp_tensor * restrict ids = &octx->src2; + struct htp_spad * restrict src2_spad = &octx->src2_spad; + uint64_t t1, t2; t1 = HAP_perf_get_qtimer_count(); @@ -1340,7 +1433,7 @@ static void matmul_id(struct htp_matmul_type * mt, #pragma unroll(4) for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const int is0 = (ir0 - src0_start_row); - if (is0 >= HTP_SPAD_SRC0_NROWS) { + if (is0 >= MM_SPAD_SRC0_NROWS) { break; } dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), @@ -1365,8 +1458,8 @@ static void matmul_id(struct htp_matmul_type * mt, } // Prefetch next (n + spad_nrows) row - const int pr0 = (ir0 + HTP_SPAD_SRC0_NROWS); - const int is0 = (pr0 - src0_start_row) % HTP_SPAD_SRC0_NROWS; + const int pr0 = (ir0 + MM_SPAD_SRC0_NROWS); + const int is0 = (pr0 - src0_start_row) % MM_SPAD_SRC0_NROWS; if (pr0 < src0_end_row_x2) { dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + pr0 * src0_row_size), src0_row_size_padded, src0_row_size, 2); @@ -1404,22 +1497,13 @@ static void matmul_id(struct htp_matmul_type * mt, dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } -// q8x4 src1 tensor is already in VTCM spad -static void matvec_id(struct htp_matmul_type * mt, - struct htp_tensor * restrict src0, - struct htp_tensor * restrict src1, - struct htp_tensor * restrict src2, - struct htp_tensor * restrict dst, - struct htp_spad * restrict src0_spad, - struct htp_spad * restrict src1_spad, - struct htp_spad * restrict src2_spad, - struct htp_spad * restrict dst_spad, - uint32_t nth, - uint32_t ith, - uint32_t src0_nrows_per_thread, - dma_queue * dma_queue) { +// src1 tensor is already in VTCM spad +static void matvec_id(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { htp_matmul_preamble; + struct htp_tensor * restrict ids = &octx->src2; + struct htp_spad * restrict src2_spad = &octx->src2_spad; + uint64_t t1, t2; t1 = HAP_perf_get_qtimer_count(); @@ -1464,7 +1548,7 @@ static void matvec_id(struct htp_matmul_type * mt, #pragma unroll(4) for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const int is0 = (ir0 - src0_start_row); - if (is0 >= HTP_SPAD_SRC0_NROWS) { + if (is0 >= MM_SPAD_SRC0_NROWS) { break; } dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), @@ -1477,8 +1561,8 @@ static void matvec_id(struct htp_matmul_type * mt, mt->vec_dot_rx2(ne00, &dst_row[ir0], ss0, src0_row_size_padded, src1_col); // Prefetch next (n + spad_nrows) row - const int pr0 = (ir0 + HTP_SPAD_SRC0_NROWS); - const int is0 = (pr0 - src0_start_row) % HTP_SPAD_SRC0_NROWS; + const int pr0 = (ir0 + MM_SPAD_SRC0_NROWS); + const int is0 = (pr0 - src0_start_row) % MM_SPAD_SRC0_NROWS; if (pr0 < src0_end_row_x2) { dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + pr0 * src0_row_size), src0_row_size_padded, src0_row_size, 2); @@ -1504,106 +1588,6 @@ static void matvec_id(struct htp_matmul_type * mt, dst->ne[1], dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } -// *** matmul in fp16 - -static void matmul_f16_f32(struct htp_tensor * restrict src0, - struct htp_tensor * restrict src1, - struct htp_tensor * restrict dst, - struct htp_spad * restrict src0_spad, - struct htp_spad * restrict src1_spad, - struct htp_spad * restrict dst_spad, - uint32_t nth, - uint32_t ith, - uint32_t src0_nrows_per_thread, - dma_queue * dma_queue) { - htp_matmul_preamble; - - uint64_t t1, t2; - t1 = HAP_perf_get_qtimer_count(); - - assert(ne12 % ne02 == 0); - assert(ne13 % ne03 == 0); - - // This is the size of the first dimension of the result, so we can iterate that way. (see the ASSERT above, these are the same numbers) - const uint32_t nr0 = ne0; - - // This is the size of the rest of the dimensions of the result - const uint32_t nr1 = ne1 * ne2 * ne3; - - // distribute the thread work across the inner or outer loop based on which one is larger - uint32_t nchunk0 = nr0 > nr1 ? nth : 1; // parallelize by src0 rows - uint32_t nchunk1 = nr0 > nr1 ? 1 : nth; // parallelize by src1 rows - - // The number of elements in each chunk - const uint32_t dr0 = (nr0 + nchunk0 - 1) / nchunk0; - const uint32_t dr1 = (nr1 + nchunk1 - 1) / nchunk1; - - uint32_t current_chunk = ith; - - const uint32_t ith0 = current_chunk % nchunk0; - const uint32_t ith1 = current_chunk / nchunk0; - - const uint32_t ir0_start = dr0 * ith0; - const uint32_t ir0_end = MIN(ir0_start + dr0, nr0); - - const uint32_t ir1_start = dr1 * ith1; - const uint32_t ir1_end = MIN(ir1_start + dr1, nr1); - - // broadcast factors - const uint32_t r2 = ne12 / ne02; - const uint32_t r3 = ne13 / ne03; - - // no work for this thread - if (ir0_start >= ir0_end || ir1_start >= ir1_end) { - return; - } - - // block-tiling attempt - const uint32_t blck_0 = 64; - const uint32_t blck_1 = 64; - - __attribute__((aligned(128))) float tmp[64]; - - for (uint32_t iir1 = ir1_start; iir1 < ir1_end; iir1 += blck_1) { - for (uint32_t iir0 = ir0_start; iir0 < ir0_end; iir0 += blck_0) { - for (uint32_t ir1 = iir1; ir1 < MIN(iir1 + blck_1, ir1_end); ir1++) { - const uint32_t i13 = (ir1 / (ne12 * ne1)); - const uint32_t i12 = (ir1 - i13 * ne12 * ne1) / ne1; - const uint32_t i11 = (ir1 - i13 * ne12 * ne1 - i12 * ne1); - - // broadcast src0 into src1 - const uint32_t i03 = i13 / r3; - const uint32_t i02 = i12 / r2; - - const uint32_t i1 = i11; - const uint32_t i2 = i12; - const uint32_t i3 = i13; - - const uint8_t * restrict src0_base = (const uint8_t *) src0->data + (0 + i02 * nb02 + i03 * nb03); - const uint8_t * restrict src1_col = - (const uint8_t *) src1->data + (i11 * nb11 + i12 * nb12 + i13 * nb13); - float * dst_col = (float *) ((uint8_t * restrict) dst->data + (i1 * nb1 + i2 * nb2 + i3 * nb3)); - - const uint32_t ir0_block_end = MIN(iir0 + blck_0, ir0_end); - for (uint32_t ir0 = iir0; ir0 < ir0_block_end; ir0++) { - // Use nb01 stride for non-contiguous src0 support - const uint8_t * restrict src0_row = src0_base + ir0 * nb01; - vec_dot_f16_f32(ne00, &tmp[ir0 - iir0], src0_row, src1_col); - } - - hvx_copy_fp32_ua((uint8_t *) &dst_col[iir0], (uint8_t *) tmp, MIN(iir0 + blck_0, ir0_end) - iir0); - } - } - } - - t2 = HAP_perf_get_qtimer_count(); - - FARF(HIGH, "matmul-f16-f32 %d/%d: %ux%ux%ux%u (%u:%u %u:%u) * %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", ith, nth, - src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], ir0_start, ir0_end, ir1_start, ir1_end, src1->ne[0], - src1->ne[1], src1->ne[2], src1->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], - (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); -} - // *** dynamic quant static inline void quantize_block_fp32_q8x1(float * restrict x, uint8_t * restrict y_q, uint8_t * restrict y_d) { @@ -1780,20 +1764,14 @@ static void quantize_row_fp32_q8x4x2(float * restrict x, uint8_t * restrict y, u for (uint32_t i = 0; i < nb; i++) { #if FP32_QUANTIZE_GROUP_SIZE == 32 - quantize_block_fp32_q8x1(x + (i * 2 + 0) * qk / 2, y_q + (i * 2 + 0) * qblk_size / 2, - t_d + (i * 2 + 0) * dblk_size / 2); - quantize_block_fp32_q8x1(x + (i * 2 + 1) * qk / 2, y_q + (i * 2 + 1) * qblk_size / 2, - t_d + (i * 2 + 1) * dblk_size / 2); + quantize_block_fp32_q8x1(x + (i*2 + 0) * qk/2, y_q + (i*2 + 0) * qblk_size/2, t_d + (i*2 + 0) * dblk_size/2); + quantize_block_fp32_q8x1(x + (i*2 + 1) * qk/2, y_q + (i*2 + 1) * qblk_size/2, t_d + (i*2 + 1) * dblk_size/2); #elif FP32_QUANTIZE_GROUP_SIZE == 64 - quantize_block_fp32_q8x2(x + (i * 2 + 0) * qk / 2, y_q + (i * 2 + 0) * qblk_size / 2, - t_d + (i * 2 + 0) * dblk_size / 2); - quantize_block_fp32_q8x2(x + (i * 2 + 1) * qk / 2, y_q + (i * 2 + 1) * qblk_size / 2, - t_d + (i * 2 + 1) * dblk_size / 2); + quantize_block_fp32_q8x2(x + (i*2 + 0) * qk/2, y_q + (i*2 + 0) * qblk_size/2, t_d + (i*2 + 0) * dblk_size/2); + quantize_block_fp32_q8x2(x + (i*2 + 1) * qk/2, y_q + (i*2 + 1) * qblk_size/2, t_d + (i*2 + 1) * dblk_size/2); #elif FP32_QUANTIZE_GROUP_SIZE == 128 - quantize_block_fp32_q8x4(x + (i * 2 + 0) * qk / 2, y_q + (i * 2 + 0) * qblk_size / 2, - t_d + (i * 2 + 0) * dblk_size / 2); - quantize_block_fp32_q8x4(x + (i * 2 + 1) * qk / 2, y_q + (i * 2 + 1) * qblk_size / 2, - t_d + (i * 2 + 1) * dblk_size / 2); + quantize_block_fp32_q8x4(x + (i*2 + 0) * qk/2, y_q + (i*2 + 0) * qblk_size/2, t_d + (i*2 + 0) * dblk_size/2); + quantize_block_fp32_q8x4(x + (i*2 + 1) * qk/2, y_q + (i*2 + 1) * qblk_size/2, t_d + (i*2 + 1) * dblk_size/2); #else #error "FP32_QUANTIZE_GROUP_SIZE must be 32, 64, or 128" #endif @@ -1848,14 +1826,95 @@ static void quantize_fp32_q8x4x2(const struct htp_tensor * src, ir_last, src_row_size, dst_row_size, (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } +static void quantize_fp32_fp16(const struct htp_tensor * src, uint8_t * restrict dst, uint32_t nth, uint32_t ith, + uint32_t nrows_per_thread, uint32_t dst_stride) { + + uint64_t t1 = HAP_perf_get_qtimer_count(); + + const uint32_t ne0 = src->ne[0]; + const uint32_t ne1 = src->ne[1]; + const uint32_t ne2 = src->ne[2]; + const uint32_t ne3 = src->ne[3]; + + const uint32_t nrows = ne1 * ne2 * ne3; // total n_rows + + const uint32_t ir_first = nrows_per_thread * ith; // first row + const uint32_t ir_last = MIN(ir_first + nrows_per_thread, nrows); // last row + + const size_t src_row_size = ne0 * sizeof(float); + const size_t src_stride = src->nb[1]; + + uint8_t * restrict src_data = (uint8_t *) src->data + (src_stride * ir_first); + uint8_t * restrict dst_data = (uint8_t *) dst + (dst_stride * ir_first); + + for (uint32_t i = ir_first; i < ir_last; ++i) { + htp_l2fetch(src_data, 2, src_row_size, src_stride); + hvx_copy_fp16_fp32_au(dst_data, src_data, ne0); + + dst_data += dst_stride; + src_data += src_stride; + } + + uint64_t t2 = HAP_perf_get_qtimer_count(); + + FARF(HIGH, "quantize-fp32-fp16: %u/%u : n-rows %u (%u:%u) row-size %u (%u) -> %u usec %u\n", ith, nth, nrows, ir_first, + ir_last, src_row_size, src_stride, dst_stride, (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); +} + +// TODO just a plain copy that should be done via the DMA during the Op setup +static void quantize_fp16_fp16(const struct htp_tensor * src, uint8_t * restrict dst, uint32_t nth, uint32_t ith, + uint32_t nrows_per_thread, uint32_t dst_stride) { + + uint64_t t1 = HAP_perf_get_qtimer_count(); + + const uint32_t ne0 = src->ne[0]; + const uint32_t ne1 = src->ne[1]; + const uint32_t ne2 = src->ne[2]; + const uint32_t ne3 = src->ne[3]; + + const uint32_t nrows = ne1 * ne2 * ne3; // total n_rows + + const uint32_t ir_first = nrows_per_thread * ith; // first row + const uint32_t ir_last = MIN(ir_first + nrows_per_thread, nrows); // last row + + const size_t src_row_size = ne0 * sizeof(float); + const size_t src_stride = src->nb[1]; + + uint8_t * restrict src_data = (uint8_t *) src->data + (src_stride * ir_first); + uint8_t * restrict dst_data = (uint8_t *) dst + (dst_stride * ir_first); + + for (uint32_t i = ir_first; i < ir_last; ++i) { + htp_l2fetch(src_data, 2, src_row_size, src_stride); + hvx_copy_fp16_au(dst_data, src_data, ne0); + + dst_data += dst_stride; + src_data += src_stride; + } + + uint64_t t2 = HAP_perf_get_qtimer_count(); + + FARF(HIGH, "quantize-fp16-fp16: %u/%u : n-rows %u (%u:%u) row-size %u (%u) -> %u usec %u\n", ith, nth, nrows, ir_first, + ir_last, src_row_size, src_stride, dst_stride, (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); +} + static void htp_quantize_fp32_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; quantize_fp32_q8x4x2(&octx->src1, octx->src1_spad.data, &octx->src0_spad, n, i, octx->src1_nrows_per_thread); } -// ** matmul callbacks for worker_pool +static void htp_quantize_fp32_fp16(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = data; + quantize_fp32_fp16(&octx->src1, octx->src1_spad.data, n, i, octx->src1_nrows_per_thread, octx->src1_spad.stride); +} -static void htp_matvec_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { +static void htp_quantize_fp16_fp16(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = data; + quantize_fp16_fp16(&octx->src1, octx->src1_spad.data, n, i, octx->src1_nrows_per_thread, octx->src1_spad.stride); +} + +// ** matmul/matvec callbacks for worker_pool + +static void htp_matvec_2d_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; struct htp_matmul_type mt; @@ -1863,11 +1922,10 @@ static void htp_matvec_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data mt.vec_dot = vec_dot_q4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - matvec(&mt, &octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matvec_2d(&mt, octx, n, i); } -static void htp_matmul_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { +static void htp_matmul_2d_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; struct htp_matmul_type mt; @@ -1875,11 +1933,10 @@ static void htp_matmul_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data mt.vec_dot = vec_dot_q4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - matmul(&mt, &octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matmul_2d(&mt, octx, n, i); } -static void htp_matvec_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { +static void htp_matvec_2d_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; struct htp_matmul_type mt; @@ -1887,11 +1944,10 @@ static void htp_matvec_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data mt.vec_dot = vec_dot_q8x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - matvec(&mt, &octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matvec_2d(&mt, octx, n, i); } -static void htp_matmul_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { +static void htp_matmul_2d_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; struct htp_matmul_type mt; @@ -1899,11 +1955,10 @@ static void htp_matmul_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data mt.vec_dot = vec_dot_q8x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - matmul(&mt, &octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matmul_2d(&mt, octx, n, i); } -static void htp_matvec_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { +static void htp_matvec_2d_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; struct htp_matmul_type mt; @@ -1911,11 +1966,10 @@ static void htp_matvec_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * d mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - matvec(&mt, &octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matvec_2d(&mt, octx, n, i); } -static void htp_matmul_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { +static void htp_matmul_2d_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; struct htp_matmul_type mt; @@ -1923,14 +1977,49 @@ static void htp_matmul_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * d mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - matmul(&mt, &octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matmul_2d(&mt, octx, n, i); } -static void htp_matmul_f16_f32(unsigned int n, unsigned int i, void * data) { +static void htp_matvec_2d_f16_f16(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = data; - matmul_f16_f32(&octx->src0, &octx->src1, &octx->dst, &octx->src0_spad, &octx->src1_spad, &octx->dst_spad, n, i, - octx->src0_nrows_per_thread, octx->ctx->dma[i]); + + struct htp_matmul_type mt; + mt.type = "f16-f16"; + mt.vec_dot = vec_dot_f16_f16_aa; + mt.vec_dot_rx2 = vec_dot_f16_f16_aa_rx2; + + matvec_2d(&mt, octx, n, i); +} + +static void htp_matmul_2d_f16_f16(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = data; + + struct htp_matmul_type mt; + mt.type = "f16-f16"; + mt.vec_dot = vec_dot_f16_f16_aa; + mt.vec_dot_rx2 = vec_dot_f16_f16_aa_rx2; + + matmul_2d(&mt, octx, n, i); +} + +static void htp_matmul_4d_f16_f32(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = data; + + struct htp_matmul_type mt; + mt.type = "f16-f32"; + mt.vec_dot = vec_dot_f16_f32_uu; + + matmul_4d(&mt, octx, n, i); +} + +static void htp_matmul_4d_f16_f16(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = data; + + struct htp_matmul_type mt; + mt.type = "f16-f16"; + mt.vec_dot = vec_dot_f16_f16_uu; + + matmul_4d(&mt, octx, n, i); } // ** matmul-id callbacks for worker_pool @@ -1943,8 +2032,7 @@ static void htp_matvec_id_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * d mt.vec_dot = vec_dot_q4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - matvec_id(&mt, &octx->src0, &octx->src1, &octx->src2, &octx->dst, &octx->src0_spad, &octx->src1_spad, - &octx->src2_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matvec_id(&mt, octx, n, i); } static void htp_matmul_id_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { @@ -1955,8 +2043,7 @@ static void htp_matmul_id_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * d mt.vec_dot = vec_dot_q4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - matmul_id(&mt, &octx->src0, &octx->src1, &octx->src2, &octx->dst, &octx->src0_spad, &octx->src1_spad, - &octx->src2_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matmul_id(&mt, octx, n, i); } static void htp_matvec_id_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { @@ -1967,8 +2054,7 @@ static void htp_matvec_id_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * d mt.vec_dot = vec_dot_q8x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - matvec_id(&mt, &octx->src0, &octx->src1, &octx->src2, &octx->dst, &octx->src0_spad, &octx->src1_spad, - &octx->src2_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matvec_id(&mt, octx, n, i); } static void htp_matmul_id_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { @@ -1979,8 +2065,7 @@ static void htp_matmul_id_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * d mt.vec_dot = vec_dot_q8x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - matmul_id(&mt, &octx->src0, &octx->src1, &octx->src2, &octx->dst, &octx->src0_spad, &octx->src1_spad, - &octx->src2_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matmul_id(&mt, octx, n, i); } static void htp_matvec_id_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { @@ -1991,8 +2076,7 @@ static void htp_matvec_id_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - matvec_id(&mt, &octx->src0, &octx->src1, &octx->src2, &octx->dst, &octx->src0_spad, &octx->src1_spad, - &octx->src2_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matvec_id(&mt, octx, n, i); } static void htp_matmul_id_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { @@ -2003,18 +2087,17 @@ static void htp_matmul_id_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - matmul_id(&mt, &octx->src0, &octx->src1, &octx->src2, &octx->dst, &octx->src0_spad, &octx->src1_spad, - &octx->src2_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); + matmul_id(&mt, octx, n, i); } // ** main matmul entry point -int op_matmul(struct htp_ops_context * octx) { - const struct htp_tensor * src0 = &octx->src0; - const struct htp_tensor * src1 = &octx->src1; - struct htp_tensor * dst = &octx->dst; +static inline bool htp_is_permuted(const struct htp_tensor * t) { + return t->nb[0] > t->nb[1] || t->nb[1] > t->nb[2] || t->nb[2] > t->nb[3]; +} - htp_matmul_preamble; +int op_matmul(struct htp_ops_context * octx) { + htp_matmul_tensors_preamble; const char * op_type; @@ -2038,9 +2121,9 @@ int op_matmul(struct htp_ops_context * octx) { op_type = "q4x4x2-fp32"; quant_job_func = htp_quantize_fp32_q8x4x2; if (src1_nrows > 1) { - matmul_job_func = htp_matmul_q4x4x2_q8x4x2; + matmul_job_func = htp_matmul_2d_q4x4x2_q8x4x2; } else { - matmul_job_func = htp_matvec_q4x4x2_q8x4x2; + matmul_job_func = htp_matvec_2d_q4x4x2_q8x4x2; } src1_row_size = q8x4x2_row_size(ne10); // row size post quantization @@ -2048,8 +2131,8 @@ int op_matmul(struct htp_ops_context * octx) { // Entire src1 tensor is placed into the VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); // src0 spad is also used in dynamic quantizer to store padded src1 rows @@ -2067,9 +2150,9 @@ int op_matmul(struct htp_ops_context * octx) { op_type = "q8x4x2-fp32"; quant_job_func = htp_quantize_fp32_q8x4x2; if (src1_nrows > 1) { - matmul_job_func = htp_matmul_q8x4x2_q8x4x2; + matmul_job_func = htp_matmul_2d_q8x4x2_q8x4x2; } else { - matmul_job_func = htp_matvec_q8x4x2_q8x4x2; + matmul_job_func = htp_matvec_2d_q8x4x2_q8x4x2; } src1_row_size = q8x4x2_row_size(ne10); // row size post quantization @@ -2077,8 +2160,8 @@ int op_matmul(struct htp_ops_context * octx) { // Entire src1 tensor is placed into the VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); // src0 spad is also used in dynamic quantizer to store padded src1 rows @@ -2096,9 +2179,9 @@ int op_matmul(struct htp_ops_context * octx) { op_type = "mxfp4x4x2-f32"; quant_job_func = htp_quantize_fp32_q8x4x2; if (src1_nrows > 1) { - matmul_job_func = htp_matmul_mxfp4x4x2_q8x4x2; + matmul_job_func = htp_matmul_2d_mxfp4x4x2_q8x4x2; } else { - matmul_job_func = htp_matvec_mxfp4x4x2_q8x4x2; + matmul_job_func = htp_matvec_2d_mxfp4x4x2_q8x4x2; } src1_row_size = q8x4x2_row_size(ne10); // row size post quantization @@ -2106,8 +2189,8 @@ int op_matmul(struct htp_ops_context * octx) { // Entire src1 tensor is placed into the VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); // src0 spad is also used in dynamic quantizer to store padded src1 rows @@ -2122,20 +2205,69 @@ int op_matmul(struct htp_ops_context * octx) { break; case HTP_TYPE_F16: - op_type = "f16-f32"; - quant_job_func = NULL; // htp_quantize_f32_f16; - matmul_job_func = htp_matmul_f16_f32; + { + // Try optimized f16-f16 path first (src1 in VTCM) + const size_t f16_src1_row_size = htp_round_up(ne10 * 2, 128); + const size_t f16_src1_spad_size = htp_round_up(f16_src1_row_size * src1_nrows, 256); + const size_t f16_src0_spad_size = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256) * octx->n_threads; + const size_t f16_dst_spad_size = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256) * octx->n_threads; - // For all tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size, 256); - octx->src1_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC1_NROWS * src1_row_size, 256); + const size_t f16_total_size = f16_src1_spad_size + f16_src0_spad_size + f16_dst_spad_size; - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->src1_spad.size = octx->src1_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; + // Default matmul implementation does not support multi-batch src0 (N-vs-N broadcasting). + // It only supports 1-vs-N broadcasting (src0 is 2D) or standard 2D matmul. + const bool is_batched = (ne02 > 1) || (ne03 > 1); + const bool is_permuted = htp_is_permuted(&octx->src0) || htp_is_permuted(&octx->src1); - need_quant = false; + if (!is_batched && !is_permuted && f16_total_size <= octx->ctx->vtcm_size) { + // Optimized path + op_type = "f16-f16"; + quant_job_func = (src1->type == HTP_TYPE_F32) ? htp_quantize_fp32_fp16 : htp_quantize_fp16_fp16; + if (src1_nrows > 1) { + matmul_job_func = htp_matmul_2d_f16_f16; + } else { + matmul_job_func = htp_matvec_2d_f16_f16; + } + + src1_row_size = f16_src1_row_size; // row size post quantization + + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); + + octx->src1_spad.size = octx->src1_spad.size_per_thread; + octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; + octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; + } else { + // Fallback to f16/f32 (DDR) if src1 doesn't fit in VTCM or broadcasting is required + quant_job_func = NULL; + if (src1->type == HTP_TYPE_F32) { + op_type = "f16-f32"; + matmul_job_func = htp_matmul_4d_f16_f32; + } else { + op_type = "f16-f16"; + matmul_job_func = htp_matmul_4d_f16_f16; + } + + src1_row_size = nb11; // original row size in DDR + + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size, 256); + octx->src1_spad.size_per_thread = htp_round_up(MM_SPAD_SRC1_NROWS * src1_row_size, 256); + + octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; + octx->src1_spad.size = octx->src1_spad.size_per_thread * octx->n_threads; + octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; + + // Init fastdiv for matmul_4d (supports broadcasting) + octx->mm_div_ne12_ne1 = init_fastdiv_values(src1->ne[2] * dst->ne[1]); + octx->mm_div_ne1 = init_fastdiv_values(dst->ne[1]); + octx->mm_div_r2 = init_fastdiv_values(src1->ne[2] / src0->ne[2]); + octx->mm_div_r3 = init_fastdiv_values(src1->ne[3] / src0->ne[3]); + + need_quant = false; + } + } break; default: @@ -2166,6 +2298,9 @@ int op_matmul(struct htp_ops_context * octx) { octx->src0_nrows_per_thread = (src0_nrows + octx->n_threads - 1) / octx->n_threads; octx->src0_nrows_per_thread += (octx->src0_nrows_per_thread & 1); // round up to even + octx->src0_spad.stride = src0_row_size_padded; + octx->src1_spad.stride = src1_row_size; + if (need_quant) { // Run quant jobs const uint32_t n_quant_jobs = MIN(src1_nrows, octx->n_threads); @@ -2185,12 +2320,9 @@ int op_matmul(struct htp_ops_context * octx) { // ** main matmul-id entry point int op_matmul_id(struct htp_ops_context * octx) { - const struct htp_tensor * src0 = &octx->src0; - const struct htp_tensor * src1 = &octx->src1; - const struct htp_tensor * ids = &octx->src2; - struct htp_tensor * dst = &octx->dst; + htp_matmul_tensors_preamble; - htp_matmul_preamble; + struct htp_tensor * restrict ids = &octx->src2; const char * op_type; @@ -2228,8 +2360,8 @@ int op_matmul_id(struct htp_ops_context * octx) { // Entire src1 tensor is placed into the VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); octx->src2_spad.size_per_thread = htp_round_up(matrix_row_counts_size + matrix_row_map_size, 256); @@ -2257,8 +2389,8 @@ int op_matmul_id(struct htp_ops_context * octx) { // Entire src1 tensor is placed into the VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); octx->src2_spad.size_per_thread = htp_round_up(matrix_row_counts_size + matrix_row_map_size, 256); @@ -2286,8 +2418,8 @@ int op_matmul_id(struct htp_ops_context * octx) { // Entire src1 tensor is placed into the VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = htp_round_up(HTP_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = htp_round_up(HTP_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->dst_spad.size_per_thread = htp_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = htp_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = htp_round_up(src1_row_size * src1_nrows, 256); octx->src2_spad.size_per_thread = htp_round_up(matrix_row_counts_size + matrix_row_map_size, 256); diff --git a/ggml/src/ggml-hexagon/htp/set-rows-ops.c b/ggml/src/ggml-hexagon/htp/set-rows-ops.c new file mode 100644 index 0000000000..bdd64fcc8f --- /dev/null +++ b/ggml/src/ggml-hexagon/htp/set-rows-ops.c @@ -0,0 +1,168 @@ +#pragma clang diagnostic ignored "-Wunused-variable" +#pragma clang diagnostic ignored "-Wunused-function" +#pragma clang diagnostic ignored "-Wunused-but-set-variable" + +#ifdef HTP_DEBUG +# define FARF_HIGH 1 +#endif +#include +#include +#include +#include +#include +#include +#include + +#define GGML_COMMON_DECL_C +#include "ggml-common.h" +#include "htp-ctx.h" +#include "htp-msg.h" +#include "htp-ops.h" +#include "hvx-utils.h" +#include "ops-utils.h" + +#define set_rows_preamble \ + const uint32_t ne00 = octx->src0.ne[0]; \ + const uint32_t ne01 = octx->src0.ne[1]; \ + const uint32_t ne02 = octx->src0.ne[2]; \ + const uint32_t ne03 = octx->src0.ne[3]; \ + \ + const uint32_t ne10 = octx->src1.ne[0]; \ + const uint32_t ne11 = octx->src1.ne[1]; \ + const uint32_t ne12 = octx->src1.ne[2]; \ + \ + const uint32_t nb01 = octx->src0.nb[1]; \ + const uint32_t nb02 = octx->src0.nb[2]; \ + const uint32_t nb03 = octx->src0.nb[3]; \ + \ + const uint32_t nb10 = octx->src1.nb[0]; \ + const uint32_t nb11 = octx->src1.nb[1]; \ + const uint32_t nb12 = octx->src1.nb[2]; \ + \ + const uint32_t nb1 = octx->dst.nb[1]; \ + const uint32_t nb2 = octx->dst.nb[2]; \ + const uint32_t nb3 = octx->dst.nb[3]; \ + \ + const uint32_t ne1 = octx->dst.ne[1]; \ + \ + const uint32_t nr = ne01; + +static int set_rows_thread_f32_f32(struct htp_ops_context * octx, const int nth, const int ith) { + set_rows_preamble; + + // parallelize by rows of src0 + const uint32_t dr = octx->src0_nrows_per_thread; + const uint32_t ir0 = dr * ith; + const uint32_t ir1 = (ir0 + dr < nr) ? (ir0 + dr) : nr; + + const bool is_i32 = (octx->src1.type == HTP_TYPE_I32); + + for (uint32_t i03 = 0; i03 < ne03; ++i03) { + for (uint32_t i02 = 0; i02 < ne02; ++i02) { + for (uint32_t i = ir0; i < ir1; ++i) { + const uint32_t i12 = fastmodulo(i03, ne12, &octx->set_rows_div_ne12); + const uint32_t i11 = fastmodulo(i02, ne11, &octx->set_rows_div_ne11); + const uint32_t i10 = i; + + const uintptr_t src1_addr = octx->src1.data + i10*nb10 + i11*nb11 + i12*nb12; + + uint32_t i1 = is_i32 ? *(int32_t *)src1_addr : *(int64_t *)src1_addr; + if (i1 >= ne1) { + // ignore invalid indices + continue; + } + + const uintptr_t src0_ptr = octx->src0.data + i*nb01 + i02*nb02 + i03*nb03; + const uintptr_t dst_ptr = octx->dst.data + i1*nb1 + i02*nb2 + i03*nb3; + + // copy row + hvx_copy_fp32_uu((uint8_t *)dst_ptr, (const uint8_t *)src0_ptr, ne00); + } + } + } + + return HTP_STATUS_OK; +} + +static int set_rows_thread_f16_f32(struct htp_ops_context * octx, const int nth, const int ith) { + set_rows_preamble; + + // parallelize by rows of src0 + const uint32_t dr = octx->src0_nrows_per_thread; + const uint32_t ir0 = dr * ith; + const uint32_t ir1 = (ir0 + dr < nr) ? (ir0 + dr) : nr; + + const bool is_i32 = (octx->src1.type == HTP_TYPE_I32); + + for (uint32_t i03 = 0; i03 < ne03; ++i03) { + for (uint32_t i02 = 0; i02 < ne02; ++i02) { + for (uint32_t i = ir0; i < ir1; ++i) { + const uint32_t i12 = fastmodulo(i03, ne12, &octx->set_rows_div_ne12); + const uint32_t i11 = fastmodulo(i02, ne11, &octx->set_rows_div_ne11); + const uint32_t i10 = i; + + const uintptr_t src1_addr = octx->src1.data + i10*nb10 + i11*nb11 + i12*nb12; + + uint32_t i1 = is_i32 ? *(int32_t *)src1_addr : *(int64_t *)src1_addr; + if (i1 >= ne1) { + // ignore invalid indices + continue; + } + + const uint8_t* src0_ptr = (const uint8_t *) octx->src0.data + i*nb01 + i02*nb02 + i03*nb03; + uint8_t* dst_ptr = (uint8_t *) octx->dst.data + i1*nb1 + i02*nb2 + i03*nb3; + + hvx_copy_fp16_fp32_uu(dst_ptr, src0_ptr, ne00); + } + } + } + + return HTP_STATUS_OK; +} + +static void set_rows_work_f16_f32(unsigned int n, unsigned int i, void *data) { + set_rows_thread_f16_f32((struct htp_ops_context *) data, n, i); +} + +static void set_rows_work_f32_f32(unsigned int n, unsigned int i, void *data) { + set_rows_thread_f32_f32((struct htp_ops_context *) data, n, i); +} + +int op_set_rows(struct htp_ops_context * octx) { + set_rows_preamble; + + if (octx->src0.type != HTP_TYPE_F32) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->dst.type != HTP_TYPE_F32 && octx->dst.type != HTP_TYPE_F16) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->src1.type != HTP_TYPE_I32 && octx->src1.type != HTP_TYPE_I64) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->flags & HTP_OPFLAGS_SKIP_COMPUTE) { + return HTP_STATUS_OK; + } + + octx->set_rows_div_ne12 = init_fastdiv_values(ne12); + octx->set_rows_div_ne11 = init_fastdiv_values(ne11); + + const uint32_t n_jobs = MIN(nr, octx->n_threads); + octx->src0_nrows_per_thread = (nr + n_jobs - 1) / n_jobs; + + switch(octx->dst.type) { + case HTP_TYPE_F32: + worker_pool_run_func(octx->ctx->worker_pool, set_rows_work_f32_f32, octx, n_jobs); + break; + case HTP_TYPE_F16: + worker_pool_run_func(octx->ctx->worker_pool, set_rows_work_f16_f32, octx, n_jobs); + break; + default: + return HTP_STATUS_NO_SUPPORT; + } + + return HTP_STATUS_OK; +} diff --git a/ggml/src/ggml-hexagon/htp/softmax-ops.c b/ggml/src/ggml-hexagon/htp/softmax-ops.c index 5bf0cbf792..80d249a22c 100644 --- a/ggml/src/ggml-hexagon/htp/softmax-ops.c +++ b/ggml/src/ggml-hexagon/htp/softmax-ops.c @@ -238,7 +238,7 @@ static void softmax_htp_f32(int nth, int ith, struct softmax_th_ctx * softmax_ct hvx_fast_softmax_prep_f32((const uint8_t *) sp, (uint8_t *) wp0, ne00, softmax_ctx->scale, (const uint8_t *) mp_f32, slope); } else { - hvx_scale_f32((const uint8_t *) sp, (uint8_t *) wp0, ne00, softmax_ctx->scale); + hvx_scale_f32((uint8_t *) wp0, (const uint8_t *) sp, ne00, softmax_ctx->scale); if (mp_f32) { if (softmax_ctx->use_f16) { for (int i = 0; i < ne00; ++i) { @@ -258,7 +258,7 @@ static void softmax_htp_f32(int nth, int ith, struct softmax_th_ctx * softmax_ct float max = hvx_self_max_f32((const uint8_t *) wp0, ne00); float sum = hvx_softmax_f32((const uint8_t *) wp0, (uint8_t *) wp2, (uint8_t *) wp1, ne00, max); sum = sum > 0.0 ? (1.0 / sum) : 1; - hvx_scale_f32((const uint8_t *) wp2, (uint8_t *) dp, ne00, sum); + hvx_scale_f32((uint8_t *) dp, (const uint8_t *) wp2, ne00, sum); } } } diff --git a/ggml/src/ggml-hexagon/htp/unary-ops.c b/ggml/src/ggml-hexagon/htp/unary-ops.c index bb7557b025..8ed1e5b661 100644 --- a/ggml/src/ggml-hexagon/htp/unary-ops.c +++ b/ggml/src/ggml-hexagon/htp/unary-ops.c @@ -83,6 +83,31 @@ static void hvx_fast_rms_norm_f32(const uint8_t * restrict src, } } +static void scale_htp_f32(const float * restrict src, + float * restrict dst, + uint8_t * restrict spad, + const uint32_t num_rows, + const uint32_t row_elems, + const size_t row_size, + int32_t * op_params, + int opt_path) { + float scale = 0.f; + float bias = 0.f; + memcpy(&scale, &op_params[0], sizeof(float)); + memcpy(&bias, &op_params[1], sizeof(float)); + + for (uint32_t ir = 0; ir < num_rows; ir++) { + const float * restrict src_local = src + (ir * row_elems); + float * restrict dst_local = dst + (ir * row_elems); + + if (ir + 1 < num_rows) { + htp_l2fetch(src_local + row_elems, 1, row_size, row_size); + } + + hvx_scale_offset_f32((uint8_t *) dst_local, (const uint8_t *) src_local, row_elems, scale, bias); + } +} + static void rms_norm_htp_f32(const float * restrict src, float * restrict dst, uint8_t * restrict spad, @@ -110,7 +135,7 @@ static void rms_norm_htp_f32(const float * restrict src, const float mean = sum / row_elems; const float scale = 1.0f / sqrtf(mean + epsilon); - hvx_scale_f32((const uint8_t *) src_local, (uint8_t *) dst_local, row_elems, scale); + hvx_scale_f32((uint8_t *) dst_local, (const uint8_t *) src_local, row_elems, scale); } } } @@ -162,6 +187,9 @@ static void unary_job_f32_per_thread(const struct htp_tensor * src, case HTP_OP_RMS_NORM: rms_norm_htp_f32(src_th, dst_th, spad_th, src0_end_row - src0_start_row, ne0, nb1, op_params, opt_path); break; + case HTP_OP_SCALE: + scale_htp_f32(src_th, dst_th, spad_th, src0_end_row - src0_start_row, ne0, nb1, op_params, opt_path); + break; default: break; @@ -195,6 +223,10 @@ static int execute_op_unary_f32(struct htp_ops_context * octx) { unary_op_func = unary_job_dispatcher_f32; op_type = "rmsnorm-f32"; break; + case HTP_OP_SCALE: + unary_op_func = unary_job_dispatcher_f32; + op_type = "scale-f32"; + break; default: FARF(ERROR, "Unsupported unary Op %u\n", octx->op); diff --git a/scripts/snapdragon/adb/run-bench.sh b/scripts/snapdragon/adb/run-bench.sh index b2e651e749..1a7d8c9fd6 100755 --- a/scripts/snapdragon/adb/run-bench.sh +++ b/scripts/snapdragon/adb/run-bench.sh @@ -16,8 +16,14 @@ model="Llama-3.2-3B-Instruct-Q4_0.gguf" device="HTP0" [ "$D" != "" ] && device="$D" -verbose="" -[ "$V" != "" ] && verbose="$V" +verbose= +[ "$V" != "" ] && verbose="GGML_HEXAGON_VERBOSE=$V" cli_opts="$cli_opts -v" + +experimental= +[ "$E" != "" ] && experimental="GGML_HEXAGON_EXPERIMENTAL=$E" + +profile= +[ "$PROF" != "" ] && profile="GGML_HEXAGON_PROFILE=$PROF GGML_HEXAGON_OPSYNC=1" cli_opts="$cli_opts -v" opmask= [ "$OPMASK" != "" ] && opmask="GGML_HEXAGON_OPMASK=$OPMASK" @@ -34,7 +40,7 @@ adb $adbserial shell " \ cd $basedir; \ LD_LIBRARY_PATH=$basedir/$branch/lib \ ADSP_LIBRARY_PATH=$basedir/$branch/lib \ - $ndev $nhvx $opmask ./$branch/bin/llama-bench --device $device --mmap 0 -m $basedir/../gguf/$model \ + $ndev $nhvx $opmask $verbose $experimental $profile ./$branch/bin/llama-bench --device $device --mmap 0 -m $basedir/../gguf/$model \ --poll 1000 -t 6 --cpu-mask 0xfc --cpu-strict 1 \ - --batch-size 128 -ngl 99 $@ \ + --batch-size 128 -ngl 99 $cli_opts $@ \ " From 193ee38a1bc2aed807823112cf030edcae186892 Mon Sep 17 00:00:00 2001 From: Raul Torres <138264735+rauletorresc@users.noreply.github.com> Date: Wed, 7 Jan 2026 02:01:25 +0000 Subject: [PATCH 30/38] CANN: Rename `get_env` to `get_env_as_lowercase` (#18624) --- ggml/src/ggml-cann/ggml-cann.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index acf88db9b7..162d238ae4 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -105,10 +105,10 @@ int32_t ggml_cann_get_device() { } /** - * @brief Get the value of the specified environment variable (name). + * @brief Get the value of the specified environment variable (name) as lowercase. * if not empty, return a std::string object */ -std::optional get_env(const std::string & name) { +std::optional get_env_as_lowercase(const std::string & name) { const char * val = std::getenv(name.c_str()); if (!val) { return std::nullopt; @@ -259,7 +259,7 @@ struct ggml_cann_pool_buf_prio : public ggml_cann_pool { * @param device The device ID to associate with this buffer pool. */ explicit ggml_cann_pool_buf_prio(int device) : device(device) { - disable_clean = parse_bool(get_env("GGML_CANN_DISABLE_BUF_POOL_CLEAN").value_or("")); + disable_clean = parse_bool(get_env_as_lowercase("GGML_CANN_DISABLE_BUF_POOL_CLEAN").value_or("")); } /** @@ -452,7 +452,7 @@ struct ggml_cann_pool_buf : public ggml_cann_pool { * @param device The device ID to associate with this buffer pool. */ explicit ggml_cann_pool_buf(int device) : device(device) { - disable_clean = parse_bool(get_env("GGML_CANN_DISABLE_BUF_POOL_CLEAN").value_or("")); + disable_clean = parse_bool(get_env_as_lowercase("GGML_CANN_DISABLE_BUF_POOL_CLEAN").value_or("")); } /** @@ -764,7 +764,7 @@ struct ggml_cann_pool_vmm : public ggml_cann_pool { * @return A unique pointer to the created CANN pool. */ std::unique_ptr ggml_backend_cann_context::new_pool_for_device(int device) { - std::string mem_pool_type = get_env("GGML_CANN_MEM_POOL").value_or(""); + std::string mem_pool_type = get_env_as_lowercase("GGML_CANN_MEM_POOL").value_or(""); if (mem_pool_type == "prio") { GGML_LOG_INFO("%s: device %d use buffer pool with priority queue\n", __func__, device); @@ -1217,7 +1217,7 @@ static void ggml_backend_cann_buffer_set_tensor(ggml_backend_buffer_t buffer, // Why aclrtSynchronizeDevice? // Only check env once. - static bool weight_to_nz = parse_bool(get_env("GGML_CANN_WEIGHT_NZ").value_or("on")); + static bool weight_to_nz = parse_bool(get_env_as_lowercase("GGML_CANN_WEIGHT_NZ").value_or("on")); if (!need_transform(tensor->type)) { ACL_CHECK(aclrtMemcpy((char *) tensor->data + offset, size, data, size, ACL_MEMCPY_HOST_TO_DEVICE)); if (weight_to_nz && is_matmul_weight((const ggml_tensor *) tensor)) { @@ -1442,7 +1442,7 @@ static size_t ggml_backend_cann_buffer_type_get_alloc_size(ggml_backend_buffer_t int64_t ne0 = tensor->ne[0]; // Only check env once. - static bool weight_to_nz = parse_bool(get_env("GGML_CANN_WEIGHT_NZ").value_or("on")); + static bool weight_to_nz = parse_bool(get_env_as_lowercase("GGML_CANN_WEIGHT_NZ").value_or("on")); // last line must bigger than 32, because every single op deal at // least 32 bytes. @@ -2136,7 +2136,7 @@ static void evaluate_and_capture_cann_graph(ggml_backend_cann_context * cann_ctx #endif // USE_ACL_GRAPH // Only perform the graph execution if CANN graphs are not enabled, or we are capturing the graph. // With the use of CANN graphs, the execution will be performed by the graph launch. - static bool opt_fusion = parse_bool(get_env("GGML_CANN_OPERATOR_FUSION").value_or("")); + static bool opt_fusion = parse_bool(get_env_as_lowercase("GGML_CANN_OPERATOR_FUSION").value_or("")); if (!use_cann_graph || cann_graph_capture_required) { for (int i = 0; i < cgraph->n_nodes; i++) { @@ -2201,7 +2201,7 @@ static enum ggml_status ggml_backend_cann_graph_compute(ggml_backend_t backend, #ifdef USE_ACL_GRAPH bool use_cann_graph = true; - static bool prefill_use_graph = parse_bool(get_env("GGML_CANN_PREFILL_USE_GRAPH").value_or("")); + static bool prefill_use_graph = parse_bool(get_env_as_lowercase("GGML_CANN_PREFILL_USE_GRAPH").value_or("")); if (!prefill_use_graph) { // Do not use acl_graph for prefill. for (int i = 0; i < cgraph->n_nodes; i++) { From 3333951d86c0a67bac318cc6b0a924b673f6e4e5 Mon Sep 17 00:00:00 2001 From: hipudding Date: Wed, 7 Jan 2026 16:11:31 +0800 Subject: [PATCH 31/38] CANN: Fix rename for get_env (#18652) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In #18624, get_env in ggml-cann was renamed to get_env_as_lowercase to accurately reflect the function’s behavior and reduce the chance of misuse. However, the update missed renaming call sites in other files. This commit fixes that oversight. --- ggml/src/ggml-cann/aclnn_ops.cpp | 2 +- ggml/src/ggml-cann/common.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cann/aclnn_ops.cpp b/ggml/src/ggml-cann/aclnn_ops.cpp index 50b6bd00e4..6b718e01c3 100644 --- a/ggml/src/ggml-cann/aclnn_ops.cpp +++ b/ggml/src/ggml-cann/aclnn_ops.cpp @@ -1963,7 +1963,7 @@ static void ggml_cann_mat_mul_fp(ggml_backend_cann_context & ctx, ggml_tensor * acl_tensor_ptr acl_weight_tensor; // Only check env once. - static bool weight_to_nz = parse_bool(get_env("GGML_CANN_WEIGHT_NZ").value_or("on")); + static bool weight_to_nz = parse_bool(get_env_as_lowercase("GGML_CANN_WEIGHT_NZ").value_or("on")); if (weight_to_nz && is_matmul_weight(weight)) { acl_weight_tensor = ggml_cann_create_tensor(weight, transpose_ne, transpose_nb, n_dims, ACL_FORMAT_FRACTAL_NZ); } else { diff --git a/ggml/src/ggml-cann/common.h b/ggml/src/ggml-cann/common.h index e9a21e1b05..6895349b20 100644 --- a/ggml/src/ggml-cann/common.h +++ b/ggml/src/ggml-cann/common.h @@ -103,7 +103,7 @@ const ggml_cann_device_info & ggml_cann_info(); void ggml_cann_set_device(int32_t device); int32_t ggml_cann_get_device(); -std::optional get_env(const std::string & name); +std::optional get_env_as_lowercase(const std::string & name); bool parse_bool(const std::string & value); int parse_integer(const std::string & value); From ffba4f29e6a9ed7165ea6b94150856c5b49925cb Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 7 Jan 2026 10:42:19 +0100 Subject: [PATCH 32/38] examples : add debug utility/example (#18464) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * examples : add debug utility/example This commit introduces a new example named llama-debug which is a utility that is intended to be used to assist with developing/debugging a converted model. The motivation for this utilitiy is to assist in model conversion work to verify that the model produces the expected outputs. It is intended to replace logits.cpp in examples/model-conversion. Example usage: ```console ./build/bin/llama-debug \ -m models/Qwen2.5-0.5B-Instruct.gguf \ --prompt "Hello, my name is" \ --save-logits ... Model add_bos: false Input prompt: "Hello, my name is" Token ids (5): Hello(9707) ,(11) my(847) name(829) is(374) Data saved to data/llamacpp-Qwen2.5-0.5B-Instruct.bin Data saved to data/llamacpp-Qwen2.5-0.5B-Instruct.txt Prompt saved to data/llamacpp-Qwen2.5-0.5B-Instruct-prompt.txt Tokens saved to data/llamacpp-Qwen2.5-0.5B-Instruct-tokens.bin ``` For more details about the options available for this example, please refer to examples/debug/README.md. * throw runtime error instead of logging error * remove params.warmup and enable the warmup/nowarmup option * model-conversion : remove logits.cpp This commit removes logits.cpp in favor of using llama-debug for generating logits and embeddings. * examples : remove model-conversion directory This was missed in the previous commit. * model-conversion : add support for saving prompt and token ids This commit add support for storing the prompt and the token ids for the prompt when running the original models. The motivation for this is that this will allow us to compare the prompt and the tokens generated for the prompt when verifing the converted model. Currently it is possible that even if the same prompt is used that the tokens generated are different if there is a difference in the tokenization between the original and converted model which would currently go unnoticed (the verification will most likely fail but it might not be obvious why). * squash! model-conversion : add support for saving prompt and token ids fix pyright errors. * model-conversion : add compare_tokens utility This commit adds a script to compare token outputs between original and converted models. Example usage: ```console (venv) $ ./scripts/utils/compare_tokens.py pytorch-gemma-3-270m-it llamacpp-gemma-3-270m-it-bf16 Comparing tokens between: Original : pytorch-gemma-3-270m-it (6 tokens) Converted: llamacpp-gemma-3-270m-it-bf16 (6 tokens) ✅ All 6 tokens match! ``` And there is a verbose flag that will also print out the prompts: ```console (venv) $ ./scripts/utils/compare_tokens.py pytorch-gemma-3-270m-it llamacpp-gemma-3-270m-it-bf16 -v Original model prompt (pytorch-gemma-3-270m-it): prompt: Hello, my name is n_tokens: 6 token ids: 2, 9259, 236764, 1041, 1463, 563 Converted model prompt (llamacpp-gemma-3-270m-it-bf16): prompt: Hello, my name is n_tokens: 6 token ids: 2, 9259, 236764, 1041, 1463, 563 Comparing tokens between: Original : pytorch-gemma-3-270m-it (6 tokens) Converted: llamacpp-gemma-3-270m-it-bf16 (6 tokens) ✅ All 6 tokens match! ``` * model-conversion : add token comparison to verifiction scripts This commit add the calling of the compare_tokens function in compare-logits.py and semantic_check.py to ensure that the token ids that the tokenizers procoduce are the same before proceeding with verifying the logits/embeddings. Placing them in the existing scripts instead calling them separately ensures that the token comparison is always done prior to the logit/embedding verifications. Follow up commit/pr could refactor the causal logits verification into a single script instead of the two that exist now. This would reduce the code and make it consistent with the embeddings verficiation which only has a single script. * debug : use llama_model_n_embd_out This commit updates the debug example to use the new function llama_model_n_embd_out instead of llama_model_n_embd. The motivation for this change is to support late interation retriever models, like LFM2-ColBert-350M, where the output embeddings are down projected to a lower dimension. * debug : add print_usage function This commit adds a print_usage function that is passed to the common_params_parse. The motivation for this is that this enables a specific usage message which will be printed after all the options, for example: ```console example usage: Print tensors: ./build/bin/llama-debug -m model.gguf -p "Hello my name is" --verbose The tensors to be printed can be filtered with --tensor-filter option. Save logits/embeddings: ./build/bin/llama-debug -m model.gguf -p "Hello my name is" --save-logits Add --embedding to save embeddings ``` --- common/arg.cpp | 29 +- common/common.h | 6 + examples/CMakeLists.txt | 2 +- .../CMakeLists.txt | 4 +- examples/debug/README.md | 54 +++ examples/debug/debug.cpp | 421 ++++++++++++++++++ examples/model-conversion/logits.cpp | 268 ----------- .../scripts/causal/compare-logits.py | 9 +- .../causal/run-casual-gen-embeddings-org.py | 2 +- .../run-converted-model-embeddings-logits.sh | 4 +- .../scripts/causal/run-converted-model.sh | 4 +- .../scripts/causal/run-org-model.py | 20 +- .../scripts/embedding/run-converted-model.sh | 7 +- .../scripts/embedding/run-original-model.py | 25 +- .../model-conversion/scripts/utils/common.py | 95 ++++ .../scripts/utils/compare_tokens.py | 76 ++++ .../scripts/utils/semantic_check.py | 18 + 17 files changed, 725 insertions(+), 319 deletions(-) rename examples/{model-conversion => debug}/CMakeLists.txt (73%) create mode 100644 examples/debug/README.md create mode 100644 examples/debug/debug.cpp delete mode 100644 examples/model-conversion/logits.cpp create mode 100755 examples/model-conversion/scripts/utils/compare_tokens.py diff --git a/common/arg.cpp b/common/arg.cpp index c3610d262b..a67a26e2dc 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1445,7 +1445,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, bool value) { params.warmup = value; } - ).set_examples({LLAMA_EXAMPLE_COMPLETION, LLAMA_EXAMPLE_CLI, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_MTMD, LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_RETRIEVAL, LLAMA_EXAMPLE_PERPLEXITY})); + ).set_examples({LLAMA_EXAMPLE_COMPLETION, LLAMA_EXAMPLE_CLI, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_MTMD, LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_RETRIEVAL, LLAMA_EXAMPLE_PERPLEXITY, LLAMA_EXAMPLE_DEBUG})); add_opt(common_arg( {"--spm-infill"}, string_format( @@ -1761,7 +1761,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex else if (value == "rank") { params.pooling_type = LLAMA_POOLING_TYPE_RANK; } else { throw std::invalid_argument("invalid value"); } } - ).set_examples({LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_RETRIEVAL, LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_POOLING")); + ).set_examples({LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_RETRIEVAL, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_DEBUG}).set_env("LLAMA_ARG_POOLING")); add_opt(common_arg( {"--attention"}, "{causal,non-causal}", "attention type for embeddings, use model default if unspecified", @@ -2609,7 +2609,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, int value) { params.embd_normalize = value; } - ).set_examples({LLAMA_EXAMPLE_EMBEDDING})); + ).set_examples({LLAMA_EXAMPLE_EMBEDDING, LLAMA_EXAMPLE_DEBUG})); add_opt(common_arg( {"--embd-output-format"}, "FORMAT", "empty = default, \"array\" = [[],[]...], \"json\" = openai style, \"json+\" = same \"json\" + cosine similarity matrix, \"raw\" = plain whitespace-delimited output (one embedding per line)", @@ -2687,7 +2687,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params) { params.embedding = true; } - ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_EMBEDDINGS")); + ).set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_DEBUG}).set_env("LLAMA_ARG_EMBEDDINGS")); add_opt(common_arg( {"--rerank", "--reranking"}, string_format("enable reranking endpoint on server (default: %s)", "disabled"), @@ -3378,6 +3378,27 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } } ).set_examples({ LLAMA_EXAMPLE_FINETUNE })); + add_opt(common_arg( + {"--save-logits"}, + string_format("save final logits to files for verification (default: %s)", params.save_logits ? "true" : "false"), + [](common_params & params) { + params.save_logits = true; + } + ).set_examples({LLAMA_EXAMPLE_DEBUG})); + add_opt(common_arg( + {"--logits-output-dir"}, "PATH", + string_format("directory for saving logits output files (default: %s)", params.logits_output_dir.c_str()), + [](common_params & params, const std::string & value) { + params.logits_output_dir = value; + } + ).set_examples({LLAMA_EXAMPLE_DEBUG})); + add_opt(common_arg( + {"--tensor-filter"}, "REGEX", + "filter tensor names for debug output (regex pattern, can be specified multiple times)", + [](common_params & params, const std::string & value) { + params.tensor_filter.push_back(value); + } + ).set_examples({LLAMA_EXAMPLE_DEBUG})); // presets add_opt(common_arg( diff --git a/common/common.h b/common/common.h index daea6ded5b..d6fd0d37a9 100644 --- a/common/common.h +++ b/common/common.h @@ -80,6 +80,7 @@ int32_t cpu_get_num_math(); // enum llama_example { + LLAMA_EXAMPLE_DEBUG, LLAMA_EXAMPLE_COMMON, LLAMA_EXAMPLE_SPECULATIVE, LLAMA_EXAMPLE_COMPLETION, @@ -372,6 +373,11 @@ struct common_params { std::string lookup_cache_dynamic = ""; // path of dynamic ngram cache file for lookup decoding // NOLINT std::string logits_file = ""; // file for saving *all* logits // NOLINT + // llama-debug specific options + std::string logits_output_dir = "data"; // directory for saving logits output files // NOLINT + bool save_logits = false; // whether to save logits to files // NOLINT + std::vector tensor_filter; // filter tensor names for debug output (regex) // NOLINT + std::vector in_files; // all input files std::vector antiprompt; // strings upon which more user input is prompted (a.k.a. reverse prompts) std::vector kv_overrides; diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 91797cf78a..a29dc707c3 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -15,6 +15,7 @@ llama_add_compile_flags() if (EMSCRIPTEN) else() add_subdirectory(batched) + add_subdirectory(debug) add_subdirectory(embedding) add_subdirectory(eval-callback) @@ -34,7 +35,6 @@ else() add_subdirectory(gen-docs) add_subdirectory(training) add_subdirectory(diffusion) - add_subdirectory(model-conversion) if (NOT GGML_BACKEND_DL) add_subdirectory(convert-llama2c-to-ggml) # these examples use the backends directly and cannot be built with dynamic loading diff --git a/examples/model-conversion/CMakeLists.txt b/examples/debug/CMakeLists.txt similarity index 73% rename from examples/model-conversion/CMakeLists.txt rename to examples/debug/CMakeLists.txt index fc1746ce45..34593072be 100644 --- a/examples/model-conversion/CMakeLists.txt +++ b/examples/debug/CMakeLists.txt @@ -1,5 +1,5 @@ -set(TARGET llama-logits) -add_executable(${TARGET} logits.cpp) +set(TARGET llama-debug) +add_executable(${TARGET} debug.cpp) install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) diff --git a/examples/debug/README.md b/examples/debug/README.md new file mode 100644 index 0000000000..28e00c9342 --- /dev/null +++ b/examples/debug/README.md @@ -0,0 +1,54 @@ +# llama.cpp/examples/debug + +This is a utility intended to help debug a model by registering a callback that +logs GGML operations and tensor data. It can also store the generated logits or +embeddings as well as the prompt and token ids for comparision with the original +model. + +### Usage + +```shell +llama-debug \ + --hf-repo ggml-org/models \ + --hf-file phi-2/ggml-model-q4_0.gguf \ + --model phi-2-q4_0.gguf \ + --prompt hello \ + --save-logits \ + --verbose +``` +The tensor data is logged as debug and required the --verbose flag. The reason +for this is that while useful for a model with many layers there can be a lot of +output. You can filter the tensor names using the `--tensor-filter` option. + +A recommended approach is to first run without `--verbose` and see if the +generated logits/embeddings are close to the original model. If they are not, +then it might be required to inspect tensor by tensor and in that case it is +useful to enable the `--verbose` flag along with `--tensor-filter` to focus on +specific tensors. + +### Options +This example supports all standard `llama.cpp` options and also accepts the +following options: +```console +$ llama-debug --help +... + +----- example-specific params ----- + +--save-logits save final logits to files for verification (default: false) +--logits-output-dir PATH directory for saving logits output files (default: data) +--tensor-filter REGEX filter tensor names for debug output (regex pattern, can be specified multiple times) +``` + +### Output Files + +When `--save-logits` is enabled, the following files are created in the output +directory: + +* `llamacpp-[-embeddings].bin` - Binary output (logits or embeddings) +* `llamacpp-[-embeddings].txt` - Text output (logits or embeddings, one per line) +* `llamacpp-[-embeddings]-prompt.txt` - Prompt text and token IDs +* `llamacpp-[-embeddings]-tokens.bin` - Binary token IDs for programmatic comparison + +These files can be compared against the original model's output to verify the +converted model. diff --git a/examples/debug/debug.cpp b/examples/debug/debug.cpp new file mode 100644 index 0000000000..9bc5d0abfd --- /dev/null +++ b/examples/debug/debug.cpp @@ -0,0 +1,421 @@ +#include "arg.h" +#include "common.h" +#include "log.h" +#include "llama.h" +#include "ggml.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +static void print_usage(int, char ** argv) { + const std::string usage_template = R"( + example usage: + + Print tensors: + + {prog} -m model.gguf -p "Hello my name is" --verbose + + The tensors to be printed can be filtered with --tensor-filter option. + + Save logits/embeddings: + + {prog} -m model.gguf -p "Hello my name is" --save-logits + + Add --embedding to save embeddings)" "\n"; + + // Fix the source code indentation above that is introduced by the raw string literal. + std::string usage = std::regex_replace(usage_template, std::regex("\\n {8}"), "\n"); + usage = std::regex_replace(usage, std::regex("\\{prog\\}"), argv[0]); + LOG("%s\n", usage.c_str()); +} + +static bool ggml_debug(struct ggml_tensor * t, bool ask, void * user_data); + +struct callback_data { + std::vector data; + std::vector tensor_filters; + + callback_data() = default; + + callback_data(common_params & params, const std::vector & filter_patterns) { + for (const auto & pattern : filter_patterns) { + try { + std::string anchored_pattern = "^" + pattern; + tensor_filters.emplace_back(anchored_pattern, std::regex::optimize); + } catch (const std::regex_error & e) { + throw std::runtime_error("Invalid regex pattern '" + pattern + "': " + e.what()); + } + } + params.cb_eval = ggml_debug; + params.cb_eval_user_data = this; + } +}; + +struct output_data { + float * data_ptr = nullptr; + int data_size = 0; + std::string type_suffix; + std::vector storage; + std::string prompt; + std::vector tokens; + + output_data(llama_context * ctx, const llama_model * model, const common_params & params) { + const llama_vocab * vocab = llama_model_get_vocab(model); + const bool add_bos = llama_vocab_get_add_bos(vocab); + + tokens = common_tokenize(ctx, params.prompt, add_bos); + prompt = params.prompt; + + if (params.embedding) { + const int n_embd = llama_model_n_embd_out(model); + const bool pooling_enabled = llama_pooling_type(ctx) != LLAMA_POOLING_TYPE_NONE; + const int n_embd_count = pooling_enabled ? 1 : tokens.size(); + const int n_embeddings = n_embd * n_embd_count; + + float * embeddings; + if (pooling_enabled) { + embeddings = llama_get_embeddings_seq(ctx, 0); + storage.resize(n_embeddings); + common_embd_normalize(embeddings, storage.data(), n_embeddings, params.embd_normalize); + embeddings = storage.data(); + } else { + embeddings = llama_get_embeddings(ctx); + } + + data_ptr = embeddings; + data_size = n_embeddings; + type_suffix = "-embeddings"; + } else { + const float * logits = llama_get_logits_ith(ctx, tokens.size() - 1); + const int n_logits = llama_vocab_n_tokens(vocab); + + data_ptr = const_cast(logits); + data_size = n_logits; + type_suffix = ""; + } + } +}; + +static std::string ggml_ne_string(const ggml_tensor * t) { + std::string str; + for (int i = 0; i < GGML_MAX_DIMS; ++i) { + str += std::to_string(t->ne[i]); + if (i + 1 < GGML_MAX_DIMS) { + str += ", "; + } + } + return str; +} + +static inline float ggml_compute_bf16_to_fp32(ggml_bf16_t h) { + union { + float f; + uint32_t i; + } u; + u.i = (uint32_t)h.bits << 16; + return u.f; +} + +static float ggml_get_float_value(const uint8_t * data, ggml_type type, + const size_t * nb, size_t i0, size_t i1, size_t i2, size_t i3) { + size_t i = i3 * nb[3] + i2 * nb[2] + i1 * nb[1] + i0 * nb[0]; + switch (type) { + case GGML_TYPE_F16: + return ggml_fp16_to_fp32(*(const ggml_fp16_t *) &data[i]); + case GGML_TYPE_F32: + return *(const float *) &data[i]; + case GGML_TYPE_I64: + return (float) *(const int64_t *) &data[i]; + case GGML_TYPE_I32: + return (float) *(const int32_t *) &data[i]; + case GGML_TYPE_I16: + return (float) *(const int16_t *) &data[i]; + case GGML_TYPE_I8: + return (float) *(const int8_t *) &data[i]; + case GGML_TYPE_BF16: + return ggml_compute_bf16_to_fp32(*(const ggml_bf16_t *) &data[i]); + default: + GGML_ABORT("fatal error"); + } +} + +static void ggml_print_tensor(uint8_t * data, ggml_type type, const int64_t * ne, const size_t * nb, int64_t n) { + GGML_ASSERT(n > 0); + float sum = 0; + float sum_sq = 0.0; + for (int64_t i3 = 0; i3 < ne[3]; i3++) { + for (int64_t i2 = 0; i2 < ne[2]; i2++) { + for (int64_t i1 = 0; i1 < ne[1]; i1++) { + for (int64_t i0 = 0; i0 < ne[0]; i0++) { + const float v = ggml_get_float_value(data, type, nb, i0, i1, i2, i3); + sum += v; + sum_sq += v * v; + } + } + } + } + for (int64_t i3 = 0; i3 < ne[3]; i3++) { + LOG_DBG(" [\n"); + for (int64_t i2 = 0; i2 < ne[2]; i2++) { + if (i2 == n && ne[2] > 2*n) { + LOG_DBG(" ..., \n"); + i2 = ne[2] - n; + } + LOG_DBG(" [\n"); + for (int64_t i1 = 0; i1 < ne[1]; i1++) { + if (i1 == n && ne[1] > 2*n) { + LOG_DBG(" ..., \n"); + i1 = ne[1] - n; + } + LOG_DBG(" ["); + for (int64_t i0 = 0; i0 < ne[0]; i0++) { + if (i0 == n && ne[0] > 2*n) { + LOG_DBG("..., "); + i0 = ne[0] - n; + } + const float v = ggml_get_float_value(data, type, nb, i0, i1, i2, i3); + LOG_DBG("%12.4f", v); + if (i0 < ne[0] - 1) { + LOG_DBG(", "); + } + } + LOG_DBG("],\n"); + } + LOG_DBG(" ],\n"); + } + LOG_DBG(" ]\n"); + LOG_DBG(" sum = %f\n", sum); + LOG_DBG(" sum_sq = %f\n", sum_sq); + } + + if (std::isnan(sum)) { + LOG_ERR("encountered NaN - aborting\n"); + exit(0); + } +} + +/** + * GGML operations callback during the graph execution. + * + * @param t current tensor + * @param ask when ask is true, the scheduler wants to know if we are interested in data from this tensor + * if we return true, a follow-up call will be made with ask=false in which we can do the actual collection. + * see ggml_backend_sched_eval_callback + * @param user_data user data to pass at each call back + * @return true to receive data or continue the graph, false otherwise + */ +static bool ggml_debug(struct ggml_tensor * t, bool ask, void * user_data) { + auto * cb_data = (callback_data *) user_data; + + const struct ggml_tensor * src0 = t->src[0]; + const struct ggml_tensor * src1 = t->src[1]; + + if (ask) { + return true; // Always retrieve data + } + + bool matches_filter = cb_data->tensor_filters.empty(); + + if (!matches_filter) { + for (const auto & filter : cb_data->tensor_filters) { + if (std::regex_search(t->name, filter)) { + matches_filter = true; + break; + } + } + } + + char src1_str[128] = {0}; + if (src1) { + snprintf(src1_str, sizeof(src1_str), "%s{%s}", src1->name, ggml_ne_string(src1).c_str()); + } + + if (matches_filter) { + LOG_DBG("%s: %24s = (%s) %10s(%s{%s}, %s}) = {%s}\n", __func__, + t->name, + ggml_type_name(t->type), + ggml_op_desc(t), + src0->name, + ggml_ne_string(src0).c_str(), + src1 ? src1_str : "", + ggml_ne_string(t).c_str()); + } + + const bool is_host = ggml_backend_buffer_is_host(t->buffer); + + if (!is_host) { + auto n_bytes = ggml_nbytes(t); + cb_data->data.resize(n_bytes); + ggml_backend_tensor_get(t, cb_data->data.data(), 0, n_bytes); + } + + if (!ggml_is_quantized(t->type) && matches_filter) { + uint8_t * data = is_host ? (uint8_t *) t->data : cb_data->data.data(); + ggml_print_tensor(data, t->type, t->ne, t->nb, 3); + } + + return true; +} + + +static void save_output_data(const output_data & output, const std::string & model_name, const std::string & output_dir) { + std::filesystem::create_directory(output_dir); + auto base_path = std::filesystem::path{output_dir} / ("llamacpp-" + model_name + output.type_suffix); + + // Save logits/embeddings to binary file. + { + std::filesystem::path filepath{base_path.string() + ".bin"}; + std::ofstream file{filepath, std::ios::binary}; + if (!file) { + throw std::runtime_error("failed to open binary output file: " + filepath.string()); + } + file.write(reinterpret_cast(output.data_ptr), output.data_size * sizeof(float)); + LOG("Data saved to %s\n", filepath.c_str()); + } + + // Save logits/embeddings to text file. + { + std::filesystem::path filepath{base_path.string() + ".txt"}; + std::ofstream file{filepath}; + if (!file) { + throw std::runtime_error("failed to open text output file: " + filepath.string()); + } + for (int i = 0; i < output.data_size; i++) { + file << i << ": " << output.data_ptr[i] << '\n'; + } + LOG("Data saved to %s\n", filepath.c_str()); + } + + // Save prompt and tokens to text file. + { + std::filesystem::path filepath{base_path.string() + "-prompt.txt"}; + std::ofstream file{filepath}; + if (!file) { + throw std::runtime_error("failed to open prompt output file: " + filepath.string()); + } + + file << "prompt: " << output.prompt << '\n'; + file << "n_tokens: " << output.tokens.size() << '\n'; + + file << "token ids: "; + for (size_t i = 0; i < output.tokens.size(); i++) { + file << output.tokens[i]; + if (i + 1 < output.tokens.size()) { + file << ", "; + } + } + file << '\n'; + LOG("Prompt saved to %s\n", filepath.c_str()); + } + + // Save token ids to binary file. + { + std::filesystem::path filepath{base_path.string() + "-tokens.bin"}; + std::ofstream file{filepath, std::ios::binary}; + if (!file) { + throw std::runtime_error("failed to open tokens binary file: " + filepath.string()); + } + file.write(reinterpret_cast(output.tokens.data()), output.tokens.size() * sizeof(llama_token)); + LOG("Tokens saved to %s\n", filepath.c_str()); + } + +} + +static void print_tokenized_prompt(llama_context * ctx, const std::vector & tokens, const std::string & prompt) { + const llama_model * model = llama_get_model(ctx); + const llama_vocab * vocab = llama_model_get_vocab(model); + + LOG("Model add_bos: %s\n", llama_vocab_get_add_bos(vocab) ? "true" : "false"); + LOG("Input prompt: \"%s\"\n", prompt.c_str()); + LOG("Token ids (%zu):\n", tokens.size()); + + for (auto id : tokens) { + std::string piece(128, '\0'); + int n = llama_token_to_piece(vocab, id, piece.data(), piece.size(), 0, true); + if (n < 0) { + LOG_ERR("failed to convert token %d to piece\n", id); + continue; + } + piece.resize(n); + LOG("%s(%d) ", piece.c_str(), id); + } + LOG("\n"); +} + +static bool run(llama_context * ctx, const common_params & params) { + const llama_model * model = llama_get_model(ctx); + const llama_vocab * vocab = llama_model_get_vocab(model); + + const bool add_bos = llama_vocab_get_add_bos(vocab); + + std::vector tokens = common_tokenize(ctx, params.prompt, add_bos); + + if (tokens.empty()) { + LOG_ERR("%s : there are not input tokens to process - (try to provide a prompt with '-p')\n", __func__); + return false; + } + + if (llama_decode(ctx, llama_batch_get_one(tokens.data(), tokens.size()))) { + LOG_ERR("%s : failed to eval\n", __func__); + return false; + } + + print_tokenized_prompt(ctx, tokens, params.prompt); + + if (params.save_logits) { + output_data output {ctx, model, params}; + std::filesystem::path model_path{params.model.path}; + std::string model_name{model_path.stem().string()}; + save_output_data(output, model_name, params.logits_output_dir); + } + + return true; +} + +int main(int argc, char ** argv) { + common_params params; + + if (!common_params_parse(argc, argv, params, LLAMA_EXAMPLE_DEBUG, print_usage)) { + return 1; + } + + common_init(); + + llama_backend_init(); + llama_numa_init(params.numa); + + callback_data cb_data(params, params.tensor_filter); + + auto llama_init = common_init_from_params(params); + + auto * model = llama_init->model(); + auto * ctx = llama_init->context(); + + if (model == nullptr || ctx == nullptr) { + LOG_ERR("%s : failed to init\n", __func__); + return 1; + } + + { + LOG_INF("\n"); + LOG_INF("%s\n", common_params_get_system_info(params).c_str()); + LOG_INF("\n"); + } + + if (!run(ctx, params)) { + return 1; + } + + LOG("\n"); + llama_perf_context_print(ctx); + + llama_backend_free(); + + return 0; +} diff --git a/examples/model-conversion/logits.cpp b/examples/model-conversion/logits.cpp deleted file mode 100644 index f71f772ab1..0000000000 --- a/examples/model-conversion/logits.cpp +++ /dev/null @@ -1,268 +0,0 @@ -#include "llama.h" -#include "common.h" - - -#include -#include -#include -#include -#include -#include - -static void print_usage(int, char ** argv) { - printf("\nexample usage:\n"); - printf("\n %s -m model.gguf [-ngl n_gpu_layers] -embd-mode [-pooling] [-embd-norm ] [prompt]\n", argv[0]); - printf("\n"); - printf(" -embd-norm: normalization type for pooled embeddings (default: 2)\n"); - printf(" -1=none, 0=max absolute int16, 1=taxicab, 2=Euclidean/L2, >2=p-norm\n"); - printf("\n"); -} - -int main(int argc, char ** argv) { - std::string model_path; - std::string prompt = "Hello, my name is"; - int ngl = 0; - bool embedding_mode = false; - bool pooling_enabled = false; - int32_t embd_norm = 2; // (-1=none, 0=max absolute int16, 1=taxicab, 2=Euclidean/L2, >2=p-norm) - - { - int i = 1; - for (; i < argc; i++) { - if (strcmp(argv[i], "-m") == 0) { - if (i + 1 < argc) { - model_path = argv[++i]; - } else { - print_usage(argc, argv); - return 1; - } - } else if (strcmp(argv[i], "-ngl") == 0) { - if (i + 1 < argc) { - try { - ngl = std::stoi(argv[++i]); - } catch (...) { - print_usage(argc, argv); - return 1; - } - } else { - print_usage(argc, argv); - return 1; - } - } else if (strcmp(argv[i], "-embd-mode") == 0) { - embedding_mode = true; - } else if (strcmp(argv[i], "-pooling") == 0) { - pooling_enabled = true; - } else if (strcmp(argv[i], "-embd-norm") == 0) { - if (i + 1 < argc) { - try { - embd_norm = std::stoi(argv[++i]); - } catch (...) { - print_usage(argc, argv); - return 1; - } - } else { - print_usage(argc, argv); - return 1; - } - } else { - // prompt starts here - break; - } - } - - if (model_path.empty()) { - print_usage(argc, argv); - return 1; - } - - if (i < argc) { - prompt = argv[i++]; - for (; i < argc; i++) { - prompt += " "; - prompt += argv[i]; - } - } - } - - ggml_backend_load_all(); - llama_model_params model_params = llama_model_default_params(); - model_params.n_gpu_layers = ngl; - - llama_model * model = llama_model_load_from_file(model_path.c_str(), model_params); - - if (model == NULL) { - fprintf(stderr , "%s: error: unable to load model\n" , __func__); - return 1; - } - - // Extract basename from model_path - const char * basename = strrchr(model_path.c_str(), '/'); - basename = (basename == NULL) ? model_path.c_str() : basename + 1; - - char model_name[256]; - strncpy(model_name, basename, 255); - model_name[255] = '\0'; - - char * dot = strrchr(model_name, '.'); - if (dot != NULL && strcmp(dot, ".gguf") == 0) { - *dot = '\0'; - } - printf("Model name: %s\n", model_name); - - const llama_vocab * vocab = llama_model_get_vocab(model); - const int n_prompt = -llama_tokenize(vocab, prompt.c_str(), prompt.size(), NULL, 0, true, true); - - std::vector prompt_tokens(n_prompt); - if (llama_tokenize(vocab, prompt.c_str(), prompt.size(), prompt_tokens.data(), prompt_tokens.size(), true, true) < 0) { - fprintf(stderr, "%s: error: failed to tokenize the prompt\n", __func__); - return 1; - } - - llama_context_params ctx_params = llama_context_default_params(); - ctx_params.n_ctx = n_prompt; - ctx_params.n_batch = n_prompt; - ctx_params.no_perf = false; - if (embedding_mode) { - ctx_params.embeddings = true; - ctx_params.pooling_type = pooling_enabled ? LLAMA_POOLING_TYPE_MEAN : LLAMA_POOLING_TYPE_NONE; - ctx_params.n_ubatch = ctx_params.n_batch; - } - - llama_context * ctx = llama_init_from_model(model, ctx_params); - if (ctx == NULL) { - fprintf(stderr , "%s: error: failed to create the llama_context\n" , __func__); - return 1; - } - - printf("Input prompt: \"%s\"\n", prompt.c_str()); - printf("Tokenized prompt (%d tokens): ", n_prompt); - for (auto id : prompt_tokens) { - char buf[128]; - int n = llama_token_to_piece(vocab, id, buf, sizeof(buf), 0, true); - if (n < 0) { - fprintf(stderr, "%s: error: failed to convert token to piece\n", __func__); - return 1; - } - std::string s(buf, n); - printf("%s (%d)", s.c_str(), id); - } - printf("\n"); - - llama_batch batch = llama_batch_get_one(prompt_tokens.data(), prompt_tokens.size()); - - if (llama_decode(ctx, batch)) { - fprintf(stderr, "%s : failed to eval\n", __func__); - return 1; - } - - float * data_ptr; - int data_size; - const char * type; - std::vector embd_out; - - if (embedding_mode) { - const int n_embd_out = llama_model_n_embd_out(model); - const int n_embd_count = pooling_enabled ? 1 : batch.n_tokens; - const int n_embeddings = n_embd_out * n_embd_count; - float * embeddings; - type = "-embeddings"; - - if (llama_pooling_type(ctx) != LLAMA_POOLING_TYPE_NONE) { - embeddings = llama_get_embeddings_seq(ctx, 0); - embd_out.resize(n_embeddings); - printf("Normalizing embeddings using norm: %d\n", embd_norm); - common_embd_normalize(embeddings, embd_out.data(), n_embeddings, embd_norm); - embeddings = embd_out.data(); - } else { - embeddings = llama_get_embeddings(ctx); - } - - printf("Embedding dimension: %d\n", n_embd_out); - printf("\n"); - - // Print embeddings in the specified format - for (int j = 0; j < n_embd_count; j++) { - printf("embedding %d: ", j); - - // Print first 3 values - for (int i = 0; i < 3 && i < n_embd_out; i++) { - printf("%9.6f ", embeddings[j * n_embd_out + i]); - } - - printf(" ... "); - - // Print last 3 values - for (int i = n_embd_out - 3; i < n_embd_out; i++) { - if (i >= 0) { - printf("%9.6f ", embeddings[j * n_embd_out + i]); - } - } - - printf("\n"); - } - printf("\n"); - - printf("Embeddings size: %d\n", n_embeddings); - - data_ptr = embeddings; - data_size = n_embeddings; - } else { - float * logits = llama_get_logits_ith(ctx, batch.n_tokens - 1); - const int n_logits = llama_vocab_n_tokens(vocab); - type = ""; - printf("Vocab size: %d\n", n_logits); - - data_ptr = logits; - data_size = n_logits; - } - - std::filesystem::create_directory("data"); - - // Save data to binary file - char bin_filename[512]; - snprintf(bin_filename, sizeof(bin_filename), "data/llamacpp-%s%s.bin", model_name, type); - printf("Saving data to %s\n", bin_filename); - - FILE * f = fopen(bin_filename, "wb"); - if (f == NULL) { - fprintf(stderr, "%s: error: failed to open binary output file\n", __func__); - return 1; - } - fwrite(data_ptr, sizeof(float), data_size, f); - fclose(f); - - // Also save as text for debugging - char txt_filename[512]; - snprintf(txt_filename, sizeof(txt_filename), "data/llamacpp-%s%s.txt", model_name, type); - f = fopen(txt_filename, "w"); - if (f == NULL) { - fprintf(stderr, "%s: error: failed to open text output file\n", __func__); - return 1; - } - for (int i = 0; i < data_size; i++) { - fprintf(f, "%d: %.6f\n", i, data_ptr[i]); - } - fclose(f); - - if (!embedding_mode) { - printf("First 10 logits: "); - for (int i = 0; i < 10 && i < data_size; i++) { - printf("%.6f ", data_ptr[i]); - } - printf("\n"); - - printf("Last 10 logits: "); - for (int i = data_size - 10; i < data_size; i++) { - if (i >= 0) printf("%.6f ", data_ptr[i]); - } - printf("\n\n"); - } - - printf("Data saved to %s\n", bin_filename); - printf("Data saved to %s\n", txt_filename); - - llama_free(ctx); - llama_model_free(model); - - return 0; -} diff --git a/examples/model-conversion/scripts/causal/compare-logits.py b/examples/model-conversion/scripts/causal/compare-logits.py index 894302c69e..1a933207d5 100755 --- a/examples/model-conversion/scripts/causal/compare-logits.py +++ b/examples/model-conversion/scripts/causal/compare-logits.py @@ -6,7 +6,7 @@ from pathlib import Path # Add utils directory to path for direct script execution sys.path.insert(0, str(Path(__file__).parent.parent / "utils")) -from common import get_model_name_from_env_path # type: ignore[import-not-found] +from common import get_model_name_from_env_path, compare_tokens # type: ignore[import-not-found] def quick_logits_check(pytorch_file, llamacpp_file): """Lightweight sanity check before NMSE""" @@ -58,6 +58,13 @@ def main(): print("Checked all required files were found. Proceeding...\n") + # Verify tokens as they are a prerequisite for logits comparison. + print("🔍 Token Comparison Check") + print("=" * 40) + if not compare_tokens(f"pytorch-{model_name}", f"llamacpp-{llamacpp_model_name}"): + print("\n❌ Token mismatch detected") + sys.exit(1) + print() print("🔍 GGML Model Validation for model ", model_name) print("=" * 40) diff --git a/examples/model-conversion/scripts/causal/run-casual-gen-embeddings-org.py b/examples/model-conversion/scripts/causal/run-casual-gen-embeddings-org.py index 55ad821385..4ab778fbc7 100755 --- a/examples/model-conversion/scripts/causal/run-casual-gen-embeddings-org.py +++ b/examples/model-conversion/scripts/causal/run-casual-gen-embeddings-org.py @@ -67,7 +67,7 @@ with torch.no_grad(): last_hidden_states = outputs.hidden_states[-1] # Get embeddings for all tokens - token_embeddings = last_hidden_states[0].cpu().numpy() # Remove batch dimension + token_embeddings = last_hidden_states[0].float().cpu().numpy() # Remove batch dimension print(f"Hidden states shape: {last_hidden_states.shape}") print(f"Token embeddings shape: {token_embeddings.shape}") diff --git a/examples/model-conversion/scripts/causal/run-converted-model-embeddings-logits.sh b/examples/model-conversion/scripts/causal/run-converted-model-embeddings-logits.sh index fa16a02c65..3cce3fc94d 100755 --- a/examples/model-conversion/scripts/causal/run-converted-model-embeddings-logits.sh +++ b/examples/model-conversion/scripts/causal/run-converted-model-embeddings-logits.sh @@ -13,6 +13,6 @@ if [ -z "$CONVERTED_MODEL" ]; then exit 1 fi -cmake --build ../../build --target llama-logits -j8 +cmake --build ../../build --target llama-debug -j8 -../../build/bin/llama-logits -m $CONVERTED_MODEL -embd-mode "Hello world today" +../../build/bin/llama-debug -m $CONVERTED_MODEL --embedding -p "Hello world today" --save-logits diff --git a/examples/model-conversion/scripts/causal/run-converted-model.sh b/examples/model-conversion/scripts/causal/run-converted-model.sh index 529e9987b0..b6c3d38662 100755 --- a/examples/model-conversion/scripts/causal/run-converted-model.sh +++ b/examples/model-conversion/scripts/causal/run-converted-model.sh @@ -21,6 +21,6 @@ fi echo $CONVERTED_MODEL echo $MODEL_TESTING_PROMPT -cmake --build ../../build --target llama-logits -j8 +cmake --build ../../build --target llama-debug -j8 -../../build/bin/llama-logits -m "$CONVERTED_MODEL" "$MODEL_TESTING_PROMPT" +../../build/bin/llama-debug -m "$CONVERTED_MODEL" -p "$MODEL_TESTING_PROMPT" --save-logits diff --git a/examples/model-conversion/scripts/causal/run-org-model.py b/examples/model-conversion/scripts/causal/run-org-model.py index b12173a1fb..215f1a9ee0 100755 --- a/examples/model-conversion/scripts/causal/run-org-model.py +++ b/examples/model-conversion/scripts/causal/run-org-model.py @@ -7,12 +7,11 @@ import importlib import torch import numpy as np -from pathlib import Path from transformers import AutoTokenizer, AutoModelForCausalLM, AutoModelForImageTextToText, AutoConfig # Add parent directory to path for imports sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) -from utils.common import debug_hook +from utils.common import debug_hook, save_output_data def parse_arguments(): parser = argparse.ArgumentParser(description="Process model with specified path") @@ -126,6 +125,7 @@ def main(): device = next(model.parameters()).device prompt = get_prompt(args) input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device) + token_ids = input_ids[0].cpu().tolist() print(f"Input tokens: {input_ids}") print(f"Input text: {repr(prompt)}") @@ -151,19 +151,6 @@ def main(): print(f"Last token logits shape: {last_logits.shape}") print(f"Vocab size: {len(last_logits)}") - data_dir = Path("data") - data_dir.mkdir(exist_ok=True) - bin_filename = data_dir / f"pytorch-{model_name}.bin" - txt_filename = data_dir / f"pytorch-{model_name}.txt" - - # Save to file for comparison - last_logits.astype(np.float32).tofile(bin_filename) - - # Also save as text file for easy inspection - with open(txt_filename, "w") as f: - for i, logit in enumerate(last_logits): - f.write(f"{i}: {logit:.6f}\n") - # Print some sample logits for quick verification print(f"First 10 logits: {last_logits[:10]}") print(f"Last 10 logits: {last_logits[-10:]}") @@ -175,8 +162,7 @@ def main(): token = tokenizer.decode([idx]) print(f" Token {idx} ({repr(token)}): {last_logits[idx]:.6f}") - print(f"Saved bin logits to: {bin_filename}") - print(f"Saved txt logist to: {txt_filename}") + save_output_data(last_logits, token_ids, prompt, model_name) if __name__ == "__main__": main() diff --git a/examples/model-conversion/scripts/embedding/run-converted-model.sh b/examples/model-conversion/scripts/embedding/run-converted-model.sh index 0f490e6c3b..5d264b0663 100755 --- a/examples/model-conversion/scripts/embedding/run-converted-model.sh +++ b/examples/model-conversion/scripts/embedding/run-converted-model.sh @@ -50,10 +50,9 @@ fi echo $CONVERTED_MODEL -cmake --build ../../build --target llama-logits -j8 -# TODO: update logits.cpp to accept a --file/-f option for the prompt +cmake --build ../../build --target llama-debug -j8 if [ -n "$USE_POOLING" ]; then - ../../build/bin/llama-logits -m "$CONVERTED_MODEL" -embd-mode -pooling "$PROMPT" + ../../build/bin/llama-debug -m "$CONVERTED_MODEL" --embedding --pooling mean -p "$PROMPT" --save-logits else - ../../build/bin/llama-logits -m "$CONVERTED_MODEL" -embd-mode "$PROMPT" + ../../build/bin/llama-debug -m "$CONVERTED_MODEL" --embedding --pooling none -p "$PROMPT" --save-logits fi diff --git a/examples/model-conversion/scripts/embedding/run-original-model.py b/examples/model-conversion/scripts/embedding/run-original-model.py index 774e5638f7..0802cbcf4a 100755 --- a/examples/model-conversion/scripts/embedding/run-original-model.py +++ b/examples/model-conversion/scripts/embedding/run-original-model.py @@ -3,13 +3,15 @@ import argparse import os import sys -import numpy as np import importlib -from pathlib import Path from transformers import AutoTokenizer, AutoConfig, AutoModel import torch +# Add parent directory to path for imports +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) +from utils.common import save_output_data + def parse_arguments(): parser = argparse.ArgumentParser(description='Run original embedding model') @@ -169,6 +171,7 @@ def main(): return_tensors="pt" ) tokens = encoded['input_ids'][0] + token_ids = tokens.cpu().tolist() token_strings = tokenizer.convert_ids_to_tokens(tokens) for i, (token_id, token_str) in enumerate(zip(tokens, token_strings)): print(f"{token_id:6d} -> '{token_str}'") @@ -185,6 +188,7 @@ def main(): ) tokens = encoded['input_ids'][0] + token_ids = tokens.cpu().tolist() token_strings = tokenizer.convert_ids_to_tokens(tokens) for i, (token_id, token_str) in enumerate(zip(tokens, token_strings)): print(f"{token_id:6d} -> '{token_str}'") @@ -228,24 +232,11 @@ def main(): print() - data_dir = Path("data") - data_dir.mkdir(exist_ok=True) - bin_filename = data_dir / f"pytorch-{model_name}-embeddings.bin" - txt_filename = data_dir / f"pytorch-{model_name}-embeddings.txt" - flattened_embeddings = all_embeddings.flatten() - flattened_embeddings.astype(np.float32).tofile(bin_filename) - - with open(txt_filename, "w") as f: - idx = 0 - for j in range(n_embd_count): - for value in all_embeddings[j]: - f.write(f"{idx}: {value:.6f}\n") - idx += 1 print(f"Total values: {len(flattened_embeddings)} ({n_embd_count} embeddings × {n_embd} dimensions)") print("") - print(f"Saved bin embeddings to: {bin_filename}") - print(f"Saved txt embeddings to: {txt_filename}") + + save_output_data(flattened_embeddings, token_ids, prompt_text, model_name, type_suffix="-embeddings") if __name__ == "__main__": diff --git a/examples/model-conversion/scripts/utils/common.py b/examples/model-conversion/scripts/utils/common.py index 7595d0410e..71761127bb 100644 --- a/examples/model-conversion/scripts/utils/common.py +++ b/examples/model-conversion/scripts/utils/common.py @@ -3,6 +3,8 @@ import os import sys import torch +import numpy as np +from pathlib import Path def get_model_name_from_env_path(env_path_name): @@ -148,3 +150,96 @@ def setup_rope_debug(model_module_path: str, function_name: str = "apply_rotary_ # Patch it setattr(module, function_name, debug_rope) print(f"RoPE debug patching applied to {model_module_path}.{function_name}") + + +def save_output_data(data, tokens, prompt, model_name, type_suffix="", output_dir="data"): + """ + Save output data (logits/embeddings), tokens, and prompt to files. + + Args: + data: numpy array of floats (logits or embeddings) + tokens: list or array of token IDs + prompt: string containing the input prompt + model_name: name of the model + type_suffix: optional suffix like "-embeddings" (default: "") + output_dir: directory to save files (default: "data") + + Creates the following files in output_dir: + - pytorch-{model_name}{type_suffix}.bin + - pytorch-{model_name}{type_suffix}.txt + - pytorch-{model_name}{type_suffix}-prompt.txt + - pytorch-{model_name}{type_suffix}-tokens.bin + """ + data_dir = Path(output_dir) + data_dir.mkdir(exist_ok=True) + base_path = data_dir / f"pytorch-{model_name}{type_suffix}" + + # Convert and flatten logits/embeddings + data = data.cpu().numpy() if isinstance(data, torch.Tensor) else np.asarray(data) + data = data.flatten() if data.ndim > 1 else data + + # Save logits/embedding files + data.astype(np.float32).tofile(f"{base_path}.bin") + print(f"Data saved to {base_path}.bin") + + with open(f"{base_path}.txt", "w") as f: + f.writelines(f"{i}: {value:.6f}\n" for i, value in enumerate(data)) + print(f"Data saved to {base_path}.txt") + + # Convert and flatten tokens + tokens = tokens.cpu().numpy() if isinstance(tokens, torch.Tensor) else np.asarray(tokens) + tokens = tokens.flatten() if tokens.ndim > 1 else tokens + + # Save token binary file + tokens.astype(np.int32).tofile(f"{base_path}-tokens.bin") + print(f"Tokens saved to {base_path}-tokens.bin") + + # Save prompt file + with open(f"{base_path}-prompt.txt", "w") as f: + f.write(f"prompt: {prompt}\n") + f.write(f"n_tokens: {len(tokens)}\n") + f.write(f"token ids: {', '.join(str(int(tid)) for tid in tokens)}\n") + print(f"Prompt saved to {base_path}-prompt.txt") + + +def compare_tokens(original, converted, type_suffix="", output_dir="data"): + data_dir = Path(output_dir) + + # Read tokens from both models + tokens1_file = data_dir / f"{original}{type_suffix}-tokens.bin" + tokens2_file = data_dir / f"{converted}{type_suffix}-tokens.bin" + + if not tokens1_file.exists(): + print(f"Error: Token file not found: {tokens1_file}") + return False + + if not tokens2_file.exists(): + print(f"Error: Token file not found: {tokens2_file}") + return False + + tokens1 = np.fromfile(tokens1_file, dtype=np.int32) + tokens2 = np.fromfile(tokens2_file, dtype=np.int32) + + print(f"\nComparing tokens between:") + print(f" Original : {original} ({len(tokens1)} tokens)") + print(f" Converted: {converted} ({len(tokens2)} tokens)") + + if len(tokens1) != len(tokens2): + print(f"\n❌ Token count mismatch: {len(tokens1)} vs {len(tokens2)}") + return False + + if np.array_equal(tokens1, tokens2): + print(f"\n✅ All {len(tokens1)} tokens match!") + return True + + mismatches = np.where(tokens1 != tokens2)[0] + print(f"\n❌ Found {len(mismatches)} mismatched tokens:") + + num_to_show = min(len(mismatches), 10) + for idx in mismatches[:num_to_show]: + print(f" Position {idx}: {tokens1[idx]} vs {tokens2[idx]}") + + if len(mismatches) > num_to_show: + print(f" ... and {len(mismatches) - num_to_show} more mismatches") + + return False diff --git a/examples/model-conversion/scripts/utils/compare_tokens.py b/examples/model-conversion/scripts/utils/compare_tokens.py new file mode 100755 index 0000000000..a286cb5683 --- /dev/null +++ b/examples/model-conversion/scripts/utils/compare_tokens.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 + +import argparse +import sys +from common import compare_tokens # type: ignore + + +def parse_arguments(): + parser = argparse.ArgumentParser( + description='Compare tokens between two models', + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + %(prog)s pytorch-gemma-3-270m-it llamacpp-gemma-3-270m-it-bf16 + """ + ) + parser.add_argument( + 'original', + help='Original model name' + ) + parser.add_argument( + 'converted', + help='Converted model name' + ) + parser.add_argument( + '-s', '--suffix', + default='', + help='Type suffix (e.g., "-embeddings")' + ) + parser.add_argument( + '-d', '--data-dir', + default='data', + help='Directory containing token files (default: data)' + ) + parser.add_argument( + '-v', '--verbose', + action='store_true', + help='Print prompts from both models' + ) + return parser.parse_args() + + +def main(): + args = parse_arguments() + + if args.verbose: + from pathlib import Path + data_dir = Path(args.data_dir) + + prompt1_file = data_dir / f"{args.original}{args.suffix}-prompt.txt" + prompt2_file = data_dir / f"{args.converted}{args.suffix}-prompt.txt" + + if prompt1_file.exists(): + print(f"\nOriginal model prompt ({args.original}):") + print(f" {prompt1_file.read_text().strip()}") + + if prompt2_file.exists(): + print(f"\nConverted model prompt ({args.converted}):") + print(f" {prompt2_file.read_text().strip()}") + + print() + + result = compare_tokens( + args.original, + args.converted, + type_suffix=args.suffix, + output_dir=args.data_dir + ) + + # Enable the script to be used in shell scripts so that they can check + # the exit code for success/failure. + sys.exit(0 if result else 1) + + +if __name__ == "__main__": + main() diff --git a/examples/model-conversion/scripts/utils/semantic_check.py b/examples/model-conversion/scripts/utils/semantic_check.py index e64c000497..38b03ce4d2 100644 --- a/examples/model-conversion/scripts/utils/semantic_check.py +++ b/examples/model-conversion/scripts/utils/semantic_check.py @@ -4,8 +4,10 @@ import numpy as np import argparse import os import importlib +from pathlib import Path from transformers import AutoTokenizer, AutoConfig, AutoModelForCausalLM, AutoModel +from common import compare_tokens # type: ignore[import-not-found] unreleased_model_name = os.getenv('UNRELEASED_MODEL_NAME') @@ -157,9 +159,25 @@ def main(): else: prompt = args.prompt + python_emb_path = Path(args.python_embeddings) + cpp_emb_path = Path(args.cpp_embeddings) + + # Extract base names (e.g., "pytorch-model-name-embeddings.bin" -> "pytorch-model-name") + python_model_name = python_emb_path.stem.replace("-embeddings", "") + cpp_model_name = cpp_emb_path.stem.replace("-embeddings", "") + print("Semantic Similarity Test Between Python and llama.cpp Embedding Models") print("=" * 70) + # First verify tokens match before comparing embeddings + print("\n🔍 Token Comparison Check") + print("=" * 70) + data_dir = python_emb_path.parent + if not compare_tokens(python_model_name, cpp_model_name, type_suffix="-embeddings", output_dir=str(data_dir)): + print("\n❌ Token mismatch detected") + exit(1) + print() + # Single prompt detailed comparison print(f"\nTesting with prompt: '{prompt}'") From 8c77a04cc723909eab5d3bc3ae14c82f4db1afc7 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Wed, 7 Jan 2026 10:13:17 +0000 Subject: [PATCH 33/38] vulkan: more mul mat optimizations (#18533) * q4_k * q5_k * q2_k * q4_1 * q5_1 * better buf index --- .../vulkan-shaders/dequant_funcs.glsl | 3 +- .../vulkan-shaders/mul_mm_funcs.glsl | 82 ++++++++++--------- .../vulkan-shaders/vulkan-shaders-gen.cpp | 4 +- 3 files changed, 47 insertions(+), 42 deletions(-) diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.glsl index 376944f1e2..7865a6bda7 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.glsl +++ b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.glsl @@ -462,7 +462,8 @@ vec2 get_dm(uint ib, uint a_offset) { #if defined(DATA_A_Q4_1) || defined(DATA_A_Q5_1) vec2 get_dm(uint ib, uint a_offset) { - return vec2(float(data_a[a_offset + ib].d), float(data_a[a_offset + ib].m)); + const vec2 dm = vec2(data_a_packed32[a_offset + ib].dm); + return dm; } #endif diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_funcs.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_funcs.glsl index 1a3531761a..ce7f2d699a 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_funcs.glsl +++ b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_funcs.glsl @@ -47,7 +47,7 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin #endif #elif defined(DATA_A_Q4_0) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; - const uint buf_idx = col * SHMEM_STRIDE + 2 * row; + const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 4; const uint ib = idx / 4; const uint iqs = idx & 0x03; @@ -63,16 +63,15 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin buf_a[buf_idx + 9] = FLOAT_TYPE_VEC2(v1.zw); #elif defined(DATA_A_Q4_1) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; - const uint buf_idx = col * SHMEM_STRIDE + 2 * row; + const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 4; const uint ib = idx / 4; const uint iqs = idx & 0x03; - const float d = float(data_a_packed16[ib].d); - const float m = float(data_a_packed16[ib].m); - const uint vui = uint(data_a_packed16[ib].qs[2*iqs]) | (uint(data_a_packed16[ib].qs[2*iqs + 1]) << 16); - const vec4 v0 = vec4(unpack8(vui & 0x0F0F0F0F)) * d + m; - const vec4 v1 = vec4(unpack8((vui >> 4) & 0x0F0F0F0F)) * d + m; + const vec2 dm = vec2(data_a_packed32[ib].dm); + const uint vui = data_a_packed32[ib].qs[iqs]; + const vec4 v0 = vec4(unpack8(vui & 0x0F0F0F0F)) * dm.x + dm.y; + const vec4 v1 = vec4(unpack8((vui >> 4) & 0x0F0F0F0F)) * dm.x + dm.y; buf_a[buf_idx ] = FLOAT_TYPE_VEC2(v0.xy); buf_a[buf_idx + 1 ] = FLOAT_TYPE_VEC2(v0.zw); @@ -80,7 +79,7 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin buf_a[buf_idx + 9 ] = FLOAT_TYPE_VEC2(v1.zw); #elif defined(DATA_A_Q5_0) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; - const uint buf_idx = col * SHMEM_STRIDE + row; + const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 4; const uint ib = idx / 8; const uint iqs = idx & 0x07; @@ -97,22 +96,26 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin buf_a[buf_idx + 8] = FLOAT_TYPE_VEC2(v.yw); #elif defined(DATA_A_Q5_1) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; - const uint buf_idx = col * SHMEM_STRIDE + row; + const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 4; - const uint ib = idx / 8; - const uint iqs = idx & 0x07; + const uint ib = idx / 4; + const uint iqs = idx & 0x03; - const float d = float(data_a_packed16[ib].d); - const float m = float(data_a_packed16[ib].m); - const uint uint_qh = data_a_packed16[ib].qh; - const ivec2 qh0 = ivec2(((uint_qh >> 2*iqs) << 4) & 0x10, (uint_qh >> (2*iqs + 12)) & 0x10); - const ivec2 qh1 = ivec2(((uint_qh >> (2*iqs + 1)) << 4) & 0x10, (uint_qh >> (2*iqs + 13)) & 0x10); + const vec2 dm = vec2(data_a_packed32[ib].dm); + const uint uint_qh = data_a_packed32[ib].qh; + const uvec2 qh0 = uvec2(((uint_qh >> 4*iqs) << 4) & 0x10, (uint_qh >> (4*iqs + 12)) & 0x10); + const uvec2 qh1 = uvec2(((uint_qh >> (4*iqs + 1)) << 4) & 0x10, (uint_qh >> (4*iqs + 13)) & 0x10); + const uvec2 qh2 = uvec2(((uint_qh >> (4*iqs + 2)) << 4) & 0x10, (uint_qh >> (4*iqs + 14)) & 0x10); + const uvec2 qh3 = uvec2(((uint_qh >> (4*iqs + 3)) << 4) & 0x10, (uint_qh >> (4*iqs + 15)) & 0x10); - const uint vui = uint(data_a_packed16[ib].qs[iqs]); - const vec4 v = vec4((vui & 0xF) | qh0.x, ((vui >> 4) & 0xF) | qh0.y, ((vui >> 8) & 0xF) | qh1.x, (vui >> 12) | qh1.y) * d + m; + const uint vui = data_a_packed32[ib].qs[iqs]; + const vec4 v0 = vec4((vui & 0xF) | qh0.x, ((vui >> 4) & 0xF) | qh0.y, ((vui >> 8) & 0xF) | qh1.x, ((vui >> 12) & 0xF) | qh1.y) * dm.x + dm.y; + const vec4 v1 = vec4(((vui >> 16) & 0xF) | qh2.x, ((vui >> 20) & 0xF) | qh2.y, ((vui >> 24) & 0xF) | qh3.x, ((vui >> 28) & 0xF) | qh3.y) * dm.x + dm.y; - buf_a[buf_idx ] = FLOAT_TYPE_VEC2(v.xz); - buf_a[buf_idx + 8] = FLOAT_TYPE_VEC2(v.yw); + buf_a[buf_idx ] = FLOAT_TYPE_VEC2(v0.xz); + buf_a[buf_idx + 1] = FLOAT_TYPE_VEC2(v1.xz); + buf_a[buf_idx + 8] = FLOAT_TYPE_VEC2(v0.yw); + buf_a[buf_idx + 9] = FLOAT_TYPE_VEC2(v1.yw); #elif defined(DATA_A_Q8_0) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 2; @@ -131,20 +134,21 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 2; - const uint ib = idx / 128; // 2 values per idx - const uint iqs = idx % 128; // 0..127 + const uint ib = idx / 64; // 4 values per idx + const uint iqs = (idx % 64) * 2; // 0,2,4..126 const uint qsi = (iqs / 64) * 16 + (iqs % 16); // 0..15 const uint scalesi = iqs / 8; // 0..15 const uint qsshift = ((iqs % 64) / 16) * 2; // 0,2,4,6 - const uvec2 qs = uvec2(unpack8(data_a_packed16[ib].qs[qsi])); + const vec4 qs = vec4(unpack8((data_a_packed32[ib].qs[qsi / 2] >> qsshift) & 0x03030303)); const uint scales = data_a[ib].scales[scalesi]; const vec2 dm = vec2(data_a[ib].dm); - const vec2 v = dm.x * float(scales & 0xF) * vec2((qs >> qsshift) & 3) - dm.y * float(scales >> 4); + const vec4 v = dm.x * float(scales & 0xF) * qs - dm.y * float(scales >> 4); - buf_a[buf_idx] = FLOAT_TYPE_VEC2(v.xy); + buf_a[buf_idx ] = FLOAT_TYPE_VEC2(v.xy); + buf_a[buf_idx + 1] = FLOAT_TYPE_VEC2(v.zw); #elif defined(DATA_A_Q3_K) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 2; @@ -173,8 +177,8 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 2; - const uint ib = idx / 128; // 2 values per idx - const uint iqs = idx % 128; // 0..127 + const uint ib = idx / 64; // 4 values per idx + const uint iqs = (idx % 64) * 2; // 0,2,4..126 const uint n = iqs / 32; // 0,1,2,3 const uint b = (iqs % 32) / 16; // 0,1 @@ -200,16 +204,16 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin const float d = loadd.x * sc; const float m = -loadd.y * mbyte; - const vec2 q = vec2(unpack8((uint(data_a_packed16[ib].qs[qsi / 2]) >> (b * 4)) & 0x0F0F).xy); + const vec4 q = vec4(unpack8((data_a_packed32[ib].qs[qsi / 4] >> (b * 4)) & 0x0F0F0F0F)); - buf_a[buf_idx] = FLOAT_TYPE_VEC2(fma(d, q.x, m), - fma(d, q.y, m)); + buf_a[buf_idx ] = FLOAT_TYPE_VEC2(fma(d, q.x, m), fma(d, q.y, m)); + buf_a[buf_idx + 1] = FLOAT_TYPE_VEC2(fma(d, q.z, m), fma(d, q.w, m)); #elif defined(DATA_A_Q5_K) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 2; - const uint ib = idx / 128; // 2 values per idx - const uint iqs = idx % 128; // 0..127 + const uint ib = idx / 64; // 4 values per idx + const uint iqs = (idx % 64) * 2; // 0,2,4..126 const uint n = iqs / 32; // 0,1,2,3 const uint b = (iqs % 32) / 16; // 0,1 @@ -236,12 +240,12 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin const float d = loadd.x * sc; const float m = -loadd.y * mbyte; - const uint qs = (uint(data_a_packed16[ib].qs[qsi / 2]) >> (b * 4)) & 0x0F0F; - const uint qh = ((uint(data_a_packed16[ib].qh[qhi / 2]) >> (iqs / 16)) & 0x0101) << 4; - const vec2 q = vec2(unpack8(qs | qh).xy); + const uint qs = (data_a_packed32[ib].qs[qsi / 4] >> (b * 4)) & 0x0F0F0F0F; + const uint qh = ((data_a_packed32[ib].qh[qhi / 4] >> (iqs / 16)) & 0x01010101) << 4; + const vec4 q = vec4(unpack8(qs | qh)); - buf_a[buf_idx] = FLOAT_TYPE_VEC2(fma(d, q.x, m), - fma(d, q.y, m)); + buf_a[buf_idx ] = FLOAT_TYPE_VEC2(fma(d, q.x, m), fma(d, q.y, m)); + buf_a[buf_idx + 1] = FLOAT_TYPE_VEC2(fma(d, q.z, m), fma(d, q.w, m)); #elif defined(DATA_A_Q6_K) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 2; @@ -455,7 +459,7 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin buf_a[buf_idx ] = FLOAT_TYPE_VEC2(v.xy); #elif defined(DATA_A_IQ4_NL) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; - const uint buf_idx = col * SHMEM_STRIDE + row; + const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 4; const uint ib = idx / 8; const uint iqs = idx & 0x07; @@ -469,7 +473,7 @@ void load_a_to_shmem(const uint pos_a, const uint row, const uint col, const uin kvalues_iq4nl[vui >> 12]); #elif defined(DATA_A_MXFP4) const uint idx = pos_a + col * p.stride_a / LOAD_VEC_A + row; - const uint buf_idx = col * SHMEM_STRIDE + row; + const uint buf_idx = col * SHMEM_STRIDE + row * LOAD_VEC_A / 4; const uint ib = idx / 8; const uint iqs = (idx & 0x07) * 2; diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp index 5b61ff9ca2..bbdbf9dcaa 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp @@ -552,9 +552,9 @@ void matmul_shaders(bool fp16, MatMulIdType matmul_id_type, bool coopmat, bool c for (const auto& tname : type_names) { std::string load_vec_quant = "2"; - if ((tname == "q4_0") || (tname == "q4_1") || (tname == "iq1_s") || (tname == "iq1_m") || (tname == "iq2_xxs") || (tname == "iq2_xs") || (tname == "iq2_s")) + if ((tname == "q4_0") || (tname == "q4_1") || (tname == "q5_1") || (tname == "iq1_s") || (tname == "iq1_m") || (tname == "iq2_xxs") || (tname == "iq2_xs") || (tname == "iq2_s")) load_vec_quant = "8"; - else if ((tname == "q5_0") || (tname == "q5_1") || (tname == "q8_0") || (tname == "iq3_xxs") || (tname == "iq3_s") || (tname == "iq4_nl") || (tname == "mxfp4")) + else if ((tname == "q5_0") || (tname == "q8_0") || (tname == "q2_k") || (tname == "q4_k") || (tname == "q5_k") || (tname == "iq3_xxs") || (tname == "iq3_s") || (tname == "iq4_nl") || (tname == "mxfp4")) load_vec_quant = "4"; if (tname == "bf16") { From 03023296cf63f4177f51db9126b16b06f0e0af98 Mon Sep 17 00:00:00 2001 From: virajwad <84867530+virajwad@users.noreply.github.com> Date: Wed, 7 Jan 2026 02:59:47 -0800 Subject: [PATCH 34/38] vulkan: Warptile tuning for Intel Xe2/Xe3 (#18178) * modify warptile tuning for xe3 * intel vendor check w/ coopmat support * fix back formatting * fix formatting change 2 * move intel check to chip specific tuning part * Change to support both windows and linux * modify m_warptile to l_warptile for intel * modify warptile tuning for bf16 matmuls to fix regression (m_warptile to l_warptile) * Code style changes * Code style changes (2) * Code style changes (3) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 3c13777b8a..1f255b705e 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -2996,6 +2996,10 @@ static void ggml_vk_load_shaders(vk_device& device) { if ((device->architecture == AMD_GCN) && (device->driver_id != vk::DriverId::eAmdProprietary)) { m_warptile_mmq = m_warptile_mmq_int = { 256, 64, 64, 32, 16, 16, 2, 2, 2, 1, 16 }; m_warptile_mmqid = m_warptile_mmqid_int = { 256, 64, 64, 32, 16, 16, 2, 2, 2, 1, 16 }; + } else if (device->vendor_id == VK_VENDOR_ID_INTEL && device->coopmat_support && device->architecture == INTEL_XE2) { + // Xe2/Xe3 with coopmat enabled - warptile performance tuning + l_warptile = { 512, 128, 128, 16, subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, subgroup_size_8 }; + l_warptile_mmq = { 512, 128, 128, 32, subgroup_size_8, 32, 2, tm_m, tn_m, tk_m, subgroup_size_8 }; } l_mmq_wg_denoms = l_wg_denoms = {128, 128, 1 }; @@ -3678,6 +3682,11 @@ static void ggml_vk_load_shaders(vk_device& device) { m_wg_denoms = { 64, 64, 1 }; s_wg_denoms = { 32, 32, 1 }; + if (device->vendor_id == VK_VENDOR_ID_INTEL && device->architecture == INTEL_XE2) { + // Xe2/Xe3 - bf16 warptile performance tuning + l_warptile = { 512, 128, 128, 16, subgroup_size_8, 32, 2, 4, 4, 1, subgroup_size_8 }; + } + CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_bf16, matmul_bf16, , wg_denoms, warptile, vk_mat_mat_push_constants, 3, , 0); CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_bf16, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); } @@ -5061,11 +5070,23 @@ static vk_device ggml_vk_get_device(size_t idx) { switch (device->vendor_id) { #ifndef GGML_VULKAN_RUN_TESTS case VK_VENDOR_ID_AMD: + device->mul_mat_l[i] = false; + device->mul_mat_m[i] = true; + device->mul_mat_s[i] = true; + device->mul_mat_id_l[i] = false; + device->mul_mat_id_m[i] = true; + device->mul_mat_id_s[i] = true; + break; case VK_VENDOR_ID_INTEL: - device->mul_mat_l[i] = false; + if (!device->coopmat_support || device->architecture != INTEL_XE2) { + device->mul_mat_l[i] = false; + device->mul_mat_id_l[i] = false; + } else { + device->mul_mat_l[i] = true; // if coopmat & XE2+, allow large matmul warptile config for Intel + device->mul_mat_id_l[i] = true; + } device->mul_mat_m[i] = true; device->mul_mat_s[i] = true; - device->mul_mat_id_l[i] = false; device->mul_mat_id_m[i] = true; device->mul_mat_id_s[i] = true; break; From ca4a8370bc1ebf267073cfa29067ebeff7ab8015 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Wed, 7 Jan 2026 05:03:32 -0600 Subject: [PATCH 35/38] vulkan: reject ops when a tensor is too large to allocate (#18646) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 29 +++++++++++++--------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 1f255b705e..d68735a040 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -14305,6 +14305,19 @@ static ggml_backend_t ggml_backend_vk_device_init(ggml_backend_dev_t dev, const } static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { + ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; + const vk_device& device = ggml_vk_get_device(ctx->device); + + // reject any tensors larger than the max buffer size + for (int i = 0; i < GGML_MAX_SRC; i++) { + if (op->src[i] && ggml_nbytes(op->src[i]) > device->max_buffer_size) { + return false; + } + } + if (ggml_nbytes(op) > device->max_buffer_size) { + return false; + } + switch (op->op) { case GGML_OP_UNARY: switch (ggml_get_unary_op(op)) { @@ -14353,8 +14366,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm case GGML_OP_MUL_MAT_ID: { ggml_type src0_type = op->src[0]->type; - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - const vk_device& device = ggml_vk_get_device(ctx->device); if (op->op == GGML_OP_MUL_MAT_ID) { if (!device->mul_mat_id_s[src0_type] && !device->mul_mat_id_m[src0_type] && !device->mul_mat_id_l[src0_type]) { // If there's not enough shared memory for row_ids and the result tile, fallback to CPU @@ -14415,8 +14426,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm } case GGML_OP_FLASH_ATTN_EXT: { - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - auto device = ggml_vk_get_device(ctx->device); bool coopmat2 = device->coopmat2; uint32_t HSK = op->src[1]->ne[0]; uint32_t HSV = op->src[2]->ne[0]; @@ -14638,8 +14647,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm if (!ggml_is_contiguous(op) || !ggml_is_contiguous(op->src[0])) { return false; } - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - auto device = ggml_vk_get_device(ctx->device); // pipeline_argsort_large_f32 requires vulkan memory model. if (device->vulkan_memory_model) { return true; @@ -14652,8 +14659,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm if (!ggml_is_contiguous(op) || !ggml_is_contiguous(op->src[0])) { return false; } - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - auto device = ggml_vk_get_device(ctx->device); // We could potentially support larger, using argsort to sort the // whole thing. Not clear if this is needed. uint32_t min_pipeline = (uint32_t)log2f(float(op->ne[0])) + 1; @@ -14700,8 +14705,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm return op->src[0]->type == GGML_TYPE_F32 && ggml_is_contiguous_rows(op->src[0]); case GGML_OP_CUMSUM: { - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - auto device = ggml_vk_get_device(ctx->device); if (device->subgroup_arithmetic && device->subgroup_require_full_support) { return op->src[0]->type == GGML_TYPE_F32 && ggml_is_contiguous_rows(op->src[0]); } @@ -14709,9 +14712,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm } case GGML_OP_SOLVE_TRI: { - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - const vk_device& device = ggml_vk_get_device(ctx->device); - if (op->type != GGML_TYPE_F32 || op->src[0]->type != GGML_TYPE_F32) { return false; } @@ -14776,9 +14776,6 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm return false; } - ggml_backend_vk_device_context * ctx = (ggml_backend_vk_device_context *)dev->context; - const vk_device& device = ggml_vk_get_device(ctx->device); - const uint32_t SPLIT_H = 16; size_t stateC_size = SPLIT_H * d_state * sizeof(float); From 9dfa8ee950b077b2d8a49caaa144dcc6bbc55305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 7 Jan 2026 13:07:08 +0100 Subject: [PATCH 36/38] ci : run cann build unconditionally [no ci] (#18659) --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1193779d0b..85601b3712 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1418,7 +1418,6 @@ jobs: echo "FIXME: test on devices" openEuler-latest-cmake-cann: - if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'Ascend NPU') }} defaults: run: shell: bash -el {0} From bb77764c2d024a6fecc5bdeb3618cb580ee15041 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 7 Jan 2026 13:18:53 +0100 Subject: [PATCH 37/38] convert : clarify sentence-transformers-dense-modules help [no ci] (#18662) * convert : clarify sentence-transformers-dense-modules help [no ci] This commit updates this options help message which currently looks like this: ```console --sentence-transformers-dense-modules Whether to include sentence-transformers dense modules.It can be used for sentence-transformers models, like google/embeddinggemma-300mDefault these modules are not included. ``` --- convert_hf_to_gguf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index d9ee390b38..0a8bac0e2d 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -10974,8 +10974,8 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--sentence-transformers-dense-modules", action="store_true", - help=("Whether to include sentence-transformers dense modules." - "It can be used for sentence-transformers models, like google/embeddinggemma-300m" + help=("Whether to include sentence-transformers dense modules. " + "It can be used for sentence-transformers models, like google/embeddinggemma-300m. " "Default these modules are not included.") ) From 56426673cb950feaff28c466c7cf38ac4c165742 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 7 Jan 2026 15:16:20 +0200 Subject: [PATCH 38/38] scripts : add pr2wt.sh (#18644) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * scripts : add pr2wt.sh * script : shebang Co-authored-by: Sigbjørn Skjæret --------- Co-authored-by: Sigbjørn Skjæret --- .gitignore | 1 + scripts/pr2wt.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100755 scripts/pr2wt.sh diff --git a/.gitignore b/.gitignore index 05eb578a82..bb122d6924 100644 --- a/.gitignore +++ b/.gitignore @@ -130,6 +130,7 @@ poetry.toml # Local scripts /run-vim.sh /run-chat.sh +/run-spec.sh /.ccache/ # IDE diff --git a/scripts/pr2wt.sh b/scripts/pr2wt.sh new file mode 100755 index 0000000000..22251339ac --- /dev/null +++ b/scripts/pr2wt.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +# intialize a new worktree from a PR number: +# +# - creates a new remote using the fork's clone URL +# - creates a local branch tracking the remote branch +# - creates a new worktree in a parent folder, suffixed with "-pr-${PR}" +# +# sample usage: +# ./scripts/pr2wt.sh 12345 +# ./scripts/pr2wt.sh 12345 opencode + +function usage() { + echo "usage: $0 [cmd]" + exit 1 +} + +# check we are in the right directory +if [[ ! -f "scripts/pr2wt.sh" ]]; then + echo "error: this script must be run from the root of the repository" + exit 1 +fi + +if [[ $# -lt 1 || $# -gt 2 ]]; then + usage +fi + +PR=$1 +[[ "$PR" =~ ^[0-9]+$ ]] || { echo "error: PR number must be numeric"; exit 1; } + +url_origin=$(git config --get remote.origin.url) || { + echo "error: no remote named 'origin' in this repository" + exit 1 +} + +org_repo=$(echo $url_origin | cut -d/ -f4-) + +echo "org/repo: $org_repo" + +meta=$(curl -sSf -H "Accept: application/vnd.github+json" "https://api.github.com/repos/${org_repo}/pulls/${PR}") + +url_remote=$(echo "$meta" | jq -r '.head.repo.clone_url') +head_ref=$(echo "$meta" | jq -r '.head.ref') + +echo "url: $url_remote" +echo "head_ref: $head_ref" + +git remote rm pr/${PR} +git remote add pr/${PR} $url_remote +git fetch pr/${PR} $head_ref + +dir=$(basename $(pwd)) + +git branch -D pr/$PR 2> /dev/null +git worktree add -b pr/$PR ../$dir-pr-$PR pr/$PR/${head_ref} 2> /dev/null + +wt_path=$(cd ../$dir-pr-$PR && pwd) + +echo "git worktree created in $wt_path" + +# if a command was provided, execute it +if [[ $# -eq 2 ]]; then + cd ../$dir-pr-$PR + exec $2 +fi

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